Maker Bot

Story of Maker Bot

Teaching Making skills and possibilities Maker bot is designed.




Digital Fabricatin used in Final Project

CAD Design

In cad design I have to work hard to make is small and durable.
Last year I had made it open design which was having trouble of getting loose connections and may get damaged.

In CAD initially I designed a Motor holder then in my final presentation Niel asked me to print 3D Printed wheels also.
Then this time I Designed a new Body for Maker bot with more durable design.


.f3d | Fusion 360
In this design it was simple to make 2D sketch and extrude as height required.
I was not know how to get a point to create hole. Viraj Gandhi helped me to create a construction plane on surface and then sketch. That was really helpful to understand CAD learning in Fusion 360.


.f3d | Fusion 360
This was given by Niel in my final presentation review. I searched online CAD library but I found nothing. I took help form Abhram but that design was also too long to print. So I decided to make a new one specially for servo. I used few more tools like Pattern, Fillet,Sphere to make it more perfect.


.f3d | Fusion 360
This was really challenging but interesting one. I made this design to support kerning which was going to add in front. In first implementation i found due to little pressure that was getting breached so I designed this with proper holes to make sure Kerfing have a perfect support at back.In this I have take many refrence point. and I imported corner-front.dxf file to get accurate dimension to extrude. To import .dxf file you can use insert tab and select DXF.

I also made Castor Support,Circuit Holder and Back Corner with normal design.

Fusion 360 Files

GCODE for Ultimaker 2


I have exported images from file>capture image option in Fusion 360 and used http://gifmaker.me/ for making gif of those images of CAD its small and perfect.

3D Printing

In 3D Printing it was really learning task with various trouble shooting. If you know basic rules you can save time. My few file wasted because of design errors were i missed a other component location and size was bigger so it was again required to adjust according to other component location.
Here is few photos of 3D Printing.

In this design I was required to provide supports as it has a hole which requires a support to reduce irregulare curve. As I needed a precise circle for Ultrasonic sensor this worked perfectly fine.
I 3D Printed corners so I can provide support to kerfing.

but size was bigger in which I forgot to take Ultrasonic size. So I had to designed a new with covering both corners perfectly designed in single body.

Laser Cutting


Main two plates were easy to cut but kerfing that to with curved path with accurate length was big trouble. I have worked a lot to get perfect dimension and Designed iteration on rhino and cross check with laser cut.

File : Maker Bot Laser cut | .3dm


Electronics

I have redesign a Circuit from Satsha which i have used in my final project. Main task in phase one was to
  • use Ultrasonic Sensor and LCD to dis play distance
  • Making a obstacle avoider Robot using Servo motor
  • Adding Bluetooth to create a wireless controlled bot.









This year I reduced size of circuit. and last year I faced a lot problem in milling as it take to long time.
Files
  • Maker Bot Board | .brd | Eagle
  • Maker Bot Board | .sch | Eagle
  • Milling Traces File | .png | Fab Module
  • Outer Cut File | .png | Fab Module
  • Drill hole File | .png | Fab Module

Codes

Motor + Ultrasonic Code



                             	#include <Wire.h>
#include <Servo.h>
#include <LiquidCrystal_PCF8574.h>
const int trigPin = 12;
const int echoPin = 11;

LiquidCrystal_PCF8574 lcd(0x3F);

int duration, distance, dirRotate =1,i;
  Servo m1,m2;
void setup()
{

  m1.attach( 5 );
  m2.attach( 6 );
 
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT); 
  
  Serial.begin(115200);
  while (! Serial);
  Wire.begin();
  Wire.beginTransmission(0x3F);

  lcd.begin(16, 2);
}
int getDist(){
     
     digitalWrite(trigPin, LOW); 
     delayMicroseconds(2); 
    
     digitalWrite(trigPin, HIGH);
     delayMicroseconds(10); 
     
     digitalWrite(trigPin, LOW);
     return (pulseIn(echoPin, HIGH) / 58.2);
     
  }
void loop()
{
    lcd.setBacklight(255);
    lcd.home(); 
          lcd.print( "Oh crap! i need" );
    distance = getDist();
    Serial.println(distance);
    if(distance < 20 )
    {
      lcd.print( "Oh crap! i need" );
      lcd.setCursor(0,1);
      lcd.print( "to change my way" );
     
        if( dirRotate == 1 ){
              m1.writeMicroseconds(1000);
              m1.write(180);
             dirRotate = 0;
        }else{
          m2.writeMicroseconds(1000);
             m2.write(0);
             dirRotate = 1;
        }
       
        
    }else{
      lcd.clear();
      lcd.print("Moving fine :D");
      m1.write(0);
      m2.write(180);
    }
    
    delay(1000);
}
                             

Distance & LCD Code

                             	
                             		#include <Wire.h>
#include <LiquidCrystal_PCF8574.h>

LiquidCrystal_PCF8574 lcd(0x27);  // set the LCD address to 0x27 for a 16 chars and 2 line display

const int trigPin = 7;
const int echoPin = 8;

void setup()
{

  Serial.begin(115200);
   while (! Serial);
  Wire.begin();
  Wire.beginTransmission(0x27);

  lcd.begin(16, 2);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT); 
 
  Serial.println("LCD...");
}
int getDist(){
     
     digitalWrite(trigPin, LOW); 
     delayMicroseconds(2); 
    
     digitalWrite(trigPin, HIGH);
     delayMicroseconds(10); 
     
     digitalWrite(trigPin, LOW);
     return (pulseIn(echoPin, HIGH) / 58.2);
     
  }
void loop()
{
   lcd.setBacklight(255);
    lcd.home(); lcd.clear();
    lcd.print( getDist() );
    lcd.print( " cm distance" );
    delay(300);
}
                             	
                             

Bill of Material

Name Description Quantity Price(INR)
Servo Motor 360 Used in Wheel for movement 2 840
Jumper wires Used to connect components 20 60
3D Printed Motor Holder Pressfitting for holding the Motor 2 60
3D Printed Circuit Holder Pressfitting for holding the Circuit 1 25
3D Printed Front Corner To hold the Ultrasonic and Kerf 1 120
Laser Cutting Parts Casing for Placing parts 1 140
3D Printed Wheel Wheel for movement 2 70
3D Printed Castor Support To connect Castor 1 30
Nutbolts (3mm) Screwing the Components 20 20
1365




Slide
Video
^ Top