Arm-Bot: 3D Printed 4-DOF Robotic Arm

by TanmayBenjwal in Circuits > Robots

9500 Views, 91 Favorites, 0 Comments

Arm-Bot: 3D Printed 4-DOF Robotic Arm

IMG20210422231527.jpg
IMG20210422231558.jpg
IMG20210422231551.jpg
Engineer's PlayDate || 3D Printed 4DOF Robotic Arm || #shorts @mr_junior_scientist || Tanmay Benjwal

Arm-Bot is a handy and portable 4DOF robotic arm that can be used for fun and educational purposes (basics of Forward Kinematics and Reverse Kinematics as well as 4-bar linkages joints).

The design is such that the joint 2 and joint 3 are made as 4-bar linkage mechanism joints whereas the joint 1 and joint 4 are simple rotatory joints. It is a Spherical configuration robot.

All the parts are 3D printed and the components used are readily available. Making it is not difficult as well to make your own follow the Instructable and if you have any question comment down and I will get back to you asap.

Supplies

IMG20210422231514.jpg
Screenshot_2022-02-02-18-10-16-07_c1ebbaff44ba152fb7f7c2e1f7129fd1.jpg
IMG20220202170835.jpg
  1. 3D printer
  2. PLA filament
  3. 4x SG90 servo motors
  4. few nut-bolts
  5. Arduino Uno
  6. Breadboard
  7. Male-to-male Jumper wires
  8. 4x Potentiometers (10k ohm)

CAD Design and Slicing

IMG20201213022510.jpg
Screenshot (92).png
Screenshot (93).png
IMG20201213022515.jpg
4DOF Robotic Arm | Potentiometer stand | Tanmay Benjwal |
Screenshot (94).png

Designing a robot is very tricky and time consuming and to get 4 bar linkages right requires skill, fortunately I found some files in Thingiverse that I downloaded link for same - click to download. I remixed a few files for better hole diameter and fit. Also I made the potentiometer stand that I felt the need for after I thought that there should be a proper place/control center type thing for the manual controls. I designed the potentiometer stand in Tinkercad which was fast and easy because of tools and pre-set shapes available in Tinkercad, I just then downloaded the .stl file of same and sent it to slicing software

I used the creality-cura slicer for slicing as I think it is one of the easiest interface with quick action buttons for beginners to start with also it works pretty good in most of the cases.

All the .stl files are attached below

3D Printing

IMG20210422235511.jpg
Screenshot (91).png
Screenshot (83).png
Screenshot (84).png
Screenshot (89).png
Screenshot (90).png
Screenshot_2022-02-02-18-10-03-27_c1ebbaff44ba152fb7f7c2e1f7129fd1.jpg

I used standard Grey color PLA filament ( 1.75mm ), I printed the parts with following settings :

  • speed- 80mm/s
  • temp - 200 (hot-end) , 60 (bed)
  • layer height - 0.2 mm
  • shell thickness- 0.8mm
  • infill - 20%
  • with 0.4mm nozzle

*no support required, use skirt or brim as per your printer and comfort

Assembly

IMG20220202170524.jpg
IMG20220202170718.jpg
IMG20220202170556.jpg
IMG20220202170640.jpg
IMG20220202170549.jpg
IMG20220202170940.jpg
IMG20220202170929.jpg
IMG20220202170951.jpg
IMG20220202170655.jpg
IMG20220202170646.jpg
IMG20220202170705.jpg
IMG20220202170633.jpg
IMG20220202170612.jpg
IMG20220202170826.jpg
IMG20220202170858.jpg
IMG20201230115605.jpg

This is probably the most time consuming task after 3D printing. The assembly is quite tricky at certain area therefore I have tried to add closeup shots of joints from multiple angle to help you out.

Few points to keep in mind:

  • While fitting the servo motors do check there positions ( it's best to keep it in middle position ) specially while fitting the gripper part of the robot.
  • There are gaps and holes that you can use to tidy up the servo wire so the wires don't interfere with the movement.
  • Solder the wires on potentiometer pins first and then fix/screw the potentiometer on to the stand directly.

Circuit Diagram

IMG20210422225914.jpg
IMG20220202170122.jpg
Screenshot_2022-02-02-18-10-13-74_c1ebbaff44ba152fb7f7c2e1f7129fd1.jpg
Screenshot_2022-02-02-18-10-07-08_c1ebbaff44ba152fb7f7c2e1f7129fd1.jpg
IMG20210422225908.jpg
3D Printed 4Dof Robot || Tanmay Benjwal || Made in India #shots

It is a straight forward and simple circuit for both the Automatic and Manual Mode nothing much to say about it. I have added the circuit diagram photo you can refer to it. I used Arduino as it is relatively cheap and readily available the code for same is attached in the coding section.

Coading

IMG20201230120959.jpg
IMG20210422230143.jpg
IMG20210419232226.jpg
IMG20210422230151.jpg
4DOF 3D printed Robotic arm | Manual control |
4DOF 3D printed robotic arm | Automatic Mode |

There are two ways to control/move the robotic arm

1- Manual Mode ( through potentiometers )

2- Automatic Mode ( performs same task repeatedly )

For Manual mode the code is written such that each potentiometer controls the movement of one servo motor hence controlling/maneuvering the motion of one of the four joints. The user has complete control the code is attached for same

For Automatic mode the code is written such that the robot may perform a task of pick and drop motion repeatedly as if being used in an assembly line or warehouse. This code is written for my particular condition and use case a video of same is embedded, also the code is attached.

Download the code and make some changes to it to suit yourself.

Troubleshooting

IMG20210422235511.jpg
4DOF robotic arm | 3D printed | Instructables
IMG20220202170807.jpg
IMG20210419232222.jpg

I faced a couple of issues which are as follows:

  1. I tried printing all the parts in one go (except the potentiometer stand) but as you can see from the first picture it didn't go well. Unfortunately there was a power cut and I was not in the room and when power came back the printer tried to go to home position ( in X and Y coordinate ) and with itself it just took the brim off the hotplate so the print was ruined. So I printed them one by one next time.
  2. While coding the manual mode where the potentiometers were to be used I faced the issue of jerking in servo motors i.e. the movement were not smooth as you tell from videos that I attached of manual mode as well, I couldn't find a solution to it although the power supply was good and working fine. Maybe the potentiometer were old and not working fine. Whatever the reason may be I was not able to rectify it. So if you have some suggestion or feedback on how I can rectify the problem please comment down, I would love to hear from you.


Final Overview

IMG20210422231542.jpg
IMG20220202170513.jpg
IMG20210422231517.jpg

I just loved the outcome and how good it is to teach young minds, engineers and tinkers to learn basic of robotic-kinematics. I personally teach students for free and am overwhelmed by their response, questions to this project's working and learnings. Also its just cool!