3D Printed Robotic Arm

by tohaker in Circuits > Robots

15922 Views, 121 Favorites, 0 Comments

3D Printed Robotic Arm

IMG_20190731_210717.jpg

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.

Preparing the Servo Pulleys

IMG_20190617_211421.jpg
IMG_20190617_211924.jpg
IMG_20190617_211940.jpg
IMG_20190617_220714.jpg

Prepare the following:

  • 4x Servo Pulleys (3D Printed)
  • 4x Servo Horns
  • 8x Countersunk M3 Screws
  1. Place the Servo Horn through the hole in the Servo Pulley so the toothed slot is slightly protruding through the base of the Pulley.
  2. Screw two of the countersunk screws through the holes of the Pulley and Horn.
  3. Repeat for all 4 Pulleys.

Securing the Servos

IMG_20190618_213526.jpg
IMG_20190618_214201.jpg
IMG_20190618_214930.jpg
IMG_20190618_214959.jpg

Prepare the following:

  • Servo Holder (3D Printed)
  • 4x TowerPro MG996R 10kg Servos
  • 8x (minimum) 10mm M3 screws
  • 8x (minimum) M3 Square Nuts
  1. Insert the square nuts into the traps. You may need to carefully position them to line up with the servo holes.
  2. 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.
  3. Repeat for all 4 servos. Orientation is important: Make sure the 25T geared shaft is closer to the central pillars of the holders.
  4. 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

IMG_20190618_221031.jpg
IMG_20190618_221124.jpg
IMG_20190618_221340.jpg

Prepare the following:

  • Completed Servo Holder
  • 4x Completed Servo Pulleys
  • 4x 4mm M3 screws (These usually come with the servos)
  1. Press each Pulley onto each motor shaft. The exact orientation doesn't matter right now - you will be altering that later.
  2. 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

IMG_20190622_173807.jpg
IMG_20190622_173925.jpg
IMG_20190622_174639.jpg
IMG_20190622_174014.jpg
IMG_20190622_174134.jpg
IMG_20190622_174217.jpg
IMG_20190622_174310.jpg
IMG_20190622_175941.jpg
IMG_20190622_175952.jpg
IMG_20190622_180337.jpg
IMG_20190622_180345.jpg
IMG_20190622_180428.jpg
IMG_20190622_180500.jpg
IMG_20190622_180508.jpg
IMG_20190622_180624.jpg
IMG_20190622_180642.jpg

Prepare the following:

  • Palm (3D Printed)
  • Fingers (3D Printed
  • Elastic Nylon Cord
  • MG90S Micro Servo
  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. Tie the Thumb together with the same method as above.
  7. 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.
  8. 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

IMG_20190730_200825.jpg
IMG_20190730_205224.jpg
IMG_20190730_205253.jpg
IMG_20190730_210426.jpg
IMG_20190730_211010.jpg
IMG_20190730_211019.jpg
IMG_20190730_211353.jpg
IMG_20190730_211837.jpg
IMG_20190730_212853.jpg
IMG_20190730_221648.jpg
IMG_20190730_212916.jpg
IMG_20190730_212910.jpg
IMG_20190730_220053.jpg
IMG_20190730_221645.jpg
IMG_20190730_212857.jpg
IMG_20190731_193403.jpg
IMG_20190731_193407.jpg

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
  1. 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.
  2. 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.
  3. Run the program such that all the servos are in the most forward position.
  4. 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.
  5. 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).
  6. 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.
  7. 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.
  8. Tie a knot at each each of the horn, leaving the line at the finger end loose. Leave enough slack to tie knots later.
  9. Secure the servo holder to the forearm using the screws and nuts in the nut traps.
  10. Glue to the wrist to the top of the forearm.
  11. 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.
  12. 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 :)