Вы находитесь на странице: 1из 39

TABLE OF CONTENT

Content Page number

ACNOWLEDGEMENT
DECLARATION BY THE SCHOLAR IV
SUPERVISOR’S CERTIFICATE V
LIST OF FIGURES Vi
LIST OF TABLES Vii

CHAPTER-1
INTRODUCTION 01

1.1 INTRODUCTION 01
1.2 ROBOTIC ARM 01
1.3 LITERATURE REVIEW 03
1.4 PROJECT OVERVIEW 03

CHAPTER 2
HARDWARE DESCRIPTION 04

2.1 ARDUINO 04
2.1.1 HISTRORY OF ARDUINO 04
2.1.2 FEATURES 06
2.2 SERVOMOTORS 09
2.3 TYPES OF SERVOMOTOR 10
2.3.1 DC SERVO MOTOR 11
2.3.2 AC SERVO MOTOR 12
2.3.3 POSITIONAL ROTATION SERVO MOTOR 14
2.3.4 CONTINUOUS ROTATION SERVO MOTOR 14
2.3.5 LINEAR SERVO MOTOR 14
2.4 APPLICATIONS OF SERVO MOTORS 16

i
CHAPTER 3
PROJECT CONSTRUCTION 17

3.1 HC-05 17

3.2 ELECTRONIC CIRCUIT 19

3.3 ROBOTIC ARM 20

CHAPTER 4
PROJECT CODE & APP PROGRAMMING 24

CHAPTER 5
CONCLUSION AND FUTURE SCOPES 30

5.1 CONCLUTION 30

5.2 FUTURE SCOPE 30

REFERENCES 31

ii
ACKNOWLEDGEMENT
We would love to extend our sincere acknowledgement to those who have supported and
encouraged us during this tough journey. Our first and foremost thanks to ‘The Almighty’ for
bestowing his blessings on us in every field of life.
It is our pleasure and privilege to express our deep sense of gratitude and profound personal
regards to our supervisor Asst. Prof. NEHA SHARMA, Asst.Professor Electronics and
Communication, without whom this project could have not been possible. We are thankful for
his constant inspiration, guidance, invaluable advice, unceasing encouragement and vigilant
supervision during the entire period of this project development. His guidance has been of
immense satisfaction in doing a meaningful and constructive investigation.
We have tried to pay due acknowledgement to all but we also apologize for any involuntary
omission.

Vishal Guleria (14UEC007)


Rishav Kumar (14UEC010)
Vipul Kashyap (14UEC004)

iii
DECLARATION BY THE SCHOLAR

We hereby declare that the project in B.Tech entitled “6-AXIS ROBOTIC ARM

USING SERVO MOTORS” submitted at Baddi University of Emerging


Sciences and Technology, Baddi, (H.P.) India, is an authentic record of our work
carried out under the supervision of our guide Asst. Prof. NEHA SHARMA.

Vishal Guleria (14UEC007)


Rishav Kumar (14UEC010)
Vipul Kashyap (14UEC004)
Department of Electronics and Communication Engineering
Baddi University of Emerging Sciences and Technology, Baddi, (H.P.) India
DATE: - 21/12/2017

iv
SUPERVISOR’S CERTIFICATE
This is to certify that the project reported in B. Tech entitled “6-AXIS ROBOTIC ARM

USING SERVO MOTORS” submitted by Vishal Guleria (14UEC007), Rishav Kumar


(14UEC010), Vipul Kashyap (14UEC004) at Baddi University of Emerging Sciences

and Technology, Baddi (H.P.), India is a bonafide record of their original work carried
out under my supervision. This work has not been submitted elsewhere for any other degree or
diploma.

Asst. Prof. NEHA SHARMA


Asst. Professor (ECE)
BUEST

v
LIST OF FIGURES

Figure no. Caption Page No.

1.1 Block Diagram of Robotic arm system 02


2.1 Arduino UNO Board 05
2.2 Arduino Features 06
2.3 Servo Motor 09
2.4 DC Servo Motor 10
2.5 Internal Assembly of DC Servo Motor 11
2.6 Block diagram of DC Servo Motor 12
2.7 AC Servo Motor 13
2.8 AC Servo Motor Working 13
2.9 Linear Servo Motor 14
3.1 Block diagram of project 16
3.2 HC-05 17
3.3 Circuit Diagram 18
3.4 Circuit 19
3.5 Robotic arm 20
3.6 Robotic arm Prototype 20
3.7 PWM Signal 21
3.8 Angle Movement 21
3.9 Servo Motor Rotation using PMW 22

vi
LIST OF TABLES

TABLE NO. Caption PAGE NO.

2.1 Arduino Features 06

