0% found this document useful (0 votes)
135 views38 pages

Programmable 5 Axis Robotic Arm: Aug, 2008 Project

The scope of this work involves confirming the microcontroller which we are using as Input / Output signals are compatible with that of the robotic arm Servo Motors. Our group was keen to do such a project that comprised of the following knowledge Automation Robotics Power Electronics Control Systems Programming Hardware interfacing.

Uploaded by

Rehman Zahid
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
135 views38 pages

Programmable 5 Axis Robotic Arm: Aug, 2008 Project

The scope of this work involves confirming the microcontroller which we are using as Input / Output signals are compatible with that of the robotic arm Servo Motors. Our group was keen to do such a project that comprised of the following knowledge Automation Robotics Power Electronics Control Systems Programming Hardware interfacing.

Uploaded by

Rehman Zahid
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 38

Aug, 2008 Project Report

PROGRAMMABLE 5 AXIS ROBOTIC ARM

1) INTRODUCTION & MOTIVATION The scope of this work involves confirming the microcontroller which we are using as Input / Output signals are compatible with that of the robotic arm servo motors and testing of the robots motor signals through programming the microcontroller .Any language may be used to develop the programs for the microcontroller platform that takes robots motors signals as Input / Output and controls the robots operations programmatically. With the introduction of modern day SBC (single board computers and the increasing trend of the automation our group was keen to do such a project that comprised of the following knowledge Automation Robotics Power Electronics Control Systems Programming Hardware interfacing

1.1) ROBOTICS Robotics is the science and technology of robots their design, manufacture, and application. Robotics requires a working knowledge of electronics, mechanics and software, and is usually accompanied by a large working knowledge of many subjects. COMPONENT OF ROBOTS The actuators are the 'muscles' of a robot; the parts which convert stored energy into movement. By far the most popular actuators are electric motors, but there are many others, some of which are powered by electricity, while others use chemicals, or compressed air.

Motors: By far the vast majority of robots use electric motors, of which there are several kinds. DC motors, which are familiar to many people, spin rapidly when an electric current is passed through them. They will spin backwards if the current is made to flow in the other direction. Stepper motors: As the name suggests, stepper motors do not spin freely like DC motors, they rotate in steps of a few degrees at a time, under the command of a controller. This makes them easier to control, as the controller knows exactly how far they have rotated, without having to use a sensor. Therefore they are used on many robots and CNC machining centre. ELECTRICAL ENGG|FINAL THESIS REPORT 1

5 AXIS ROBOTIC ARM

Aug, 2008 Project Report

PROGRAMMABLE 5 AXIS ROBOTIC ARM

Servo Motors

Now with the advancement of technology, servo motors are more accurate, reliable and efficient as compared to the stepper motors as they have ability to adjust position automatically. So now servo motors are used more extensively than steppers to make robots suitable for the industry.

