Introduction: DIY-Simulation of U Arm Robot Using Arduino

This tutorial will helps you to do Simulation of U Arm. All the best for your project. Just enjoy..... FIgures and video is attached seperately in the rar file. Please download this.

Step 1: Tutorial

  • ‘U’ arm is the basic and least expensive robot arm. But it’s application area spans across many domains. In the tutorial below, I will show you how to easily make a working model of the ‘U’ arm with less expensive materials.

Materials Required:
 4mm Thick cardboard – x 1  Servo motor – x 2  L bends (It can be any material) – x 2  Screw and nut pieces –x 8  Bolt and nut – x 8  Arduino Mega board – x1  5v battery or SMPS(Switch Mode Power Supply)  Male to male jumper wires – x 12  Insulation tape – x 1

Theory:
Servo Motor: Servo motor is used as an actuator in cars & robots. A circuit built inside the motor unit controls the shaft’s position, the shaft is connected to a system of gears which amplify the torque output. The circuit has a potentiometer which determines the amount of rotation of the shaft with respect to the electric signals given.

Procedure:
How to cut the cardboard: a. Cut the cardboard by 13cm length and 7cm breadth into single piece, mark the piece as 1.

b. Cut the cardboard by 15cm length and 4cm breadth into two pieces with same dimension, mark the pieces as 2 and 3.

c. Cut the cardboard by 20cm length and 4cm breadth into two pieces with same dimension, mark the pieces as 4 and 5.

d. Cut the cardboard like the image below into two pieces. It should act as a joint between pieces 4 and 5.And mark these joints as 6 and 7.

e. All figure dimensions are in cm.

How to cut holes in these cardboard pieces:

Step1: Take the cardboard piece marked as 1 and make holes like shown in the image below. All dimensions are in cm The hole I made is suitable for my L bend. So try to make the hole to suit your L bend. My L bend length is 5cm and height is 5cm. After that cut a piece of cardboard 3cm×3cm and glue that to the center of whole weight acting area. In the end make a hole in the cardboard piece and fix the servo horn that comes along with the servo motor. Step 2:Next make holes like the image below for the cardboard pieces 2 and 3

Step 3: Next make holes on the cardboard pieces 4 and 5 like the image below. Step 4: Next make holes on the cardboard pieces 6 and 7 in two joints as shown above in the figure.

Step 5: To connect the servo with the upper arm we have to cut the extra two cardboard pieces as shown in the image below and mark the pieces as 8 and 9. If the above link does not produce the actuation, cut the card board into long pieces according to your need.

Time to Assemble the cardboard pieces:

Step1: Take the cardboard pieces 1 and 2, L Bends. Join them as shown in the figure 1.1 using screw and nut.

Step 2: Take the cardboard pieces 2 and 3, join that using screw and nuts in the L bend as shown figure 1.2.

Step 3: Take the pieces 4,5,6 & 7, join them as shown in figure 1.3.

Step 4: Take the two separate objects as we have made. And join them as shown in figure 1.4 using bolts and nuts , but don’t torque (tighten) them too much, so that the arm can move.

Step 5: Finally, fix the servo motor as an actuator to actuate the arm. Place the motor as shown in figure 1.5 and join the pieces 8 and 9.

Step 6: Place the whole setup in the servomotor1. And fix the servo motor1 and the whole setup in the thermocole stand. It is the basement for whole setup.

Program for servo motors:
#include

Servo myservo1;

Servo myservo2;

void setup()

{

myservo1.attach(9);

myservo2.attach(10);

Serial.begin(9600); }

void loop()

{ for(int i=0;i<=180;i++)

{ myservo1.write(i);

Serial.println(i);

delay(10); }

for(int i=80;i<=100;i++)

{ myservo2.write(i);

Serial.println(i);

delay(50); }

delay(500);

for(int i=100;i<=140;i++)

{ myservo2.write(i);

Serial.println(i);

delay(50); }

for(int i=180;i>=0;i--)

{ myservo1.write(i);

Serial.println(i);

delay(10); }

for(int i=140;i>100;i--)

{ myservo2.write(i);

Serial.println(i);

delay(50); }

delay(500);

for(int i=100;i>=80;i--)

{ myservo2.write(i);

Serial.println(i);

delay(50); } }

What does the program mean:
I. Here the actuator is the servo motor, if we use the servo motor in the program, it should be included in the library as #include.

II. The two names given for each servo motor as myservo1 and myservo2.

III. After that in the setup loop the pins are specified where to attach the servo motors to the digital pins. And serial.begin(9600) is used to see the values in the serial monitor.

IV. After that in the execution loop the program is written. It means first the angle of the servo motor1 is initialized as 0 degree. And the condition is checked, is it less than 180 degree? After that it executes commands inside the loop which means the servo shaft comes into 0 degree.

V. And it delays for a period of 10 milliseconds. And then the value stored is increment by 1. After that the condition is checked and it executes inside the loop. It goes on until the condition is true which means the angle of shaft rotates up to 180 degree.

VI. The same procedure followed for the servo motor2 as written in the program. VII. After that it goes backward in the same manner.

VIII. Side by side we can see the degree of the rotation in the serial monitor. Applications: We can use this in any application depending upon your needs. Especially it’s used in assembly and welding operations. It can also lift loads programmatically. In the end effector you can use any actuator suitable to your application, with some changes in programming.

Thanks for reading this tutorial If you have any doubt, please feel free to contact at marirenu141@gmail.com

I am ready to give you a clarification.

My sincere thanks to My mentors

Mr.K.R.Balathanpani

Founder & Director of Aatrral Academy

Coimbatore-India

&

Mr. Sarath Balaji

Co-founder at Aatrral Academy

Coimbatore-India