vii
CHAPTER 1
INTRODUCTION
1.1 INTRODUCTION
Nowadays, robots are increasingly being integrated into working tasks to replace humans
especially to perform the repetitive task. In general, robotics can be divided into two areas,
industrial and service robotics. International Federation of Robotics (IFR) defines a service
robot as a robot which operates semi- or fully autonomously to perform services useful to the
wellbeing of humans and equipment, excluding manufacturing operations. These robots are
currently used in many fields of applications including office, military tasks, hospital
operations, dangerous environment and agriculture. Besides, it might be difficult or dangerous
for humans to do some specific tasks like picking up explosive chemicals, defusing bombs or
in worst case scenario to pick and place the bomb somewhere for containment and for repeated
pick and place action in industries. Therefore a robot can be replaced human to do work.
The word robot was derived from Czech word robota which means “a forced laborer”
then later a well known Russian science fiction writer Isaac Asimov coined the word robotics.
From there on various different developments are being successfully done till date in the field
of robotics in the form of teleported as the trend of the industry is moving from the current
state of automation to robotization. Thus the robot technology is advancing rapidly. Now a days
the most commonly used robots in industry is a robotic manipulator or a robotic arm .Robotic
arm is basically an open closed kinematics chain of rigid links interconnected by movable joints.
The end of the arm is connected to the end-effectors. The end-effect or may be a tool and its
fixture or a gripper or any other device to do the work. The end-effectors is similar to the human
hand with or without fingers.

1.2 ROBOTIC ARM


A robotic arm is a robot manipulator, usually programmable, with similar functions to a human
arm. The links of such a manipulator are connected by joints allowing either rotational
motion(such as in an articulated robot) or translational (linear) displacement. The links of the
manipulator can be considered to form a kinematic chain. The business end of the kinematic chain
of the manipulator is called the end effectors and it is analogous to the human hand. The end
effectors can be designed to perform any desired task such as welding, gripping, spinning etc.,
depending on the application. The robot arms can be autonomous or controlled manually and can

1
be used to perform a variety of tasks with great accuracy. The robotic arm can be fixed or mobile
(i.e. wheeled) and can be designed for industrial or home applications. [1][2]
This report deals with a robotic arm whose objective is to imitate the movements of a
human arm using accelerometers as sensors for the data acquisition of the natural arm
movements. This method of control allows greater flexibility in controlling the robotic arm
rather than using a controller where each actuator is controlled separately. The processing unit
takes care of each actuator’s control signal according to the inputs from accelerometer, in order
to replicate the movements of the human arm. Figure 1 shows the block diagram representation
of the system to be designed and implemented.

1.3 LITERATURE REVIEW


There are various ways in which a robotic arm may be controlled. In the past there have been
many researchers working to control robotic arm through computer terminals, Joysticks, even
interfacing them with the internet so they can be controlled from anywhere in the world. [1][2]
Usually most of the robotic arms are controlled by a central controller which makes uses of value
taken in from the terminal that are entered by the user at the terminal to move the arm to a
particular coordinates in space. This makes the control very difficult as the control values of the
motors are very difficult to predict to achieve a particular movement. This is easily achieved by
our project.
HC-05
Processing Unit
Microcontroller
(Servo Motor Controller)

1.4 PROJECT OVERVIEW


In this Project, the hardware and software function are combined to make the system reliable.
The ATmega328 and Arduino will be interfacing the robot with the sensor i.e. servo motors
which will control the movement of the robot respectively.
The chapter that follows describe the hardware (Chapter 2), which is followed by the
description of the software being used (Chapter 3) Chapter 4 describes the implementation of
the project and Chapter 5 concludes the discussion followed by the future scope of the project.

2
CHAPTER 2
HARDWARE DICRIPTION
2.1 ARDUINO
Arduino refers to an open-source electronics platform or board and the software used to
program it. Arduino is designed to make electronics more accessible to artists, designers,
hobbyists and anyone interested in creating interactive objects or environments.
Arduino is a prototype platform (open-source) based on an easy-to-use hardware and
software. It consists of a circuit board, which can be programmed (referred to as a
microcontroller) and a ready-made software called Arduino IDE (Integrated Development
Environment), which is used to write and upload the computer code to the physical board.
The key features are −
 Arduino boards are able to read analog or digital input signals from different sensors
and turn it into an output such as activating a motor, turning LED on/off, connect to
the cloud and many other actions.
 You can control your board functions by sending a set of instructions to the
microcontroller on the board via Arduino IDE (referred to as uploading software).
 Unlike most previous programmable circuit boards, Arduino does not need an extra
piece of hardware (called a programmer) in order to load a new code onto the board.
You can simply use a USB cable.
 Additionally, the Arduino IDE uses a simplified version of C++, making it easier to