Elastic nanotubes : These are a promising, early-stage experimental technology. The absence of defects in nanotubes enables these filaments to deform elastically by several percent, with energy storage levels of perhaps 10J per cu cm for metal nanotubes. Human biceps could be replaced with an 8mm diameter wire of this material. Such compact "muscle" might allow future robots to outrun and outjump humans.[16

Robots which must work in the real world require some way to manipulate objects; pick up, modify, destroy or otherwise have an effect. Thus the 'hands' of a robot are often referred to as end effectors,[17] while the arm is referred to as a manipulator.[18] Most robot arms have replaceable effectors, each allowing them to perform some small range of tasks. Some have a fixed manipulator which cannot be replaced, while a few have one very general purpose manipulator, for example a humanoid hand.

Grippers: A common effector is the gripper. In its simplest manifestation it consists of just two fingers which can open and close to pick up and let go of a range of small objects. See End effectors. Vacuum Grippers: Pick and place robots for electronic components and for large objects like car windscreens, will often use very simple vacuum grippers. These are very simple astrictive [19] devices, but can hold very large loads provided the prehension surface is smooth enough to ensure suction. General purpose effectors: Some advanced robots are beginning to use fully humanoid hands, like the Shadow Hand and the Schunk hand.[20] These highly dexterous manipulators, with as many as 20 degrees of freedom and hundreds of tactile sensors[21] can be difficult to control. The computer must consider a great deal of information, and decide on the best way to manipulate an object from many possibilities The mechanical structure of a robot must be controlled to perform tasks. The control of a robot involves three distinct phases - perception, processing and action (robotic paradigms). Sensors give information about the environment or the robot itself (e.g. the position of its joints or its end effector). This information is then processed to calculate the appropriate signals to the actuators (motors) which move the mechanical structure. The processing phase can range in complexity. At a reactive level, it may translate raw sensor information directly into actuator commands. Sensor fusion may first be used to estimate parameters of interest (e.g. the position of the robot's gripper) from noisy sensor data. An immediate task (such as moving the gripper in a certain direction) is inferred from these estimates. Techniques from control theory convert the task into commands that drive the actuators. ELECTRICAL ENGG|FINAL THESIS REPORT 2

5 AXIS ROBOTIC ARM

Aug, 2008 Project Report

PROGRAMMABLE 5 AXIS ROBOTIC ARM

1.2) AUTOMATION Automation (ancient Greek = self dictated), roboticization or industrial automation or numerical control is the use of control systems such as computers to control industrial machinery and processes, reducing the need for human intervention. In the scope of industrialization, automation is a step beyond mechanization. Whereas mechanization provided human operators with machinery to assist them with the physical requirements of work, automation greatly reduces the need for human sensory and mental requirements as well. Processes and systems can also be automated. Automation plays an increasingly important role in the global economy and in daily experience. Engineers strive to combine automated devices with mathematical and organizational tools to create complex systems for a rapidly expanding range of applications and human activities. Many roles for humans in industrial processes presently lie beyond the scope of automation. Human-level pattern recognition, language recognition, and language production ability are well beyond the capabilities of modern mechanical and computer systems. Tasks requiring subjective assessment or synthesis of complex sensory data, such as scents and sounds, as well as high-level tasks such as strategic planning, currently require human expertise. In many cases, the use of humans is more cost-effective than mechanical approaches even where automation of industrial tasks is possible. Specialised hardened computers, referred to as programmable logic controllers (PLCs), are frequently used to synchronize the flow of inputs from (physical) sensors and events with the flow of outputs to actuators and events. This leads to precisely controlled actions that permit a tight control of almost any industrial process. Human-machine interfaces (HMI) or computer human interfaces (CHI), formerly known as manmachine interfaces, are usually employed to communicate with PLCs and other computers, such as entering and monitoring temperatures or pressures for further automated control or emergency response. Service personnel who monitor and control these interfaces are often referred to as stationary engineers ADVANTAGES Currently, for manufacturing companies, the purpose of automation has shifted from increasing productivity and reducing costs, to broader issues, such as increasing quality and flexibility in the manufacturing process. The old focus on using automation simply to increase productivity and reduce costs was seen to be short-sighted, because it is also necessary to provide a skilled workforce who can make repairs and manage the machinery. Moreover, the initial costs of automation were high and often could not be 5 AXIS ROBOTIC ARM ELECTRICAL ENGG|FINAL THESIS REPORT 3

Aug, 2008 Project Report

PROGRAMMABLE 5 AXIS ROBOTIC ARM

recovered by the time entirely new manufacturing processes replaced the old. (Japan's "robot junkyards" were once world famous in the manufacturing industry.) Another major shift in automation is the increased emphasis on flexibility and convertibility in the manufacturing process. Manufacturers are increasingly demanding the ability to easily switch from manufacturing Product A to manufacturing Product B without having to completely rebuild the production lines. Flexibility and distributed processes have led to the introduction of Automated Guided Vehicles with Natural Features Navigation.

1.3) ROBOTIC AUTOMATION IN INDUSTRY Over the past few decades, some innovations have indeed given industrial automation new surges of growth: The programmable logic controller (PLC) - developed by Dick Morley and others - was designed to replace relay-logic; it generated growth in applications where custom logic was difficult to implement and change. The PLC was a lot more reliable than relay-contacts, and much easier to program and reprogram. Growth was rapid in automobile test-installations, which had to be re-programmed often for new car models. The PLC has had a long and productive life - some three decades - and (understandably) has now become a commodity. At about the same time that the PLC was developed, another surge of innovation came through the use of computers for control systems. Mini-computers replaced large central mainframes in central control rooms, and gave rise to "distributed" control systems (DCS), pioneered by Honeywell with its TDC 2000. But, these were not really "distributed" because they were still relatively large clumps of computer hardware and cabinets filled with I/O connections. The arrival of the PC brought low-cost PC-based hardware and software, which provided DCS functionality with significantly reduced cost and complexity. There was no fundamental technology innovation here rather, these were innovative extensions of technology developed for other mass markets, modified and adapted for industrial automation requirements. On the sensor side were indeed some significant innovations and developments which generated good growth for specific companies. With better specifications and good marketing, Rosemount's differential pressure flow-sensor quickly displaced lesser products. And there were a host of other smaller technology developments that caused pockets of growth for some companies. But few grew beyond a few hundred million dollars in annual revenue. Automation software has had its day, and can't go much further. No "inflection point" here. In the future, software will embed within products and systems, with no major independent innovation on the horizon. The plethora of manufacturing software solutions and services will yield significant results, but all as part of other systems. 5 AXIS ROBOTIC ARM ELECTRICAL ENGG|FINAL THESIS REPORT 4

Aug, 2008 Project Report

PROGRAMMABLE 5 AXIS ROBOTIC ARM

NEW TECHNOLOGY DIRECTIONS Industrial automation can and will generate explosive growth with technology related to new inflection points: nanotechnology and nanoscale assembly systems; MEMS and nanotech sensors (tiny, low-power, low-cost sensors) which can measure everything and anything; and the pervasive Internet, machine to machine (M2M) networking. Real-time systems will give way to complex adaptive systems and multi-processing. The future belongs to nanotech, wireless everything, and complex adaptive systems. Major new software applications will be in wireless sensors and distributed peer-to-peer networks tiny operating systems in wireless sensor nodes, and the software that allows nodes to communicate with each other as a larger complex adaptive system. That is the wave of the future.

THE FULLY-AUTOMATED FACTORY Automated factories and processes are too expensive to be rebuilt for every modification and design change so they have to be highly configurable and flexible. To successfully reconfigure an entire production line or process requires direct access to most of its control elements switches, valves, motors and drives - down to a fine level of detail. The vision of fully automated factories has already existed for some time now: customers order online, with electronic transactions that negotiate batch size (in some cases as low as one), price, size and color; intelligent robots and sophisticated machines smoothly and rapidly fabricate a variety of customized products on demand. The promise of remote-controlled automation is finally making headway in manufacturing settings and maintenance applications. The decades-old machine-based vision of automation - powerful super-robots without people to tend them - underestimated the importance of communications. But today, this is purely a matter of networked intelligence which is now well developed and widely available. Communications support of a very high order is now available for automated processes: lots of sensors, very fast networks, quality diagnostic software and flexible interfaces - all with high levels of reliability and pervasive access to hierarchical diagnosis and error-correction advisories through centralized operations. The large, centralized production plant is a thing of the past. The factory of the future will be small, movable (to where the resources are, and where the customers are). For example, there is really no need to transport raw materials long distances to a plant, for processing, and then 5 AXIS ROBOTIC ARM ELECTRICAL ENGG|FINAL THESIS REPORT 5

Aug, 2008 Project Report

PROGRAMMABLE 5 AXIS ROBOTIC ARM

transport the resulting product long distances to the consumer. In the old days, this was done because of the localized know-how and investments in equipment, technology and personnel. Today, those things are available globally.

1.4) MICRO-CONTROLLER BASED SYSTEMS Microcontrollers are microprocessors with integrated general-purpose interfacing logic to facilitate the control of peripheral devices. This logic is encapsulated in I/O ports i.e., collections of I/O pins and related interface logic) that can be written to or read from by program code. Microcontrollers are commonly used to implement digital control systems because they require minimal interfacing hardware. Peripheral devices range from user input and display units to memories and communication interfaces. Designers of microcontroller-based systems must allocate devices to ports and customize subroutines to access the devices under the specific port assignment chosen. There are several issues in performing this task. Most importantly, additional hardware must be minimized so as to maintain the benefits of using a microcontroller, namely reducing part count. If there are more device pins than port pins, then the ports need to be time-multiplexed with the corresponding de-multiplexing performed in external hardware. Another important goal is to minimize code size. Exploiting the grouping of signals can reduce the number of instructions needed in the driver routines. In certain cases, memory-mapped I/O techniques are used to access the devices with the processors address and data bus thereby bypassing most of the port interface logic. Since the address and data busses also use I/O pins to reach the devices, this further complicates the port assignment problem. In this paper, we describe a tool that automates the synthesis of the hardware/software interface between a microcontroller and the devices it controls. Optimizations of the synthesis process focus primarily on the minimization of interface hardware and also the code size of the device driver routines. Section 2 specifies this interface synthesis problem. Section 3 describes the data structures used to represent the microcontroller, devices, and hardware and software primitives. Section 4 presents the port allocation algorithm. Section 5 highlights the features of this interface synthesis tool with two practical examples. Section 6 concludes the paper with an evaluation and discussion of future work. 1.5) EMBEDDED SYSTEMS

5 AXIS ROBOTIC ARM

ELECTRICAL ENGG|FINAL THESIS REPORT

Aug, 2008 Project Report

PROGRAMMABLE 5 AXIS ROBOTIC ARM

An embedded system is a special-purpose computer system designed to perform one or a few dedicated functions,[1] often with real-time computing constraints. It is usually embedded as part of a complete device including hardware and mechanical parts. In contrast, a general-purpose computer, such as a personal computer, can do many different tasks depending on programming. Embedded systems control many of the common devices in use today. Since the embedded system is dedicated to specific tasks, design engineers can optimize it, reducing the size and cost of the product, or increasing the reliability and performance. Some embedded systems are mass-produced, benefiting from economies of scale. Physically, embedded systems range from portable devices such as digital watches and MP3 players, to large stationary installations like traffic lights, factory controllers, or the systems controlling nuclear power plants. Complexity varies from low, with a single microcontroller chip, to very high with multiple units, peripherals and networks mounted inside a large chassis or enclosure. In general, "embedded system" is not an exactly defined term, as many systems have some element of programmability. For example, Handheld computers share some elements with embedded systems such as the operating systems and microprocessors which power them but are not truly embedded systems, because they allow different applications to be loaded and peripherals to be connected. Examples of embedded systems

Embedded systems span all aspects of modern life and there are many examples of their use.Telecommunications systems employ numerous embedded systems from telephone switches for the network to mobile phones at the end-user. Computer networking uses dedicated routers and network bridges to route data. 2) REVIEW OF BACKGROUND THEORY& TECHNOLOGY 2.1) CONTROL SYSTEMS The study and design of automatic Control Systems, a field known as control engineering, is a large and expansive area of study. Control systems, and control engineering techniques have become a pervasive part of modern technical society. From devices as simple as a toaster, to complex machines like space shuttles and rockets, control engineering is a part of our everyday life. This book will introduce the field of control engineering, and will build upon those 5 AXIS ROBOTIC ARM ELECTRICAL ENGG|FINAL THESIS REPORT 7

Aug, 2008 Project Report

PROGRAMMABLE 5 AXIS ROBOTIC ARM

