Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

International Conference on Electronics, Communication and Aerospace Technology

ICECA 2017

ARDUINO CONTROLLED ROBOTIC ARM

Ankur Bhargava Anjani Kumar


University School of Information, Communication and Technology University School of Information, Communication and Technology
Guru Gobind Singh Indraprastha University Guru Gobind Singh Indraprastha University
Delhi, India Delhi,India
iamankurbhargava@gmail.com kumaranjani902@gmail.com

Abstract-A 5 Degree of Freedom (DOF) robotic arm has been rotate through multiple planes and they increase the
developed. It is controlled by an Arduino Uno microcontroller capabilities of the robot considerably. With multiple
which accepts input signals from a user by means of a set of
rotary joints, a robot can engage in very exact movements
potentiometers. The arm is made up of four rotary joints and
an end effector, where rotary motion is provided by a and utilize their flexibility to manipulate a greater work
servomotor. Each link has been first designed using Solid volume.
works Sheet Metal Working Toolbox and then fabricated
using a 2mm thick Aluminium sheet. The servo-motors and
links thus produced assembled with fasteners produced the
final shape of the arm. The Arduino has been programmed to
provide rotation to each servo motor corresponding to the
amount of rotation of the potentiometer shaft.

Keywords-Degree of Freedom (DOF); Potentiometers;


Solid Works; Arduino Uno;Sheet Metal working

I. INTRODUCTION

A robot is a machine that can execute different tasks


repeatedly with high accuracy. Hence many functions
like collecting information and studies about hazardous
sites which is too risky for humans to venture is one of
the most common applications of robots. Robots have
reduced the human interference by nearly 50 percent and
have become an integral part of almost all industries.
They are employed for different tasks including welding,
trimming, picking and placing etc. [1] These robots can
be controlled in different ways like keypads, voice
control etc. [2] Our paper portraits the control of a 5-
Degree of Freedom robotic arm using Arduino Uno and
potentiometers, which are more precise and reduces time
delay and is comparatively better than other
programming languages in the field of monitoring and
Fig. 1. 5-DOF Robotic Arm
control. A robot can be defined according to the nature of
the relative movements between the links that constitute
II. Construction
it. There are five important types of Robot Arm
Configurations. They are as follows:
The robotic arm is constituted of five revolute joints
where its mobility is five. The actuator used is a
•Cartesian (3P) servomotor. All the constituting components are
• Cylindrical (R2P) fabricated using a 2mm thick aluminium sheet due to its
• Spherical (Polar) (2 RP) high workability and resistance to corrosion. The various
• Articulated (3R) component are as follows:
• SCARA ( 2R in horizontal + 1P in vertical plane)
A. Components
Where P- Prismatic joint, R – Rotary joint
Component 1: The first component is a circular disc,
supported by four orthogonally mounted caster wheels as
The robotic arm presented in this paper uses only rotary o
joints. Rotary joints allow a full range of motion, as they shown in figure 2. The base motor produces a 360
rotation of the disc while the castor wheels provide the

978-1-5090-5686-6/17/$31.00 ©2017 IEEE 376


International Conference on Electronics, Communication and Aerospace Technology
ICECA 2017

necessary balancing to the arm by preventing its toppling. which is designed in this particular case is a pick and
This link is free to rotate so as to provide a high work place gripper. A geared link is attached to a servo motor
envelope. which is meshes with another geared link to provide a
smooth action of gripping of different objects according
to there sizes. The movement of both of the figures of the
gripper is synchronized well to hold the objects.

Fig 2 . Circular Disc with four caster wheels

Component 2: A U-shaped bracket (Fig 3) is the second


main constituting element which allows the servo motor
to produce a rotary motion along its axis.With a bearing
at one end and a motor shaft at the other it provides free
rotation to the mating parts [3]. Fig 5. Two figure Gripper

Table 1 : Component Description

Component Component Function

Circular Disc Rotating Base with caster wheels


U bracket Manipulator Support link

Servo bracket Servomotor Support Link