learn to program.
 Finally, Arduino provides a standard form factor that breaks the functions of the
micro-controller into a more accessible package.

2.1.1 HISTORY OF ARDUINO:


In 2005, in Ivrea, Italy, a project was initiated to make a device for controlling student built
interactive design projects that was less expensive than other prototyping systems available at
the time. One of the cofounders, Massimo Banzi, named this piece of hardware Arduino in
honor of Bar di Re Arduino (In 1002, King Arduin became the ruler of the Italy. Today, the
Bar di Re Arduino, a pub on a cobblestoned street in town, honors his memory), and began
producing boards in a small factory located in the same region as the computer company
Olivetti [3].

3
The Arduino project is a fork of the open source Wiring platform and is programmed
using a Wiring-based language (syntax and libraries), similar to C++ with some slight
simplifications and modifications, and a Processing-based integrated development environment
(IDE). Arduino was built around the Wiring project of Hernando Barragan. Wiring was
Hernando's thesis project at the Interaction Design Institute Ivrea. It was intended to be an
electronic version of Processing that used our programming environment and was patterned
after the Processing syntax. Arduino would not exist without Wiring and Wiring would not
exist without Processing.
Currently, there are more than 200 distributors of Arduino products around the world.
About 80 percent of people who buy this product are from the United States and Europe. The
interest in this product is rising in the China, India, and South America markets. Over the years,
new designs of the Arduino have been created. The original design is called the Arduino Uno.
Some of the Arduino designs are the Arduino Mega, Arduino Nano, LilyPad Arduino, and
Arduino Ethernet. This past year, the Arduino gained publicity by partnering with Google.
Google released the Android ADK, or Accessory Development Kit, which is based on the
Anduino. A person can build an Android app that uses the Phone’s camera, motion sensors,
touch screen, and internet connectivity. It looks as though the Arduino is creating a new,
cheaper way of programming. It does not seem to be going away any time soon; it is only
getting more popular. The Arduino Uno is a microcontroller board based on the ATmega328.
It has 14 digital input/output pins (of which 6 can be used as PWM outputs), 6 analog inputs, a
16 MHz ceramic resonator, a USB connection, a power jack, an ICSP header, and a reset button.

Figure 2.1: Arduino Uno board [4].

4
2.1.2 FEATURES

Table 2.1: Arduino Features [4].


Microcontroller ATmega 328
Operating Voltage 5V
Input voltage (recommended) 7-12V
Input voltage(limits) 6-20V
Digital I/O pins 14(of which 6 provide PMW output)
Analog Inputs pins 6
DC Current per I/O pin 40Ma
Flash memory 32 KB
SRAM 2 KB
EEPROM 1 KB
Clock Speed 16 MHz

The Arduino UNO board because it is the most popular board in the Arduino board family. In
addition, it is the best board to get started with electronics and coding. Some boards look a bit
different from the one given below, but most Arduinos have majority of these components in
common.

Fig 2.2: Arduino Features [4].


5
Digital Pins
In addition to the specific functions listed below, the digital pins on an Arduino board can be
used for general purpose input and output via the pinMode(), digitalRead(),
and digitalWrite() commands. Each pin has an internal pull-up resistor which can be turned on
and off using digitalWrite() (w/ a value of HIGH or LOW, respectively) when the pin is
configured as an input. The maximum current per pin is 40 mA.

 Serial: 0 (RX) and 1 (TX). Used to receive (RX) and transmit (TX) TTL serial data.
On the Arduino Diecimila, these pins are connected to the corresponding pins of the
FTDI USB-to-TTL Serial chip. On the Arduino BT, they are connected to the
corresponding pins of the WT11 Bluetooth module. On the Arduino Mini
and LilyPad Arduino, they are intended for use with an external TTL serial module (e.g.
the Mini-USB Adapter).
 External Interrupts: 2 and 3. These pins can be configured to trigger an interrupt on a
low value, a rising or falling edge, or a change in value. See the attach Interrupt
() function for details.
 PWM: 3,5,6,9,10, and 11. Provide 8-bit PWM output with the analog Write () function.
On boards with an ATmega8, PWM output is available only on pins 9, 10, and 11.
 BT Reset: 7. (Arduino BT-only) Connected to the reset line of the Bluetooth module.
 SPI: 10(SS),11(MOSI),12(MISO),13 (SCK). These pins support SPI communication,
which, although provided by the underlying hardware, is not currently included in the
Arduino language.
 LED: 13. On the Diecimila and LilyPad, there is a built-in LED connected to digital pin
13. When the pin is HIGH value, the LED is on, when the pin is LOW, it's off.