foundations to explore some of the more advanced topics in the field. Note, however, that control engineering is a very large field, and it would be foolhardy of any author to think that they could include all the information into a single book. Therefore, we will be content here to provide the foundations of control engineering, and then describe some of the more advanced topics in the field. Topics in this book are added at the discretion of the authors, and represent the available expertise of our contributors. Control systems are components that are added to other components, to increase functionality, or to meet a set of design criteria. Control System A Control System is a device, or a collection of devices that manage the behavior of other devices. Some devices are not controllable. A control system is an interconnection of components connected or related in such a manner as to command, direct, or regulate itself or another system. Controller A controller is a control system that manages the behavior of another device or system. Compensator A Compensator is a control system that regulates another system, usually by conditioning the input or the output to that system. Compensators are typically employed to correct a single design flaw, with the intention of affecting other aspects of the design in a minimal manner. There are many different types of systems, and the process of classifying systems in these ways is called system identification. Different types of systems have certain properties that are useful in analysis. By properly identifying a system, we can determine which analysis tools can be used with the system, and ultimately how to analyze and manipulate those systems. In other words, the first step is system identification Physical Systems can be divided up into a number of different catagories, depending on particular properties that the system exhibits. Some of these system classifications are very easy to work with and have a large theory base for analysis. Some system classifications are very complex and have still not been investigated with any degree of success. The early sections of this book will focus primarily on linear time-invariant (LTI) systems. LTI systems are the easiest class of system to work with, and have a number of properties that make them ideal to study. In this chapter we will discuss some properties of systems and we will define exactly what an LTI system is. Later chapters in this book will look at time variant systems and later still we will discuss nonlinear systems. Both time variant and nonlinear systems are very complex areas of current research, and both can be difficult to analyze properly. Unfortunately, most physical real-world systems are time-variant, or nonlinear or both. 5 AXIS ROBOTIC ARM ELECTRICAL ENGG|FINAL THESIS REPORT 8

Aug, 2008 Project Report

PROGRAMMABLE 5 AXIS ROBOTIC ARM

Causality is a property that is very similar to memory. A system is called causal if it is only dependent on past or current inputs. A system is called non-causal if the output of the system is dependent on future inputs. system is called time-invariant if the system relationship between the input and output signals is not dependant on the passage of time. If the input signal x(t) produces an output y(t) then any time shifted input, x(t + ), results in a time-shifted output y(t + ) This property can be satisfied if the transfer function of the system is not a function of time except expressed by the input and output. If a system is time-invariant then the system block is commutative with an arbitrary delay. We will discuss this facet of time-invariant systems later. To determine if a system f is time-invariant, we can perform the following test: We apply an arbitrary input x to a system and produce an arbitrary output y: y(t) = f(x(t)) And we apply a second input x1 to the system, and produce a second output: y1(t) = f(x1(t)) Now, we assign x1 to be equal to our first input x, time-shifted by a given constant value : x1(t) = x(t ) Finally, a system is time-invariant if y1 is equal to y shifted by the same value : y1(t) = y(t ) A system is considered to be a Linear Time-Invariant (LTI) system if it satisfies the requirements of time-invariance and linearity. LTI systems are one of the most important types of systems Stability is a very important concept in systems, but it is also one of the hardest function properties to prove. There are several different criteria for system stability, but the most common requirement is that the system must produce a finite output when subjected to a finite input. For instance, if we apply 5 volts to the input terminals of a given circuit, we would like it if the circuit output didn't approach infinity, and the circuit itself didn't melt or explode. This type of stability is often known as "Bounded Input, Bounded Output" stability, or BIBO. There are a number of other types of stability, most of which are based off the concept of BIBO stability. Because stability is such an important and complicated topic, we have devoted an entire section to it's study.

5 AXIS ROBOTIC ARM

ELECTRICAL ENGG|FINAL THESIS REPORT

Aug, 2008 Project Report

PROGRAMMABLE 5 AXIS ROBOTIC ARM

Systems can also be categorized by the number of inputs and the number of outputs the system has. If you consider a Television, for instance, the system has two inputs: the power wire, and the signal cable. A system with one input and one output is called single-input, single output, or SISO. a system with multiple inputs and multiple outputs is called multi-input, multi-output, or MIMO. 2.2) MECHANICS Dynamics and kinematics The study of motion can be divided into kinematics and dynamics. Direct kinematics refers to the calculation of end effector position, orientation, velocity and acceleration when the corresponding joint values are known. Inverse kinematics refers to the opposite case in which required joint values are calculated for given end effector values, as done in path planning. Some special aspects of kinematics include handling of redundancy (different possibilities of performing the same movement), collision avoidance and singularity avoidance. Once all relevant positions, velocities and accelerations have been calculated using kinematics, methods from the field of dynamics are used to study the effect of forces upon these movements. Direct dynamics refers to the calculation of accelerations in the robot once the applied forces are known. Direct dynamics is used in computer simulations of the robot. Inverse dynamics refers to the calculation of the actuator forces necessary to create a prescribed end effector acceleration. This information can be used to improve the control algorithms of a robot. In each area mentioned above, researchers strive to develop new concepts and strategies, improve existing ones and improve the interaction between these areas. To do this, criteria for "optimal" performance and ways to optimize design, structure and control of robots must be developed and implemented. A mechanism used to produce transformation of the following types To change the speed To change one force to another force To change one torque to another torque To change one angular motion to another angular motion To change angular motion to linear motion To change one angular motion to linear motion One fine example is

In all parts of the mechanism there is 5 AXIS ROBOTIC ARM ELECTRICAL ENGG|FINAL THESIS REPORT 10

Aug, 2008 Project Report

PROGRAMMABLE 5 AXIS ROBOTIC ARM

1. Displacement 2. Velocity 3. Acceleration

In order to elaborate this an example of a free Yoke is considered

2.3) POWER ELECTRONICS Power electronics is the technology associated with the efficient conversion, control and conditioning of electric power by static means from its available input form into the desired electrical output form Power electronic converters can be found wherever there is a need to modify the electrical energy form (i.e modify its voltage, current or frequency). Therefore, their power range from some milliwatts (as in a mobile phone) to hundreds of megawatts (e.g in a HVDC transmission system). With "classical" electronics, electrical currents and voltage are used to carry information, whereas with power electronics, they carry power. Therefore the main metric of power electronics becomes the efficiency. The first very high power electronic devices were mercury arc valves. In modern systems the conversion is performed with semiconductor switching devices such as diodes, thyristors and transistors. In contrast to electronic systems concerned with transmission and processing of signals 5 AXIS ROBOTIC ARM ELECTRICAL ENGG|FINAL THESIS REPORT 11

Aug, 2008 Project Report

PROGRAMMABLE 5 AXIS ROBOTIC ARM

and data, in power electronics substantial amounts of electrical energy are processed. An AC/DC converter (rectifier) is the most typical power electronics device found in many consumer electronic devices, e.g., television sets, personal computers, battery chargers, etc. The power range is typically from tens of watts to several hundred watts. In industry the most common application is the variable speed drive (VSD) that is used to control an induction motor. The power range of VSDs start from a few hundred watts and end at tens of megawatts. The power conversion systems can be classified according to the type of the input and output power

AC to DC (rectification) DC to AC (inversion) DC to DC (chopping)

2.4) MOTORS Types of motors


AC motor DC motor Stepper motors RC servo motors Stepper Vs Servo

Normally, the characteristics of the motor is written on the casing. But often you will only find one or two of the following. Characteristics

Voltage Rotation per minute Degrees per Step Resistance of the coil

AC motors They come usually in the ratings of 120Volts, sometimes 220V. They are not very precise, they are more dangerous than other types because of their high voltage. You cannot solder the wires because heat can make them melt and short-circuit., so use merret cap screws. DC motors

5 AXIS ROBOTIC ARM

ELECTRICAL ENGG|FINAL THESIS REPORT

12

Aug, 2008 Project Report

PROGRAMMABLE 5 AXIS ROBOTIC ARM

DC motors are pretty good for most appliactions. They can rotate clockwise or anticlockwise, their speed is also variable. To change the direction of a DC motor, you need to change the polarity of the wires (V+ and GND). To do so, you need an H-Bridge.

