Submitted in the partial fulfillment of the requirement for the award of degree of
Ph. (01824-506960-61) Department of Electronics & Communication Engineering Lovely Professional University Phagwara (Distt. Kapurthala) Punjab India 144001
Dated:26/11/2011
Certificate
Certified that this project entitled Pick and Place Design Robot Using DTMF submitted by Gourav Saxena (10801280), students of Electronics & Communication Engineering Department, Lovely Professional University, Phagwara Punjab in the partial fulfillment of the requirement for the award of Bachelors of Technology (Electronics & Communication Engineering) Degree of LPU, is a record of students own study carried under my supervision & guidance.
This report has not been submitted to any other university or institution for the award of any degree. Name of Project Guide Raman Sir(Lecturer)
DECLARATION
I, Gourav Saxena , student of B.Tech-M.Tech under Department Of ECE of Lovely Professional University, Punjab, hereby declare that all the information furnished in this dissertation / capstone project report is based on my own intensive research and is genuine.
This dissertation / report does not, to the best of my knowledge, contain part of my work which has been submitted for the award of my degree either of this university or any other university without proper citation.
Date :26/11/2011
Reg.No.-10801280
Acknowledgement
TO make a project on Robotics has been ambition of mine. Any fruitful effort in a work needs a direction and guiding hands that showy the way. I want to thank Mr.Raman for his guidance and efforts to guide me under my project. I am further indebted of my college for providing such Opportunities and guides. I am also thankful to my project partner for his full cooperation and help. I am also thankful to everyone who has in some way or other helped me completing this project successfully. I should not fail to mention my parent who have always been a source of information. I am grateful to my friends especially to Arvind, Ravinder,Hans and Ankit for their valuable support and help.
Abstract
In this project we have interfaced the robot with different kinds of I/O devices and our method allows for storing more programs to enhance more functionality. From our work, we deduced that in comparison to humans, robots can be much stronger and are therefore able to lift heavier weights and exert larger forces. They can be very precise in their movements, reduce labor costs, improve working conditions, reduce material wastage and improve product quality. This is why theyre very important in industries because the overall objective of industrial engineering is productivity. Meanwhile, intelligent Control is the discipline that implements Intelligent Machines (IMs) to perform anthropormorphic tasks with minimum supervision and interaction with a human operator. This project can be further enhanced to as a multi-disciplinary project involving electrical and computer engineers to work together to create more complex, intelligent robots controlled by the 8051 micro-controller. Robotic arm has become popular in the world of robotics. The essential part of the robotic arm is a programmable microcontroller based brick capable of driving basically three DC motors design to form an anthropomorphic structure. The first design was for experimental use on a human-size industrial robot arm called PUMA 560 used to explore issues in versatile object handling and compliance control in grasp actions.The method of interfacing the robotic arm DC motors with the programmed 8051-based microcontroller which are used to control the robot operations. We have employed the Embedded C in programming our microcontroller.
Table of Contents
1.INTRODUCTION.................................................................................................................................1-10 i. ii. iii. iv. v. vi. vii. viii. ix. x. PROJECT TECHNOLOGY.1 DEFINITION OF EMBEDDED SYSTEMS ..1 MICROPROCESSORS AND MICROCONTROLLERS...2 BLOCK DIAGRAM OF THE PROJECT...2-4 DTMF DECODER..4 DC MOTOR DRIVER....5 IMPROVEMENTS ON EXISTING FEATURES OF THE PROJECT.5 NEW FEATURES6 HISTORY OF ROBOTICS..7-9 APPLICATIONS OF ROBOTICS..9-10
2. DESIGN PROCEDURE10-27 i. MECHANICS AND MOTION OF ROBOTS10-14 ii. MOTORS AND MOTION CONTROL...14-18 iii. DESIGN SELECTION OF THE ROBOTIC ARM18-23 iv. ELECTRONIC HARDWARE SELECTION...23-27 3. DESIGN DETAILS...27-49
MICROCONTROLLER...27-35 DC MOTOR DRIVER..35-39 STEPPER MOTOR DRIVER...40 POWER SUPPLY.40-41 DTMF DECODER42-48 EXPERIMENTAL INFRASTRUCTURE AND ROBOTIC ARM..49
5.CONCLUSION.........51
6.REFERENCE52-
i.
APPENDIX(PROGRAMMING)
Introduction
In this highly developing society; time and man power are critical constrains for completion of task in large scales. The automation is playing important role to save human efforts in most of the regular and frequently carried works e.g. most of the industrial jobs like welding, painting, opertation. But with the advent of high performance, a new way of control using mobile has been implemented which is introduced in this project. All the above systems are controlled by the Microcontroller. In our project we are using the popular 8bit microcontroller AT89S52. It is a 40 pin microcontroller. The
assembly, container filling etc. one of the major and most commonly performed work is picking and placing of jobs from source to destination. For this purpose, pick and place robot maybe used. Robotic manipulators are widely used to replace human operators in tasks that are repetitive in nature. However, there are many tasks that are non-repetitive, unpredictable, or hazardous to the human operators. Clearing up a nuclear power plant leak or exploring the extreme depths of ocean are just some examples. The most developed robot in practical use today is the robotic arm and it is seen in applications throughout the world. Robotic are used to carry out work in outer space where man cannot survive and also used to do work in the medical field such as conducting experiments researcher.In without early exposing days, the robotic
Microcontroller AT89S52 is used to control the dc motors. It gets the signals from the DTMF decoder and it drives the motors according to the DTMF inputs. Two DC motors are used to drive the robot in four directions i.e. Front ,Back ,Right ,Left.
1.Project technology The technology used in this project is Embedded Systems. 2. Definition of Embedded systems
Embedded system is a combination of hardware and software, it is also named as Firm ware.An embedded system is a special purpose computer system, which is completely encapsulated by the device it controls. It is a computer-controlled
manipulators have been implemented in different control techniques like mechanical control and the remote control or tele-
Some examples of embedded systems: Automatic Teller Machines Cellular telephone and telephone switches Computer network equipment Computer printers Disk drives Engine controllers and antilock break controllers for automobiles Home automation products Handheld calculators Household appliances Medical equipment Measurement equipment Multifunction wrist watches Multifunction printers
Embedded systems are electronic devices that incorporate microprocessors with in their implementations. The main purpose of the microprocessors are simplify the system design and improve flexibility. In the embedded systems, the software is often stored in a read only memory (RAM) chip.Embedded systems provide several major functions including monitoring of the analog environment by reading data from sensors and controlling actuators.
3. Examples of Embedded systems 4. Microprocessors and Microcontrollers Microprocessors and microcontrollers are used in embedded system products. An embedded product uses a microprocessor ( or microcontroller ) to do one task and one task only.
Embedded systems are found in wide range of application areas. Originally they were used only for expensive industrial control applications, but as technology brought down the cost of dedicated processors, they began to appear in moderately expensive applications such as automobiles, communication and office equipments and television Today's embedded systems are so inexpensive that they are used in almost every electronic product in our life. Embedded systems are often designed for mass production.
Microprocessor as the term come to be known is a general purpose digital computer central processing unit. Although popularly known as a "computer on chip", the microprocessor is in no sense a complete digital computer.
pointer, some working registers, a clock timing circuits and interrupt circuit.
computer. Typically this includes a CPU, RAM, Input/ Output ports, timers,
To make complete microcomputer memory must add, usually Read Only Memory, Random Access Memory, memory decoders and an Input/Output devices. In addition special purpose devices such as interrupts, counters may be added to relieve the CPU from time consuming counting or timing chores. The hardware design of microprocessor CPU is arranged so that a small or very large system can be configured around the CPU as the application demands. The internal CPU architecture as well as the resultant machine level code that operates that architecture is comprehensive but as flexible as
interrupts. So microcontroller is also called as "true computer on a chip". Unlike a general includes purpose all of computer these which devices. also A
microcontroller is designed for a very specific task to control a particular system. A microcontroller is a general purpose device but one that is meant to read data, performs limited calculations on that data and control its environment based on those calculations. The prime use of microcontroller is to control the operation of machine using a fixed program that is stored in ROM that does not change over the life time of the system.
possible.The prime use of microprocessor is to read data perform extensive calculations on that data and store those calculations in mass storage devices or display the results for user use. The program is used by microprocessor are stored in the mass storage devices and loaded into RAM as the user directs.A microcontrollers is a
The advantages of microcontroller over microprocessor are cost is less speed is more power consumption is less compact device external components are minimum In the modern world, robotics has become popular, useful, and has achieved great successes in several fields of humanity. Robotics has become very useful in
computer on a single chip .Micro suggest that the device is small and controller tells that the device is used to control objects, process or events
Microcontroller is a highly integrated chip that contains all the devices comprising a
term that has since been used to refer to a achine that performs work to assist people or work that humans Robots, find which difficult could or be
theory. These disciplines when applied suitably, lead to the design of a very successful robot.
undesirable.
destructive or non-destructive, perform tasks destructive, that would have been very tedious for y human beings to perform. They are capable of performing repetitive tasks more quickly, cheaply, and accurately than humans. 5. Block diagram of the project:
kinematics, signal analysis, information theory, artificial intelligence, and probability heory,
10
DTMF DECODER
DC MOTOR DRIVER
11
Original
Improvements Aluminum was used. It is lighter and yet possesses reasonable strength A richer user interface with enhanced functionalities and user friendliness A combination of spur gears and spiral gears were used. Spiral gears are used to achieve very high torque amplification within a relatively small space. The printed circuit board (PCB) technology was used. This has the advantage of a neater circuit with practically no wires, hence it is easier to trouble shoot. The microcontroller provides enough pins for selecting motors, hence eliminating the need for decoders. Also, we used transistor driver ICs instead of discrete transistors to simplify the circuit and make it less error-prone.
Limited functions
Circuit Implementation
Decoders were used to select individual motors and discrete transistors were used for driving the motors
7. New Features
Description The robot arm was previously connected directly to the PC via cables. A wireless communication channel between the PC and the robot was established via infrared, thereby increasing flexibility
12
Embedded Control
A microcontroller was used to control the robot instead of direct control from the PC. The user interface and robot control were highly decoupled by placing the robot control functions in the embedded controller, so the PC could easily be replaced with a hand-held remote controller, thereby further increasing the overall flexibility of the system.
8. HISTORY OF ROBOTICS The advent of robotics started in the year 350 B.C. when a Greek mathematician Archytas of Tarentum built a mechanical bird, which was called the pigeon. This mechanical bird was powered using steam. With further advancements, Leonardo Da Vinci in the year, 1495 designed a mechanical device that looked like an armored knight. The knight was designed to move as if there was a real person inside. In 1898, Nikola Tesla designed the first remote-controlled robot in Madison Square Garden. The robot designed was modeled after a boat. The first industrial robots were Unimates developed by George Devol and Joe Engelberger in the late 50s and early 60s. The first patents were by Devol but Engelberger formed Unimation which was the first market robots. Therefore,
viability of these robots proved disastrous and thing slowed down for robotics. However, by mid 80s, the industry
recovered and robotics was back on track. George Devol Jr, in 1954 developed the multi-jointed artificial arm, which lead to the modern robots. However, mechanical engineer Victor Scheinman, developed the truly flexible arm know as the
Programmable Universal Manipulation Arm (PUMA). In 1950, Isaac Asimov came up with laws for robots and these were: A robot may not injure a human being, or through inaction allow a human being to come to harm. A robot must obey the orders given it by human beings, except where such orders would conflict with the first law. A robot must protect its own existence as long as such protection does not conflict with the first or second law (Robotics Introduction. 2001). Mobile Robotics moved
13
Engelberger has been called the father of robotics. For a while, the economic
into its own in 1983 when Odetics introduced a six-legged vehicle that was capable of climbing over objects. This robot could lift over 5.6 times its own weight parked and 2.3 times it weight moving. There were very significant changes in robotics until the year 2003 when NASA launched two robots MER-A Spirit and MERB Opportunity rovers which were destined for Mars. Up till date, Roboticists have kept researching on how to make robots very interactive with man in order to be able to communicate efficiently in the social community.
robots are capable of adapting to their environment. The intelligence provided to them enables them to be able to sense conditions around their environment and respond correctly to the situations. Examples of Autonomous mobile robots include the autonomous guided vehicle robots which independent of external human actions deliver parts between various
assembly stations by following special electrical guide wires using a custom sensor, the HELPMATE service robot which
transports food and medication throughout hospitals by tracking the position of ceiling lights, which are manually specified to the
9. CLASSIFICATION OF ROBOTS There are various types of robots, which are used now in the modern world each having one or several tasks that it performs depending on the intelligence applied to it. However, robots can be classified broadly into two types namely:
robot beforehand. Also, in the military, some robots are designed to detect bombs and they are capable of defusing the bombs. These robots are all autonomous in the task they perform because they have been provided with the intelligence to detect and adapt to the environment in which they are supposed to perform their tasks.
Autonomous Mobile Robots Manipulator Robots MANIPULATOR ROBOTS These are robots that perform particular AUTONOMOUS MOBILE ROBOTS These are mobile robots provided with the mechanisms to perform certain tasks such as locomotion, motion sensing, localization, and tasks. They are usually in the form of robot arms and are normally stationary. In most cases, they are bolted at the shoulder to a specific position in the assembly line, and the robot arm can move with great speed and
14
planning.
Autonomous
mobile
accuracy to perform repetitive tasks such as spot welding and painting. Manipulator robots are very much unlike the autonomous mobile robots whereby the intelligence provided to them does not make them adapt to the environment in which they are. In most cases, most manipulator robots are capable of handling many end-effectors in order to increase the versatility of their use. These various end-effectors can be used for several purposes such as welding, painting, screwing and assembling. Although
as blood or urine samples. In addition, some robots are used to transport materials around the hospital. Their main sensor for
localization is a camera looking at the ceiling. The camera detects the lamps on the ceiling as landmarks.
MILITARY Robots in the military are used for detecting enemy equipment, detection and defusing of bombs. In rescue operations, robots are also used for searching buildings for fugitives and deep-water search. Also, during military attacks, guided missiles are used to blast specific locations on the earth.
disadvantage, which is lack of mobility. A fixed manipulator robot has a limited range of motion that depends on where it is bolted down, in contrast to a mobile robot that is capable of moving about.
EDUCATION AND RESEARCH Some robots are designed for demonstration purposes, which are used for educating the public. For example, the Howard County
10. APPLICATIONS OF ROBOTICS Robotics is becoming almost very popular in todays world and is now applied in several spheres of the human life. Robotics is applied in the following areas of life.
Sheriff's department of Kokomo Indiana, in 1999 used a motor robot with a cop in it to attract a lot of attention to promote a seat belt program at a fair and they had the robot with the cop with his seat belt on. In space research and the Mars research, robots are usually sent out with the space shuttle for them to obtain samples and bring them back to earth. These robots are usually controlled from a control room in earth.
MEDICINE In the medical field, some robots are used for performing tasks, which are dangerous and unpleasant to humans. Some of these hazardous jobs are handling materials such
15
ENTERTAINMENT Some robots are used for entertainment purposes. These robots are designed like puppets and could make some funny moves which amuse people. Olden day robots were mainly like this. They were being used to entertain royalties.
motors as actuators. Since we will require knowing the exact position of the robot arm, the motors will be operated with feedback. The feedback sensor for the dc motor is connected to the gear box in such a fashion that it triggers when specific positions of the output shaft of the motor are reached, thereby allowing us to know the exact
INDUSTRY In the industry, robots are used to perform precise and heavy tasks which are very difficult for humans to perform.
position with relatively high accuracy. Since mechanics involves also the parts of the robot that are acted upon directly by the motors and the gears to achieve motion, the tensile strengths of those areas were designed to withstand the stresses generated due to friction and force of propulsion. ROBOT ARM Manipulator is a fancy name for a robot or mechanical arm, hence it will be used intermittently with robot arm. A manipulator is an assembly of segments and joints that can be conveniently divided into three sections: the arm, consisting of one or more segments and joints; the wrist, usually consisting of one to three segments and OF
Autonomous mobile robots could be used for carry heavy components from one place to another using custom sensor that help them get their precise positions. Manipulator robots are used to perform certain tasks such as painting, welding, screwing and other activities that would have been difficult to handle using the human hand. Also, manipulator robots are used in assembly lines where each robot takes care of a particular stage of the assembly process.
Design Procedure
1.MECHANICS ROBOTS Mechanics deals with the analysis of the forces that cause a body to be in physical motion. The motion of the robot arm will be achieved with the use of stepper and dc AND MOTION
joints; and a gripper or other means of attaching or grasping. Alternatively, the manipulator can be divided into only two sections, arm and gripper, but for clarity the wrist is separated out as its own section because it performs a unique function.
16
Industrial robots are stationary manipulators whose base is permanently attached to the floor, a table, or a stand. In most cases, however, industrial manipulators are too big and use a geometry that is not effective on a mobile robot, or lack enough sensors (indeed many have no environmental
distinguishable. In the human arm, the shoulder and elbow do the gross positioning and the wrist does the orienting. Each joint allows one degree of freedom of motion. The theoretical minimum number of degrees of freedom to reach to any location in the work envelope and orient the gripper in any orientation is six; three for location, and three for orientation. In other words, there must be at least three bending or extending motions to get position, and three twisting or rotating motions to get orientation. Actually, the six or more joints of the manipulator can be in any order, and the arm and wrist segments can be any length, but there are only a few combinations of joint order and segment length that work
sensors at all) to be considered for use on a mobile robot. There is a section covering them as a group because they demonstrate a wide variety of sometimes complex
manipulator geometries. We will review the robot arm based on the three general layouts of the arm section of a generic manipulator, and wrist and gripper designs. It should be pointed out that there are few truly autonomous manipulators in use except in research labs. The task of positioning, orienting, and doing something useful based solely on input from frequently inadequate sensors is extremely difficult. In most cases, the manipulator is teleoperated (remotely controlled technology). POSITIONING, ORIENTING AND DEGREES OF FREEDOM Generally, the arm and wrist of a basic manipulator perform two separate functions, positioning and orienting. There are layouts where the wrist or arm is not using radio transmission
effectively. They almost always end up being divided into arm and wrist. The three twisting motions that give orientation are commonly labeled pitch, roll, and yaw, for tilting up/down, twisting, and bending left/right respectively. Unfortunately, there is no easy labeling system for the arm itself since there are many ways to achieve gross positioning using extended segments and pivoted or twisted joints. A good example of a manipulator is the human arm, consisting of a shoulder, upper arm, elbow, and wrist. The shoulder allows
17
the upper arm to move up and down which is considered one degree of freedom (DOF). It allows forward and backward motion, which is the second DOF, but it also allows rotation, which is the third DOF. The elbow joint gives the forth DOF. The wrist pitches up and down, yaws left and right, and rolls, giving three DOFs in one joint. The wrist joint is actually not a very well designed joint. Theoretically the best wrist joint geometry is a ball joint, but even in the biological world, there is only one example of a true full motion ball joint (one that allows motion in two planes, and twists 360) because they are so difficult to power and control. The human hip joint is a limited motion ball joint. On a mobile robot, the chassis can often substitute for one or two of the degrees of freedom, usually fore/aft and sometimes to yaw the arm left/right, reducing the complexity of the manipulator significantly. Some special purpose
polar (or spherical). They are named for the shape of the volume that the manipulator can reach and orient the gripper into any position within the work envelope. They all have their uses, but as will become apparent, some are better for use on robots than others. Some use all sliding motions, some use only pivoting joints, some use both. Pivoting joints are usually more robust than sliding joints but, with careful design, sliding or extending can be used effectively for some types of tasks. Pivoting joints have the drawback of preventing the manipulator from reaching every cubic centimeter in the work envelope because the elbow cannot fold back completely on itself. This creates dead spacesplaces where the arm cannot reach that are inside the gross work volume. On a robot, it is frequently required for the manipulator to fold very compactly. Cartesian or rectangular work envelope On a mobile robot, the manipulator almost always works beyond the edge of the chassis and must be able to reach from ground level to above the height of the robots body. This means the manipulator arm works from inside or from one side of the work
manipulators do not need the ability to orient the gripper in all three axes, further reducing the DOF. At the other extreme, there are arms in the conceptual stage that have more than fifteen DOF. ARM GEOMETRIES The three general layouts for three-DOF arms are called Cartesian, cylindrical, and
envelope.
Some
industrial
gantry
18
envelope, and it would be difficult indeed to use their layouts on a mobile robot. In fact, that is how it is controlled and how the working end moves around in the work envelope. There are two basic layouts based on how the arm segments are supported, gantry and cantilevered. Mounted on the front of a robot, the first two DOF of a cantilevered Cartesian manipulator can
On a robot, the angle of the base can simply be the angle of the chassis of the robot itself, leaving the height and extension of the second segment. A second geometry that still has a cylindrical work envelope is the SCARA design. SCARA means Selective Compliant Assembly Robot Arm. This design has good stiffness in the vertical direction, but some compliance in the horizontal. This makes it easier to get close to the right location and let the small compliance take up any misalignment. A SCARA manipulator replaces the second telescoping joint with two vertical axispivoting joints. Polar or spherical work envelope The third, and most versatile, geometry is the spherical type. It is the type used in our project. In this layout, the work envelope can be thought of as being all around. In practice, though, it is difficult to reach everywhere. There are several ways to layout an arm with this work envelope. The most basic has a rotating base that carries an arm segment that can pitch up and down, and extend in and out. Raising the shoulder up changes the envelope somewhat and is worth considering in some cases.
move left/right and up/down; the Y-axis is not necessarily needed on a mobile robot because the robot can move back/forward. Cylindrical work envelope This is the second type of robot arm work envelope. Cylindrical types usually
incorporate a rotating base with the first segment able to telescope or slide up and down, carrying a horizontally telescoping segment. While they are very simple to picture and the work envelope is intuitive, they are hard to implement effectively because they require two linear motion segments, both of which have moment loads in them caused by the load at the end of the upper arm. In the basic layout, the control code is fairly simple, i.e., the angle of the base, height of the first segment, and extension of the second segment.
19
The wrist work envelope The arm of the manipulator only gets the end point in the right place. In order to orient the gripper to the correct angle, in all three axes, second set of joints is usually required - the wrist. The joints in a wrist must twist up/down, clockwise/counterclockwise, and left/right. They must pitch, roll, and yaw respectively. This can be done all-in-one using a ball-in-socket joint like a human hip, but controlling and powering this type is difficult. Most wrists consist of three separate joints. The order of the degrees of freedom in a wrist has a large effect on the wrists functionality and should be chosen carefully, especially for wrists with only one or two DOF. Grippers work envelope The end of the manipulator is the part the user or robot uses to affect something in the environment. For this reason it is commonly called an end-effector, but it is also called a gripper since that is a very common task for it to perform when mounted on a robot. It is often used to pick up dangerous or suspicious items for the robot to carry, some can turn doorknobs, and others are designed to carry only very specific things like beer cans. Closing too tightly on an object and crushing it is a major problem with
autonomous grippers. There must be some way to tell how hard is enough to hold the object without dropping it or crushing it. Even for semi-autonomous robots where a human controls the manipulator, using the gripper effectively is often difficult. For these reasons, gripper design requires as much knowledge as possible of the range of items the gripper will be expected to handle. Their mass, size, shape, and strength, etc. all must be taken into account. Some objects require grippers that have many jaws, but in most cases, grippers have only two. There are several basic types of gripper
geometries. The most basic type has two simple jaws geared together so that turning the base of one turns the other. This pulls the two jaws together. The jaws can be moved through a linear actuator or can be directly mounted on a motor gearboxs output shaft, or driven through a right angle drive which places the drive motor further out of the way of the gripper. This and similar designs have the drawback that the jaws are always at an angle to each other which tends to push the thing being grabbed out of the jaws. 2. MOTORS AND MOTION CONTROL The two types of motors that we employed in the control of the robot arm include stepper and dc motors. The motion control
20
was achieved using both the open loop and closed loop method of motion control. Below is a brief look at the two types of motors. STEPPER MOTOR A stepper motor is a transducer that converts electrical pulses into mechanical shaft rotation. The number of pulses input to the motor determines the amount of motor shaft movement. Each pulse moves the motor a given amount (step). A stepper motor consists of a rotor (a rotating permanent magnet) and a stator (stationary
Stepper Motor Drive Methods Three common methods of driving a stepper motor are wave drive, step drive and half step drive. Wave drive - Here only one power switch (or phase) is active during each step of the motor. Since only one phase is on, the torque will be reduced. The advantage of wave drive is increased efficiency, while the disadvantage is decreased step accuracy. Step drive - Step drive occurs when two power switches are activated for each step moved. Torque is higher with step drive than with wave drive. Half-step drive - Half-step drive occurs when both wave drive and step drive are employed alternately to activate the coils. When only one coil is activated, a weak step is produced; when two coils are
electromagnet coils). The rotor is made of ferromagnetic material, which has been magnetized into a series of alternating north and south poles. In a typical stepper motor, electric power is applied to the stator in order to alternate its magnetic polarity. Interaction between the rotor and the stator causes the rotor to move one step per stator coil winding polarity change.
Rotor C
Stator1
N S
+Vdc
electrical energy (d.c.) into mechanical shaft rotation. Its action is based on the principle
Stator2 2 +Vdc
21
mechanical force whose direction is given ction by Flemings Left-hand rule and whose hand magnitude is given by F = BIL Newton where B = I = L = magnetic flux density current length of the
conductor in the magnetic field. MOTION CONTROL CONTROL OF STEPPER MOTORS Controlling stepper motors using a For example, suppose the rotor is at position D and is intended to be rotated clockwise a single step using the step mode, the microcontroller is instructed to send the bit pattern, 1001 to its outputs. This would eventually make coil D to be at 0V, coil C 12V, coil B 12V, coil A 0V. As a result, coil D and A are energized and the rotor moves to a point in between them as shown in fig nt 2.2 above. Similarly, in the wave drive mode, to energize A, the bit pattern 0001 is sent to the outputs of the microcontroller causing the rotor to move to point A. CONTROL OF DC MOTORS Controlling the d.c. motor is done using the principle of the H-bridge. The H-bridge is bridge. H shown in the Assuming switches A and D are closed, current flows through the motor
22
microcontroller simply involves instructing the microcontroller to send the appropriate bit pattern to the stepper motor in the correct order. From the diagram, the supply voltage to the stepper motor is 12V. Therefore, in order to magnetize any coil, 0V should be agnetize sent to the coil for current to flow through it. Since the output of the microcontroller is digital (0V or 5V) and the supply voltage of the stepper motor is 12V, npn transistors are used to amplify the outputs of the
microcontroller. To rotate the motor, the ontroller. pattern sent from the microcontroller
determines which coils are energized and the direction in which the rotor rotates.
in one direction and the motor rotates in a clockwise direction. If switches B and C are closed, current flows in the opposite direction and the d.c. motor rotates in a counter-clockwise direction. If A and B OR C and D are closed, the motors terminals are at the same potential and no current flows, hence the motor brakes.
A
5V
12V
12V
Q4
Q8
Q2
Q6
d.c. Motor
+88.8
5V
Q1
Q5
12V
12V
Q3 Q7
A
d.c. Motor
TRANSISTOR H-BRIDGE
+88.8
H-Bridge Transistor Network The first is when A is LOW and B is HIGH. On the LHS, Q1 is turned on
THE H-BRIDGE
eventually making Q3 to on and conduct. Q2 is turned off, eventually turning off Q4. On the RHS, Q5 is turned off, thereby turning Q7 off also. Q6 is turned on causing Q8 to conduct current. As a result, current flows through Q8, to the d.c. motor and finally to ground through Q3, causing the motor to rotate counter-clockwise. The second is when A is HIGH and B is LOW. On the LHS, Q1 and Q3 are off while Q2 and Q4 are on. On the RHS, Q5 and Q7 are on while Q6 and Q8 are off. Current flows through the d.c. motor from Q4 to Q7, causing the motor to rotate clockwise.
23
The H-Bridge The H-bridge is represented by the transistor network. Terminals A and B are connected to the digital outputs of the microcontroller. The LHS network is a mirror image of the RHS network. This makes bi-directional control possible. Controlling the motor can be analyzed considering four scenarios:
The third is when A is LOW and B is LOW. On the LHS, Q1 and Q3 are on while Q2 and Q4 are off. On the RHS, Q5 and Q7 are on while Q6 and Q8 are off. The motor terminals are then at 0V and the motor brakes. The fourth is when A is HIGH and B is HIGH. On the LHS, Q1 and Q3 are off while Q2 and Q4 are on. On the RHS, Q5 and Q7 are off while Q6 and Q8 are on. The motor terminals are then at 12V and the motor brakes. 3.DESIGN SELECTION OF THE
Low energy losses and friction for better responsiveness of the control system.
Elimination of backlash
Hence, the combination of these factors has greatly influenced all the choices made in the design selection of the robotic arm. MATERIAL SELECTION In manipulator structures, stiffness-to-
weight ratio of a link is very important since inertia forces induce the largest deflections. Therefore, an increase in the Elastic
ROBOTIC ARM In choosing the materials and the shape for the fabrication of the robotic arm, the following were taken into consideration: The ease of manufacturing the parts The mode of manufacturing Ease of assembly Strength and durability of the parts Weight of robot Cost requirements for power
increase in specific density, . The Elastic modulus is an indication of the materials resistance to breakage when subjected to force. The best properties are demonstrated by ceramics and beryllium but ceramics have a problem of brittleness and beryllium is very expensive. Structural materials such as magnesium (Mg), aluminum (Al), and titanium (Ti) which are light have about the same E/ ratios as steel and are used when high strength and low weight are more important than E/ ratios. Factors like
The principal
transmission of robots are: Small size Low weight and moment of inertia High effective stiffness Accurate and constant transmission ratio
ageing, creep in under constant loads, high thermal expansion coefficient, difficulty in joining with metal parts, high cost and the
24
commercially
highest external load per given size of motors and actuators. For a given weight, links have to possess the highest possible bending (and torsional) stiffness. The
available make the use of fibre-reinforced materials limited though they have good stiffness-to-weight ratios. However, with advances in research, some of the mentioned setbacks have been significantly reduced. Hence, the use of fibre-reinforced materials (known as composites) is becoming more attractive. Aluminum lithium alloy have better processing properties and is not very expensive. Alloyed materials such as Nitinol (nickel titanium aluminum), aluminum incramute (copper - manganese
parameter to be modified to comply with these constraints is the shape of the crosssection. The choice is between hollow round and hollow rectangular cross-section. From design standpoint of view, the links of square or rectangular cross-section have advantage of strength and machinability ease over round sections. Despite the recommendations mentioned above as regards choice of materials, our options were narrowed down to a choice between steel, GRP, and aluminium based on feasibility studies carried out.Current
aluminum) are also commercially available. Therefore the materials recommended for use in this project are Al-Li alloys Nitinol (nickel-titanium-aluminum) Incramute aluminum) Glass-reinforced Plastic (GRP) (copper-manganese-
trend in robotics (especially industrial robotics) shows a quest to achieve lighter designs with reasonable strength. This design goal has always meant a trade-off in terms of cost. Composite materials are generally more expensive than most metals
The links have an internal hollow area, which provides conduits for power
transmitting components i.e. gears in this case, and the stepper motors. At the same time, their external dimensions are limited in order to reduce waste of the usable workspace. They are as light as possible to reduce inertia forces and allow for the
overcoming the setback mentioned above. One option would have been to redesign the gear trains and increase torque
amplification, so that the motors can support the load. The torque amplification here would have been limited by the real estate
25
on the arm for the gear train and the maximum speed we would be able to give to the motors, as output speed would reduce with increase in torque. We discarded this idea based on long-term considerations. This would mean that much of the energy expended by the robot would go to lifting its own weight thereby reducing the effective load it can lift. Another option would have been to replace the motors with others having higher torque ratings. This, for us, would almost be as expensive as refabricating the arm with a lighter material, and the problem of effective load, as mentioned previously, would still be there. A third option was to re-fabricate the arm, or at least part of it, with a lighter material of reasonable strength, and that was the option we went for. It certainly involved increased short-term costs but then we foresaw a pay off in the long term. We would no longer be constrained to jeopardize the speed or maximum effective load of the robot while trying to increase torque; instead, any torque amplification would directly translate to increased effective load the robot can lift. After more research and consultations with our supervisor and some lecturers in the Mechanical Engineering department, who are experts in the field, we settled for
aluminium mainly on grounds of cost and workability. THE GEAR SYSTEM In this work, we have chosen the bevel, spur and spiral types of gears. These were readily available from Spiral scrap gears machines have the
(photocopiers).
necessary data for the selection and choice of the gear arrangements at each joint are: i. ii. iii. iv. v. Power transmitted, P = TW Transmitted speed, ( rad/s) Torque developed , T ( Nm) Lewis form factor, Y Bending stress, ,( ultimate tensile strength) vi. Ultimate tensile strength,
ut
vii. viii. ix. Factor of safety, n Module of gear, m Number of teeth, N
The equations below show the relationship between these parameters. They led to the selection of the gears. i. Gear diameter, d = mN
26
ii.
Pitch
V =
line
60
velocity,
transmitter/receiver
IC
(ST12
d
p V
CODEC).ST12 CODEC is a radio frequency and infrared encoder/decoder IC for remote control applications having unique features and flexibility not available with other remote control encoder decoder ICs. ST12 is truly a single-chip remote control solution. The ST12 combines the functionality of both encoder and decoder in a single package with several unique features for enhanced
iii. iv. v.
Face width, F =
Wt K V MY P
operation and a reduced component count for transmitter and receiver circuits.
However, we could not lay our hands on this IC because it was not readily available. We needed to import it. This led to more research on alternatives that would
microcontroller at the base of the robot directly controls the robot movements. However, the user interacts with the robot through a graphic user interface on a PC, hence the need for some form of
communication between the PC and the microcontroller. communication flexibility, We mode and chose for we a wireless of
microcontroller solution for encoding the intelligence signal at the PC end and decoding it at the base of the robot for appropriate arm control.
reasons
established
communication between the PCs parallel port and the microcontroller via infrared. Infrared has a long successful history in remote control applications so we were faced more with the problem of choice of type of infrared communication system. After some research, we decided to use a one-chip solution in the form of an infrared
27
Modulated IR receiver signal Carrier frequency generator PC parallel port Microcontroller (encoder) IR transmitter Microcontroller at base of robot
When the user selects a particular action from the graphic user interface (GUI) on the PC, the command controller generates an 8bit command code corresponding to the desired action and sends it to the parallel port. The microcontroller at the base of the PC reads this command code and uses it to modulate the carrier signal coming from the carrier generator. A 555 timer IC configured in astable mode was used to generate a carrier signal of 38kHz, since the IR receiver is sensitive to signals at this frequency. The IR receiver is a TSOP infrared receiver IC. It sees a 38kHz square wave of an infrared signal as a logic 1, inverts it and places a logic 0 on its output pin. When there is no incident IR signal, it sees it as logic 0, inverts it and places logic 1 on its output pin. Hence, any binary sequence can
sequence.
microcontroller does this by pulsing the reset pin of the 555 timer IC at intervals depending on whether the bit to be sent is a logic 1 or a logic 0. The serial transmitter pin of the microcontroller is most suitable for this task. When the TSOP IR receiver demodulates the IR signal to binary bits, the
microcontroller at the base of the robot receives these bits and decodes them as the exact 8-bit word sent from the parallel port, which is the command code. The
microcontroller interprets this command code and sends the signals to drive the robot motors appropriately. The baud rate of the microcontroller at the PC base (transmitter) and the microcontroller at the robot base (receiver) are preset, by software, to a common value for correct reception of transmitted bits. The range of the IR
28
transmitter can be increased by increasing the current at the transmitter. Also, using more than one transmitter will increase the range. The transmitter is simply an infrared light emitting diode (LED) and we were able to achieve a range of about 6 metres line of sight. 4.ELECTRONIC HARDWARE SELECTION This subsection deals with the materials that we have selected for the control system of the robotic arm. The arm is controlled by a microcontroller driving the actuators (dc and stepper motors) via latches and transistors. The microcontroller receives commands from the parallel port via infrared. Latches were used for demultiplexing, as only two 8bit microcontroller ports were used to drive six motors. For the transistors, we used a combination of npn/pnp power and
THE PARALLEL PORT In computers, ports are used mainly for two reasons, namely, device Parallel control ports and were
communication.
originally meant for connecting the printer to the PC. However, one can program this port for many more applications beyond that, such as the control of a robotic arm, as we have done in this project. Parallel ports are easy to program and faster compared to the serial ports. Its disadvantage is that it needs more number of transmission lines but this is only significant for long distance communications. Hence, it proved
advantageous for our use. In the parallel port, all the 8 bits of a byte will be sent to the port at a time and a control indication will be sent on another line. This port will allow the input of up to 9 bits or the output of 12 bits at any one given time, thus requiring minimal external
switching transistors. The factors considered in choosing these were current (ampere) rating, voltage rating and switching speed. Switching speed of the transistors was a crucial factor as it determined how fast we could drive the stepper motors, hence, the speed of the robot arm movements. Suitable IC packages with multiple transistors were used to achieve a more compact control circuit.
circuitry to implement many simpler tasks. The port is composed of 4 control lines, 5 status lines and 8 data lines. It is commonly located at the back of your PC as a D-Type 25 Pin female connector.
29
IEEE Standard Parallel Ports The IEEE 1284 standard however specifies three different connectors for use with the Parallel Port. The IEEE 1284 Type A is the DType 25 connector found on the back of most computers. The IEEE 1284 Type B is the 36 pin Centronics connector found on most printers. The IEEE 1284 Type C however, is a 36 conductor connector like the Centronics, but smaller. For this project, we made use of the IEEE 1284 Type A since it is adequate for the required function. For example, the n Error signal is used to signify an error. This line is low when an error has occurred. Should the printer be functioning correctly, the line is held High. The "Hardware Inverted" means the signal is inverted by the Parallel card's hardware. Such an example is the Busy line. If +5V (Logic 1) was applied to this pin and the status register read, it would return back a 0 in Bit 7 of the Status Register. The output of the Parallel Port is normally TTL logic levels. The voltage levels are the easy part. The current you can sink and source varies from port to port. Most
Parallel Ports implemented in ASIC, can sink and source around 12mA. However these are just some of the figures taken from Data sheets, Sink/Source 6mA, Source 12mA/Sink 20mA, Sink 16mA/Source
4mA, Sink/Source 12mA. As you can see they vary quite a bit. The best bet is to use a buffer, as we are, so the least current is drawn from the Parallel Port. The Parallel Port has three commonly used base addresses. The 3BCh base address was originally introduced used for Parallel Ports on early Video Cards. This address then disappeared for a while, when Parallel Ports were later removed from Video Cards. They have now reappeared as an option for Parallel Ports integrated onto motherboards, upon which their configuration can be changed using BIOS. However, this may not always be the case as explained later. 378h & 278h have always been commonly used for Parallel Ports. The lower case h denotes that it is in
30
D D-Type 25 Pin Parallel Port Connector Pin Assignments of the D Type 25 Pin Parallel Port Connector D-Type Pin No. (D-Type 25) 1 2 3 4 5 6 7 8 9 10 11 12 Pin No. (Centronics) 1 2 3 4 5 6 7 8 9 10 11 12 Paper-End nStrobe Data 0 Data 1 Data 2 Data 3 Data 4 Data 5 Data 6 Data 7 nAck Busy Paper-Out/ In Status SPP Signal Direction (In/Out) Register Hardware Inverted
Control Data Data Data Data Data Data Data Data Status Status
Yes
Yes
31
13 14 15 16
13 14 32 31
In In/Out In In/Out
17
36
In/Out
Control
Yes
18 - 25
19 - 30
Ground
Gnd
Port Addresses Usually Assigned to the Parallel Port Address 3BCh - 3BFh Notes Used for Parallel Ports which were incorporated on to Video Cards - Doesn't support ECP addresses378h 37Fh Usual Address For LPT 1 Usual Address For LPT 2
However, to find the address of LPT1 or any of the Line Printer Devices, you can use a lookup table provided by BIOS. When BIOS assigns addresses to your printer devices, it stores the address at specific locations in memory, so we can find them.
32
LPT Addresses in the Bios Data Area Start Address 0000:0408 0000:040A 0000:040C 0000:040E Function LPT1's Base Address LPT2's Base Address LPT3's Base Address LPT4's Base Address
The address at which we can find the Printer Port's addresses in the BIOS Data Area. Each address will take up 2 bytes. The parallel port is programmed to control the required circuit or device.
Microcontrollers are embedded in many control, monitoring, and processing systems. Some are general-purpose devices but most microcontrollers are used in specialized systems such as washing machines,
telephones, microwave ovens, automobiles, and weapons of many kinds. They are ideal for applications where cost and unit size are
DESIGN DETAILS
THE MICROCONTROLLER A microcontroller is a in type a of
important considerations. A microcontroller usually includes a central processor, input and output ports, memory for program and data storage, an internal clock, and one or more peripheral devices such as timers, counters, analog-to-digital converters, serial communication facilities, and watchdog circuits. More than two dozen companies in the world manufacture and market
microprocessor
furnished
single
integrated circuit and needing a minimum of support chips. Its principal nature is selfsufficiency and low cost. It is not intended to be used as a computing device in the conventional sense; that is, a microcontroller is not designed to be a data processing machine, but rather an intelligent core for a specialized dedicated system.
microcontrollers.
33
the
Atmel
89S52
is
powerful
microcontroller, which provides a highly flexible and cost-effective solution to many embedded control applications.
application. They include: Speed, size of ROM/RAM, number of I/O ports, timers, power
consumption and cost per unit. Availability of software development tools like assemblers, debuggers, compilers, simulators and technical support. Availability and reliable sources of microcontrollers. Based on the above factors, we chose the AT89S52 microcontroller for our project. The AT89S52 is a low power, highperformance CMOS 8-bit microcontroller with 8K bytes of in-system programmable flash memory. The device is manufactured using Atmels high-density nonvolatile
The AT89S52 also provides the following standard features: 256 bytes of RAM, 32 I/O lines, Watchdog timer, two data pointers, three 16-bit timer/counters, a six-vector twolevel interrupt architecture, a full duplex serial port, on-chip oscillator, and clock circuitry. In addition, the AT89S52 is designed with static logic for operation down to zero frequency and supports two software selectable power saving modes. The Idle Mode stops the CPU while allowing the RAM, timer/counters, serial port, and interrupt system to continue functioning. The Power-down mode saves the RAM contents but freezes the oscillator, disabling all other chip functions until the next interrupt or hardware reset.
memory technology and is compatible with the industry-standard 80C51 instruction set and pin out. The on-chip flash allows the program memory to be reprogrammed insystem or by a conventional nonvolatile memory programmer. By combining a versatile 8-bit CPU with in-system
Features
Compatible with MCS-51 Products 8K Bytes of In-System Programmable (ISP) Flash Memory Endurance: 1000 Write/Erase Cycles 4.0V to 5.5V Operating Range Fully Static Operation: 0 Hz to 33 MHz 34
Pick and Drop Design Robot Using DTMF Three-level Program Memory Lock 256 x 8-bit Internal RAM 32 Programmable I/O Lines Three 16-bit Timer/Counters
P1.2
Full Duplex UART Serial Channel Low-power Idle and Power-down Modes Interrupt Recovery from Power-down Mode Watchdog Timer Dual Data Pointer Power-off Flag
P1.4
3 38
P0.2
P0.3
P1.5
4 37
P0.4
P1.6 5 P1.7 36
P0.5
P0.6
RST
6 35
P0.7
Pin Description
VCC Supply voltage. GND Ground. Port 0 Port 0 is an 8-bit open drain bidirectional I/O port. As an output port, each pin can sink eight TTL inputs. When 1s are written to port 0 pins, the pins can be used as highimpedance inputs. Port 0 can also be configured to be the multiplexed loworder address/data bus during accesses to external program and data memory. In this mode, P0 has internal pullups. Port 0 also receives the code bytes during Flash programming and outputs the code bytes during program
(RXD) 3.0
EA/VPP
(TXD) 3.1
ALE/PROG
PIN CONFIGURATION
Port 1 Port 1 is an 8-bit bidirectional I/O port with internal pullups. The Port 1 output buffers can sink/source four TTL inputs.When 1s are written to Port 1 pins, they are pulled high by the internal pullups and can be used as inputs. As inputs, Port 1 pins that are externally being pulled low will source current (IIL) because of the internal pullups. In addition, P1.0 and P1.1 can be configured to be the timer/counter 2 external count input (P1.0/T2) and the timer/counter 2 trigger input (P1.1/T2EX), respectively.
35
Port 2 Port 2 is an 8-bit bidirectional I/O port with internal pullups. The Port 2 output buffers can sink/source four TTL inputs. When 1s are written to Port 2 pins, they are pulled high by the internal pullups and can be used as inputs. As inputs, Port 2 pins that are externally being pulled low will source current (IIL) because of the internal pullups. Port 2 emits the high-order address byte during fetches from external program
that use 8-bit addresses (MOVX @ RI), Port 2 emits the contents of the P2 Special Function Register. Port 2 also receives the high-order address bits and some control signals during Flash programming and verification.
Port 3 Port 3 is an 8-bit bidirectional I/O port with internal pullups. The Port 3 output buffers can sink/source four TTL inputs. When 1s are written to Port 3 pins, they are pulled high by the internal pullups and can be used as inputs. As inputs, Port 3 pins that are externally being pulled low will source current (IIL) because of the pullups. Port 3 also serves the functions of various special features of the AT89S52, as shown in the
36
memory and during accesses to external data memory that use 16-bit addresses (MOVX @ DPTR). In this application, Port 2 uses strong internal pull-ups when emitting 1s. During accesses to external data memory
following table. Port 3 also receives some control signals for Flash programming and
verification.
RST Reset input. A high on this pin for two machine cycles while the oscillator is running resets the device. This pin drives High for 96 oscillator periods after the Watchdog times out.DISRTO bit in SFR AUXR (address 8EH) can be used to disable this feature. In the default state of bit DISRTO, the RESET HIGH out feature is enabled.
pin is also the program pulse input (PROG) during Flash programming. In normal operation, ALE is emitted at a constant rate of 1/6 the oscillator frequency and may be used for external timing or clocking purposes. Note, however, that one ALE pulse is skipped during each access to external data memory. If desired, ALE operation can be disabled by setting bit 0 of location 8EH. With the bit set, ALE is active only during a MOVX or MOVC instruction.
ALE/PROG Address Latch Enable (ALE) is an output pulse for latching the low byte of the address during accesses to external memory. This
Otherwise, the pin is weakly pulled high. Setting the ALE-disable bit has no effect if the microcontroller is in external execution mode.
37
Function Registers. This means that the PSEN Program Store Enable (PSEN) is the read strobe to external program memory. When the AT89S52 is executing code from external program memory, PSEN is upper 128 bytes have the same addresses as the SFR space but are physically separate from SFR space. When an instruction accesses an internal location above address 7FH, the address mode used in the instruction specifies whether the CPU accesses the upper 128 bytes of RAM or the SFR space. Instructions which use direct addressing access of the SFR space. Memory Organization MCS-51 devices have a separate address space for Program and Data Memory. Up to 64K bytes each of external Program and Data Memory can be addressed. MOV 0A0H, #data For example, the following direct addressing instruction accesses the SFR at location 0A0H (which is P2).
activated twice each machine cycle, except that two PSEN activations are skipped during each access to external data memory.
Program Memory If the EA pin is connected to GND, all program fetches are directed to external memory. On the AT89S52, if EA is connected to VCC, program fetches to addresses 0000H through 1FFFH are
Instructions that use indirect addressing access the upper 128 bytes of RAM. For example, the following indirect addressing instruction, where R0 contains 0A0H, accesses the data byte at address 0A0H, rather than P2 (whose address is 0A0H).
directed to internal memory and fetches to addresses 2000H through FFFFH are to external memory. Note that stack operations are examples of Data Memory The AT89S52 implements 256 bytes of onchip RAM. The upper 128 bytes occupy a parallel address space to the Special indirect addressing, so the upper 128 bytes of data RAM are available as stack space. MOV @R0, #data
38
XTAL1:Input to the inverting oscillator amplifier and input to the internal clock operating circuit. XTAL2:Output from the inverting oscillator amplifier.
39
Watchdog Timer (One-time Enabled with Reset-out) The WDT is intended as a recovery method in situations where the CPU may be subjected to software upsets. The WDT consists of a 13-bit counter and the Watchdog Timer Reset (WDTRST) SFR. The WDT is defaulted to disable from exiting reset. To enable the WDT, a user must write 01EH and 0E1H in sequence to the WDTRST register (SFR location 0A6H). When the WDT is enabled, it will increment every machine cycle while the oscillator is running. The WDT timeout period is dependent on the external frequency. There is no way to disable the WDT except through reset (either hardware reset or WDT overflow reset). When WDT overflows, it will drive an output RESET HIGH pulse at the RST pin.
WDT is enabled, it will increment every machine cycle while the oscillator is running. This means the user must reset the WDT at least every 8191 machine cycles. To reset the WDT the user must write 01EH and 0E1H to WDTRST. WDTRST is a write-only register. The WDT counter cannot be read or written. When WDT overflows, it will generate an output RESET pulse at the RST pin. The RESET pulse duration is 96xTOSC, where
TOSC=1/FOSC. To make the best use of the WDT, it should be serviced in those sections of code that will periodically be executed within the time required to prevent a WDT reset.
In Power-down mode the oscillator stops, which means the WDT also stops. While in
Using the WDT To enable the WDT, a user must write 01EH and 0E1H in sequence to the WDTRST register (SFR location 0A6H). When the WDT is enabled, the user needs to service it by writing 01EH and 0E1H to WDTRST to avoid a WDT overflow. The 13-bit counter overflows when it reaches 8191 (1FFFH), and this will reset the device. When the
Power-down mode, the user does not need to service the WDT. There are two methods of exiting Power-down mode: by a hardware reset or via a level-activated external interrupt which is enabled prior to entering Power-down mode. When Power-down is exited with hardware reset, servicing the WDT should occur as it normally does whenever the AT89S52 is reset. Exiting
40
Power-down
with
an
interrupt
is
Timer 0 and 1
significantly different. The interrupt is held low long enough for the oscillator to stabilize. When the interrupt is brought high, the interrupt is serviced. To prevent the WDT from resetting the device while the interrupt pin is held low, the WDT is not started until the interrupt is pulled high. It is suggested that the WDT be reset during the interrupt service for the interrupt used to exit Power-down mode. To ensure that the WDT does not overflow within a few states of exiting Power-down, it is best to reset the WDT just before entering Power-down mode. Before going into the IDLE mode, the WDIDLE bit in SFR AUXR is used to determine whether the WDT continues to count if enabled. The WDT keeps counting during IDLE Timer 2 Timer 2 is a 16-bit Timer/Counter that can operate as either a timer or an event counter. The type of operation is selected by bit C/T2 in the SFR T2CON. Timer 2 has three operating modes: capture, auto-reload (up or down counting), and baud rate generator. The modes are selected by bits in T2CON, as shown in Table 3. Timer 2 consists of two 8-bit registers, TH2 and TL2. In the Timer function, the TL2 register is incremented every machine cycle. Since a machine cycle consists of 12 oscillator periods, the count rate is 1/12 of the oscillator frequency. Timer 0 and Timer 1 in the AT89S52 operate the same way as Timer 0 and Timer 1 in the AT89C51 and AT89C52.
(WDIDLE bit = 0) as the default state. To prevent the WDT from resetting the AT89S52 while in IDLE mode, the user should always set up a timer that will periodically exit IDLE, service the WDT, and reenter IDLE mode. With WDIDLE bit enabled, the WDT will stop to count in IDLE mode and resumes the count upon exit from IDLE.
41
MOTORS A combination of stepper and dc motors were used in this project. Stepper motors, generally, are easier to drive and more precise than dc motors, while dc motors can generally achieve higher output torques.The electrical compatibility between the motor and the driver are the most critical factors in a stepper motor system design such as ours. Some general guidelines in the selection of these components are: Inductance - Stepper motors are rated with varying degrees of
provide more torque. Trade-offs between speed, torque and resolution are a main consideration in designing a step motor system. Motor Heat - Step motors are designed to run hot (50-90 C). However, too much current may cause excessive heating and damage to the motor insulation and windings. The risk of overheating can be reduced by providing run/hold a
current
inductance. A high inductance motor will provide a greater amount of torque at low speeds and similarly the reverse is true. Driver Voltage - The higher the output voltage from the driver, the higher the level of torque vs. speed. Generally, the driver output voltage should be rated higher than the motor voltage rating. Motor Stiffness By design,
The motors operate at higher voltage and current levels than either the
microcontroller or the latches that drive them hence the need for intermediate driver circuitry. These drivers are
usually power transistors, which can insulate the logic circuit from the effect of the motor current. We selected drivers based on the ratings of the motors, and for circuit space efficiency, we chose transistor IC
stepping motors tend to run stiff. Reducing the current flow to the motor by a small percentage will smooth the rotation. Likewise,
packages housing several transistors instead of discrete transistors. Separate drivers were used for the stepper and dc motors as they have different control mechanisms and power ratings.
increasing the motor current will increase the stiffness but will also
42
Pick and Drop Design Robot Using DTMF Block Diagram of DC Motor Driver:
Specifications: 600mA OUTPUT CURRENT CAPABILITY PER CHANNEL 1.2A PEAK OUTPUT CURRENT (non repetitive) PER CHANNEL ENABLE FACILITY OVER TEMPERATURE PROTECTION LOGICAL 0 INPUT VOLTAGE UP TO 1.5 V HIGH NOISE IMMUNITY INTERNAL CLAMP DIODES
43
Switching Times
44
45
STEPPER MOTOR DRIVER The stepper motor driver receives lowlevel signals from the microcontroller and converts them into electrical (step) pulses to run the motor. One step pulse is required for every step of the motor shaft. Speed and torque performance of the stepper motor is based on the flow of current from the driver to the rotor winding. The factor that inhibits the flow, or limits the time it takes the current to energize the winding, is known as inductance. The lower the inductance, the faster the current gets to the winding and the better the
plastic DIP with copper leads and features the convenient input oppositeoutput pinout to simplify board layout. Power Supply: This circuit provides an uninterrupted power supply (UPS) to operate 12V, 9V and 5V DC powered instruments at up to 1A current. The backup battery takes up the load without spikes or delay when the mains power gets interrupted. It can also be used as a workbench power supply that provides 12V, 9V and 5V operating voltages. The circuit immediately disconnects the load when the battery voltage reduces to 10.5V to prevent deep discharge of the battery. LED1 indication is provided to show the full charge voltage level of the battery. miniature white LEDs (LED2 and LED3) are used as emergency lamps during power failure at night. A standard step-down transformer provides 12V of AC, which is rectified by diodes D1 and D2. Capacitor C1 provides ripple-free DC to charge the battery and to the remaining circuit. When the mains power is on, diode D3 gets forward biased to charge the battery. Resistor R1 limits the charging current. Potentiometer VR1 (10k) with transistor T1 acts as the voltage comparator to indicate the voltage level. VR1 is so adjusted that LED1 is in the off
performance of the motor. To reduce inductance, most types of driver circuits are designed to supply a greater amount of voltage than the motors rated voltage. The driver IC used is the ULN2803A Darlington Array. It contains eight darlington transistors with common
emitters and integral suppression diodes for inductive loads. Each darlington features a peak load current rating of 600mA (500mA continuous) and can withstand at least 50V in the off state. Outputs may be paralleled for higher current capability. The ULN2803A has a 2.7k input resistor for 5V TTL and CMOS and it is supplied in an 18-lead
46
mode. When the battery is fully charged, LED1 glows indicating a full voltage level of 12 volt.D iode D3 gets reverse biased and D4 gets forward biased so that the battery can automatically take up the load without any delay. When the battery voltage or input voltage falls below 10.5V, a cut- circuit is -off used to prevent deep discharging of the battery. Resistor R3, zener diode ZD1 (10.5V) and transistor T2 form the cut cut-off circuit. When the voltage level is above 10.5V, transistor T2 conducts and its base becomes negative (as set by R3, VR2 and ZD1). But when the voltage reduces below 10.5V, the zener diode stops conduction and the base voltage of transistor T2 becomes positive. It goes into the cut-off mode and prevents the current off in the output stage. Preset VR2 (22k) adjusts the voltage below 0.6V to make T2 work if
the voltage is above 10.5V. When power from the mains is available, all output voltages12V, 9V and 5Vare ready to 12V, 5V run the load. On the other hand, when the mains power is down, output voltages can run the load only when the battery is fully charged (as indicated by LED1). For the partially charged battery, only 9V and 5V are available. Also, no output is available av when the voltage goes below 10.5V. If battery voltage varies between 10.5V and 13V, output at terminal A may also vary between 10.5V and 12V, when the UPS system is in battery mode. Outputs at points B and C provide 9V and 5V, respectively, through regulator ICs (IC1 and IC2), while output A provides 12V through the zener diode. The emergency lamp uses two ultraultra bright white LEDs (LED2 and LED3) with current limiting resistors R5 and R6. The
47
lamp can be manually switched on and off by S1.The circuit is assembled on a general- purpose PCB.
results of this integration are end-users possessing less and less technical knowledge of the technology. For example, consider the application of mobile robots in the health
DTMF DECODER Multi-frequency signaling is a group of signaling methods that use a mixture of two pure tone (pure sine wave) sounds. Various MF signaling protocols were devised by the Bell System and CCITT. The earliest of these were for in-band signaling between switching centers, where long-distance
care industry, where the intended end users are patients themselves. In this case, the need for simplified, reliable, and userfriendly robot designs is of utmost
importance. Currently, the primary mode for robot communication uses RF (radio frequency). RF is an obvious choice for communication since it allows more information to be transferred at high speed and over long distance. However, the use of RF contributes to enhancing the already mysterious nature of robotic technology. This paper explores the use of acoustic communication as a mean to send/receive simple instructions for robots in applications where the end users lack technical specialty. Acoustic
telephone operators used a 16-digit keypad to input the next portion of the destination telephone number in order to contact the next downstream long-distance telephone operator. This semi-automated signaling and switching proved successful in both speed and cost effectiveness. Based on this prior success with using MF by specialists to establish Dual-tone long-distance telephone calls,
multi-frequency
(DTMF)
communication is a novel idea where the users are allowed to listen in and monitor the existence of communication to a certain level. This technique also reduces reliance on RF and, in some sense, makes the robot less intimidating. To implement acoustic communication, dual-tone multi-frequency (DTMF)
signaling was developed for the consumer to signal their own telephone-call's destination telephone number instead of talking to a telephone operator. Being able to achieve reliable communication is an important open area of research to robotics as well as other technology areas. As interest in robotics continues to grow, robots are increasingly being integrated into everyday life. The
technology is used. DTMF has been in existence and used by the telephone systems
48
for many years. Implementing an existing scheme that has proven to work reduces the hassle of defining new standards and allows the system to be compatible later on. Furthermore, such simple algorithm as DTMF allow for acoustic communication without the need of complicated voice recognition software. DATA SHEET: Features
Applications Receiver system for British Telecom (BT) or CEPT Spec (MT8870D-1) Paging systems Repeater systems/mobile radio Credit card systems Remote control Personal computers Telephone answering machine
Complete DTMF Receiver Low power consumption Internal gain setting amplifier Adjustable guard time Central office quality Power-down mode Inhibit mode Backward compatible with MT8870C/MT8870C-1
49
Description: The MT8870D/MT8870D-1 is a complete DTMF receiver integrating both the bandsplit filter and digital decoder functions. The filter section uses switched capacitor techniques for high and low group filters; the decoder uses digital counting techniques to detect and decode all 16 DTMF tone-pairs into a 4-bit code. External component count is minimized by on chip provision of a differential input amplifier, clock oscillator and latched threestate bus interface.
50
Functional Description
group tones, followed by a digital counting section which verifies the frequency and
The MT8870D/MT8870D-1 monolithic DTMF receiver offers small size, low power consumption and high performance. Its architecture consists of a bandsplit filter section, which separates the high and low
duration of the received tones before passing the corresponding code to the output bus.
51
ensure
an
optimum
combination
of
immunity to talk-off and tolerance to the Separation of the low-group and high group tones is achieved by applying the DTMF signal to the inputs of two sixth-order switched capacitor bandpass filters, the bandwidths of which correspond to the low and high group frequencies. The filter section also incorporates notches at 350 and 440 Hz for exceptional dial tone rejection. Each filter output is followed by a single order switched capacitor filter section which smooths the signals prior to limiting. Limiting is performed which are by high-gain with Before registration of a decoded tone pair, the receiver checks for a valid signal duration (referred to as character recognition condition). This check is performed by an external RC time constant driven by ESt. A logic high on ESt causes vc to rise as the capacitor discharges. Provided signal presence of interfering frequencies (third tones) and noise. When the detector recognizes the presence of two valid tones (this is referred to as the signal condition in some industry\ specifications) the Early Steering (ESt) output will go to an active state. Any subsequent loss of signal condition will cause ESt to assume an inactive state.
Steering Circuit
comparators
provided
hysteresis to prevent detection of unwanted low-level signals. The outputs of the comparators provide full rail logic swings at the +frequencies of the incoming DTMF signals.
condition is maintained (ESt remains high) Decoder Section Following the filter section is a decoder employing digital counting techniques to determine the frequencies of the incoming tones and to verify that they correspond to standard DTMF frequencies. A complex averaging algorithm protects against tone simulation by extraneous signals such as voice while providing tolerance to small frequency deviations and variations. This averaging algorithm has been developed to for the validation period (tGTP), vc reaches the threshold (VTSt) of the steering logic to register the tone pair, latching its
corresponding 4-bit code into the output latch. At this point the GT output is activated and drives vc to VDD. GT continues to drive high as long as ESt remains high. Finally, after a short delay to allow the output latch to settle, the delayed steering output flag (StD) goes high, signalling that
52
FILTER RESPONSE
a received tone pair has been registered. The contents of the output latch are made available on the 4-bit output bus by raising the three state control input (TOE) to a logic high. The steering circuit works in reverse to
validate the interdigit pause between signals. Thus, as well as rejecting signals too short to be considered valid, the receiver will tolerate signal interruptions (dropout) too short to be considered a valid pause. This
53
facility, together with the capability of selecting the steering time constants
Crystal Oscillator
externally, allows the designer to tailor performance to meet a wide variety of system requirements.
The internal clock circuit is completed with the addition of an external 3.579545 MHz crystal and is normally connected (SingleEnded Input Configuration). However, it is
possible
to
configure
several
MT8870D/MT8870D-1 devices employing A logic high applied to pin 6 (PWDN) will power down the device to minimize the power consumption in a standby mode. It stops the oscillator and the functions of the filters. Inhibit mode is enabled by a logic high input to the pin 5 (INH). It inhibits the detection of tones representing characters A, B, C, and D. The output code will remain the same as the previous detected code. only a single oscillator crystal. The
oscillator output of the first device in the chain is coupled through a 30 pF capacitor to the oscillator input (OSC1) of the next device. Subsequent devices are connected in a similar fashion. The problems associated with unbalanced loading are not a concern with the arrangement shown, i.e., precision balancing capacitors are not required.
The
input
arrangement
of
the a
MT8870D/MT8870D-1
provides
differential-input operational amplifier as well as a bias source (VRef) which is used to bias the inputs at mid-rail. Provision is made for connection of a feedback resistor to the op-amp output (GS) for adjustment of gain. In a single-ended configuration, the input pins are connected as shown in Figure 10 with the op-amp connected for unity gain and VRef biasing the input at 1/2VDD.
54
EXPERIMENTAL INFRASTRCTURE
BASIC ARM DIAGRAM WHICH IS TO BE FIXED OVER CHASIS WHICH WILL ALSO MOVE
In constructing our arm, we made use of three stepper motors and gears since our structure is a three dimensional structure. There is a stepper motor at the base, which allows for circular movement of the whole structure; another at the shoulder which allows for upward and downward movement of the arm while the last stepper motor at the wrist allows for the picking of objects by the grip.
55
Application: The applications of the Robotic Arm can broadly be classified in two categories. Fire Mishaps: In the event of a fire accident it is better to send the robot, than to send a human inside the affected area to, either search and rescue a person or for surveillance purposes. The arm can also be equipped with a fire extinguisher to put off the fire. Bomb Detection: In the likely event of a bomb alert, this robotic arm can safely go, detect and diffuse the bomb instead of a human being risking his life. In Bio Hazardous Areas: In areas where the probability of a chemical accident is more, like in a laboratory or in a factory, the robotic arm can be equipped with certain chemicals to stop the adverse diffusion/reaction of the chemicals. Cleaning bio hazardous debris is also one important activity in which the robotic arm can play a significant role. In Space Explorations as Land Rover: Recent Chandryaan moon mission employs such robotic arms (a complete version of the robot), to survey the geographical and chemical composition of the surface of the Moon. NASA also has used such robots in its survey of Mars. The collected samples from the surface are then transported back to the space shuttle, from where other chemical tests are conducted, and results relayed back to Earth. In Coal Mines: In coal mines it is quite natural that Methane gas leaks occurs. The robot can be equipped with a Methane gas sensor and warn the presence of said gas, without exposing humans to the danger. Future Scope
1. Bottle filling Plant. 2. Construction works
56
CONCLUSION
Taking a look back at the history of robot development, a special kind of human-size industrial robotic arm called Programmable Universal Machine for Assembly (PUMA) came into existence. This type of robot is often termed anthropomorphic because of the similarities between its structure and the human arm. The individual joints are named after their human-arm counterparts. It is worth noting that in our work, the hand is magnetic and not a generalized manipulator. In the proper sense of the word, manipulation is the function of the arm. The function of the arm is to position and orient the hand, act as a mechanical connection and power and sensing transmission link between the hand and the main body of the person.The primary objective is to make the Robotic arm, which comprises of three stepper motors, to interface with the Intel 8051-based micro-controller. It provides more interfaces to the outside world and has larger memory to store many programs.
57
REFERENCES:
[1] Di Xiao, Bijoy K. Ghosh, Ning Xi, and T. J. Tarn (2000) Sensor- Based Hybrid Position/Force Control of a Robot Manipulator in an Uncalibrated Environment-IEEE. [2] Mikell P. Groover, Mitchell Weiss, Roger N. Nagel, Nicholas G. Odrey (1986) Industrial Robotics Technology, Programming and Application, McGraw-Hill, 1986. [3] Hodges S.E. and Richards R.J. (1995) Visual Robot Control for Cheap Flexible Assembly, Image Processing and its Applications, Fifth International Conference, Jul 1995. [4] Rafael C. Gonzalez, Richard E. Woods (2008) Digital Image Processing, fourth edition, Pearson Education. [5] H. Pikkarainen, T. Heimonen, H. Juvalainen, M. Manninen (2001) Experiments to Achieve Accurate Vision Guided Robot Movements, Proceedings of the 4th IEEE International Symposium on Assembly and Task planning . [6] Antonio J. Sanchez and Jose M. Martinez (2000) Robot Arm Pick and Place Behavior Programming System Using Visual Perception IEEE. [7] Liangyu Lei (2004), A Machine Vision System for Inspecting Bearing- Diameter, IEEE world congress intelligent control and automation, vol 5. [8] Han Jian-hai, Zhao Shu-Shang and Sun Wei (2007), Research on Sub pixel detecting on-line System Based on Machine Vision for Inner Diameter of Bearings, vol 7. [9] Aravind, Rajparthiban and Tiffany (2009), Development of Semi-Automatic Pick and Place Robot for Material Handling Systems, vol 56.
58
APPENDIX(PROGRAMMING) #include<reg51.h> sbit op1=P2^7; sbit op2=P2^6; sbit ip3=P2^0; sbit op4=P2^2; sbit op5=P2^3; unsigned char data byt=0xFF; void keydly() { int a,b; for(a=0;a<50;a++) for(b=0;b<1000;b++); } void delay1ms(int d) { int k; TL0 = 0x17; TH0 = 0xFC; TR0 = 1; for(k=0;k<d;k++) { while(TF0==0); TF0 = 0; TL0 = 0x17; TH0 = 0xFC; } TR0 = 0; } void delay50ms(int c) { int p; TL1 = 0xAF; TH1 = 0x3C; TR1 = 1; for(p=0;p<c;p++) { while(TF1==0); TF1 = 0; TL1 = 0xAF;
59
TH1 = 0x3C; } TR1 = 0; } void gripopen() { int x; for(x=0;x<4;x++) { op1=0; delay1ms(4); op1=1; delay1ms(20); } } void gripclose() { int y; for(y=0;y<4;y++) { op1=0; delay1ms(1); op1=1; delay1ms(20); } } void gripclk() { int w; for(w=0;w<4;w++) { op2=0; delay1ms( 4); op2=1; delay1ms(20); } } void gripaclk() { int z; for(z=0;z<4;z++) { op2=0; delay1ms(1); op2=1; delay1ms(20);
60
} } void gripup() { P2=0x01; delay50ms(20); P2=0x00; } void gripdwn() { P2=0x02; delay50ms(20); P2=0x00; } void rotetleft() { P2=0x04; delay50ms(40); P2=0x00; } void rotetright() { P2=0x08; delay50ms(40); P2=0x00; } void int1() interrupt 2 { byt=P1; EA=0; keydly(); } void int()interrupt 3 { If(P2^0= #) { Setb P2^2=1; Setb P2^3=1; }
61
Else { Setb P2^6=1; Setb P2^7=1; } void main() { TMOD = 0x11; P2=0x00; P0=0x00; op1=1; op2=1; P1=0xFF; back: IE=0x84; byt=0xFF; while(byt==0xFF); switch(byt) { case 0xF1: gripopen(); break; case 0xF2: gripclose(); break; case 0xF3: gripclk(); break; case 0xF4: gripaclk(); break; case 0xF5: gripup(); break; case 0xF6: gripdwn(); break; case 0xF7: rotetleft(); break; case 0xF8: rotetright(); break;
62
} goto back; }
63