3D Printed Robotic Arm
This is a remix of the robotic arm made by Ryan Gross: https://www.myminifactory.com/object/3d-print-humanoid-robotic-hand-34508.
Supplies
The following products are the items used in this Instructable. You may find different variations as these are all standard parts and electronics. Please note, some 3D printed parts have been tailored for these items, so your mileage may vary. I have included Fusion360 files on the Thingiverse page in case you have to make minor adjustments.
- 4x Servo Horn 25T: https://www.amazon.co.uk/gp/product/B01ALCX7AG/
- 4x TowerPro MG996R 10kg Servos: https://hobbyking.com/en_us/towerpro-mg996r-10kg-...
- 8x 8mm M3 countersunk screws - You may use shorter screws, but I used 8mm length ones and had no problems with clearance to the inside of the forearm part.
- 12x 10mm M3 caphead screws. It is possible to use 20 in this project, but not necessary.
- 12x M3 Square Nuts 5.5x1.8mm: https://www.amazon.co.uk/gp/product/B075YSD5TN/ It is possible to use 20 in this project, but not necessary.
- 3mm Elastic Nylon/Shock Cord (5m) https://www.amazon.co.uk/gp/product/4194200004/
- MG90S Micro Servo with Servo Horns https://www.amazon.co.uk/gp/product/B01BMRDXK8
- Arduino or similar Microcontroller
- PWM/Servo Controller Board
- Batteries/Power Source ~5-6V
Preparing the Servo Pulleys
Prepare the following:
- 4x Servo Pulleys (3D Printed)
- 4x Servo Horns
- 8x Countersunk M3 Screws
- Place the Servo Horn through the hole in the Servo Pulley so the toothed slot is slightly protruding through the base of the Pulley.
- Screw two of the countersunk screws through the holes of the Pulley and Horn.
- Repeat for all 4 Pulleys.
Securing the Servos
Prepare the following:
- Servo Holder (3D Printed)
- 4x TowerPro MG996R 10kg Servos
- 8x (minimum) 10mm M3 screws
- 8x (minimum) M3 Square Nuts
- Insert the square nuts into the traps. You may need to carefully position them to line up with the servo holes.
- Fasten the servo to the holder using the screws. Be careful not to overtighten them, you just need to hold the motors in place. You may choose to use all the holes in the holder, but it's not necessary. In the pictures, I have only used two per servo.
- Repeat for all 4 servos. Orientation is important: Make sure the 25T geared shaft is closer to the central pillars of the holders.
- Cable management is important! Thread the cables through the hole between the central pillars. They will be guided through the Forearm casing.
Adding the Servo Pulleys to the Servos
Prepare the following:
- Completed Servo Holder
- 4x Completed Servo Pulleys
- 4x 4mm M3 screws (These usually come with the servos)
- Press each Pulley onto each motor shaft. The exact orientation doesn't matter right now - you will be altering that later.
- Secure the Pulley with the screw. Mine came with the servos, but check the contents of the ones you order in case you need to purchase some separately.
Servo assembly complete!
Assembling the Hand
Prepare the following:
- Palm (3D Printed)
- Fingers (3D Printed
- Elastic Nylon Cord
- MG90S Micro Servo
- Thread one end of the Nylon cord through one of the holes in the back of the palm, and through the holes in the corresponding finger. If you find it difficult to push the cord through due to fraying ends, try wrapping it in some tape to make the end go in smoother.
- Loop the Nylon back in on itself, and through the second set of holes in the finger, and finally through the other hole in the palm.
- Tighten the Nylon and tie the two ends of the cord together in a double knot. Try bending the finger and ensure it snaps back straight up. If it doesn't you will need to tie the ends together tighter.
- Cut the ends of the cord close to the knot. It may be a good idea to singe the ends of the Nylon with a soldering iron to stop them fraying, but this is not always necessary.
- Repeat steps 1-4 for the remaining 3 fingers. Whilst I have demonstrated with all the different printed fingers, you may prefer to mix and match different lengths/widths to what suits your need best.
- Tie the Thumb together with the same method as above.
- Fit the Micro Servo (with the included servo horn) to the thumb. It should be a press-fit (try not to break the motor) but a spot of glue may help keep it in place. Don't worry, you can remove the motor by unscrewing it from the horn using the hole in the Thumb joint.
- Insert the cable through the hole in the Palm, and push the motor into its slot. (The design you will download may be slightly different to the one shown, as this one pinches the cable a little as you insert the motor.)
Hand is complete!
Attaching the Fingers to the Servos
Prepare the following:
- Servos in Holder
- Constructed Palm
- Forearm (3D Printed)
- Wrist (3D Printed)
- Plastic Glue
- Arduino (or similar Microcontroller) - I used an Arduino Uno.
- Servo Controller Board - I used the Adafruit 16-Channel 12-bit PWM/Servo Shield
- Fishing Line
- 4 x M3x10mm screws
- 4 x M3 square nuts
- Connect the servos to the Servo Controller Board. Choose an order that makes sense to you. I connected the front servos to ports 0 and 2, and the back servos to 4 and 6.
- Download the servo calibration project file from GitHub. You will most likely have to modify the values based on how you have connected the servos, or if they have a slightly different encoder range. You are responsible for this stage, so be careful not to drive them past their safe point for turning.
- Run the program such that all the servos are in the most forward position.
- Remove the servo horns and rotate them according to the photos. This puts them in the best position to pull back the fingers once connected via the fishing line. Test it by rotating the servos backwards, they should end up as shown in the next photo.
- Note how you connected the servo cables. Now unplug them so you can slot the cables through the routing in the Forearm, and connect them back up at the bottom. If possible, thread the thumb servo cable through the routing too (from the top of the forearm).
- Glue the wrist piece to the hand. There is only one orientation that will allow the two to slot together. Ensure that the cable from the Thumb motor is slotted through the longer slot in the wrist.
- Thread the fishing line through the fingers, the palm, wrist guide and then the servo guide. Then thread each line through one of the servo horns. The fourth and little finger should be on the same horn. Make sure to thread the line such that it doesn't rub against any other line.
- Tie a knot at each each of the horn, leaving the line at the finger end loose. Leave enough slack to tie knots later.
- Secure the servo holder to the forearm using the screws and nuts in the nut traps.
- Glue to the wrist to the top of the forearm.
- Tie knots at the tips of each finger. You may find a slight slack in the fishing line, which is normal. To tighten the line again, remove the servo horns and rotate them away from the hand until the line is taught. Then resecure the horns to the servos.
- Test the hand by running the program that clenches the fist.
If everything is working, you're ready to go! Well done!
Finishing Up
The main construction is done, and you're ready to play with your new robot!
Take some time to understand your motors, your microcontroller and their limitations. Try to make some an applicatiuon that controls it, perhaps a library in your chosen language. Hack the parts (all the design files are included on the Thingiverse page) and make it better - if you do, drop me a message and maybe it will make it to the next revision!
Most importantly - have fun and keep learning :)