An H-Bridge switches the lines at the right time so that the polarity is switchable without creating short-circuits. While you can make you own h-bridge using a popsicle stick on a shaft that makes contacts, I suggest getting a real H-Bridge Ic chip such as the L298 Ic To change the speed of a DC motor, you can either use Pulse Width Modulation (PWM), or lower the voltage that is sent to the motor, with a potentiometer for example. PWM turns the motor on and off fast so that the speed is reduced, the downside is that your microcontroller will be occupied for the duration of this task and won't be able to do other things as fast. Stepper Motors Steppers are easily recognizable as they have multiple colored wires (5, 6 or 8) and when you manually turn the shaft, you can feel the steps. But they are harder to interface than DC motors because out of the 6 wires, 4 must be tied to ground in a specific order.

Servo Motors A Servo is a small device that has an output shaft. This shaft can be positioned to specific angular positions by sending the servo a coded signal. As long as the coded signal exists on the input line, the servo will maintain the angular position of the shaft. As the coded signal changes, the angular position of the shaft changes. In practice, servos are used in radio controlled airplanes to position control surfaces like the elevators and rudders. They are also used in radio controlled cars, puppets, and of course, robots. Servos are extremely useful in robotics. The motors are small, as you can see by the picture above, have built in control circuitry, and are extremely powerful for thier size. A standard servo such as the Futaba S-148 has 42 oz/inches of torque, which is pretty strong for its size. It also draws power proportional to the mechanical load. A lightly loaded servo, therefore, doesn't consume much energy. The guts of a servo motor are shown in the picture below. You can see the control circuitry, the motor, a set of gears, and the case. You can also see the 3 wires that connect to the outside world. One is for power (+5volts), ground, and the white wire is the control wire. 5 AXIS ROBOTIC ARM ELECTRICAL ENGG|FINAL THESIS REPORT 13

Aug, 2008 Project Report

PROGRAMMABLE 5 AXIS ROBOTIC ARM

The servo motor has some control circuits and a potentiometer (a variable resistor, aka pot) that is connected to the output shaft. In the picture above, the pot can be seen on the right side of the circuit board. This pot allows the control circuitry to monitor the current angle of the servo motor. If the shaft is at the correct angle, then the motor shuts off. If the circuit finds that the angle is not correct, it will turn the motor the correct direction until the angle is correct. The output shaft of the servo is capable of travelling somewhere around 180 degrees. Usually, its somewhere in the 210 degree range, but it varies by manufacturer. A normal servo is used to control an angular motion of between 0 and 180 degrees. A normal servo is mechanically not capable of turning any farther due to a mechanical stop built on to the main output gear. The amount of power applied to the motor is proportional to the distance it needs to travel. So, if the shaft needs to turn a large distance, the motor will run at full speed. If it needs to turn only a small amount, the motor will run at a slower speed. This is called proportional control. The control wire is used to communicate the angle. The angle is determined by the duration of a pulse that is applied to the control wire. This is called Pulse Coded Modulation. The servo expects to see a pulse every 20 milliseconds (.02 seconds). The length of the pulse will determine how far the motor turns. A 1.5 millisecond pulse, for example, will make the motor turn to the 90 degree position (often called the neutral position). If the pulse is shorter than 1.5 ms, then the motor will turn the shaft to closer to 0 degress. If the pulse is longer than 1.5ms, the shaft turns closer to 180 degress

Advantages and disadvantages of stepper motors and servomotors 1. Stepper motor Advantages (1) Since stepper motor operation is synchronized with the command pulse signals from a pulse generator such as the PCL, they are suitable for precise control of their rotation. (2) Lower cost. Disadvantages (1) Basically, the current flow from a driver to the motor coil cannot be increased or decreased during operation. Therefore, if the motor is loaded with a heavier load than the motor's designed torque characteristic, it will get out of step with the pulses. 5 AXIS ROBOTIC ARM ELECTRICAL ENGG|FINAL THESIS REPORT 14

Aug, 2008 Project Report

PROGRAMMABLE 5 AXIS ROBOTIC ARM

(2) Stepper motors produce more noise and vibration than servomotors. (3) Stepper motors are not suitable for high-speed rotation. 2. Servomotor Advantages (1) If a heavy load is placed on the motor, the driver will increase the current to the motor coil as it attempts to rotate the motor. Basically, there is no out-of-step condition. (However, too heavy a load may cause an error.) (2) High-speed operation is possible. Disadvantages (1) Since the servomotor tries to rotate according to the command pulses, but lags behind, it is not suitable for precision control of rotation. (2) Higher cost. (3) When stopped, the motors rotor continues to move back and forth one pulse, so that it is not suitable if you need to prevent vibration. Both motors have advantages and disadvantages. The selection of which type to use requires careful consideration of the applications specifications. 2.5) PRECISION IN SERVO MECHANISM In servomechanisms, like for example used in disk drives, disturbances, for example, friction, shock and vibration, prevent the system positioning accuracy from further improvement. These disturbances occur in a relatively low-frequency range compared to the electrical dynamics. In the present invention, an acceleration feedback control loop using a frequency-separated acceleration soft sensor (350) replaces the conventionally used current control loop in the low frequency range, where the disturbances occur, so as to attenuate the influence of the disturbances enclosed in the loop. The current feedback continues to manage the electrical dynamics in the high-frequency range. Estimating the required acceleration signal by a soft sensor (350) eliminates the need for physical accelerometers, which reduce system reliability and increase system cost. The acceleration feedback control loop constructed with the obtained acceleration signal also makes the system more robust to the parameter inaccuracies and variations within the loop. This invention can be easily implemented with either software or hardware. 2.6) SERIAL INTERFACING IN ASSEMBLY LANGUAGE In order for the hard ware to communicate with the user it was devised to use a hyperterminal which is discussed in the later text. Devices which use serial cables for their communication are split into two categories. These are DCE (Data Communications Equipment) and DTE (Data Terminal Equipment.) Data Communications Equipment are devices such as your modem, TA adapter, plotter etc while Data 5 AXIS ROBOTIC ARM ELECTRICAL ENGG|FINAL THESIS REPORT 15

Aug, 2008 Project Report

PROGRAMMABLE 5 AXIS ROBOTIC ARM

Terminal Equipment is your Computer or Terminal. The electrical specifications of the serial port is contained in the EIA (Electronics Industry Association) RS232C standard. It states many parameters such as 1. 2. 3. 4. A "Space" (logic 0) will be between +3 and +25 Volts. A "Mark" (Logic 1) will be between -3 and -25 Volts. The region between +3 and -3 volts is undefined. An open circuit voltage should never exceed 25 volts. (In Reference to GND) 5. A short circuit current should not exceed 500mA. The driver should be able to handle this without damage. (Take note of this one!) Above is no where near a complete list of the EIA standard. Line Capacitance, Maximum Baud Rates etc are also included. For more information please consult the EIA RS232-C standard. It is interesting to note however, that the RS232C standard specifies a maximum baud rate of 20,000 BPS!, which is rather slow by today's standards. A new standard, RS232D has been recently released. Types of Serial Ports Serial Ports come in two "sizes", There are the D-Type 25 pin connector and the D-Type 9 pin connector both of which are male on the back of the PC, thus you will require a female connector on your device. Regarding this project DB-9 is used.

Fig 11Abbreviations for db9 and db 25 connectors

Pin Functions Abbreviation Full Name Function TD Transmit Data Serial Data Output (TXD) RD Receive Data Serial Data Input (RXD) 5 AXIS ROBOTIC ARM ELECTRICAL ENGG|FINAL THESIS REPORT 16

Aug, 2008 Project Report

PROGRAMMABLE 5 AXIS ROBOTIC ARM CTS DCD DSR DTR Clear to Send This line indicates that the Modem is ready to exchange data. Data Carrier When the modem detects a "Carrier" from the modem at Detect the other end of the phone line, this Line becomes active. Data Set This tells the chip that the modem is ready to establish a Ready link. Data Terminal This is the opposite to DSR. This tells the Modem that the Ready chip is ready to link.

