Anti-Terrorist Vehicle
CHAPTER
- 1
INTRODUCTION
A robot is defined as
“re-programmable multi-functional manipulator”. In simple words, it is a
mechanical which consists of sensing and executing organs, controlled by an
electronic “brain” that can perform a number of operations independently
within a confined space. The robot movements are controlled by a computer and future movements can be stored in micro
controller, and thus its job assignments can be changed by reprogramming micro controller.
A computer controls the robot movements, and thus
reprogramming can change its job assignments. The robot described
here has a Pick-n-Place job and its movements are controlled by
computer. The main future of this robotic
system is that, this system adopts
a wireless radio-link between
the controller i.e., computer and
the micro controller resided inside the Robot.
Here all the command signals from the computer are conveyed to the remotely located robot with the aid of IR communication. The commands
received from the computer are
verified by micro controller and finds
suitable then only executes them.
Robots today are being employed to
release man from heavy, tedious,
monotonous work like pick and placing objects or to work under conditions where
human beings cannot function effectively.
This project demonstrates the operation of a pick-n-place arm, which is
capable of picking object and place in
intended place without any human
intervention. This Robotic arm is
very useful in factory or large
industries where mass production is taking place and pick-n-placing the product is a major headache.
In brief : The ‘Remote Controlled
Robotic Model Robotic Gripper’ project
has two parts: Transmitter and Receiver.
The transmitter part consists of computer and software
module, interface module and RC5
transmitter. The commands are sent by the user through computer
and the intended software. These commands are in RC5 (recommended code) from, and are
transmitted to the robotic arm through Infra-Red packets.
The receiver part receives the RC5
coded signals and fed to PIC micro controller chip. This micro-controller decodes
RC5 codes back to original commands
and executes them as needed.
Here the decoded signals are properly
routed using switching circuit.
The output of the switching
circuit controls the movement of
the Robotic Arm. If the command says to
run Right/Left or move Up/Down it does
so by activating the respective motor
and thus fulfilling the need. The receiver part thus has three motors up and down movement, Left/Right turn, and last one for
Gripper.
The project works in two modes, Auto
and Manual. In auto mode, one can program the schedule of Robotics arms
movement and move it accordingly. In
manual mode user can interact with the robotic arm in real time and move
it according to his need.
CHAPTER
- 2
RECENT DEVELOPMENT
Robotic systems have developed much beyond the first deaf, blind and
dumb generation of robots
used in the industrial floor in the early days. Robots developed today are used in areas which
would previously have been
unimaginable : in surgery, in the after care of patients in hospitals, in guarding prisons, in space
exploration, underwater
expeditions, in restaurants and bars, in industries and even at homes.
Viewers of the recently screened
movies, viz., Independence Day, Mars
Attack, Artificial Intelligence, Star
Wars, The Black Hole, The Empire Strikes
Back and For your eyes only, were
thrilled by the performance and capacity
of the robots. One of the
fastest developing technologies
today is robotics, and companies
well known in other fields, such
as car manufacturing, are now contributing to the growth of industrial robots. Robots
have assumed a great
significance in the
industrial world today, what
follows is a brief introduction
of this electronically controlled marvel.
The Czech writer Karel Capek
coined the word ‘Robot’ in 1920 to denote
a machine in the form of a man. His play ‘Rossum’s Universal Robots’ had
a human named Rossum
who created a race to serve the mankind. Later these robots
discovered that they too had emotions
like human beings, a sense of feeling (they cared for each other), and deciding that they could not longer serve the mankind, proceeded
to take over the world.
Robots today are being employed to
release man from heavy, tedious, monotonous work line arc welding or to work
under conditions where human
beings cannot function effectively, such as underwater explanation, space exploration, noxious gaseous environments, high operating
temperatures shifting humidity, inaccessible locations like nuclear reactors etc.
Robots have been on the
industrial scene since the early sixties. However, their high cost precluded wider acceptability. Today, by incorporating
microprocessors, the cost is falling
while their accuracy is increasing.
Countries like Japan, the USA, the USSR, West Germany
and France have over 1500 robots each installed
in their various factories, with
the United States and Japan accounting for nearly 75 percent of their
use. The factors responsible for this
high percentage are shortage of labor in
Japan and high labor cost in the USA. In
India, HMT in Bangalore and Telco in Pune have begun manufacture of industrial
robots.
CHAPTER
- 3
Anti-Terrorist Vehicle
Consider
a hostage situation where many lives are at risk and add to it the lives of our
brave soldiers who are sent in the line of fire to face the music. To
facilitate their movement and to take a preview of the situation and also to
take some minor risks and get proper information about the scene we propose an
Anti-Terrorist Vehicle, which will be quite agile and can cause some damages to
the enemy.
The benefits of the same vehicle can
be extended up to the remote surveillance of potentially harmful and hazardous
places like the power plants and also the leaky gas plants by just changing the
gun to the appropriate extinguisher. It can also be used by defense for its
remote surveillance purposes.
Our
ATV (Anti-Terrorist Vehicle) will employ a series of motors and a remote
control logic, which will be having a set of encoders, transmitters, decoders
and receivers. It will also facilitate the movement of the neck, waist, arm and
the forward / reverse and the turning
movements. Figure 1 depicts a rough shape of the proposed ATV and will employ
all the above-mentioned features.
Fig 3.1:
Depicts the rough shape of an Anti-terrorist vehicle
BLOCK
DIAGRAM:
Fig 3.2: Depicts the block diagram
of Anti-Terrorist System
This project will facilitate the
understanding of the following topics:
Ø Coding
in Assembly for 89c51 series Micro controller for time constraint acquisition
and transfer of data.
Ø Relay
mechanism through ULN2003.
Ø DC
Motor control mechanism.
Ø Stepper
Motor control mechanism.
Ø Remote
control mechanism through micro controller.
The AT89C51 micro controller is the
robot's brain and controls the robot's movements. It's usually acts like a
device, which is used to store information about the robot and the work
environment and to store and execute programs, which operates the robot. The
control system contains programs, relay control mechanism and various other
processing activities, which enable the robot to perform.
A remote control sends
instructions
from a human operator through remote. The body of a robot is related to the
job it must perform. The Tri-Wheeler base allows for the movement of the robot
in all the directions facilitating the Forward /Reverse and Left/Right
movements. At the arm we are placing a gun, which will be able to fire in the
required direction indicated by controller. We will also be fixing a Camera on
Board and a light on the rotate table head as to remotely observe and
control.
CHAPTER
- 4
COMPONENT AND PARTS
4.1
Micro-controller 89c51
The
AT89C51 is a low-power, high-performance CMOS 8-bit microcomputer with 4K bytes
of Flash programmable and erasable read only memory (PEROM). The device is
manufactured using Atmel’s high-density nonvolatile memory technology and is
compatible with the industry-standard MCS-51 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 Flash on a monolithic chip, the Atmel AT89C51 is a powerful microcomputer
which provides a highly-flexible and cost-effective solution to many embedded
control applications.
- Internal ROM and RAM
- I/O ports with programmable pins
- Timers and counters
- Serial Data Communication
The figure also shows the usual
CPU components : program counter, ALU,
working registers, and clock circuits.
The
89c51 architecture consists of these
specific features:
Ø Eight
bit CPU with registers A (the accumulator) and B
Ø Sixteen
bit program counter (PC) and data pointer (DPTR)
Ø Eight
bit program status word (PSW)
Ø Eight
bit stack pointer (SP)
Ø Internal
ROM or EPROM (8751) of 0 (8031) to 4K (89c51)
Ø Internal
RAM of 128 bytes :
·
Four registers banks, each containing
eight registers
·
Sixteen bytes, which may be
addressed at the bit level
·
Eighty bytes of general purpose data
memory
Ø Thirty
two input/output pins arranged as four 8 bit ports : P0 – P3
Ø Two
16 bit timer/counters : T0 and T1
Ø Full
duplex serial data receiver / transmitter : SBUF
Ø Control
registers : TCON, TMOD, SCON, PCON, IP and IE
Ø Two
external and three internal interrupt sources
Ø Oscillator
and clock circuits
The programming model of the 89c51
in Fig. shows the 89c51 as a
collection of 8 and 16 bit registers and
8 bit memory locations. These registers and memory locations can be made to operate using the software
instructions that are incorporated as
part of the design. The program
instructions have to do with the control
of the registers and
digital data paths that are physically contained
inside the 89c51, as well as memory
locations that are physically located
outside the 89c51.
Circuit Diagram
Fig. 4.1
The AT89C51 provides the following standard features: 4K
bytes of Flash, 128 bytes of RAM, 32 I/O lines, two 16-bit timer/counters, a
five vector two-level interrupt architecture, a full duplex serial port,
on-chip oscillator and clock circuitry.
In addition, the AT89C51 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 hardware reset.
Pin Configurations
Fig. 4.2
Pin Description
VCC Supply
voltage.
GND Ground.
Port
0
Port 0 is an 8-bit open-drain
bi-directional I/O port. As an output port, each pin can sink eight TTL inputs.
When 1s are written to port 0 pins, the pins can be used as highimpedance
inputs.
Port 0 may also be configured
to be the multiplexed loworder address/data bus during accesses to external
program and data memory. In this mode P0 has internal pullups.
Port 0 also receives the code
bytes during Flash programming, and
outputs the code bytes during program verification. External pullups are
required during program verification.
Port
1
Port 1 is an 8-bit
bi-directional I/O port with internal pullups. The Port 1 output buffers can
sink/source four TTL inputs. When 1s are written to Port 1 pins they are pulled
high by the internal pullups and can be used as inputs. As inputs, Port 1 pins
that are externally being pulled low will source current (IIL)
because of the internal pullups.
Port 1 also receives the
low-order address bytes during Flash programming and verification.
Port
2
Port 2 is an 8-bit
bi-directional I/O port with internal pullups.
The Port 2 output buffers can
sink/source four TTL inputs.
When 1s are written to Port 2
pins they are pulled high by the internal pullups and can be used as inputs. As
inputs, Port 3 is an 8-bit bi-directional I/O port with internal pullups.
The Port 3 output buffers can
sink/source four TTL inputs.
When 1s are written to Port 3
pins they are pulled high by the internal pullups and can be used as inputs. As
inputs, Port 3 pins that are externally being pulled low will source current (IIL)
because of the pullups.
Port 3 also serves the
functions of various special features
of the AT89C51 as listed
below:
Port 3 also receives
some control signals for Flash programming and verification.
Table 4.1
RST
Reset input. A high on this
pin for two machine cycles while the oscillator is running resets the device.
ALE/PROG
Address Latch Enable output pulse for latching the low
byte of the address during accesses to external memory. This pin is also the
program pulse input (PROG) during Flash programming.
In normal operation ALE is emitted at a constant rate of
1/6 the oscillator frequency, and may be used for external timing or clocking
purposes. Note, however, that one ALE pulse is
skipped during each access to external Data Memory.
If desired, ALE operation can be
disabled by setting bit 0 of SFR location 8EH. With the bit set, ALE is active
only during a MOVX or MOVC instruction. Otherwise, the pin is weakly pulled
high. Setting the ALE-disable bit has no effect if the microcontroller is in
external execution mode.
PSEN
Program Store Enable is the read
strobe to external program memory. When the AT89C51 is executing code from
external program memory, PSEN is activated twice each machine cycle, except
that two PSEN activations are skipped during each access to external data
memory.
EA/VPP
External Access Enable. EA must be
strapped to GND in order to enable the device to fetch code from external
program memory locations starting at 0000H up to FFFFH. Note, however, that if
lock bit 1 is programmed, EA will be internally latched on reset. EA should be
strapped to VCC for internal program executions. This pin also receives the
12-volt programming enable voltage (VPP) during Flash programming, for parts that require 12-volt VPP.
XTAL1
Input to the inverting oscillator
amplifier and input to the internal clock operating circuit.
XTAL2
Output from the inverting oscillator
amplifier.
The model is complicated by the number of special purpose registers
that must be present to make a microcontroller. A cursory
inspection of the model is recommended
for the first time viewer, return
to the model as needed while
progressing through the remainder of the text.
Most of the registers have a
specific functions, those that do
occupy an individual block with a symbolic name, such as A or THO or PC. Others, which are generally indistinguishable from
each other, are grouped in a larger block, such as internal ROM or RAM memory.
Each register,
with the exception of the program counter, has an internal 1 byte address assigned to
it. Some registers (marked with an asterisk
in Figure) are both byte and bit
addressable. That is, the entire byte of data at such register addresses may be read or altered, or
individual bits may be read or
altered. Software instructions
are generally able to specify a register by its address, its symbolic name, or both.
A pinout of the 89c51 packaged in a 40 pin DIP is shown in Figure
with the full and abbreviated names of the signals for each pin. It is important to note that many of the pins
are used for more than one function (the alternate functions are shown in
parentheses in Figure). Not all of the possible 89c51 features may be used at the same time.
Programming instructions or
physical pin connections determine the
use of any multifunction pins. For
example, port 3 bit 0 (abbreviated P3.0) may be used as a general purpose I/O
pin, or as an input (RXD) to SBUF, the
serial data receiver register. The system designer decides
which of these two functions is to be used
and designs the hardware and software
affecting that pin accordingly.
4.2
Relay Switch
Basically, an electrical relay is
employed to have a simple ON/OFF switching
action in response to a signal
issued by a control system. The electrical relay also known as a magnetic relay.
This relay uses an iron armature
and an energized coil to operate
a pair of electric contacts as shown in Figure. Figure
shows the cross section of a relay in the de-energized positioned.
When the current flow through the
coil, the armature is pulled down against the iron core. This closes
the set of contacts which can complete
another electric circuit. When current stops flowing in the coil,
the spring pulls the armature up
and opens the contacts.
Fig.
4.3
Relay
to Transmitter
Relays are manufactured in a wide variety of ratings
for both the coil and the contacts.
Coils are rated for both the current
required to energize the relay and the voltage required
to produce that current. The
contacts are also rated for both
current and voltage, just as any switch is rated. Relays have often more than one set of contacts. The contacts may be either
normally open or normally closed
or a mixture of both. The relay
may be energized by either alternating
current or direct current.
However, ac and dc relays are not interchangeable.
One of the chief advantages of relay
over a simple switch is
that, it allows remote
operation. A low voltage, low
current supply can control the relay coil. The switch that operates the coil can be located in a
remote place. Only a small two conductor cable has to run between the
switch and the relay.
4.3
Sensor
A sensor is an element in a
mechatronic system that acquires the
change in state of a physical parameter
and changes it into a signal that can be
processed by the system.
Often the active element of a sensor is also
referred to as a transducer to measure
physical quantities such as pressure, force, temperature, strain,
position, distance, acceleration etc. Infra Red Sensors are used in the ATV.
The design of sensors and transducers always involves
the application of some law or principles of physics of chemistry that relates the quantity of interest
to some from of measurable event.
4.4
Motor
An electric motor utilizes electric
energy and magnetic energy to produce mechanical energy. The operation of a
motor depends on the interaction of
two magnetic fields. Simply stated, an electric motor operates on the principle that two magnetic fields can be made to interact to product motion.
The purpose of a motor is to produce a
rotating force (torque).
Fig. 4.4
Fig. 4.5
Fig.
4.6
Fig.
4.7
Electric
motors are used extensively as the final
control element in many mechatronic
systems. Motors can be classified
into two major classes:
- D.C. Motors
- A.C. Motors
The majority of motors used in
mechatronics systems are belong to the d.c. motors.
In the conventional D.C. motor,
coils of wire are mounted in slots on a
cylinder of magnetic material known as armature. The shaft carrying
armature is mounted on bearings so as to rotate freely. The armature is mounted in the magnetic field produced by fields
coils. The end of each armature coil are
connected to adjacent segments of a segmented ring called
the commutator with electrical contacts
made to the segments through
carbon contacts called brushes. As the
armature rotates, the commutator
reverses the current in each coil as it
moves between the filed coils. This is required, if the forces acting on the coil are to remain
acting in the same direction and so the
rotation continue. The direction of rotation of D.C. motor can be reversed by
reversing either the armature
current or the field current.
4.4.1
D.C. Motor
The speed of a dc motor can be
represented as,
k (Va
– IaRa)
N =
f
Neglecting armature voltage drop,
the above equation can be written as
k1Va
N =
f
Where
N = Speed (RPM)
Ia = armature
current
Va = armature
voltage
f = field
flux
k = Proportionality constant
From the above equation it is possible to draw the following points in connection with the speed control of D.C. motors.
- Permanent magnet DC motor : The
speed depends on the current through the armature coil.
- Field coil motors : Speed can be changed by either varying the
armature current or the field
current, but generally armature current is varied.
- Speed control can be obtained by
varying armature voltage.
With an a.c. supply, systems, the
thyristor circuits can be used to control the average voltage applied to the armature.
The recent trend in control of
d.c. motors is the use of
microprocessors with such
systems, a techniques known as PWM (Pulse Width Modulation) is
generally used.
In the PWM technique the average dc voltage is
proportional to the pulse width. To
achieve this, PWM amplifiers (also
called transistor choppers), the power
switching device, a transistor
instead of SCR used. Transistors dc drives are ideal for controlling dc motors.
The transistors are commonly used
in the switching mode at frequencies between 1 kHz and 10 kHz (pulse width
modulated).
Fig. shows the four quadrant
operations of a dc drive. Four quadrant operation of an amplifier means
the drive is cable of :
- Forward running - quadrant I
- Reverse running – quadrant III
- Forward braking – quadrant II
- Reverse braking – quadrant IV
4.4.2
Stepper Motor
A stepper motor is an
electromechanical device. It is the actuator
element of incremental
motion in control systems. Stepper motor, as the name indicates, it
produces rotation through equal angles
called steps. When the stepper device
circuitry receives a step pulse, it
drives the motor through a precise angle
(step) and then stops until
the next digital pulse received
as input. The total angular displacement of the shaft is equal to the step angle multiplied by the number of step pulses received. This
relation can further be simplified as the shaft
position is directly proportional to the number of step pulses supplied,
since the step angle for any particular
motor is fixed.
The step angle for the stepper motor ranges from 0.450 to 900,
the most
commonly angle being 1.80
i.e., 200 steps per revolution. The positional error at each step is
typically ±
5%. It is important to note at this
point of discussion is that, this error is not cumulative, irrespective of the number
of pulses supplied, the final
positioned accuracy remains always with in ±
5% of one step.
Another major advantages of stepper
motors over alternative drives system is
that, stepper motor type positioning
control loop can be open. This
means that, there is no need for displacement transducer or complicated closed loop feed back control systems. This may be done by an independent counter or by the microprocessor. The rate of pulses to the motor can also be
controlled without any feed back.
Description
C51/C251 microcontroller output pins cannot directly
drive stepper motors. These have to be powered before being applied to the
stepper motor. This document explains uses the Programmable Counter Array (PCA)
of the microcontroller to generate the control signals to the Power Interface.
The Power Interface allows the microcontroller to drive enough current into
coils of a stepper motor. There are two advantages to using PCA. First of all,
PCA provides greater accuracy than toggling pins in software because the toggle
occurs before the interrupt request is serviced. Thus, interrupt response time
does not affect the accuracy of the output. Secondly the microcontroller CPU is
left free for application task execution while the PCA drives stepper motors.
There are two major types of stepper motors: Permanent magnet stepper motors
(unipolar stepper motors and bipolar stepper motors) and variable reluctance
stepper motors (hybrid stepper motors).
Classification of stepper motor
The stepper motors are classified
broadly into:
- Variable reluctance stepper motor
- Permanent magnet stepper motor
- Hybrid stepper motor
Variable
reluctance stepper motor :
The basic variable reluctance motor
is shown in figure is of an 8 pole stator and 6 pole rotor. The cylindrical rotor is made of soft steel
has 6 poles, i.e., fewer poles than on the stator. Each stator pole has winding and these windings are grouped
into 4 sets of 2 poles each . Out of 4 sets of poles,
one set of poles is
energized at a time. When in opposite pair of windings has current
switched to them, a magnetic field
is produced with lines of force which pass from
the stator poles through
the nearest set of poles on the
rotor, resulting in rotary displacement
of the rotor i.e., 150 CW or
CCW rotation of shaft
or rotor takes place because the rotor seeks to close the shortest flux path.
This type of stepper motor can achieve high stepping
rates and higher torques. This
form of stepper motor generally gives step angles of 50 or 100.
Permanent
Magnet Motor :
The figure shows the basic form of
the permanent magnet (PM) stepper motor.
The rotor is made of ferrite or
rare earth materials which is
permanently magnetized. The motor
shown has a stator with four
poles. Each pole is wound
with a field winding. The coils
on opposite pairs of poles are
connected in series. The power
is supplied from a dc source to
the windings through switches. Since the rotor is a permanent magnet, it will move to align with those
stator poles pair has a current switched
to it. Thus, for the current situation, the rotor move by 450.
If the current is then switched such that,
the polarities are reversed, the
rotor will move a further
450 in order to line
up again. Thus by switching the
current through the coils the rotor can be rotated in steps of 450.
This
type of stepper motor is commonly available
in the following step angles : 1.80, 7.50, 150,
300 and 900.
Hybrid Stepper Motor
The hybrid stepper motor combines
the feature of both PM and
variable reluctance stepper motors.
The stator has only one set of winding
excited poles which
interact with the two rotor
stacks. The permanent magnet
is placed axially along the rotor in the form of an annular cylinder over the motor shaft. The stacks
at each end of the motor are toothed. So all the teeth on the stack at one end of the rotor acquire
the same polarity while all the teeth
are displaced from each other by one half of the tooth pitch (also called pole pitch).
Fig. 4.8
The constructional details are shown
in Figure for the case of three teeth on each stack so that tooth pitch = 3600/3 = 1200.
This motor has a 2 phase and 4 pole
stator. Half stepping
can be achieved in a hybrid stepper motor by exciting phase ‘A’
and then exciting phase ‘B’
before switching off the
excitation of phase ‘A’ and so on. If
fact, any fractional step can be obtained by suitably
proportionating the excitation of the two phases such stepping
is known as microstepping.
Typical step angles
for this type of stepper motors
are 150, 7.50, 20 and 0.720.
The choice of the angle depends
upon the angular resolution required
for application.
Table 4.2
One Phase On Sequence
Figure
4.9 One Phase Steps
In one phase mode, each successive coil is energized in
turn. One phase mode produces smooth rotations and the lowest power comsumption
of the three modes. Steps are applied in order from one to four. After step
four, the sequence is repeated from step one. Applying steps from one to four
makes the motor run clockwise, reversing the order of step from four to one
will make the motor run counter-clockwise.
Two Phases On Mode
(Alternate
Full step Mode)
Table 4.3. Two Phases On Sequence
Figure 4.10. Two Phases On Steps
In two phase mode, successive pairs of adjacent coils are
energised in turn, motion is not as smooth as in one phase mode, power
comsumption is more important but it produces greater torque. As in one phase
mode, applying the steps in order makes the stepper motor run clockwise and
reversing order makes it turn counter-clockwise.
4214B–89c51–12/02 Figure 10. Half Step Sequence Hardware The following
schematics shows the power interface between the Atmel C51/C251 and a stepper
motor.
The four PCA pins must have the following hardware
connected. Coils are connected with both center-tapped windings connected to
12V power supply.\
Figure 4.11. Power Interface
In this configuration, the stepper motor is opto-isolated
from the microcontroller with a high protection level. The 2N2222A transistor
helps to drive enough current in 4N37 led (via 1kresistor). Stepper motor
power is given by 12V power supply via TIP121 transistor.
Diode on stepper motor coil is used to prevent inductive
kicks produced when coil is turned off.
Software The
software of this application note (Given in appendix A), written in C language
allows to make a motor turn NB_LOOP loops clockwise (or counter-clockwise)
direction in half step mode.
NB_LOOP and clockwise (or counter-clockwise) are defined
in constant variable at the beginning of code, and must be defined before
compilation. The user also needs to define (via constant variable) the number
of steps of the motor.
The
speed of the stepper motor may be calculated with the formula:
SPEED = Speed in rotations per
minute
NBSTEP = Number of step of the
motor, in general written on the stepper motor itself (48, 96, 200..)
Fosc = Frequency of the
oscillator in Hertz.
For example, when using stepper motor with 200 steps and
a 12 Mhz oscillator and loading THO with 0xFC, the speed is 12.2 rotations per
minute. With the same formula THO is found by:
CHAPTER – 5
DESIGN OF ATV
Design
The
design of the ATV basically have been taken on the following factors:
- Speed of Motion
- Spatial Resolution
- Load carrying capacity
Speed of Motion
The
speed capabilities of current
industrial robots range up to a
maximum of about 1.7 m/s (about 5
ft/sec). This speed would be
measured at the wrist. Accordingly, the speeds
can be obtained by large
robots with the arm extended
to its maximum distance from the vertical
axis of the robot. As
mentioned previously, hydraulic
robots tends to be faster
than electric drive
robots.
The speed of course,
determines how quickly the robot can accomplish a given work cycle. It is generally desirable
in production to minimize the cycle
time of a given task. Nearly
all robots have some means by which adjustments in the
speed can be made. Determination of the most desirable
speed, in addition to merely
attempting to minimize the
production cycle time, would also depend on other factors, such as:
- The accuracy with which the wrist (end effector) must be
positioned
- The weight of the object being manipulated
- The distance to be moved.
Spatial Resolution
The spatial resolution of a robot is the smallest increment
of movement into which the robot can divide its work volume. Spatial
resolution depends on two factors: the system’s control
resolution and the robot’s
mechanical inaccuracies. It is
easiest to conceptualize these
factors in terms of a robot with 1 degree of freedom.
The control resolution is determined by the robot’s position control system and its feedback measurement systems. It is the
controller’s ability to divide
the total range of movement for the particular joint into individual increments that can be addressed in the controller. The increments are sometimes referred
to as “addressable points”. The
ability to divide the joint
range into increments depends
on the bit storage capacity in
the control memory. The number of separate, identifiable increments (addressable
points) for a particular axis is given by:
Number
of increments = 2”
Where
n = the number of bits in the control
memory.
For example, a robot with 8 bits of storage can divide the range into 256 discrete positions. The control resolution
would be defined as the total
motion range divided by the number of
increments. We assume that the
system designer will make
all of the increments equal.
Example:
Using our robot with 1 degree of freedom as a illustration,
we will assume it has one sliding joint with a full range of 1.0 m (39.37 in.). The robots control memory has a 12 bit
storage capacity. The problem is to determine the control resolution for this axis of motion.
Number
of increments = 212 = 4096
The total range of 1 m is divided into 4096 increments.
Each position will be separated by
1
m/4096 = 0.000244 m or 0.244 mm
The control resolution is 0.244 mm
(0.0096 in.).
Load Carrying Capacity
The size, configuration, construction and drive system
determine the load carrying capacity of the robot. This load
capacity should be specified under the condition that the robot’s arm is in its weakest position.
In the case of a polar, cylindrical,
or jointed arm configuration,
this would mean that the robot arm is maximum extension. Just as in the case of a human, it
is more difficult to lift a heavy with arms
fully extended than when the
arms are held in close to the body.
Fig. 5.1
CHAPTER – 6
WORKING OF ATV
Working of ATV begins with the display of preview of the
situation on the screen through a wireless
camera. Camera captures the
situation surrounding it and inturn it will
sends video to PC screen.
Having a proper idea of the
situation through the PC screen, the operator can see where actually the intruder is moving.
With the help of remote control
unit operator will command to
Anti-Terrorist Vehicle to set the
target on intruder or terrorist with the help of Laser light provided. When operator
will command to shoot the
intruder then Anti Terrorist
Vehicle will shoots him with the guns
provided. Simultaneously we can store
the captured video in the PC.
CHAPTER
– 7
CODING OF MICROCONTROLLER
DC MOTOR AND STEPPER MOTOR
/*
Code
for robotic arm and P1 acts as the input and the P0 falicilitates the movement and the control
of the DC servo motors and the P2 acts
as the source to facilitate the movement of the stepper motors
*/
stack equ 64h ; decimal 100
temp_motor_1 equ 31h
temp_motor_2 equ 32h
motor_1 equ 33h
motor_2 equ 34h
updating_value equ 35h
;----------- values
defined in decimals -----------------
delay_motor_1_value equ 45; LEAST VALUE 35; ALWAYS KEEP THE
VALUE ABOVE 35
delay_motor_2_value equ 45 ; LEAST VALUE 35; ALWAYS KEEP
THE VALUE ABOVE 35
motor_steps equ 20 ; each count equals 1.8
degrees
org 0000h
ljmp main
org 0100h
main: mov sp, #stack
lcall at_reset
remain_here:
acall joystick
jmp remain_here
at_reset: mov p0,#0ffh
mov p1,#0ffh
mov p2,#0ffh
mov p3,#0ffh
mov p2, #11h
mov motor_1, #11h
mov motor_2, #11h
acall Stop_all_motors
ret
joystick: nop
read_key_agn: mov p1,#0ffh ; enable port 1 for input
;mov p3, #0ffh; enable
port 3 for input
nop
nop
nop
acall delay_1ms
acall delay_1ms
acall delay_1ms
nop
mov a, p1
anl a, #0fh
cjne
a, #0Fh, chk_Motor_1_clk
acall Stop_all_motors
sjmp out_joystick
chk_Motor_1_clk: cjne a, #04h, chk_Motor_1_anticlk
sjmp
Motor_1_clk
chk_Motor_1_anticlk: cjne a, #02h, chk_Motor_2_clk
sjmp
Motor_1_anticlk
chk_Motor_2_clk: cjne a, #01h, chk_Motor_2_anticlk
sjmp
Motor_2_clk
chk_Motor_2_anticlk: cjne a, #0ch, chk_Motor_3_clk
sjmp
Motor_2_anticlk
chk_Motor_3_clk: cjne a, #06h, chk_Motor_3_anticlk
sjmp
Motor_3_clk
chk_Motor_3_anticlk: cjne a, #03h, chk_Motor_4_clk
sjmp
Motor_3_anticlk
chk_Motor_4_clk: cjne a, #0eh, chk_Motor_4_anticlk;0d
sjmp
Motor_4_clk
chk_Motor_4_anticlk: cjne a, #0bh, stop_and_exit;07
sjmp
Motor_4_anticlk
/*
chk_Motor_5_clk: cjne a, #0Dh, chk_Motor_5_anticlk
sjmp
stepper_motor_1_clk
chk_Motor_5_anticlk: cjne a, #0Eh, stop_and_exit
sjmp
stepper_motor_1_anticlk
*/
stop_and_exit: acall Stop_all_motors
out_joystick: nop
ret
Motor_1_clk:
setb p2.1 ; dir ctrl
clr p2.0 ; Enable
movement
sjmp out_joystick
Motor_1_anticlk:
clr p2.1 ; dir ctrl
clr p2.0 ; Enable
movement
sjmp out_joystick
Motor_2_clk:
setb p2.3 ; dir ctrl
clr p2.2 ; Enable
movement
sjmp out_joystick
Motor_2_anticlk:
clr p2.3 ; dir ctrl
clr p2.2 ; Enable
movement
sjmp out_joystick
Motor_3_clk:
setb p2.5; dir ctrl
clr p2.4 ; Enable
movement
sjmp out_joystick
Motor_3_anticlk:
clr p2.5; dir ctrl
clr p2.4 ; Enable
movement
sjmp out_joystick
Motor_4_clk:
setb p2.7; dir ctrl
clr p2.6 ; Enable
movement
sjmp out_joystick
Motor_4_anticlk:
clr p2.7; dir ctrl
clr p2.6 ; Enable
movement
sjmp out_joystick
/*
stepper_motor_1_clk:
; codes for driving the stepper motor
acall
anticlockwise_motor_1
sjmp out_joystick
stepper_motor_1_anticlk:
; codes for driving the stepper motor
acall clockwise_motor_1
sjmp out_joystick
stepper_motor_2_clk:
; codes for driving the stepper motor
acall
anticlockwise_motor_2
sjmp out_joystick
stepper_motor_2_anticlk:
; codes for driving the stepper motor
acall clockwise_motor_2
sjmp out_joystick
*/
Stop_all_motors:setb
p2.0 ; Disable base motor
setb p2.2 ; Disable
waist motor
setb p2.4 ; Disable arm
motor
setb p2.6 ; Disable grip
motor
ret
/*
;
---------- codes for configurable delays ------------
delay_motor_1:
push 04
mov r4,
#delay_motor_1_value
again_delay_motor_1:
call delay_1ms
djnz r4,
again_delay_motor_1
pop 04
ret
delay_motor_2:
push 04
mov r4,
#delay_motor_2_value
again_delay_motor_2:
call delay_1ms
djnz r4,
again_delay_motor_2
pop 04
ret
clockwise_motor_1:;
mov a, motor_1
rl a
mov motor_1, a
acall update
acall delay_motor_1
ret
anticlockwise_motor_1:;
mov a, motor_1
rr a
mov motor_1, a
acall update
acall delay_motor_1
ret
update: push acc
mov a, motor_1
rlc a
mov p2.0, c
rlc a
mov p2.1, c
rlc a
mov p2.2, c
rlc a
mov p2.3, c
pop acc
ret
clockwise_motor_2:;
mov a, motor_2
rl a
mov motor_2, a
acall update_2
acall delay_motor_2
ret
anticlockwise_motor_2:;
mov a, motor_2
rr a
mov motor_2, a
acall update_2
acall delay_motor_2
ret
update_2: push acc
mov a, motor_1
rlc a
mov p2.4, c
rlc a
mov p2.5, c
rlc a
mov p2.6, c
rlc a
mov p2.7, c
pop acc
ret
*/
delay_half_second:
push 00
push 01
push 02
mov r2,#16h
two_dely: mov r1,#64h
one_dely: mov r0,#0ffh
back:
djnz r0,back
djnz
r1, one_dely
djnz r2,two_dely
pop 02
pop 01
pop 00
ret
;***
delay 1ms
delay_1ms: push 06
push 05
mov r6,#04h
delay_1ms_2: mov r5,#0e4h
delay_1ms_1: djnz r5,delay_1ms_1
djnz r6,delay_1ms_2
pop 05
pop 06
ret
CODING
OF TRANSMITTER
/*
The
value of the 1 millisecond is just an approximation and is not exactly 1
millisecond but
slightly
more than that.
*/
value_switch_1 equ 11h ; 0EEh
value_switch_2 equ 22h ; 0DDh
value_switch_3 equ 44h ; 0BBh
value_switch_4 equ 88h ; 77h
value_switch_5 equ 33h ; 0CCh
value_switch_6 equ 66h ; 99h
value_switch_7 equ 0CCh ; 33h
value_switch_8 equ 77h ; 88h
value_switch_9 equ 0EEh ; 11h
value_switch_10 equ 0DDh ; 22h
value_switch_11 equ 99h ; 66h
org 0000h ; Starting
address
ljmp start_here
org 0100h
;-----------
Routine to generate 1 ms delay
delay_1ms: push 01 ;
gives 1 ms delay uses r1 and r1 to compute
push 02 ; push r1 and
r2 to retain their pswitch_2ious values
mov r1, #02h
loop2: mov r2, #0ffh
loop1: djnz r2, loop1 ; loop1 and loop2
together gives a delay of approx 1 ms
djnz r1, loop2
pop 02 ; pop r1 and
r2 so that they get their old values
pop 01
ret
make_input_ready:
mov p1, #0FFh
setb p3.0
setb p3.1
setb p3.7
ret
disable_outputs:
clr p3.2;setb p3.2
clr p3.3;setb p3.3
clr p3.4;setb p3.4
clr p3.5;setb p3.5
ret
;
------------- main code -----------
start_here: mov sp, #64h
call make_input_ready
call disable_outputs
clr ie.7 ; disable interrswitch_1ts
continue: nop
nop
acall joystick
jmp continue
joystick: nop
read_key_agn: acall make_input_ready ; enable ports for input
nop
nop
nop
acall delay_1ms
acall delay_1ms
acall delay_1ms
nop
mov c, p1.0
jnc switch_1
mov c, p1.1
jnc switch_2
mov c, p1.2
jnc switch_3
mov c, p1.3
jnc switch_4
mov c, p1.4
jnc switch_5
mov c, p1.5
jnc switch_6
mov c, p1.6
jnc switch_7
mov c, p1.7
jnc switch_8
mov c, p3.0
jnc switch_9
mov c, p3.1
jnc switch_10
mov c, p3.7
jnc switch_11
call disable_outputs
return_joy: nop
ret
switch_1: mov a, #value_switch_1
acall update_on_p3
sjmp return_joy
switch_2: mov a, #value_switch_2
acall update_on_p3
sjmp return_joy
switch_3: mov a, #value_switch_3
acall update_on_p3
sjmp return_joy
switch_4: mov a, #value_switch_4
acall update_on_p3
sjmp return_joy
switch_5: mov a, #value_switch_5
acall update_on_p3
sjmp return_joy
switch_6: mov a, #value_switch_6
acall update_on_p3
sjmp return_joy
switch_7: mov a, #value_switch_7
acall update_on_p3
sjmp return_joy
switch_8: mov a, #value_switch_8
acall update_on_p3
sjmp return_joy
switch_9: mov a, #value_switch_9
acall update_on_p3
sjmp return_joy
switch_10: mov a, #value_switch_10
acall update_on_p3
sjmp return_joy
switch_11: mov a, #value_switch_11
acall update_on_p3
sjmp return_joy
update_on_p3:
; rl
a
; rl
a
rlc a
mov p3.2, c
rlc a
mov p3.3, c
rlc a
mov p3.4, c
rlc a
mov p3.5, c
ret
end
CHAPTER
– 8
ADVANTAGES
- Design and construction is simple
- Working and operation is suitable
with regard to the environmental .
- Economical profit is considerable
good as it save life of the solders.
- Robust in construction
- Movement of the vehicle is easily
generated
- ATV can be easily operated with a
skill operator.
- Further these vehicle is used in wide range of
application.
- It can be truly automated.
CHAPTER – 9
DISADVANTAGES
- Complex mechanism is involved.
- Cost of maintenance may increase
- High sensitive
- Accuracy of the vehicle
CHAPTER – 10
CONCLUSION
ATV has tremendous future in the
defence and to control the terrorisms in
the hostage situation. Overall
scope of the project is to save the soldier life and to control the terrorism. ATV is also applicable to security purpose, like banks etc.
By seeing all the detail study of
ATV, it is well suitable for hostage
situation and war.
CHAPTER – 10
BIBLIOGRAPHY
- Electronic circuit guide book
By: Joseph
& J. Carr
- Programming and Customizing the
89c51 Micro-controller
By : Myke Predko
- The concepts and Features of
Micro-controller
By: Raj Kamal
- The 89c51 Micro-controller
Architecture, programming & Applications
By : Kenneth J. Ayala
- CMOS / TTL IC Data Manuals
- Electronics for you – Monthly
Magazine
- Practical Electronics - Monthly
Magazine
- Elector India - Monthly Magazine
Comments
Post a Comment