Gripper Pick and Place link
Fig 3. U bracket
B.Servo Motors
Component 3: The third component is a servo bracket
which is used to hold a servo motor at its fixed position.
A servo motor is a rotary actuator which is used for
The servo bracket (Fig 4) is design in such a way that it
applications that require a great degree of accuracy for
provides the rotation of the another link without any
the rotation angle [4].This is due to the presence of a
blockage.
feedback encoder in servo motors that measures the
difference between the reference and required angle and
ensures the final position is achieved to a greater
accuracy.
While using a standard DC motor, we face two problems
(angle controlling and speed controlling). To generate
high torques, if the motor is subjected to maximum
voltage the speed of rotation will be too high to precisely
control the angle of rotation. While a small voltage to
keep the speed to a minimum in order to precisely control
the rotation angle will lead to a very low torque and the
motor would be unable to move the required load [5].
Fig 4. Servo bracket
When using stepper motors, the absence of a feedback
system can lead to the possibility of a lag due to inertia
Component 4: The other main component is a end and an inevitable loss of accuracy in attaining the final
effector which is basically a holding gripper in this case. position.[6]
A gripper as shown in Fig 5 is something that grips things So, servo motors were chosen as the best available
or makes it easier to grip things. The gripper actuator for this application.

978-1-5090-5686-6/17/$31.00 ©2017 IEEE 377


International Conference on Electronics, Communication and Aerospace Technology
ICECA 2017

C. Motor Parameters

The model Tower Pro MG 995 Servomotor is a high


torque metal dual ball bearing servomotor with an inbuilt
gearbox.This high-torque standard servo can rotate
approximately 120 degrees (60 in each direction). We can
use any servo code, hardware or library to control these Fig. 8 . Shows a train of 1ms pulses will rotate a modified servo
servos. [7] The dimensions and specifications are listed clockwise, a train of 2ms pulses will rotate a modified servo
counterclockwise, a train of 1.5ms pulses will cause a modified servo to
below: remain stationary in the center.

III. ARDUINO

Arduino/Genuino Uno is a microcontroller board based


on the ATmega328P. It has 14 digital input/output pins
(of which 6 can be used as PWM outputs), 6 analog
inputs, a 16 MHz quartz crystal, a USB connection, a
power jack, an ICSP header and a reset button.[8]

Fig. 6. Tower Pro MG 995 Servo Motor[9]

Specifications

Weight : 55 grams
Dimension: 40.7*19.7*42.9 mm
Stall torque: 8.5 Kg-cm (4.8V), 10 Kgf-cm (6V)
Operating Speed :0.2s/60deg(4.8V),0.16s/60deg(6V)
Temperature Ranges: 0 – 55 degree Celsius.[11]

D. Potentiometer Control using PWM


Fig. 9 .Arduino Overview
Pulse-width modulation (PWM), or pulse-duration
modulation (PDM), is a modulation technique used to IV. MOTOR POSITION CONTROL
encode a message into a pulsing signal. The average
value of voltage (and current) fed to the load is controlled
Servo library allows an Arduino board to control servo
by turning the switch between supply and load on and off
motors. Servos have integrated gears and a shaft that can
at a fast rate.[7] The longer the switch is on compared to
be precisely controlled. Standard servos allow the shaft
the off periods, the higher the total power supplied to the
to be positioned at various angles, usually between 0 and
load.The main advantage of PWM is that power loss in
180 degrees. Continuous rotation servos allow the
the switching devices is very low.[8]
rotation of the shaft to be set to various speeds [9].
Table 2 : Wirings

Type Color Connected pin


Power Red External Power source(+)
GND Brown External Power source(-)
Signal Orange PWM

Fig. 7. Shows Duty cycle of MG 995

Fig. 10. Servo Motor control circuit

978-1-5090-5686-6/17/$31.00 ©2017 IEEE 378


International Conference on Electronics, Communication and Aerospace Technology
ICECA 2017

int potpin4 = A4;