2.7) INTERFACE IN HYPER-TERMINAL HyperTerminal is a communications utility that provides terminal emulation protocols, file transfer protocols, and character set options for point-to-point communication via a serial (RS-232) link or a TCP/IP link.The HyperTerminal utility frequently is used to connect a simple serial terminal or to transfer files between two platforms

HyperTerminal Emulation Protocols A description of terminal emulation protocols, which mimic the control characters and character set used by a serial terminal type. HyperTerminal File Transfer Protocols A description of file transfer protocols, which segment files into a series of packets for transmission. HyperTerminal Character Set Options A description of character set options, which support extended language alphabets through 16bit encoding or through mixed 8-bit and 16-bit characters.

5 AXIS ROBOTIC ARM

ELECTRICAL ENGG|FINAL THESIS REPORT

17

Aug, 2008 Project Report

PROGRAMMABLE 5 AXIS ROBOTIC ARM

3)HARDWARE SELECTION In order to put this project to reality a number of attachments were to be selected the purpose of each component is described in the later text along with the justification. Under the following headings is the detailed description of the components used. 3.1) THE ATMEL 89C51 We have chosen the ATMEL 89C51 as the processor for our robot in the following text we will discuss the fundamentals of the 8051 processor. In particular we will talk about the memory model, the internal registers and their usage. Then we will discuss in detail the design of the 8051 single board computer (SBC), which is the heart of our robot system. Finally we will talk about the peripheral chips of our system and their functions. Justification It is simply because micro-controllers are cost effective and small enough to fit into our design. In fact micro-controllers are so common that it can be found in washing machines, microwaves, motor cars, or even inside you Octopus smart card. So the next question is what type of micro-controller should we use? We chose the 8051 because of its popularity and cost effectiveness. Moreover there are plenty of public domain software as well as commercial libraries available in the industry. The 89C51 A brief Intro The 8051 (or the ROM-less version 8031) is originally an Intel product , a cousin of the 80X86 family designed for the embedded control market in the 80s. As popular standards especially software standards dont easily die down, it flourishes for years and becomes one of the most popular 8-bit micro-controllers worldwide. It was in the 90s that some other companies jumped into the bandwagon and built faster and more complex micro-controllers based on the 8051 core. That means the whole library of 8051 assembly code can be reused. The representatives of such products are flash based Atmel 89C51 . 5 AXIS ROBOTIC ARM ELECTRICAL ENGG|FINAL THESIS REPORT 18

Aug, 2008 Project Report

PROGRAMMABLE 5 AXIS ROBOTIC ARM

The 8051 micro-controller family All have 128 bytes internal RAM, 2 timers, 32-bit parallel IO, serial IO, 5 interrupt sources __ 8031: ROM-less ; use external ROM for programs __ 8051: 4K-byte ROM __ 8751: 4K-byte UV-EPROM (ultra-violet erasable, re-programmable) __ 8951: 4K-byte [7] (Flash-ROM-based, Electrical erasable, re-programmable) __ Philips extended Architecture (16-bit with AD converter) __ 8X52: An extended member, which has 256 bytes internal RAM and 3 timers. Fundamental operations of a micro-controller based system. A typical micro-controller system has the following configuration. 3.2) THE HS-805BB SERVO
The Hitec HS-805BB is principally of the best mid- sized RC servos available. The HS-805 uses a heavy duty nylon gear train and a heavy duty 10mm 15 tooth output shaft. The HS-805BB develops enough torque to move just about anything so whether its a big ass plane, boat, or maybe your just flinging a spike hammer. Whatever it may be the HS-805BB can move it and move it fast.Following are some of the parameters of the formerly mentioned servo Motor Type Bearing Type Torque 4.8/6.0v Speed 4.8/6.0v Size 3 Pole Ferrite Dual Ball Bearing 275 / 343 oz. 19.8/24.7kg 0.19 / 0.14 second 2.6"x 1.2"x 2.3" 66 x 30 x 58 mm

3.3)T HE HS-475 HB SERVO HS-475BB is one of the most popular and reliable servos Hitec has ever offered. With a top ball bearing, heavy duty, high impact Karbonite gears and high performance circuitry, the HS475BB offers lots of torque and features excellent centering and resolution. Detailed Specifications
Motor Type: 3 Pole Bearing Type: Top Ball Bearing Speed: 0.23 / 0.18 sec @ 60 deg.

5 AXIS ROBOTIC ARM

ELECTRICAL ENGG|FINAL THESIS REPORT

19

Aug, 2008 Project Report

PROGRAMMABLE 5 AXIS ROBOTIC ARM

English

Metric

Torque: 61.10 / 76.37 oz.in (4.8v/6v) 4.4 / 5.5 kg.cm 38.80 x 36.00mm 40.00g 19.80 x

Size: 1.52" x 0.77" x 1.41"

Weight: 1.41oz

Fig 14the HS-475HB RC Servo

3.4) THE HS-985MG SERVO The high torque HS-985MG Coreless Motor Servo was designed for larger high performance aircraft or on/off road vehicles. Featuring excellent resolution and centering, the newer HS985MG replaces the older and now discontinued HS-945MG. Offered with an improved case top with two brass axial bushing for greater strength and stability to insure a long life and smooth rotation Detailed Specifications
Motor Type: Coreless Bearing Type: Dual Ball Bearing Speed: 0.16 / 0.13 sec @ 60 deg. English Metric

Torque: 133.31 / 172.20 oz.in (4.8v/6v) 9.6 / 12.4 kg.cm

5 AXIS ROBOTIC ARM

ELECTRICAL ENGG|FINAL THESIS REPORT

20

Aug, 2008 Project Report

PROGRAMMABLE 5 AXIS ROBOTIC ARM


40.00 x 37.00mm 62.00g 20.00 x

Size: 1.57" x 0.78" x 1.45"

Weight: 2.18oz

Fig 15the HS-985MG RC Servo

4) MECHANICAL STRUCTURE This section gives a detailed discussion of the mechanical assembly of the robotic arm, now in the first place for the proper functioning and to give versatile movement the construction was necessary so as to allow the robot to grasp, hold, move and place the objects. In the field of robotics there are five types of commonly used robot arm configurations each named according to the combination of shoulder, elbow and wrist joints. Each of the commonly used types employs simple revolute or prismatic joints the five types are The rectangular coordinate (this includes both floor and gantry mounts) ELECTRICAL ENGG|FINAL THESIS REPORT 21

5 AXIS ROBOTIC ARM

Aug, 2008 Project Report

PROGRAMMABLE 5 AXIS ROBOTIC ARM

Spherical Coordinates (Polar) Cylindrical Coordinates Revolute Coordinates The Self compliant automatic robot assembly (SCARA)

Fig 16Five movement types in Arms

Breaking from the regular categorizations, two new classifications, Serpentine and Anthropomorphic, have arisen that utilized ball-and-socket or U-joints in their structure. The arms rotating base is powered by a single large scale servo that rotates the rest of the arm in half-circle i-e 180 degrees. Mounted to the base is the elevation joint or shoulder that can move through 180 degrees from horizontal to vertical on each side. The shoulder uses one large scale servo needed to lift providing the torque needed to lift the rest of the arm as well as any object that it may be grasping. Attached to the shoulder piece is an elbow that can move through 180 degrees also powered by a large scale servo. The wrist is made up of one servo that can move up to 180 degrees through left to right. Attached to the other end is the gripper that is also made up of a servo. 4.1) THE BASE The rotating base in the bottom part of the arm is powered by HS-985MG which is principally a large scale servo providing high torque to rotate the whole structure. The torque provided by this 5 AXIS ROBOTIC ARM ELECTRICAL ENGG|FINAL THESIS REPORT 22

Aug, 2008 Project Report

PROGRAMMABLE 5 AXIS ROBOTIC ARM

servo is 12.4 kg-cm. As compared to the 48.6 ounces/inch of the torque delivered from a standard size servo. This was chosen in order to give a free movement to the base. Furthermore, in order to stabilize the structure and for better weight distribution a ball type bearing was used. This allows the arm to give the arm a hustle free movement as well as a better weight distribution for lifting heavy loads. The dimensions of the base are 12x12 inches. To add stability to the base , the whole structure is mounted upon a heavy platform so as to give a better stability to the arm when working through a great deal of load