Analog Pins
In addition to the specific functions listed below, the analog input pins support 10-bit analog-
to-digital conversion (ADC) using the analog Read () function. Most of the analog inputs can
also be used as digital pins: analog input 0 as digital pin 14 through analog input 5 as digital pin
19. Analog inputs 6 and 7 (present on the Mini and BT) cannot be used as digital pins.

 I2C: 4 (SDA) and 5 (SCL). Support I2C (TWI) communication using the Wire
library (documentation on the Wiring website).

6
Power Pins

 VIN (sometimes labelled "9V"). The input voltage to the Arduino board when it's using
an external power source (as opposed to 5 volts from the USB connection or other
regulated power source). You can supply voltage through this pin, or, if supplying
voltage via the power jack, access it through this pin. Note that different boards accept
different input voltages ranges, please see the documentation for your board. Also note
that the LilyPad has no VIN pin and accepts only a regulated input.
 5V. The regulated power supply used to power the microcontroller and other
components on the board. This can come either from VIN via an on-board regulator, or
be supplied by USB or another regulated 5V supply.
 3V3. (Diecimila-only) A 3.3-volt supply generated by the on-board FTDI chip.
 GND. Ground pins.
Power USB- Arduino board can be powered by using the USB cable from your computer. All
you need to do is connect the USB cable to the USB connection (1).

Power (Barrel Jack) Arduino boards can be powered directly from the AC mains power supply
by connecting it to the Barrel Jack (2).

Voltage Regulator-The function of the voltage regulator is to control the voltage given to the
Arduino board and stabilize the DC voltages used by the processor and other elements.

Crystal Oscillator- The crystal oscillator helps Arduino in dealing with time issues. How does
Arduino calculate time? The answer is, by using the crystal oscillator. The number printed on
top of the Arduino crystal is 16.000H9H. It tells us that the frequency is 16,000,000 Hertz or
16 MHz

Arduino Reset- You can reset your Arduino board, i.e., start your program from the beginning.
You can reset the UNO board in two ways. First, by using the reset button (17) on the board.
Second, you can connect an external reset button to the Arduino pin labelled RESET (5).

7
ICSP pin- Mostly, ICSP (12) is an AVR, a tiny programming header for the Arduino consisting
of MOSI, MISO, SCK, RESET, VCC, and GND. It is often referred to as an SPI (Serial
Peripheral Interface), which could be considered as an "expansion" of the output. Actually, you
are slaving the output device to the master of the SPI bus.

Power LED indicator- This LED should light up when you plug your Arduino into a power
source to indicate that your board is powered up correctly. If this light does not turn on, then
there is something wrong with the connection.

TX and RX LEDs- On your board, you will find two labels: TX (transmit) and RX (receive).
They appear in two places on the Arduino UNO board. First, at the digital pins 0 and 1, to
indicate the pins responsible for serial communication. Second, the TX and RX led (13). The
TX led flashes with different speed while sending the serial data. The speed of flashing depends
on the baud rate used by the board. RX flashes during the receiving process.

AREF- AREF stands for Analog Reference. It is sometimes, used to set an external reference
voltage (between 0 and 5 Volts) as the upper limit for the analog input pins.

2.2 SERVOMOTOR
A servomotor is a rotary actuator or linear actuator that allows for precise control of angular or
linear position, velocity and acceleration. It consists of a suitable motor coupled to a sensor for
position feedback. It also requires a relatively sophisticated controller, often a dedicated module
designed specifically for use with servomotors. Servomotors are not a specific class of motor
although the term servomotor is often used to refer to a motor suitable for use in a closed-loop
control system. A servo motor is one of the widely used variable speed drives in industrial
production and process automation and building technology worldwide. Although servo motors
are not a specific class of motor, they are intended and designed to use in motion control
applications which require high accuracy positioning, quick reversing and exceptional
performance.

8
Fig 2.3: Servo Motor

A servo motor is a linear or rotary actuator that provides fast precision position control
for closed-loop position control applications. Unlike large industrial motors, a servo motor is
not used for continuous energy conversion. Servo motors have a high-speed response due to
low inertia and are designed with small diameter and long rotor length. Then how do servo
motors work? Servo motors work on servo mechanism that uses position feedback to control
the speed and final position of the motor. Internally, a servo motor combines a motor, feedback
circuit, controller and other electronic circuit. It uses encoder or speed sensor to provide speed
feedback and position. This feedback signal is compared with desired position of the motor
corresponding to a load, and produces the error signal (if there exist a difference between them).
The error signal available at the output of error detector is not enough to drive the motor. So,
the error detector followed by a servo amplifier raises the voltage and power level of the error
signal and then turns the shaft of the motor to desired position.