V. MODEL ANALYSIS int val;
void setup()
A. DOF Calculations
{
Total number of links are : myservo1.attach(3);
1. Wooden Block + Servo bracket1+ Base servomotor myservo2.attach(5);
2. Circular disc + Caster wheels+ U bracket1 myservo3.attach(6);
3. Servo-Bracket 2 + Servo Motor 2+ U-bracket 2 + L myservo4.attach(9);
bracket myservo5.attach(10);
4. Servo motors 3&4 + Servo bracket 3& 4 }
5. Gripper + Servo Motor 5 void loop()
{
DOF = 3(n-1) -2j + 1 [10] val = analogRead(potpin);
val = map(val, 0, 1023, 0, 250);
n = Number of links
j = Number of Revolute Joints myservo1.write(val);
delay(15);
So, DOF = 3(5-1) – (2*4) +1 = 5 val = analogRead(potpin1);
val = map(val, 0, 1023, 0, 250);
B. Torque Analysis myservo2.write(val);
delay(15);
The critical case is in horizontal position that gives val = analogRead(potpin2);
the biggest perpendicular distance.
So, Torque on the base motor is calculated as val = map(val, 0, 1023, 0, 250);
: Servo bracket weight = 20 g myservo3.write(val);
One motor weight = 55g delay(15);
U bracket weight = 20g val = analogRead(potpin3);
L bracket weight = 10g val = map(val, 0, 1023, 0, 250);
Total weight = 20 + (4*55) + 20 + 10 = 270g = 0.27 Kg myservo4.write(val);
Center of gravity located at 20 cm from circular disc.
delay(15);
T = W*L(CG)
T = 0.27*20 = 5.4 Kg.cm val = analogRead(potpin4);
But motor Stall Torque is 10kg-cm at 6 Volt. val = map(val, 0, 1023, 0, 250);
So, our design is successful and capable to myservo5.write(val);
work properly. delay(15);
Springs are attached for balancing purpose only. }
VI. ARDUINO CODE
VII. CONCLUSION
An Arduino code is written including the libraries
having controlling conditions and delay concept [12]. A 5 DOF pick & place Robotic arm has been
developed. The driver mechanism comprising of an
#include <Servo.h> Arduino microcontroller in conjunction with a set of
Servo myservo1; potentiometers has been successfully used to control the
arm as per the inputs given by the user.
Servo myservo2;
Servo myservo3;
ACKNOWLEDGMENTS
Servo myservo4;
Servo myservo5; The authors would like to acknowledge the University
intpotpin = A0; School of Information and Communication Technology
int potpin1 = A1; at Guru Gobind Singh Indraprastha University for the
int potpin2 = A2; development of this robotic arm.
int potpin3 = A3;

978-1-5090-5686-6/17/$31.00 ©2017 IEEE 379


International Conference on Electronics, Communication and Aerospace Technology
ICECA 2017

REFERENCES

[1] Mark S., Seth H. and Vidyasagar M., Robot modeling and control
(John Wiley & Sons, 2006).
[2] Jamshed Iqbal, Razaul Islam, and Hamza Khan, Modeling and
Analysis of a 6 DOF RoboticA Manipulator, Canadian Journal on
Electrical and Electronics Engineering, 3 (6), July 2012, 300–
306.
[3] Rosidah Sam et al. " Simulation of pick and place Robotics
system using Solidworks Softmotion", International conference
on system Engineering and Technology September 2012.
[4] Edwin Basil Mathew et al. "Robotic arm control through human
arm movement detection using potentiometers",International
Conference on recent developments in control, Automation and
power Engineering, 2015.
[5] Tsai L.W., Robot Analysis: The mechanics of serial and parallel
manipulators, (John Wiley & Sons, 1999).
[6 ] Sanjay Lakshmi Narayan, ShwetaPatil, Position Control of Pick
and Place Robotic Arm, International Conference On Engineering
Innovation and Technology, ISBN : 978-93-81693-77-3,
Nagpur,1st, July, 2012
[7]https://www.researchgate.net/publication/252629271Design
Implementation and Digital Control of a Robotic Arm
[8] https://www.arduino.cc/en/Main/ArduinoBoardUno
[9] Edwin Basil Mathew et al. "Robotic arm control through human
arm movement detection using potentiometers",International
Conference on recent developments in control, Automation and
power Engineering, 2015.
[10] Springer. (2008) Springer Handbook of Robotics
[11] http://www.electronicoscaldas.com/datasheet/MG995_Tower-
Pro.pdf
[12]http://playground.arduino.cc/uploads/Main/arduino_notebook_v1-
1.pdf

978-1-5090-5686-6/17/$31.00 ©2017 IEEE 380

You might also like