4.2 THE SHOULDER


After the base was fabricated, a shoulder joint was fabricated. The shoulder must provide three functions. It must anchor the rest of the arm to the arm mount , provide the desired range of arm motion, and provide a connector for the upper arm.

The shoulder is also housing the HS-805BB used for the upper arm actuation.

The dimension of the shoulder is 12x3 inches.

4.3) THE ELBOW


The upper arm must connect to the shoulder connector provide an elbow joint for which the lower arm will be connected. Since the upper arm needs to be stable and long enough to support the range of arm motion. The elbow must provide a connector for the lower arm as well as holding the electromechanical assembly used for the actuation of the lower arm. The servo housed in this is HS-805 BB

4.4) THE WRIST

5 AXIS ROBOTIC ARM

ELECTRICAL ENGG|FINAL THESIS REPORT

23

Aug, 2008 Project Report

PROGRAMMABLE 5 AXIS ROBOTIC ARM

The lower arm must connect to the shoulder connector and provide a wrist joint for the hand to attach to. The lower arm must be stable and also needs to be long enough to support the arms desired range of motion. The wrist must provide a connector for the hand and house the electromechanical the serve housed is HS-475 HB for the actuation of the hand the dimension 5x1.5 inches.

Fig 20 The Wrist 4.5) THE GRIPPER The function of this part of the robotic arm is to provide the grasping and holding function the motor used is HS 475-HB hitech RC servo the max work span is 2 inches. In between the gripper jaws is an abrasive material is placed so that it may grasp the objects properly.

5) HARDWARE IMPLEMENTATION 5.1) THE POWER SUPPLY MODULE All of the motors used in the construction of the robotic use a + 6 volts supply and the input Vcc of the controller is + 5 volts. Now in order to give this dual supply to the control circuitry , a transformation from 220 volts AC to positive 5 and positive 6 volts DC is required. Luckily, we found an adaptor from another device which has 12 volts DC supply. Now all we had to do was just to attach a rectifier and a filter circuit. The output of the filter circuit is connected to LM 7805 voltage regulator IC which gives us a positive five volts of supply and a maximum current of 1 Ampere. Since the controller requires a very little amount of current so no additional current boosting is required for the controller Vcc. 5 AXIS ROBOTIC ARM ELECTRICAL ENGG|FINAL THESIS REPORT 24

Aug, 2008 Project Report

PROGRAMMABLE 5 AXIS ROBOTIC ARM

To give the servos a positive six volts of supply, the output of the filter circuit is given to the TIP2955 current booster which is connected to a 5 watts dissipating resistor. Now the output of this TIP2955 is connected to input terminal of LM 7806 voltage regulator IC, In addition to this the current is limited to a maximum of 5 amperes by the use of a PNP Transistor BD140. Connected in parallel to the TIP2955. If the current exceeds the maximum limit of 5 amperes, the BD140 acts as a protection to the circuit and goes to the cut-off mode which eliminates power to theTIP2955. 5.2) THE PCB DESIGN SCHEMATICS AND DESIGN LAYOUT The whole circuitry and the controller circuit could have been fabricated upon Vero or Bred Board but because of the use of the heavy heat sinks and the large amount of current delivered by TIP2955 and consequently LM7806 IC, the use of a printed circuit board was necessary. So the whole schematic was designed on a PCB. The software that we used for the PCB layout is PCB WIZARD VERSION 4.7. The reason to choose PCB WIZARD for the design of the Printed circuit board is its elaborate features and ease of use. Following figures annexed is the PCB layout of the main control unit.

The PCB Design was then provided to M/S AARCO for fabrication. 5.3) CASED AND COMPLETED MODULE The final finishing of the circuit was to mount it to the whole structure where the LEDs that work in the Auto Mode are clearly visible. So it is placed upon the base of the robotic arm. Finally Heat sinks were attached to LM7805 that supplies to the controller, LM7806 that supply to the motors. The heat sinks that are connected LM7805 and LM7806 are small sized heat sinks while a huge heat sink is attached to TIP2955 for its proper functioning otherwise it would become very hot and consequently would have caused permanent damage to the circuitry.

The following figures show the huge size heat sink attach to the TIP2955 25

5 AXIS ROBOTIC ARM

ELECTRICAL ENGG|FINAL THESIS REPORT

Aug, 2008 Project Report

PROGRAMMABLE 5 AXIS ROBOTIC ARM

5.4) WORKING OF THE MAIN CONTROL UNIT The controller 89C51 is provided with a +ve 5 volts of supply at Vcc pin no. 31 st and 40th while the pin 20th is grounded. Now the port is programmed as the output port for the motors. Since we have used 5 motors the robotic arm assembly so 5 bits of port 2 are programmed as output ports ranging from 0th bit to 5th bit. The output signal at these ports are buffered through 74LS245 IC in order to boost the current. The pin no.s are ranging from 21 to 26 for the input of motor signals. Similarly the 0th port is programmed as an output signal when the robotic arm is used in the auto mode. The output is displayed as an LED signal. This is done by using the pins from 34 to 39. Note that all the LEDs are connected through the current limiting resistors. The clock pulse is provided at 18 th and 19th pin by using a 12MHz crystal oscillator and two 33pico Farads capacitors. The power on reset functionality is provided at the reset pin 9 which is grounded through a 8 k resistor connected in parallel with a 10 micro farad capacitor to the 5 volt supply. The circuit has a additional facility that it remembers the position of the motors where it was powered off although not functional but the hardware for this function is implemented. This has been achieved by programming the first 3 bits i-e 0 through 2 (Pin 1,2,3 of the controller) as the output signal to the EPROM 24C16 which has a supply of plus 5 volts and the output of the controller goes to the pin 7,6 and 5 respectively. While the pins 1,2,3,4 are grounded. An additional branch that comes through the power supply checks that whether the controller is giving signals to the motors or not. When the controller is not giving signals to the motors , this branch provides an input to the port 3, 2nd bit i-e pin no.12. This allows the controller to send the current position of the motors to the EPROM external memory which stores the position of the motors so that when the next time the circuit is powered , the position of the motors is pre-Loaded from the EPROM external memory and given to the motors. This allows the robotic arm to function exactly when the power was cut off. Although the hardware of this function is implemented but due to the shortage of time we code of the this fragment could not be completed.

6) PROGRAMMING IMPLEMENTATION The microprocessor is connected to a clock, which determines the operating frequency of the system, and a reset switch that starts the program from a reset location. Our system uses a clock of 11.0592 MHz, it is the basic clock for generating memory read/write cycles, baud rate for the serial port and the main clock of the internal timers. 5 AXIS ROBOTIC ARM ELECTRICAL ENGG|FINAL THESIS REPORT 26

Aug, 2008 Project Report

PROGRAMMABLE 5 AXIS ROBOTIC ARM

After the reset switch is depressed, the microprocessor first loads the content of a startup location from the startup ROM (0000H)

Fig 26Memory in a micropocessor The limited resources such as 2 Kbytes of Flash Memory, 128 bytes of RAM, forced us to use Assembly language. Assembly language is error prone and carries all sorts of problem sources in its structure. At this point we can write the program as if the restrictive structures of an object oriented programming language exists. 6.1) SERVO MOTOR CONTROL A Servo is a small device that has an output shaft. This shaft can be positioned to specific angular positions by sending the servo a coded signal. As long as the coded signal exists on the input line, the servo will maintain the angular position of the shaft. As the coded signal changes, the angular position of the shaft changes. In practice, servos are used in radio controlled airplanes to position control surfaces like the elevators and rudders. They are also used in radio controlled cars, puppets, and of course, robots. Servos are extremely useful in robotics. The motors are small, as you can see by the picture above, have built in control circuitry, and are extremely powerful for thier size. A standard servo such as 27 5 AXIS ELECTRICAL ENGG|FINAL THESIS REPORT ROBOTIC ARM