2.3 TYPES OF SERVO MOTORS


Servo motors are classified into different types based on their application, such as AC servo
motor, DC servo motor, brushless DC servo motor, positional rotation, continuous rotation and
linear servo motor etc. Typical servo motors comprise of three wires namely, power control and
ground. The shape and size of these motors depend on their applications. RC servo motor is the
most common type of servo motor used in hobby applications, robotics due to their simplicity,
affordability and reliability of control by microprocessors. These are best suited for smaller
applications. With the advancement of microprocessor and power transistor, AC servo motors
are used more often due to their high accuracy control.

9
2.3.1 DC SERVO MOTOR
A DC servo motor consists of a small DC motor, feedback potentiometer, gearbox, motor drive
electronic circuit and electronic feedback control loop. It is more or less similar to the normal
DC motor. The stator of the motor consists of a cylindrical frame and the magnet is attached to
the inside of the frame.

Fig 2.4: DC Servo Motor


The rotor consists of brush and shaft. A commutator and a rotor metal supporting frame
are attached to the outside of the shaft and the armature winding is coiled in the rotor metal
supporting frame. A brush is built with an armature coil that supplies the current to the
commutator. At the back of the shaft, a detector is built into the rotor in order to detect the
rotation speed. With this construction, it is simple to design a controller using simple circuitry
because the torque is proportional to the amount of current flow through the armature. And also,
the instantaneous polarity of the control voltage decides the direction of torque developed by
the motor. Types of DC servo motors include series motors, shunt control motor, split series
motor, and permanent magnet shunt motor.
Working Principle of DC Servo Motor

A DC servo motor is an assembly of four major components, namely a DC motor, a position


sensing device, a gear assembly, and a control circuit. The below figure shows the parts that
consisting in RC servo motors in which small DC motor is employed for driving the loads at
precise speed and position.

10
Fig 2.5: Internal assembly of DC Servo Motor

A DC reference voltage is set to the value corresponding to the desired output. This voltage can
be applied by using another potentiometer, control pulse width to voltage converter, or through
timers depending on the control circuitry. The dial on the potentiometer produces a
corresponding voltage which is then applied as one of the inputs to error amplifier. In some
circuits, a control pulse is used to produce DC reference voltage corresponding to desired
position or speed of the motor and it is applied to a pulse width to voltage converter. In this
converter, the capacitor starts charging at a constant rate when the pulse high.
Then the charge on the capacitor is fed to the buffer amplifier when the pulse is low and
this charge is further applied to the error amplifier. So, the length of the pulse decides the voltage
applied at the error amplifier as a desired voltage to produce the desired speed or position. In
digital control, microprocessor or microcontroller are used for generating the PWM pluses in
terms of duty cycles to produce more accurate control signals.

11
AMPLIFIER
COMPARATOR MOTOR LOAD

FIER
PULSE WIDTH TO
VOLTAGE
CONTROL

POSITION GEAR
CONTROL SIGNAL
SENSOR BOX

Fig 2.6: Block diagram of DC Servo Motor

The feedback signal corresponding to the present position of the load is obtained by using a
position sensor. This sensor is normally a potentiometer that produces the voltage
corresponding to the absolute angle of the motor shaft through gear mechanism. Then the
feedback voltage value is applied at the input of error amplifier (comparator). The error
amplifier is a negative feedback amplifier and it reduces the difference between its inputs. It
compares the voltage related to current position of the motor (obtained by potentiometer) with
desired voltage related to desired position of the motor (obtained by pulse width to voltage
converter), and produces the error either a positive or negative voltage.
This error voltage is applied to the armature of the motor. If the error is more, the more
output is applied to the motor armature. As long as error exists, the amplifier amplifies the error
voltage and correspondingly powers the armature. The motor rotates till the error becomes zero.
If the error is negative, the armature voltage reverses and hence the armature rotates in the
opposite direction.
2.3.2 AC SERVO MOTOR
AC servo motors are basically two-phase squirrel cage induction motors and are used for low
power applications. Nowadays, three phase squirrel cage induction motors have been modified
such that they can be used in high power servo systems. The main difference between a standard
split-phase induction motor and AC motor is that the squirrel cage rotor of a servo motor has
made with thinner conducting bars, so that the motor resistance is higher.

12
Fig 2.7: AC Servo Motor

Working Principle of AC Servo Motor


The schematic diagram of servo system for AC two-phase induction motor is shown in the
figure below. In this, the reference input at which the motor shaft has to maintain at a certain
position is given to the rotor of synchro generator as mechanical input theta. This rotor is
connected to the electrical input at rated voltage at a fixed frequency.

Fig 2.8: AC Servo Motor Working


