Introduction Robotics is a fascinating subject – more so, if you have to fabricate a robot yourself. The field of robotics encompasses a number of engineering disciplines such as electronics, structural, mechanical and pneumatics. The structural part involves use of frames, beams, linkages, axles, etc. The mechanical parts/accessories comprise various types of gears (spurs, crowns, bevels, worms and differential gear systems), pulleys and belts, drive systems (differentials, castors, wheels and steering), etc.
Pneumatics plays a vital role in generating specific pushing and pulling movements such as those simulating arms or leg movements. Pneumatic grippers are also used with advantage in robotics because of their simplicity and cost-effectiveness. The electrical items include DC and stepper motors, actuators, electrical grips, clutches and their control. The electronics part involves remote control, sensors (touch sensor, light sensor, collision sensor, etc), their interface circuitry and a microcontroller for overall control function. 1. 1 The Project What we present here is an elementary robot used for fork lifting that finds its way by itself.
The robot is programmed with a predefined path and its movements are observed accordingly. The proposed robot can move in forward, backward, left and right directions and can be used to serve fork lifting purpose as well. Forklift robots are frequently applied in automated logistics systems to optimize the transportation tasks and, consequently, to reduce costs. Nowadays, in a scenario of extremely fast technological development and constant search for costs minimization, the automation of logistic process is essential to improve the productivity and reduce costs.
In order to decrease costs of logistics and distribution of goods, it is quite common to find in developed countries mechatronic systems performing several tasks in harbor, warehouses, storages and products distribution center. Therefore, research in this topic is considered strategic to ensure a greater insertion of the individual countries in the international trade scenario. In this application, the vehicle routing decision is one of the main issues to be solved. It is important to emphasize that its productivity is highly dependent on the adopted routing scheme.
Consequently, it is essential to use efficient routes schemes. Here we proposes an algorithm that produces optimal routes for AGVs (Automated Guided Vehicles) working inside warehouse as forklift robots. The algorithm was conceived to deal with different real situations, such as the need of conflict-free paths and the presence of obstacles. In the routing algorithm each AGV executes the task starting in an initial position and orientation and moving to a pre-established position and orientation, generating a minimum path. This path is a continuous sequence of positions and orientations of the AGVs.
The programming of the microcontroller is done in embedded C using keil software. Programming intelligence into a robot (or computer) is a difficult task and one that has not been very successful to date even when supercomputers are used. This is not to say that robots cannot be programmed to perform very useful, detailed, and difficult tasks; they are. Some tasks are impossible for humans to perform quickly and productively. For instance, imagine trying to solder 28 filament wires to a 1/4in square sliver of silicon in 2 s to make an integrated circuit chip.
It’s not very likely that a human would be able to accomplish this task without a machine. But machine task performance, as impressive as it is, isn’t intelligence. In the industry carriers are required to carry products from one manufacturing plant to another which are usually in different buildings or separate blocks. Conventionally, carts or trucks were used with human drivers. Unreliability and inefficiency in this part of the assembly line formed the weakest link. The project is to automate this sector. 1. 2 Objective of the Project * The robot should be capable of taking various degrees of turns. The robot must be insensitive to environmental factors such as light and noise. * The robot must be reliable. * Scalability must be a primary concern in the design. 1. 3 Applications * Industrial automated equipment carriers. * Entertainment and small household applications. * Automated cars. * Tour guides in museums and other similar applications. * Second wave robotic reconnaissance operations. 1. 4 Limitations * Calibration is difficult, and it is not easy to set a perfect value. * Few curves are not made efficiently, and must be avoided. * Lack of a four wheel drive, makes it not suitable for a rough terrain. Lack of speed control makes the robot unstable at times. Ch-2 Circuit Description 2. 1 Circuit Diagram Fig 2. 1 The circuit consists of 8051 microcontroller with L293D half H-Bridge drivers and lift sensor (proximity sensor) interfaced to it. There are dc motors and lift motor (which itself also is a dc motor) connected to H-bridge motor driver L293D. 2. 2 Operation The robot starts its operation by first lifting up the object from the initial point of start. The lift motor continues to rotate until the lift up sensor is set high. As soon as the sensor reads a high signal the robot stats its motion.
The path is predefined to the robot via programming. The robot firstly moves in the forward direction for about 30 sec then it takes a right turn. After turning right it continues its movement in this direction for about 20 sec. Then it takes a left turn and continues its motion further for 20 sec. After that it releases the up lifted object and then starts its reverse movement to reach its point of start from where it had started its action i. e. now the motors are rotated in reverse direction than previous. The robotic action is aborted after it reaches its final destination. 2. 3 List of Components
Sr. No. | Component| 1| Microcontroller 8051| 2| DC motors| 3| Proximity Sensor| 4| L293D Quadruple Half-H Driver| 5| 7805 Voltage Regulator| 6| 9V DC Battery| 7| 12 MHz Crystal Oscillator| 8| Resistor(10k ohm)| 9| Capacitors(1000uf, 1uF, 33 pf)| 10| On/Off Switch| 11| Printed Circuit Board| Table 2. 1 2. 4 Description of Components 1. Microcontroller 8051 “A microcontroller is a computer-on-a-chip optimized to control electronic devices”. It is a type of microprocessor emphasizing self-sufficiency and Cost-effectiveness, in contrast to a general-purpose microprocessor, the kind used in a PC.
A typical microcontroller contains all the memory and I/O interfaces needed, whereas a general purpose microprocessor requires additional chips to provide these necessary functions . Fig 2. 2 Microcontroller are system on chip, they have ALU, RAM, ROM, GPIO, TIMERS on the single chip so, circuit made by microcontroller will be smaller in size, compact and hence cheaper. Features: * 8-Bit CPU Optimized for Control Applications * Extensive Boolean Processing Capabilities (Single-Bit Logic) * On-Chip Flash Program Memory up to 64 KB (89V51RD family from NXP) * On-Chip Data RAM 2 KB Bidirectional and Individually Addressable I/O Lines * Two 16-Bit Timer/Counters * Full Duplex UART for serial communication * Five Interrupts (2 External and 3 Internal) * MUL and DIV instruction * ISP Programming * External Memory 64K [16 Address Lines and 8 Data Lines] * Package : 40 Pin DIP * Operating Voltage : 4V to 5. 5V * Programming Voltage: 12V * Operating Frequency : 0 to 40MHz Block Diagram: Fig 2. 3 PIN Diagram: Fig 2. 4 2. L293D The L293 and L293D are quadruple high-current half-H drivers. The L293 is designed to provide bidirectional drive currents of up to 1 A at voltages from 4. V to 36 V. The L293D is designed to provide bidirectional drive currents of up to 600-mA at voltages from 4. 5 V to 36 V. Both devices are designed to drive inductive loads such as relays, solenoids, dc and bipolar stepping motors, as well as other high-current/high-voltage loads in positive-supply applications. All inputs are TTL compatible. Each output is a complete totem-pole drive circuit, with a Darlington transistor sink and a pseudo-Darlington source. Drivers are enabled in pairs, with drivers 1 and 2 enabled by 1,2EN and drivers 3 and 4 enabled by 3,4EN.
When enable input is high, the associated drivers are enabled and their outputs are active and in phase with their inputs. When the enable input is low, those drivers are disabled and their outputs are off and in the high-impedance state. With the proper data inputs, each pair of drivers forms a full-H (or bridge) reversible drive suitable for solenoid or motor applications. On the L293, external high-speed output clamp diodes should be used for inductive transient suppression. A VCC1 terminal, separate from VCC2, is provided for the logic inputs to minimize device power dissipation. The L293and L293D are haracterized for operation from 0°C to 70°C. Pin Diagram: Fig 2. 5 Block Diagram: Fig 2. 6 Function Table: Inputs| Outputs| A En| Y| H H| H| L H| L| X L| Z| H= high level, L=low level, X=irrelevant, Z= high impedance(off) 3. DC Motors DC motors are widely used, inexpensive, small and powerful for their size. Reduction gearboxes are often required to reduce the speed and increase the torque output of the motor. Unfortunately more sophisticated control algorithms are required to achieve accurate control over the axial rotation of these motors.
Although recent developments in stepper motor technologies have come a long way, the benefits offered by smooth control and high levels of acceleration with DC motors far outweigh any disadvantages. Several characteristics are important when selecting DC motors and these can be split into two specific categories. The first category is associated with the input ratings of the motor and specifies its electrical requirements, like operating voltage and current. The second category is related to the motor’s output characteristics and specifies the physical limitations of the motor in terms of speed, torque and power.
Example Specifications of the motors used are given below: Characteristic| Value| Operating Voltage| 6V to 12V| Operating Current | 2A Max. (Stall)| Speed| 2400 rpm Max. | Torque| 30 gm-cm| Table 2. 2 As noticed, the torque provided can hardly move 30gm of weight around with wheel diameter of about 2cm. This is a fairly a huge drawback as the robot could easily weigh about a kg. This is accomplished by gears which reduce the speed (2400 rpm is highly impractical) and effectively increase the torque. If the speed is reduced by using a gear system by a factor of ? then the torque is increased by the same factor.
For example, if the speed is reduced from 2400 rpm, to 30 rpm, then the torque is increased by a factor of (2400/30 = 80) in other words the torque becomes 30 80 2400 gm-cm or 2. 4 kg-cm which is more than sufficient. 4. Proximity Sensor Proximity sensors are the most common and affordable solution for no-touch object detection. The most commonly-used proximity sensor is the inductive type, which generates an electromagnetic field to sense metal objects passing close to its face. This is usually the easiest sensing technology to apply in applications where the metal object to be detected is within an inch or two of the sensor face.
Contacting proximity sensors SME consist of a reed switch whose contacts close when a magnetic field approaches, thus generating a switching signal. Proximity sensors SME are used mainly in applications where it is necessary to switch high load currents (e. g. for the direct control of electrical consuming devices). In applications involving large capacitive loads or long cable lengths (over approx. 7. 5 m), a protective circuit (_1 / 10. 2-3) must be provided. 5. 7805 Voltage Regulator A voltage regulator is designed to automatically maintain a constant voltage level.
A voltage regulator may be a simple “feed-forward” design or may include negative feedback control loops. It may use an electromechanical mechanism, or electronic components. Depending on the design, it may be used to regulate one or more AC or DC voltages. Electronic voltage regulators are found in devices such as computer power supplies where they stabilize the DC voltages used by the processor and other elements. In automobile alternators and central power station generator plants, voltage regulators control the output of the plant.
In an electric power distribution system, voltage regulators may be installed at a substation or along distribution lines so that all customers receive steady voltage independent of how much power is drawn from the line. 7805 Voltage Regulator gives a constant voltage supply of positive 5V. It is a three pin IC. First pin is for input power supply, second is grounded and third is for output. Fig 2. 7 6. 12 MHz Crystal Oscillator A crystal oscillator is an electronic oscillator circuit that uses the mechanical resonance of a vibrating crystal of piezoelectric material to create an electrical signal with a very precise frequency.
This frequency is commonly used to keep track of time (as in quartz wristwatches), to provide a stable clock signal for digital integrated circuits, and to stabilize frequencies for radio transmitters and receivers. The most common type of piezoelectric resonator used is the quartz crystal, but other piezoelectric materials including polycrystaline ceramics are used in similar circuits. Quartz crystals are manufactured for frequencies from a few tens of kilohertz to tens of megahertz. More than two billion crystals are manufactured annually. Most are used for consumer devices such as wristwatches, clocks, radios, computers, and cellphones.
Quartz crystals are also found inside test and measurement equipment, such as counters, signal generators, and oscilloscopes. Here we have used a crystal oscillator of 12Mhz frequency to be connected to the 18 and 19 pins of microcontroller. Fig 2. 8 7. Resistors The electrical resistance of an electrical element is the opposition to the passage of an electric current through that element; the inverse quantity is electrical conductance, the ease at which an electric current passes. Electrical resistance shares some conceptual parallels with the mechanical notion of friction. The SI unit of electrical resistance is the ohm (? , while electrical conductance is measured in siemens (S). An object of uniform cross section has a resistance proportional to its resistivity and length and inversely proportional to its cross-sectional area. All materials show some resistance, except for superconductors, which have a resistance of zero. The resistance (R) of an object is defined as the ratio of voltage across it (V) to current through it (I), while the conductance (G) is the inverse: Resistor used here is of 10 kohm. 8. Capacitors A capacitor (originally known as condenser) is a passive two-terminal electrical component used to store energy in an electric field.
The forms of practical capacitors vary widely, but all contain at least two electrical conductors separated by a dielectric (insulator); for example, one common construction consists of metal foils separated by a thin layer of insulating film. Capacitors are widely used as parts of electrical circuits in many common electrical devices. When there is a potential difference (voltage) across the conductors, a static electric field develops across the dielectric, causing positive charge to collect on one plate and negative charge on the other plate. Energy is stored in the electrostatic field.
An ideal capacitor is characterized by a single constant value, capacitance, measured in farads. This is the ratio of the electric charge on each conductor to the potential difference between them. Capacitors used here are of capacity 1000uf, 1uF, 33pF. 9. 9V DC Battery 9V battery is used as the source of power supply. 10. On/Off Switch An on/off switch is used here to switch on and off the power supply. 11. Printed Circuit Board A general purpose printed circuit board (PCB) has been used. 2. 5 Software Used: Keil uVision 4 The software used for programming 8051 is Keil uVision4. µVision4 is fully compatible with exisiting µVision3 projects.
To load existing projects: 1. Select Project – Open Project. 2. Change the file filter in the Select Project File dialog to Previous Project Files (*. uv2; *. uv3; *. mpw). 3. Select the project to load. µVision4 is an IDE (Integrated Development Environment) that helps you write, compile, and debug embedded programs. It encapsulates the following components: * Multiple Monitor – flexible window management system. * System Viewer – display device peripheral register information. * Debug Views – create and save multiple debug window layouts. * Multi-Project Workspace – simplify working with numerous projects. Source and Disassembly Linking – the Disassembly Window and Source Windows are fully synchronized making program debugging and cursor navigation easier. * Memory Window Freeze – store the current Memory Window view allowing easy comparison of memory contents at different points in time. * Device Simulation has been updated to support many new devices such as Infineon XC88x, SiLABS C8051Fxx, Atmel SAM7/9, and Cortex-M3 MCUs from Luminary, NXP, and Toshiba. * Support for Hardware debug adapters added including ADI miDAS-Link, Atmel SAM-ICE, Infineon DAS, and ST-Link. * New Data and Instruction Trace capabilities for ARM and Cortex MCUs. XML based Project Files – create, view and modify projects as easily readable XML text files. * Serial Window – extended to provide a basic VT-100 terminal, ASCII Mode, Mixed Mode, and Hex Mode views. * Watchpoints and Logic Analyzer variables are now easier to set. Ch-3 Coding The coding of the project is in C language and it is as follows: #include<REG51. h> sbit pm1 = P2^0; sbit nm1 = P2^1; sbit pm2 = P2^2; sbit nm2 = P2^3; sbit pm3 = P2^4; sbit nm3 = P2^5; sbit ps = P3^0; sbit LED1 = P0^5 ; sbit LED2 = P0^6 ; // forward movement void fwd_mtr() { pm1 = 1; nm1 = 0; pm2 = 1; nm2 = 0; } //reverse movement oid rev_mtr() { pm1 = 0; nm1 = 1; pm2 = 0; nm2 = 1; } //lift motors void liftup() { pm3 = 0; nm3 = 1; } void liftdown() { pm3= 1; nm3 = 0; } void liftoff() { pm3= 0; nm3 = 0; } void alloff() { pm1 = 0; nm1 = 0 ; pm2 = 0; nm2 = 0 ; } // forward right void right() { pm2 = 1; nm2 = 0; } // forward left void left() { pm1 = 1; nm1 = 0; } //reverse right void rr() { pm1 = 0; nm1 = 1; } // reverse left void rl() { pm2 = 0; nm2 = 1; } void delay(unsigned char k) { unsigned int a,b; for(a=0;a<=k;a++) for(b=0;b<=1000;b++); } void main() { ps =1 ; liftoff(); alloff() ; while(1) { if(ps==1) { liftup() ; } if(ps==0) liftoff(); fwd_mtr() ; delay(500) ; alloff(); right() ; delay(200) ; alloff(); fwd_mtr() ; delay(200) ; alloff(); left() ; delay(200) ; alloff(); fwd_mtr() ; delay(200) ; alloff(); liftdown() ; delay(200); alloff(); rev_mtr(); delay(200); alloff(); rl(); delay(200); alloff(); rev_mtr(); delay(200); alloff(); rr(); delay(200); alloff(); rev_mtr(); delay(500) ; alloff(); while(1); //Stay Here Always } }while(1);} Ch-4 Snapshots 4. 1 Components: Fig 4. 1 4. 2 Chasis and Tyres: Fig 4. 2 4. 3 Components on PCB: Fig 4. 3 4. 4 The Robot: Fig 4. 4 4. 5 Tools Used: Fig 4. 5 4. 6 Keil Screenshots 4. 6. Opening a New Project Fig 4. 6 4. 6. 2 Saving a file Fig 4. 7 4. 6. 3 C program saved and added Fig 4. 8 4. 6. 4 Hex file generation Fig 4. 9 . Ch-5 Installation Steps 1. Firstly a toy car was bought and used to serve the purpose of chasis and tyres. 2. Then the components were soldered on the pcb. 3. Then motors were connected to chasis and tyres and finally were connected to the l293d. 4. Then a door handle and a rubber band were used for lift mechanism. 5. Proximity sensor and a dc motor were attached on the handle. 6. The rubber band was used as a belt to lift object up. 7. Then the whole unit was assembled into one. 8.
Then the program was written in keil uVision4. 9. Then its hex file was burnt into the microcontroller. 10. Now the robot is ready for use. Ch-6 Conclusion The forklift robot was tested performing two tasks simulating the load and unload of products, all of them leaving their depots and coming back after finishing their tasks. The robot is defined its path previously and it covers its path accordingly. It can have various applications in industry reducing manforce and physical labour. In the industry carriers are required to carry products from one manufacturing plant to another which are usually in different buildings or separate blocks.
Conventionally, carts or trucks were used with human drivers. Unreliability and inefficiency in this part of the assembly line formed the weakest link. The project is to automate this sector. Hence this project can prove to be productive at industrial level. Appendix A) 7805 Voltage Regulator Datasheet: FEATURES: – OUTPUT CURRENT IN EXCESS OF 1A; – NO EXTERNAL COMPONENTS REQUIRED; – INTERNAL SHORT CIRCUIT CURRENT LIMITING; – INTERNAL THERMAL OVERLOAD PROTECTION; – OUTPUT TRANSISTOR SAFE-AREA COMPENSATION; – OUTPUT VOLTAGE OFFERED IN 4% TOLERANCE. B) L293D Datasheet C) AT89S52 Datasheet 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 • Three-level Program Memory Lock • 256 x 8-bit Internal RAM • 32 Programmable I/O Lines • Three 16-bit Timer/Counters • Eight Interrupt Sources • 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 Description The AT89S52 is a low-power, high-performance CMOS 8-bit microcontroller with 8K bytes of in-system programmable Flash memory.
The device is manufactured using Atmel’s high-density nonvolatile memory technology and is compatible with the industry- standard 80C51 instruction set and pinout. The on-chip Flash allows the program memory to be reprogrammed in-system or by a conventional nonvolatile memory programmer. By combining a versatile 8-bit CPU with in-system programmable Flash on a monolithic chip, the Atmel AT89S52 is a powerful microcontroller which provides a highly-flexible and cost-effective solution to many embedded control applications.
The AT89S52 provides the following standard features: 8K bytes of Flash, 256 bytes of RAM, 32 I/O lines, Watchdog timer, two data pointers, three 16-bit timer/counters, a six-vector two-level 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. Flash Programming and Verification Waveforms – Serial Mode Serial Programming Instruction Set Serial Programming Characteristics + References * www. 8051projects. net * www. engineersproject. com * Ali Mazidi, Muhammad “8051 Microcontroller and Embedded Systems”. * www. wikipedia. org * www. datasheets. com