Aug, 2008 Project Report

PROGRAMMABLE 5 AXIS ROBOTIC ARM

the Futaba S-148 has 42 oz/inches of torque, which is pretty strong for its size. It also draws power proportional to the mechanical load. A lightly loaded servo, therefore, doesn't consume much energy. The guts of a servo motor are shown in the picture below. You can see the control circuitry, the motor, a set of gears, and the case. You can also see the 3 wires that connect to the outside world. One is for power (+5volts), ground, and the white wire is the control wire. The servo motor has some control circuits and a potentiometer (a variable resistor, aka pot) that is connected to the output shaft. In the picture above, the pot can be seen on the right side of the circuit board. This pot allows the control circuitry to monitor the current angle of the servo motor. If the shaft is at the correct angle, then the motor shuts off. If the circuit finds that the angle is not correct, it will turn the motor the correct direction until the angle is correct. The output shaft of the servo is capable of travelling somewhere around 180 degrees. Usually, its somewhere in the 210 degree range, but it varies by manufacturer. A normal servo is used to control an angular motion of between 0 and 180 degrees. A normal servo is mechanically not capable of turning any farther due to a mechanical stop built on to the main output gear. The amount of power applied to the motor is proportional to the distance it needs to travel. So, if the shaft needs to turn a large distance, the motor will run at full speed. If it needs to turn only a small amount, the motor will run at a slower speed. This is called proportional control. The control wire is used to communicate the angle. The angle is determined by the duration of a pulse that is applied to the control wire. This is called Pulse Coded Modulation. The servo expects to see a pulse every 20 milliseconds (.02 seconds). The length of the pulse will determine how far the motor turns. A 1.5 millisecond pulse, for example, will make the motor turn to the 90 degree position (often called the neutral position). If the pulse is shorter than 1.5 ms, then the motor will turn the shaft to closer to 0 degress. If the pulse is longer than 1.5ms, the shaft turns closer to 180 degress.

5 AXIS ROBOTIC ARM

ELECTRICAL ENGG|FINAL THESIS REPORT

28

Aug, 2008 Project Report

PROGRAMMABLE 5 AXIS ROBOTIC ARM

Fig 29 Pulse Width Modulation As you can see in the picture, the duration of the pulse dictates the angle of the output shaft (shown as the green circle with the arrow). Note that the times here are illustrative, and the actual timings depend on the motor manufacturer. The principle, however, is the same. 6.2) HOW RC SERVO MOTOR WORKS A servo motor consists of several main parts, the motor and gearbox, a position sensor, an error amplifier and motor driver and a circuit to decode the requested position. Figure 1 contains a block diagram of a typical servo motor unit. The radio control receiver system (or other controller) generates a pulse of varying length approximately every 20 milliseconds. The pulse is normally between 1 and 2 milliseconds long. The length of the pulse is used by the servo to determine the position it should rotate to. Starting from the control pulse we will work though each part of the diagram and explain how it all fits together. Once we have gone through how the servo works we will investigate how the control pulses can be generated with a microcontroller. Pulse width to voltage converter The control pulse is feed to a pulse width to voltage converter. This circuit charges a capacitor at a constant rate while the pulse is high. When the pulse goes low the charge on the capacitor is fed to 5 AXIS ROBOTIC ARM ELECTRICAL ENGG|FINAL THESIS REPORT 29

Aug, 2008 Project Report

PROGRAMMABLE 5 AXIS ROBOTIC ARM

the output via a suitable buffer amplifier. This essentially produces a voltage related to the length of the applied pulse. The circuit is tuned to produce a useful voltage over a 1ms to 2ms period. The output voltage is buffered and so does not decay significantly between control pulses so the length of time between pulses is not critical.

Position Sensor The current rotational position of the servo motor output shaft is read by a sensor. This is normally a potentiometer (variable resistor) which produces a voltage that is related to the absolute angle of the output shaft. The position sensor then feeds its current value into the Error Amplifier which compares the current position with the commanded position from the pulse width to voltage converter. Error Amplifier The error amplifier is an operational amplifier with negative feedback. It will always try to minimise the difference between the inverting (negative) and non-inverting (positive) inputs by driving its output is the correct direction. The output of the error amplifier is either a negative or positive voltage representing the difference between its inputs. The greater the difference the greater the voltage. The error amplifier output is used to drive the motor; If it is positive the motor will turn in one direction, if negative the other. This allows the error amplifier to reduce the difference between its inputs (thus closing the negative feedback loop) and so make the servo go to the commanded position. 6.3) CONTROLLER OF A SERVO MOTOR These are some schematics of Servo Motor controller.

5 AXIS ROBOTIC ARM

ELECTRICAL ENGG|FINAL THESIS REPORT

30

Aug, 2008 Project Report

PROGRAMMABLE 5 AXIS ROBOTIC ARM

6.4) THE SERIAL INTERFACING The serial interfacing was done so as to communicate with the hardware by means of Hyper Terminal. In order to put this to reality, the zero and 1 st bit of port 3 was programmed as RX and TX respectively. Now to convert the signal to positive 5 volts a converter named MAX232 is used in such a manner that the port Tenth and Eleventh i-e RX and TX are connected to the input Eleventh and Twelfth of the MAX 232. Now the MAX 232 takes a positive five volts supply and converts the signal as provided by the controller to logic level of plus five volts. The output of the MAX 232 converter is taken from the 13 th and the 14 th pin and is connected to the DB9 male socket. The pins used are 3 and 2 for RX and TX respectively while the pin 5 is at the ground level. Only these are the pins used while the rest are dummy. It must be kept in mind that the capacitors connected to pins 1,3 2,6 and 4,5 are arranged in such a manner so that the pin 13 th and 14 th gives an output of 5 volts. All the capacitors used are standard type 10uF/50V. 6.5) THE HYPER-TERMINAL INTERFACE HyperTerminal is a program that you can use to connect to other computers, Telnet sites, bulletin board systems (BBSs), online services, and host computers, using either your modem or a null modem cable: HyperTerminal overview HyperTerminal is a program that you can use to connect to other computers, Telnet sites, bulletin board systems (BBSs), online services, and host computers, using either your modem, a null modem cable or Ethernet connection. Though using HyperTerminal with a BBS to access information on remote computers is a practice that has become less common with the availability of the World Wide Web, HyperTerminal is still a useful means of configuring and testing your modem or examining your connection with other sites. HyperTerminal records the messages passed to and from the computer or service on the other end of your connection. Therefore, it can serve as a valuable troubleshooting tool when setting up and using your modem. To make sure that your modem is connected properly or to view your modem's settings, you can send commands through HyperTerminal and check the results. HyperTerminal has scroll functionality that allows you to look at received text that has scrolled off the screen. 5 AXIS ROBOTIC ARM ELECTRICAL ENGG|FINAL THESIS REPORT 31

Aug, 2008 Project Report

PROGRAMMABLE 5 AXIS ROBOTIC ARM

You can use HyperTerminal to transfer large files from a computer onto your portable computer using a serial port rather than going through the process of setting your portable computer up on a network. You can use HyperTerminal to help debug source code from a remote terminal. You can also use HyperTerminal to communicate with older character-based computers. HyperTerminal is designed to be an easy-to-use tool and not meant to replace other full feature tools available on the market. You can use HyperTerminal to perform the specific tasks described above, but you should not attempt to use HyperTerminal for more complex communication needs. Understanding HyperTerminal connections You can create and save multiple connections within HyperTerminal. Each connection can have its own unique configuration, including phone number and port settings such as bits per second (bps) and parity checks. As part of the connection configuration, HyperTerminal also allows your computer to emulate a variety of terminal types, such as TTY terminals. The connection that is currently open within HyperTerminal is displayed on the HyperTerminal window's title bar. You can only have one connection open per each HyperTerminal session. You can, however, start multiple HyperTerminal sessions, opening a new connection for each session, provided each connection uses a different communication port. When you first open HyperTerminal, you will be prompted to decide if you want HyperTerminal to be your default telnet client. You also will be able to choose not to see this dialog box again. If you choose to not see the dialog box again, but later do want to change your setting regarding using HyperTerminal as your default telnet client.. HyperTerminal can not automatically provide your login ID and password when you make a connection. Understanding HyperTerminal file transfers You can use HyperTerminal to send and receive text and data files to a remote computer. The status of the transfer is displayed in the HyperTerminal window during the transfer. You can also capture the status of a transferred file and send the information directly to a printer.