The three stator terminals of a synchro generator are connected correspondingly to the
terminals of control transformer. The angular position of the two-phase motor is transmitted to
the rotor of control transformer through gear train arrangement and it represents the control
condition alpha. Initially, there exist a difference between the syn generator shaft position and
control transformer shaft position. This error is reflected as the voltage across the control

13
transformer. This error voltage is applied to the servo amplifier and then to the control phase of
the motor.
With the control voltage, the rotor of the motor rotates in required direction till the error
becomes zero. This is how the desired shaft position is ensured in AC servo motors.
Alternatively, modern AC servo drives are embedded controllers like PLCs, microprocessors
and microcontrollers to achieve variable frequency and variable voltage in order to drive the
motor. Mostly, pulse width modulation and Proportional-Integral-Derivative (PID) techniques
are used to control the desired frequency and voltage. The block diagram of AC servo motor
system using programmable logic controllers, position and servo controllers is given below.
2.3.3 POSITIONAL ROTATION SERVO MOTOR
Positional rotation servo motor is a most common type of servo motor. The shaft’s o/p
rotates in about 180o. It includes physical stops located in the gear mechanism to stop turning
outside these limits to guard the rotation sensor. These common servos involve in radio
controlled water, radio controlled cars, aircraft, robots, toys and many other applications.
2.3.4 CONTINUOUS ROTATION SERVO MOTOR
Continuous rotation servo motor is quite related to the common positional rotation servo
motor, but it can go in any direction indefinitely. The control signal, rather than set the static
position of the servo, is understood as the speed and direction of rotation. The range of potential
commands sources the servo to rotate clockwise or anticlockwise as preferred, at changing
speed, depending on the command signal. This type of motor is used in a radar dish if you are
riding one on a robot or you can use one as a drive motor on a mobile robot.
2.3.5 LINEAR SERVO MOTOR
Linear servo motor is also similar the positional rotation servo motor is discussed above,
but with some extra gears to alter the o/p from circular to back-and-forth. These servo motors
are not simple to find, but sometimes you can find them at hobby stores where they are used as
actuators in higher model airplanes.

Fig 2.9: Linear Servo Motor

14
2.4 APPLICATION OF SERVO MOTOR
The servo motor is small and efficient, but serious to use in some applications like precise
position control. This motor is controlled by a pulse width modulator signal. The applications
of servo motors mainly involve in computers, robotics, toys, CD/DVD players, etc. These
motors are extensively used in those applications where a particular task is to be done frequently
in an exact manner.
Servo Motor in Packaging Machine
 The servo motor is used in robotics to activate movements, giving the arm to its
precise angle.
 The Servo motor is used to start, move and stop conveyor belts carrying the product
along with many stages. For instance, product labeling, bottling and packaging.
 The servo motor is built into the camera to correct a lens of the camera to improve out
of focus images.
 The servo motor is used in robotic vehicle to control the robot wheels, producing
plenty torque to move, start and stop the vehicle and control its speed.
 The Servo motor is used in Textiles to control spinning and weaving machines,
knitting machines and looms
 The Servo motor is used in automatic door openers to control the door in public places
like supermarkets, hospitals and theatres
 These are widely used in robotics, radar systems, automated manufacturing systems,
machine tools, computers, CNC machines, tracking systems, etc.

15
CHAPTER3
PROJECT CONSTRUCTION
1. Programmability, implying computational or symbolic manipulative capabilities that a
designer can combine as desired (a robot is a computer)
2. Mechanical capability, enabling it to act on its environment rather than merely function as a
data processing or a computational device (a robot is a machine).
3. Flexibility in that it can operate using a range of programs and manipulates and transport
materials in a variety of ways.
We have 3 major parts for this project.
1. HC-05.
2. Electronics circuit.
3. Robotic arm.

Fig 3.1: Block diagram of project

3.1 HC-05 Bluetooth to serial port module

Communication device:-over project is based on wireless communication


between micro controller and mobile phone. But alone micro controller is not able to
communicate directly to the android mobile phone. Bluetooth Serial module’s operation
doesn’t need drive, and can communicate with the other Bluetooth device that has the
serial. But communication between two Bluetooth modules requires at
Least two conditions:
(1) The communication must be between master and slave.
(2) The password must be correct.
HC-05 module is an easy to use Bluetooth SPP (Serial Port Protocol) module, designed for
transparent wireless serial connection setup. Serial port Bluetooth module is fully qualified
Bluetooth V2.0+EDR (Enhanced Data Rate) 3Mbps Modulation with complete 2.4GHz radio
transceiver and baseband. It uses CSR Blue core 04-External single chip Bluetooth system
with CMOS technology and with AFH (Adaptive Frequency Hopping Feature). It has the
Foot print as small as 12.7mmx27mm.

