The purpose is to help people and automate some processes.
I was inspired by a Kuka robot arm I saw in the college lab.
A video that shows how it works:
A Hand Gesture Controlled Robotic Arm using Arduino
A video that describes the idea and components of the project:
Arduino Robot Arm - Controlled by Hand Gestures
A video that describes the components of the project but is controlled by a smartphone:
Arduino Robot Arm with Smartphone Control
I used Fusion 360 for creating and assembling the design.
I divided the design into 3 main parts, the base, the sides and the links of the robot arm.
I made the base according to a video I saw online and I adjusted the dimensions of the motor holder inside the base to fit a black servo motor, a metal gear one, I then made the diameter of the base to 90mm and I made the height to be about 45 mm.
video Link: Robot arm, motor base designing using fusion 360
After that, I draw a rectangular on the bottom part of the base and made holes in it to be able to put it on some fixed base later in the future.
after finishing this I made an opening in the base to pass the motor wires from, this was made by making a plane on the side that was facing the wires and then drawing a rectangular that would fit the passing of the wires and then I extruded it to make the opening.
The base was made to be 3D printed so it was viewed as a 3D object in fusion and then I exported it as an STL file.
After that, I designed the rotating part as a circular one with a diameter of 90 mm which the 1st black motor's horn would be fixed, in this part I made a hole in the middle to fit the horn, and also, I made openings to fit the tabs of the side parts that would hold the links of the robot arm.
The rotating part and the base can be considered to be one the first part of the design, although the rotating part was made to be a laser-cut.
the 2nd part was to design the sides that would hold the links, I made them as rectangular parts and filleted its top to give it a nice shape, I then made tabs on every side's bottom, to fit the openings I made in the rotating part, the tabs had t-slots between them to make it fixed in place on the rotating part.
On one of the sides, I draw a rectangle with the dimensions of the 2nd black motor with holes that would fix the motor in place, then I extruded the design, also this side would have the 1st link joined with the motor's horn.
The 3rd part was to make the 2 links of the robot arm, for the first link I draw a rectangular shape and then made an arc at each end to smooth its movements, I made holes at each end of the link, one to be joined with motor's horn and the other would be joined with second link's motor horn.
In the 2nd link, I draw it as a rectangular with openings at each end, as one end would be joined with the first link, and this opening would hold the 3rd black motor, and the other end would hold a plastic gear blue servo motor that would hold the gripper mechanism in the future.
Note: The sides, the rotating part and the links are made laser-cut.
Finally, I assembled all parts in Fusion 360.
Laser Cutting Process
Laser Cutting Process Video
For laser cutting, I added all the dxf files I exported from fusion to be cut using the parameters as follows:
Cutting: speed 20 & power 70
Then I exported these files as PLT on my laptop and then I put them on USB-drive and imported them into laser-cad on the lab specialist's laptop and then downloaded them to be cut.
After downloading files to the machine, I checked the origin for the sheet and checked by pressing box button the frame that would be cut, then pressed start to begin the cutting process.
3D Printing Process
For the 3D Printing Process, I used Cura software to open the base STL file saved from fusion, and then slice the base to find that it was about 50 grams which would take about 5 hours of printing, I also made the parameters to be as the following:
Quality: Draft - 0.2 mm
Supports: Everywhere for the motors placements with a skirt adhesion for the bottom.
Infill Density: 20%
Temp: 200 degree
Then I exported the file as G-Code on my laptop and then I put them on USB-drive and put it into the printer to be 3d printed.
I prepared the machine by first changing the filament to red colour, then I preheated the machined bed, and then I chose the file to get 3d printed.
3D printing Process Videos
Tinkercad
I used to TinkerCad to simulate the circuit and components necessary for the project
Components:
Arduino Uno Board >> input
3 Black Servo Motors :
(MG995, FS5113M, FS5103B) >> Action
3 Potentiometers. >> input
Power Supply (SMPS 6v/4A)
Breadboard
Jumpers and Wires
Usage:
- Power Supply: Acting as an External Power Source for the motors.
- Servo Motors: output components in the circuit.
- Arduino: Used as a Control Unit
The project takes input from the potentiometers as they change in value, the angle of the motor changes, and thus enables the arm to move.
I connected the servos +ve and -ve to an outside power source cause they take higher voltage and higher current than the Arduino can take, but I wired the signals of the servos on the PWMs pins of Arduino to control their angles accurately.
I wired here the potentiometers +ve terminal to the Arduino 5v and the -ve to the -ve of the power source.
I also unified the ground of the servos ground and the -ve of power source and the -ve terminal of potentiometers on the breadboard.
The power source I used, is the SMPS Power Supply 6V/4A and it was used in order to be able to supply high current and voltage to the servos, as two motors' load current is 170 mA and one is 350 mA, so this makes the power supply suitable for this project's needs.
The code can be divided into two parts:
1st part:
calling the servo library.
defining the pins that the pots will be connected to.
Creating variables for servo positions.
defining the pins where the servos are attached.
2nd part:
making each servo variable read the value of their respective potentiometers.
mapping each variable for the max angle of each servo with the max value of each potentiometer.
making the servos change angle according to the changing value of the potentiometer.
So The workflow was divided according to the following points:
Tested each component individually, the 3 servos, the potentiometers, the power supply and the Arduino.
The second step was testing how things are connected together, so connected the 3 servos with the 3 potentiometers and uploaded the code and tested them first in simulation, then tested in reality.
Then after fabrication, tested each part separately with their servo motors.
In the end, I integrated all parts together, tested the functionality of each one alone, and then all of them together.
Project Demo Video
When starting to build, I had a problem with the potentiometers as the base continued to rotate even though I stopped the potentiometer, I then got advice from Samir who told me to connect the potentiometer on the Arduino 5v which worked perfectly.
Also in the integration process, I had help from Abdalrahman Samir who helped me to adjust the holes which I put in a tall nail that connected the parallel links together, the nail also was too tall, he helped adjust the length by cutting it using a metal hand saw, he also helped me with the servo's mounting holes which were smaller than expected and he drilled to fit the nails in the lab of 3mm.
I had a problem that the hole I made in the links for the servos mounting were smaller than needed, so I asked Mego about this and he told me I had to drill the servo horn and the wood to fit a 3mm nail.
I was also confused about the length of the links so I asked my instructor Menna for advice and we discussed and decided to make them small to move smoothly.
Also, In the beginning, I had a problem that after I finished the designs of the robot arm to be 3D printed but the quota I had wouldn't be enough, so I asked Menna about what to do, and she told me to make the base in 3D and to make the links and other parts to be laser cut and sent me a link to help me with how to do that, which was a great help to me.
I would make it to be controlled through a Bluetooth module and a smartphone app, and I would add the gripper to it to make it more perfect.