5 AXIS ROBOTIC ARM

ELECTRICAL ENGG|FINAL THESIS REPORT

32

Aug, 2008 Project Report

PROGRAMMABLE 5 AXIS ROBOTIC ARM

You cannot change the size of the Hyperterminal window in order to view more or less text than what is currently displayed.

5 AXIS ROBOTIC ARM

ELECTRICAL ENGG|FINAL THESIS REPORT

33

Aug, 2008 Project Report

PROGRAMMABLE 5 AXIS ROBOTIC ARM

7) OPERATION MODES OF THE ROBOTIC ARM The programming of the robotic arm in such a manner that it can carry out its operations in the following two modes 1. Auto Mode 2. Manual Mode In order to carry out the demonstration, we have programmed the controller in such a manner that it can carry out the following two functions in its Auto Mode: 1. Fixture Stacking of the blocks 2. Placement of the blocks sequentially The manual mode on the other hand , directly controls the robotic arm through the defined of the keyboard. 7.1) AUTO-MODE In its Auto mode, it performs the two functions described in the later text. It is to note that the controller is programmed in such a way to perform these functions and cannot be altered unless it is re-programmed to perform a different set of tasks.

FIXTURE STACKING To demonstrate the accuracy of the robotic arm, we have carried out a very complex demonstration using a set of five blocks. The accuracy required to carry out this demonstration is very high because the fitting of the blocks do not allow more than a space of half a millimeter so our robotic arm must be accurate enough to place the blocks within this range. Initially the robotic arm powers up from its initial position. A set of five blocks which are already stacked upon each other are placed at a measured distance from the base of the robotic arm. Now the controller is programmed to lift up the blocks one by one and place it to another position which is also fixed. It then again returns to the initial position, bends down some more to grasp the next block and again fixed it upon the previously placed block and keeps on performing the function of grasping, moving placing until the five set of blocks is not finished. We have also provided the functionality that it can perform the formally mentioned procedure in the exactly reversed order 34 5 AXIS ELECTRICAL ENGG|FINAL THESIS REPORT ROBOTIC ARM

Aug, 2008 Project Report

PROGRAMMABLE 5 AXIS ROBOTIC ARM

PLACEMENT OF OBJECTS SEQUENTIALLY


Now this demonstration shows that the robotic arm can place randomly lying blocks in a sequential manner. In order to demonstrate this there are a set of four blocks that are placed in a fixed workspace. The robotic arm carries out the function that it picks up the block one by one and places them up in a new sequence as programmed into the controller. 7.2) MANUAL CONTROL MODE In the manual control mode one can control the robotic arm through a set of define keys as programmed into the controller. Now the keys that are selected are number keys through 1 to 0. Each motor has a rotating span of 180 degrees through which it can revolve but doing so will damage the structure of the robotic arm in order to avoid such condition we have limited the span to 160 degrees so that it may not cause any damage to the structure of the arm. Each motor is assigned the values from 1 to 250 so the span of 160 degrees is calibrated into aprox. 250 values. Each servo is assigned with two keys for increment and decrement of the values of the rotation. Pressing each key once will increase the value of the rotation by 1 and decreasing by pressing the decrement key by the value of one in the similar fashion. Long pressing the key will keep on incrementing or decrementing the value subsequently. So following are the keys assigned to each servo: For rotating Base For rotating Shoulder For rotating Elbow For rotating Wrist For rotating Gripper Keys 1 and 2. Keys 3 and 4. Keys 5 and 6. Keys 7 and 8. Keys 9 and 0.

By using each of the above mentioned Key combinations one can perform any function as per requirement.

5 AXIS ROBOTIC ARM

ELECTRICAL ENGG|FINAL THESIS REPORT

35

Aug, 2008 Project Report

PROGRAMMABLE 5 AXIS ROBOTIC ARM

7.3) DIFFICULTIES ENCOUNTERED We faced a lot of difficulties in the completion of this project. Following are some major problems we encountered: First Problem was to find suitable servo motors which are compatible with the structure of the arm. Main features for a servo motor to be compatible with a robotic arm are that it should be light weight and small in size with a very high torque and accuracy so that we can control the arm as we like. Now in Pakistan, it is very difficult to find a variety of servos to choose according to your choice. So we first went to all scrap markets but we couldnt find suitable servos there so we had to choose RC servos which are used in Hobby planes and cars. While making the mechanical structure, the main problem was to use a suitable material for the structure of the arm. As PVC is light weight, reliable and cheap, so we preferred it. In designing of the mechanical structure, the problem was weight of the arm. As we use RC servo motors which do not provide much torque to lift the arm , so we had to use the Clamped Springs in the Elbow and Shoulder joint and Ball-Bearing in the Base. Still the Arm was very heavy, so we made it Hollow from inside to make it light weight. In controlling the robotic arm, main problem was the servo motors itself. We had to find a suitable timing of PWM in order to ensure the smooth response of the motor. Then we had to make sure that the speed of the servos is not very high (Naturally they are very high speed motors) because if operated at high speed, the structure is very unstable. In the auto mode of the arm, we use the blocks which are fixed over another up to a millimeter of precision. So the whole arm structure is very much accurate and precise. In order to ensure that, the block which is to be placed on the other must be exactly at the position specified to it. Even a millimeter of error, can cause problems in the stacking operation and it could not be performed. 1. 2.

5 AXIS ROBOTIC ARM

ELECTRICAL ENGG|FINAL THESIS REPORT

36

Aug, 2008 Project Report

PROGRAMMABLE 5 AXIS ROBOTIC ARM 3.

8) COMPLETE BLOCK DIAGRAM OF THE PROJECT Complete Overview of the project in terms of block diagram is given below:

Appendix B List Of Components Power Supply Circuit Linear Power Supply (Make Kenwood) 220 V AC ~ 12 V DC Bridge Rectifier Two 2200 Micro-Farads capacitors Voltage Regulator LM 7805 (To supply 5 V DC to controller) Voltage Regulator LM 7806 (To supply 6 V DC to motors) Current Booster TIP 2955 (To boost current for motors at 6 V) Current Limiting transistor BD 140 (To Limit current to 5 Amperes for Motors) Three Heat Sinks with each of the Voltage Regulator One 0.22 ohms 5 watts resistor (To limit current

Logic Circuit Atmel 89C51 Microcontroller ELECTRICAL ENGG|FINAL THESIS REPORT 37

5 AXIS ROBOTIC ARM

Aug, 2008 Project Report

PROGRAMMABLE 5 AXIS ROBOTIC ARM

Buffer 74LS245 (To boost signal from the controller) Five 680 ohms resistors (To limit current for LEDs) Crystal Oscillator 12 MHz (To generate clockpulse) Two 33 Pico-Farads capacitors (To block DC in clock pulse)

Interfacing circuit IC MAX 232 (To convert Logic levels from controller to PC and vice versa) Four 10 micro Farads capacitors (To make specific configuration of IC) Male Connector DB 4

Memory Circuit (For power failure) EPROM 24C16 (To store the motor values on power failure) 10 Microfarads capacitors, Two resistors 470 ohms and 1000 ohms, and 4.7volts zener diode (To detect power failure).

Power on Reset Circuit One 10 microfaradscapacitor One 8.2 Kilo Ohms resisto

5 AXIS ROBOTIC ARM

ELECTRICAL ENGG|FINAL THESIS REPORT

38

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy