3D Printed Robot

The nice thing about 3D printing is that it makes building robots easy. You can design whatever configuration of parts that you can dream up and have them in your hand virtually right away. This allows for rapid prototyping and experimention. This particular 3D printed robot is an example of that.

This idea to have a walker bot that shifted its front center of balance is one that I have had for a few years. However, implementing it with off the shelf parts always proved rather tricky and prevented me from really trying. Yet, when I realized that this could be done quickly and easily with 3D printing, I was able to finally create this robot in about two days. Basically, 3D printing had enabled me to take an idea and actualize it in less than 48 hours.

If you want to try your hand at making this easy robot, I have included the files and posted instructions for you to make on yourself. This is definately a fun weekend project for someone with a 3D printer who knows a little bit about electronics and soldering to get their feet wet with robotics.

Step 1: Robot Parts

3D Printed Robot

Get the following materials:

(x1) Afinia 3D printer (RadioShack #277-224)
(x2) Standard servos (RadioShack #273-766)
(x1) Arduino micro (RadioShack #276-258)
(x1) 40-pin socket (RadioShack #276-1996)
(x1) PCB (RadioShack #276-150)
(x1) 9V battery snap (RadioShack #270-324)
(x1) 9V battery holder (RadioShack #270-326)
(x1) 9V battery (RadioShack #23-2209)
(x2) 3-pin headers (RadioShack #276-266)
(x13) M3 nuts and bolts
(x4) pencils

Step 2: 3D Print Parts

3D Printed Robot

3D print the attached files using your particular 3D printer. You may need to setup the files to work with support for your particular setup.

3DrobotBodyV2.stl
3D Printed Robot
3DrobotBodyV2.stl3 MB 3DrobotGear1.stl
3D Printed Robot
3DrobotGear1.stl830 KB 3DrobotLLeg2.stl
3D Printed Robot
3DrobotLLeg2.stl2 MB 3DrobotRLeg2.stl
3D Printed Robot
3DrobotRLeg2.stl2 MB 3DrobotTorso1.stl
3D Printed Robot
3DrobotTorso1.stl6 MB

Step 3: Front Assesmbly

3D Printed Robot
3D Printed Robot
3D Printed Robot
3D Printed Robot
3D Printed Robot

Insert four bolts into the front of the robot.

Slide the two front leg gears into the compartment in the front of the robot body such that the leg sockets are pointed outwards.

Place the gear inbetween the two rack gears of the legs.

Press the servo's drive shat into the socket on the center gear and use a screw to fasten this into place.

Finally, bolt the servo in place using the bolts installed earlier to complete the front assesmbly.

Step 4: Bottom Servo

3D Printed Robot
3D Printed Robot

Slide the bottom servo into its mounting bracket and bolt it into place.

Step 5: Attach the Torso

3D Printed Robot
3D Printed Robot

Press fit the 3D printed torso centered upon the motor's drive shift and bolt it into place.

Step 6: Insert Pencils

3D Printed Robot
3D Printed Robot

Insert pencils into the torso socket such that the eraser ends are sticking out.

Step 7: Pull the Erasers

3D Printed Robot
3D Printed Robot

Pull the erasers off of two pencil using a pair of pliers.

Step 8: Insert More Pencils

3D Printed Robot
3D Printed Robot

Insert the end of the pencils that the eraser used to be attached to into each of the front leg sockets.

Step 9: Build the Circuit

3D Printed Robot
3D Printed Robot

Solder the 40-pin socket to the center of the board.

Connect the black wire from the 9V battery snap to the ground pin on the Arduino socket and the red wire to the V-in pin.

Solder the first three pin male header to the 40 pin socket as follows:

header pin 1 ---> 5V power
header pin 2 ---> Ground
header pin 3 ---> Digital Pin 8 (socket pin 36)

Solder the second three pin male header to the 40 pin socket as follows:

header pin 1 ---> 5V power
header pin 2 ---> Ground
header pin 3 ---> Digital Pin 9 (socket pin 37)

Step 10: Drill

3D Printed Robot
3D Printed Robot

Drill a 1/8" hole centered upon a part of the circuit board where there are no soldered electrical connections.

Step 11: Insert the Arduino Micro

3D Printed Robot

Insert the Arduino micro into the appropriate pins on the socket.

Step 12: Attach the Battery Clip

3D Printed Robot
3D Printed Robot

Attach the battery clip to the bottom of the circuit board while being careful not to short circuit any electrical connections with it.

Step 13: Attach the Circuit Board

3D Printed Robot
3D Printed Robot
3D Printed Robot

Bolt the circuit board to the mounting holes on the robot body.

Step 14: Wire the Servos

3D Printed Robot
3D Printed Robot

Plug the servo sockets into the appropriate male header pins on the circuit board.

Step 15: Program the Arduino

3D Printed Robot

Program the Arduino with the following code:

// // Code for a 3D Printed Robot // Learn more at: http://www.instructables.com/id/3D-Printed-Robot/ // This code is in the Public Domain // //add the servo library #include //Create two servo instances Servo myservo; Servo myservo1; //Change this numbers until the servos are centered!!!! //In theory 90 is perfect center, but it is usually higher or lower. int FrontBalanced = 75; int BackCentered = 100; //Variables to compensate for the back center of balance when the front shifts int backRight = BackCentered - 20; int backLeft = BackCentered + 20; //Setup initial conditions of the Servos and wait 2 seconds void setup() { myservo.attach(8); myservo1.attach(9); myservo1.write(FrontBalanced); myservo.write(BackCentered); delay(2000); } void loop() { //Walk straight goStraight(); for(int walk = 10 ; walk >= 0; walk -=1) { walkOn(); } //Turn right goRight(); for(int walk = 10 ; walk >= 0; walk -=1) { walkOn(); } //Walk straight goStraight(); for(int walk = 10 ; walk >= 0; walk -=1) { walkOn(); } //Turn left goLeft(); for(int walk = 10 ; walk >= 0; walk -=1) { walkOn(); } } //Walking function void walkOn(){ myservo.write(BackCentered + 30); delay(1000); myservo.write(BackCentered - 30); delay(1000); } //Turn left function void goLeft(){ BackCentered = backLeft; myservo1.write(FrontBalanced + 40); } //Turn right function void goRight(){ BackCentered = backRight; myservo1.write(FrontBalanced - 40); } //Go straight function void goStraight(){ BackCentered = 100; myservo1.write(FrontBalanced); }

Step 16: Plug in the Battery

3D Printed Robot

Plug in the 9V battery and secure it in place with the battery clip.

 
 

Tag cloud

make build easy simple arduino making homemade solar laser printed portable cheap mini building custom cardboard wooden create super lego turn paracord chocolate your paper light intel