16
HC-05 module is an easy to use Bluetooth SPP (Serial Port Protocol) module, designed for
transparent wireless serial connection setup. Serial port Bluetooth module is fully qualified
Bluetooth V2.0+EDR (Enhanced Data Rate) 3Mbps Modulation with complete 2.4GHz radio
transceiver and baseband
Bluetooth Wireless networks for short range communications have a wide spread usage of
Bluetooth radio transmissions between 2400–2480 MHz Modern mobile devices embed
small, low-powered and cheap integrated chips functioning as short-range radio transceivers
for Bluetooth radio communications. Device pairing, authentication, encryption and
authorization techniques have given recognition to Bluetooth technology due to its vital
security mechanisms.
Different types of Bluetooth applications can be developed using Android platform
architecture using the Bluetooth profiles. The device manufacturers provide the services
using the support of these profiles in their devices to maintain compatibility for the Bluetooth
technology.
The Bluetooth module HC-05 is used to receive & transmit data between Bluetooth device
and MCU. It requires power supply from 3.3V to 5V.
Pairing:
After connect the Bluetooth module, scan for new devices from the Android phone and you
will find the module with the device name “HC-05”, after that, click to connect, if some
message appears asking about “Pairing code” just put
“1234” as default code.
BLUE LED = ACTIVE (Blinking 500ms period inactive connection, change 1seg with active
connection)

Figure 3.2: Pin-out of HC-05

17
3.2 ELECTRONIC CIRCUIT
In this project we use an Arduino board, PCB board, 4Servo motor, and potentiometer, power
supply.

Fig 3.3: Circuit Diagram

Circuit connections are done exactly done in above diagram. Potentiometers are shown
as Potx and servo motors shown as Servox. A simple dc motor is also connected.
All the Potx are connected to the analog port on Arduino. On this port we have ADC
(Analog to Digital Convertor) circuit. All values received from sensors is fed into the ADC and
it help to controller to determine the rise and fall in values of sensors. ADC automatically
converts the max voltage (5v dc) to 1023 and min voltage (0v dc) to 0. So, each sensor has
range from 0 to 1023 which is read by controller. There is flexibility available to make changes
in this range according to the user requirements. These values also can be seen on serial monitor
of Arduino ide when hardware is connected with pc throw usb cable.
On output side of circuit, it connected with servo motors. Servo motors are connected
to the 5v dc and 0v ground. Signal pin or control pin of each servo is connected with PWM
pins of Arduino board. Servo motor is controlled by applying the PWM signal of different

18
length. Basically, 15ms to 20ms is used to control the angles from 0 to 1800. There are only 6
PWM pins are available on Arduino board. [5]

For controlling the dc motor, it is connected with power supply and a switch is used to control
its action.

Fig 3.4: Circuit

3.3 ROBOTIC ARM


A robotic arm is a robotic manipulator, usually programmable, with similar functions to a
human arm. Servo motor is used for joint rotation. It has about same number of degree of
freedom as in human arm. Humans pick things up without thinking about the steps involved.
In order for a robot or a robotic arm to pick up or move something, someone has to tell it to
perform several actions in a particular order — from moving the arm, to rotating the “wrist” to
opening and closing the “hand” or “fingers.”.
So, we can control each joint through computer interface. Some advanced robot arms
make use of sensors like motion and pressure sensors in order for it to detect foreign obstacles
and avoid breaking or dropping what it is carrying. Robot arm also vary with the type of end
effecter that they are using. The kind of end effecter that a particular robot arm is using is very
much dependent on the kind of task the robot is designed for:

19
1. Blowtorches for auto assembly lines robots.
2. Drills for metal application robots.
3. Spray paints for decoration oriented robots.
4. For welding purpose.
5. For pick and place applications.

Fig 3.5: Robotic arm

Fig 3.6: Robotic arm Prototype

20
Pulse Width Modulation or PWM is a common technique used to vary the width of the
pulses in a pulse-train. PWM has many applications such as controlling servos and speed
controllers, limiting the effective power of motors and LEDs.
Basic Principle of PWM
Pulse width modulation is basically, a square wave with a varying high and low time. A basic
PWM signal is shown in the following figure.

Fig 3.7: PWM Signal

Fig 3.8: Angle Movement

There are various terms associated with PWM −


 On-Time − Duration of time signal is high.
 Off-Time − Duration of time signal is low.
 Period − It is represented as the sum of on-time and off-time of PWM signal.
 Duty Cycle − It is represented as the percentage of time signal that remains on during
the period of the PWM signal.

21
Period
As shown in the figure, Ton denotes the on-time and Toff denotes the off-time of signal. Period
is the sum of both on and off times and is calculated as shown in the following equation −
Ttotal=Ton+ToffTtotal=Ton+Toff

Fig 3.9: Servo Motor Rotation using PMW

Duty Cycle
Duty cycle is calculated as the on-time of the period of time. Using the period calculated above,
duty cycle is calculated as −

D=TonTon+Toff=TonTtotal

22
CHAPTER 4
ARDUINO PROGRAMMING
#include<Servo.h>
Servo sm1, sm2, sm3, sm4;
int i=90,j=90,x=105,y,p=105,q,t=90,v;
void basemot1();
void basemot2();
void shoulder1();
void shoulder2();
void elbowa1();
void elbowa2();
void elbowb1();
void elbowb2();
void setup()
{
sm1.attach(11);
sm2.attach(10);
sm3.attach(9);
sm4.attach(6);
Serial.begin(9600);
}
void loop()
{
char z;
if (Serial.available() > 0)
{
z=Serial.read();
if(z=='A')
{sm1.attach(11);
basemot1();
}
if(z=='G')
23
{
sm1.attach(11);
basemot2();
}
if(z=='B')
{
shoulder1();
}
if(z=='H')
{
shoulder2();
}
if(z=='C')
{
elbowa1();
}
if(z=='I')
{
elbowa2();
}
if(z=='D')
{
elbowb1();
}
if(z=='J')
{
elbowb2();
}
}
}
void basemot1()
{

24
sm1.write(105);
/* Serial.println(i);
i=i+5;
j=i;
if(i >120)
{
i=90;
}*/
delay(2000);
sm1.detach();
}
void basemot2()
{
sm1.write(90);
/*Serial.println(j);
j=j-5;
i=j;
if(j < 75)
{
j=90;
}*/
delay(2000);
sm1.detach();
}

void shoulder1()
{
sm2.write(x);
Serial.println(x);
x=x+15;
y=x;
if(x >180)

25
{
x=180;
}
}
void shoulder2()
{
sm2.write(y);
Serial.println(y);
y=y-15;
x=y;
if(y < 0)
{
y=0;
}
}
void elbowa1()
{
sm3.write(p);
Serial.println(p);
p=p+15;
q=p;
if(p >180)
{
p=165;
}
}
void elbowa2()
{
sm3.write(q);
Serial.println(q);
q=q-15;
p=q;

26
if(q < 0)
{
q=0;
}
}
void elbowb1()
{
sm4.write(t);
Serial.println(t);
t=t+15;
v=t;
if(t >180)
{
t=165;
}
}
void elbowb2()
{
sm4.write(v);
Serial.println(v);
v=v-15;
t=v;
if(v < 0)
{
v=0;
}
}

27
APP PROGRAMMING

28
29
CHAPTER 5
CONCLUSION AND FUTURE SCOPE
5.1 CONCLUSION
The objectives of this project has been achieved which was developing the hardware and
Software for a Potentiometer controlled robotic arm. From observation that has been made, it
clearly shows that its movement is precise, accurate, and is easy to control and user friendly to
use. The robotic arm has been developed successfully as the movement of the robot can be
controlled precisely. This robotic arm control method is expected to overcome the problem such
as placing or picking object that away from the user, pick and place hazardous object in a very
fast and easy manner.
5.2 FUTURE SCOPE
The project is built on a wired model. It could further be developed to work on wireless
communication, thus allowing the user to move in an even easier unrestricted manner. A
clamper can be connected on the motor M6 which will allow the movements of the palm and
allow picking and placing of objects. The microprocessor could take the input from the
potentiometer and smoothen it and then generate the corresponding PWM signal itself to actuate
the servo motors.

30
REFERENCES

[1] Mohd Ashiq Kamaril Yusoffa, Reza Ezuan Saminb, Babul Salam Kader Ibrahimc,
“Wireless Mobile Robotic Arm”, International Symposium on Robotics and Intelligent Sensors
2012(IRIS 2012), July 2012
[2] Wan Muhamad Hanif Wan Kadir, Reza Ezuan Samin, Babul Salam Kader Ibrahim,
“Internet Controller Robotic Arm”. International Symposium on Robotics and Intelligent
Sensors 2012(IRIS 2012), July 2012.
[3] Arduino History and introduction-https://www.arduino.cc/en/Guide/Introduction
[4]Arduinohttp://fab.cba.mit.edu/classes/863.11/people/theodora.vardouli/06_embeddedProgr
am ming/06.html
[5]Avinash, “Using ADC on ARDUINO”, http://extremeelectronics.co.in/avr-tutorials/using-
theanalog-to-digital-converter/, September 2008

31

Вам также может понравиться