Bharath Fire Fighting Robot

55
BHARATH FIRE FIGHTING ROBOT A PROJECT REPORT Submitted by AGNEL PRINCE (U08EC002) DEBOJIT DAS (U08EC019) LUKE MARAK (U08EC031) 2008-2012 in partial fulfillment for the award of the degree of BACHELOR OF TECHNOLOGY IN ELECTRONICS & COMMUNICATION ENGINEERING Under the guidance of Prof. E.Kanniga, B.E, M.E, M.B.A, PhD BHARATH UNIVERSITY (Established under section 3 UGC Act 1956)

Transcript of Bharath Fire Fighting Robot

Page 1: Bharath Fire Fighting Robot

BHARATH FIRE FIGHTING ROBOT

A PROJECT REPORT

Submitted by AGNEL PRINCE (U08EC002)

DEBOJIT DAS (U08EC019)

LUKE MARAK (U08EC031)

2008-2012

in partial fulfillment for the award of the degree

of

BACHELOR OF TECHNOLOGY

IN

ELECTRONICS & COMMUNICATION ENGINEERING

Under the guidance of

Prof. E.Kanniga, B.E, M.E, M.B.A, PhD

BHARATH UNIVERSITY

(Established under section 3 UGC Act 1956)

Chennai-600073

Page 2: Bharath Fire Fighting Robot

BHARATH UNIVERSITY

CHENNAI-600073

BONAFIDE CERTIFICATE

Certified that this project report “BHARATH FIRE FIGHTING ROBOT”

is the bonafide work of “AGNEL PRINCE, DEBOJIT DAS & LUKE

MARAK” who carried out the project work under my supervision.

Dr.T.V.U KIRAN KUMAR, PhD, Prof. E.KANNIGA,

HEAD OF THE DEPARTMENT SUPERVISOR

ELECTRONICS & COMMUNICATION ELECTRONICS & COMMUNICATION

BHARATH UNIVERSITY BHARATH UNIVERSITY

CHENNAI-600073 CHENNAI-600073

INTERNAL EXTERNAL

Page 3: Bharath Fire Fighting Robot

ABSTRACT

A robot capable of fighting a simulated household fire will be designed and

built. The robot must be able to autonomously navigate through a modeled

floor plan while actively scanning for a flame. LDR will be used for initial

detection of flame. Once the flame is detected, the robot will proceed toward

the flame and there will be another LDR in the middle which is most required

to come close to the fire in order to position itself and extinguish it within

shortest period of time and return to its initial stage. To extinguish the flame,

the robot starts the blower onto the flame.

The project will help generate interests as well as innovations in the fields of

robotics while working towards a practical and obtainable solution to save

lives and mitigate the risk of property damage.

Key Features:

• LDR for navigation.

• Blower to extinguish fire.

• Rechargeable Batteries

• Comparator (LM358) to compare input voltages.

• Shortest Path Traveled while searching for fire.

Page 4: Bharath Fire Fighting Robot

TABLE OF CONTENTS

CHAPTER NO. TITLE PAGE NO.

ABSTRACT ii

TABLE OF CONTENT iii

LIST OF FIGURES v

LIST OF TABLES vi

LIST OF SYMBOL vii

1. PROJECT INTRODUCTION

2. DESIGN REQUIREMENT SPECIFICATION

3. ACCEPTED TECHNICAL DESIGN

4. SYSTEM ANALYSIS

5. SYSTEM DESIGN

6. IMPLEMENTATION

7. CONCLUSION

8. FUTURE ENHANCEMENT

APPENDIX

REFERENCES

Page 5: Bharath Fire Fighting Robot

LIST OF FIGURES

TABLE NO. TITLE PAGE NO.

Page 6: Bharath Fire Fighting Robot

LIST OF TABLES

FIG. NO. FIG. NAME PAGE NO.

Page 7: Bharath Fire Fighting Robot

CHAPTER 1

PROJECT INTRODUCTION

1. INTRODUCTION

1.1. Statement of Need

This is the project report submitted for the final year project.

1.2. Problem Definition

1.2.1. Goal

To design an autonomous robot that will search out a fire in a simulated maze arena and

extinguish it in the most efficient method through the use of microcontrollers, sensors, batteries,

actuator.

1.2.2. Objectives

• The robot will navigate a simulated floor plan of around (120 cm x 90 cm) and identify the area

of fire to extinguish the flame autonomously.

• The robot must be immune to external lighting conditions such as flashes and ultraviolet light.

1.2.3. Constraints

• The robot must be able to identify and extinguish the flame in less than 5 minutes and return to

initial position in less than 2 minutes after extinguishing the flame.

• The robot is circular in shape with a diameter of 20cm and a height of 21cm.

• Battery must be able to last at least 20 minutes without a single recharge.

• The fire extinguisher system must work until the light goes off.

Page 8: Bharath Fire Fighting Robot

CHAPTER 2

DESIGN REQUIREMENT SPECIFICATION

2.1. Mechanical blocks include:

1. Manufacturing the robot.

2. Integrating the robot and wheels after modification.

3. Installing and mounting all of the sensors to the chassis.

4. Supplying adequate power to the robot.

5. Design of the extinguishing circuit and its installation.

2.2. Design

2.2.1. Chassis

Chassis is base. All components of the robot are fixed on the chassis; therefore a strong yet light

chassis will be ideal. Chassis can be made from many different types of materials, some common

types are aluminum, steel, acrylic, plastic, and high density polymer.

Custom chassis

When considering about the shape of the chassis, it is important to consider impact or

collision area as well as maneuverability. The considered shape is:

Circular Shape

In small scale robot, rounded shape robots are the most basic type of robot simply because of

its ability to move around without colliding especially in the corners. For this reason, it is ideal

for tight corner situations like maze for example.

2.2.2. Actuators

Actuators are those that makes robot physically work. Two of the major

Actuators for this robot are locomotion and fire extinguisher system.

Locomotion

Page 9: Bharath Fire Fighting Robot

DC Motors

DC motors are generally more powerful than servos in terms of speed and torque. A

microcontroller will not be able to accurately control DC motors without a motor controller.

Therefore, motor controllers will be needed. An encoder can be used to get feedback from the

DC motor.

DC Motor Controllers

Motor controller will communicate directly with the microcontroller before sending signals to

the DC motors. By having a motor controller, the microcontroller will be free to compute other

tasks. The L293 is an integrated circuit motor driver that can be used for simultaneous,

bidirectional control of two small motors. The L293 comes in a standard 16-pin, dual-in line

integrated circuit package. For complete information, consult the Unitrode L293 data sheet.

Wheel

Conventional wheels:

This category of wheels is the most basic type of wheels which include all

round shaped wheels.

Ball Casters-Caster with unique wheel:

Ball Casters, the casters with wheel of the ball. Acme ball bearing casters are the brand for the

best to the order of the ball casters. Acme ball bearing casters are adapted in such a way that they

can be used either as a caster or in the inverted position as a ball transfer unit. For multipurpose

caster consists of a spherically contoured set. The small balls continuously enter and leave the

loaded area of the seat, providing uniform load distribution and minimal surface contact.

2.2.3. Power

The input to the circuit is applied from the voltage regulator. An input of 12V battery is

connected and is fed to a rectifier. The output obtained from the rectifier is a

Page 10: Bharath Fire Fighting Robot

pulsating d.c voltage. So in order to get a pure d.c voltage, the output voltage from the

rectifier is fed to a filter to remove any a.c components present even after r e c t i f i c a t i o n .

N o w , t h i s v o l t a g e i s g i v e n t o a v o l t a g e r e g u l a t o r t o o b t a i n a p u r e c o n s t a n t

d c voltage.

2.2.4. Rectifier:

The output from the transformer is fed to the rectifier. It converts A.C. into

pulsating D.C. The rectifier may be a half wave or a full wave rectifier. In this project, a bridge

rectifier is used because of its merits like good stability and full wave rectification.

2.2.5. Filter:

Capacitive filter is used in this project. It removes the ripples from the output of rectifier  and

smoothens the D.C. Output received from this filter is constant until the mains voltage andload is

maintained constant. However, if either of the two is varied, D.C. voltage received at this point

changes. Therefore a regulator is applied at the output stage.

2.2.6. Fire Extinguisher System

Fire extinguisher system will only be used once the robot is in position to put out the flame.

Air

A CPU fan can be used to utilize to extinguish the flame. This method utilizes the already

available resource of the room’s atmosphere so the robot does not need to be equipped with

storage tanks of gas or water; however, this is not practical since a large fire cannot simply be

blown out, and the air contains oxygen; in a sense this method is just “fanning the fire.”

2.2.7. Sensors

LDR is connected using LM358 comparator for sensing light and giving instruction to the

microcontroller.

Left sensor

Page 11: Bharath Fire Fighting Robot

This sensor is used to search light in the left direction and turn left.

Right sensor

This right sensor searches light in the right direction of robot and moves right.

Middle sensor

This is the main sensor for detecting light and moving forward direction and confirms that the

fire is blown off.

2.2.8. Start button

This button is used to initialize the robot.

2.2.9. LCD screen

An LCD screen is originally added to the design of the robot, to allow for a most efficient debug

process. Having an LCD screen attached to the robot allow us to make changes and discover

error onsite (while running on the floor plan) instead of requiring a computer to find errors. It

serves its purpose of giving information of integration of different pieces of hardware.

 2.2.10. Voltage regulator

As the name itself implies, it regulates the input applied to it. A voltage regulator is

an electrical regulator designed to automatically maintain a constant voltage level.

In this project, power supply of 5V and 12V are required. In order to obtain these voltage

levels, 7805 and 7812voltage regulators are to be used. The first number 78 represents positive

supply and the numbers05, 12 represent the required output voltage levels.

2.2.11. Microcontrollers

M i c r o p r o c e s s o r s a n d m i c r o c o n t r o l l e r s a r e w i d e l y u s e d i n

e m b e d d e d s y s t e m s p r o d u c t s . Microcontroller is a programmable device .A

microcontroller has a CPU in addition to a fixed amount of RAM, ROM, I/O ports

Page 12: Bharath Fire Fighting Robot

and a timer embedded all on a single chip. The fixed amount of on-chip ROM, RAM

and number of I/O ports in microcontrollers makes them ideal for many applications in which

cost and space are critical. The Intel 8051 is Harvard architecture, single chip microcontroller

(µC) which was developed by Intel in 1980 for use in embedded systems. It was popular

in the 1980s and early 1990s, but today it has largely been superseded by a vast range of

enhanced devices with 8051-compatible processor cores that are manufactured by more

than 20 independent manufacturers including Atmel, Infineon Technologies and Maxim

Integrated Products.8051 is an 8-bit processor, meaning that the CPU can work on only 8 bits of

data at a time. Data larger than 8 bits has to be broken into 8-bit pieces to be processed by the

CPU. 8051 is available in different memory types such as UV-EPROM, Flash and NV-RAM.

2.2.1. Floor plan (120x90 cm)

Fig.1. 120x90cm floor plan

90cm

120cm

Page 13: Bharath Fire Fighting Robot

CHAPTER 3

ACCEPTED TECHNICAL DESIGN

3.1. Hardware Overview

Hardware block diagram:

3.2. INTERFACING COMPONENTS

In order to operate correctly there should be integration of functions of hardware as well as

software including the correct function of all sensors.

This can be done by connecting wires to each sensor to a port in the microcontroller.

The components that are connected and also require firmware are as follows:

1. Left LDR

2. Right LDR

3. Middle LDR

4. Start button.

5. LCD screen

Page 14: Bharath Fire Fighting Robot

6. Fan.

3.3. FIRMWARE (SOFTWARE)

3.3.1. LOGIC OF TRAVERSING THE FLOOR PLAN

START

MOVE FORWARD fFFFFFFFFORWARD

RIGHT TURN CIRCLE

FORWARD

RIGHT TURN CIRCLE

FORWARD

Page 15: Bharath Fire Fighting Robot

3.3.2. EXTINGUISHING THE FLAME

DIRECTION NO

FOUND

FIRE POSITION FOUND

START

TURN RIGHT CIRCL

RIGHT SENSOR DETECTED

CENTRE SENSOR DETECTED

GET CLOSER TO FLAME

CENTRE SENSOR DETECTED

LEFT SENSOR DETECTED

GET MINIMUM DISTANCE APART FROM FLAME

Page 16: Bharath Fire Fighting Robot

CHAPTER 4

HARDWARE IMPLEMENTATION

This chapter briefly explains about the Hardware Implementation of the project. It discusses the

d e s i g n a n d w o r k i n g o f t h e d e s i g n w i t h t h e h e l p o f b l o c k d i a g r a m a n d

c i r c u i t d i a g r a m a n d explanation of circuit diagram in detail. It explains the

features, timer programming, serial communication, interrupts of AT89S52

microcontroller. It also explains the various modules used in this project.

4.1 Project Design

The implementation of the project design can be divided in two parts.

−Hardware implementation

−Firmware implementation

Hardware implementation deals in drawing the schematic on the plane paper

according to the application, testing the schematic design over the breadboard using the

various IC’s to find if the design meets the objective, carrying out the PCB layout of

the schematic tested on breadboard, finally preparing the board and testing the designed

hardware.

The firmware part deals in programming the microcontroller so that it can control the operation

of the IC’s used in the implementation. In the present work, we have used the Orcad

design software for PCB circuit design, the Keil µv3 software development tool to

write and compile the source code, which has been written in the C language. The

Proload programmer has been u s e d t o w r i t e t h i s c o m p i l e c o d e i n t o t h e

m i c r o c o n t r o l l e r . T h e f i r m w a r e i m p l e m e n t a t i o n i s explained in the next chapter.

The project design and principle are explained in this chapter using the block diagram and circuit

diagram. The block diagram discusses about the required components of the design and working

condition is explained using circuit diagram and system wiring diagram.

 

Page 17: Bharath Fire Fighting Robot

  Transformer:Usually, DC voltages are required to operate various electronic equipment and thesevoltages are 5V, 9V or 12V. But these voltages cannot be obtained directly. Thus the a.c inputavailable at the mains supply i.e., 230V is to be brought down to the required voltage level. Thisis done by a transformer. Thus, a step down transformer is employed to decrease the voltage to arequired level.Rectifier:The output from the transformer is fed to the rectifier. It converts A.C. into pulsatingD.C. The rectifier may be a half wave or a full wave rectifier. In this project, a bridge rectifier isused because of its merits like good stability and full wave rectification.Filter:Capacitive filter is used in this project. It removes the ripples from the output of rectifier and smoothens the D.C. Output received from this filter is constant until the mains voltage andload is maintained constant. However, if either of the two is varied, D.C. voltage received at this point changes. Therefore a regulator is applied at the output stage.

Page 18: Bharath Fire Fighting Robot
Page 19: Bharath Fire Fighting Robot
Page 20: Bharath Fire Fighting Robot
Page 21: Bharath Fire Fighting Robot
Page 22: Bharath Fire Fighting Robot

MICROCONTROLLER

ATMEL SERIES

The fire fighting robot will be controlled by an AT89S52 microcontroller.

4.1. Features

• Compatible with MCS®-51 Products

• 8K Bytes of In-System Programmable (ISP) Flash Memory

– Endurance: 10,000 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

• Fast Programming Time

• Flexible ISP Programming (Byte and Page Mode)

• Green (Pb/Halide-free) Packaging Option.

4.2. 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

Page 23: Bharath Fire Fighting Robot

set and pin out. 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 con-tents but freezes the oscillator,

disabling all other chip functions until the next interrupt or hardware reset.

FIGURE.4.1 PIN CONFIGURATION

Page 24: Bharath Fire Fighting Robot

FIGURE 4.2

4.3. Pin Description

VCC

Supply voltage.

Page 25: Bharath Fire Fighting Robot

GND

Ground.

Port 0

Port 0 is an 8-bit open drain bidirectional I/O port. As an output port, each pin can sink

eight TTL inputs. When 1s are written to port 0 pins, the pins can be used as high-impedance

inputs. Port 0 can also be configured to be the multiplexed low-order address/data bus during

accesses to external program and data memory. In this mode, P0 has internal pull-ups. Port 0 also

receives the code bytes during Flash programming and outputs the code bytes during program

verification. External pull-ups are required during program verification.

Port 1

Port 1 is an 8-bit bidirectional I/O port with internal pull-ups. 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 pull-ups 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 pull-ups. In addition, P1.0 and P1.1 can be

configured to be the timer/counter 2 external count input (P1.0/T2) and the timer/counter 2 trigger

input (P1.1/T2EX), respectively, as shown in the following table. Port 1 also receives the low-

order address bytes during Flash programming and verification.

Port 2

Port 2 is an 8-bit bidirectional I/O port with internal pull-ups. 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 pull-ups and can be used as inputs. As inputs, Port 2 pins that are externally being pulled

low will source current (IIL) because of the internal pull-ups. Port 2 emits the high-order address

byte during fetches from external program memory and during accesses to external data memories

Page 26: Bharath Fire Fighting Robot

that use 16-bit addresses (MOVX @ DPTR). In this application, Port 2 uses strong internal pull-

ups when emitting 1s. During accesses to external data memories that use 8-bit addresses

(MOVX @ RI), Port 2 emits the contents of the P2 Special Function Register. Port 2 also receives

the high-order address bits and some control signals during Flash programming and verification.

Port 3

Port 3 is an 8-bit bidirectional I/O port with internal pull-ups. 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 pull-ups and can be used as inputs. As inputs, Port 3 pins that are externally being pulled

low will source current (IIL) because of the pull-ups. Port 3 receives some control signals for

Flash programming and verification. Port 3 also serves the functions of various special features of

the AT89S52, as shown in the following table.

RST

Reset input. A high on this pin for two machine cycles while the oscillator is running

resets the device. This pin drives high for 98 oscillator periods after the Watchdog times out. The

DISRTO bit in SFR AUXR (address 8EH) can be used to disable this feature. In the default state

of bit DISRTO, the RESET HIGH out feature is enabled.

ALE/PROG

Address Latch Enable (ALE) is an 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

Page 27: Bharath Fire Fighting Robot

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 (PSEN) is the read strobe to external program memory. When the

AT89S52 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.

XTAL1

Input to the inverting oscillator amplifier and input to the internal clock operating circuit.

XTAL2

Output from the inverting oscillator amplifier.

4.4.Memory Organisation

MCS-51 devices have a separate address space for Program and Data Memory. Upto

64K bytes each of external Program and Data Memory can be addressed.

Program Memory

If the EA pin is connected to GND, all program fetches are directed to external

Page 28: Bharath Fire Fighting Robot

memory.

Data Memory

The AT89S52 implements 256 bytes of on-chip RAM. The upper 128 bytes occupy a

parallel address space to the Special Function Registers. This means that the upper 128 bytes have

the same addresses as the SFR space but are physically separate from SFR space. When an

instruction accesses an internal location above address 7FH, the address mode used in the

instruction specifies whether the CPU accesses the upper 128 bytes of RAM or the SFR space.

Instructions which use direct addressing access the SFR space.

For example, the following direct addressing instruction accesses the SFR at location 0A0H

(which is P2).

MOV 0A0H, #data

Instructions that use indirect addressing access the upper 128 bytes of RAM. For example, the

following indirect addressing instruction, where R0 contains 0A0H, accesses the data byte at

address 0A0H, rather than P2 (whose address is 0A0H).

MOV @R0, #data

Note that stack operations are examples of indirect addressing, so the upper 128 bytes of data

RAM are available as stack space.

4.6. Watchdog Timer (One-time Enabled with Reset-out)

The WDT is intended as a recovery method in situations where the CPU may be

subjected to software upsets. The WDT consists of a 14-bit counter and the Watchdog Timer

Reset (WDTRST) SFR. The WDT is defaulted to disable from exiting reset. To enable the WDT,

a user must write 01EH and 0E1H in sequence to the WDTRST register (SFR location 0A6H).

When the WDT is enabled, it will increment every machine cycle while the oscillator is running.

The WDT timeout period is dependent on the external clock frequency. There is no way to

disable the WDT except through reset (either hardware reset or WDT overflow reset). When

WDT over- flows, it will drive an output RESET HIGH pulse at the RST pin.

Using the WDT

Page 29: Bharath Fire Fighting Robot

To enable the WDT, a user must write 01EH and 0E1H in sequence to the WDTRST

register (SFR location 0A6H). When the WDT is enabled, the user needs to service it by writing

01EH and 0E1H to WDTRST to avoid a WDT overflow. The 14-bit counter overflows when it

reaches 16383 (3FFFH), and this will reset the device. When the WDT is enabled, it will

increment every machine cycle while the oscillator is running. This means the user must reset the

WDT at least every 16383 machine cycles. To reset the WDT the user must write 01EH and

0E1H to WDTRST. WDTRST is a write-only register. The WDT counter cannot be read or

written. When WDT overflows, it will generate an output RESET pulse at the RST pin. The

RESET pulse duration is 98xTOSC, where TOSC = 1/FOSC. To make the best use of the WDT,

it should be serviced in those sections of code that will periodically be executed within the time

required to prevent a WDT reset.

WDT During Power-down and Idle

In Power-down mode the oscillator stops, which means the WDT also stops. While

in Power-down mode, the user does not need to service the WDT. There are two methods of

exiting Power-down mode: by a hardware reset or via a level-activated external interrupt which

is enabled prior to entering Power-down mode. When Power-down is exited with hardware reset,

servicing the WDT should occur as it normally does whenever the AT89S52 is reset. Exiting

Power-down with an interrupt is significantly different. The interrupt is held low long enough for

the oscillator to stabilize. When the interrupt is brought high, the interrupt is serviced. To prevent

the WDT from resetting the device while the interrupt pin is held low, the WDT is not started

until the interrupt is pulled high. It is suggested that the WDT be reset during the interrupt

service for the interrupt used to exit Power-down mode. To ensure that the WDT does not

overflow within a few states of exiting Power-down, it is best to reset the WDT just before

entering Power-down mode. Before going into the IDLE mode, the WDIDLE bit in SFR AUXR

is used to determine whether the WDT continues to count if enabled. The WDT keeps counting

during IDLE (WDIDLE bit = 0) as the default state. To prevent the WDT from resetting the

AT89S52 while in IDLE mode, the user should always set up a timer that will periodically exit

IDLE, service the WDT, and reenter IDLE mode. With WDIDLE bit enabled, the WDT will stop

to count in IDLE mode and resumes the count upon exit from IDLE.

4.7. UART

Page 30: Bharath Fire Fighting Robot

The UART in the AT89S52 operates the same way as the UART in the AT89C51 and

AT89C52.

4.8. Timer 0 and 1

Timer 0 and Timer 1 in the AT89S52 operate the same way as Timer 0 and Timer 1 in

the AT89C51 and AT89C52

4.9. Timer 2

Timer 2 is a 16-bit Timer/Counter that can operate as either a timer or an event counter.

The type of operation is selected by bit C/T2 in the SFR T2CON (shown in Table 4.2). Timer 2

has three operating modes: capture, auto-reload (up or down counting), and baud rate generator.

The modes are selected by bits in T2CON, as shown in Table 4.5. Timer 2 consists of two 8-bit

registers, TH2 and TL2. In the Timer function, the TL2 register is incremented every machine

cycle. Since a machine cycle consists of 12 oscillator periods, the count rate is 1/12 of the

oscillator frequency.

TABLE 4.5. TIMER 2 OPERATING MODES

In the Counter function, the register is incremented in response to a 1-to-0 transition at its

corresponding external input pin, T2. In this function, the external input is sampled during S5P2

of every machine cycle. When the samples show a high in one cycle and a low in the next cycle,

the count is incremented. The new count value appears in the register during S3P1 of the cycle

following the one in which the transition was detected. Since two machine cycles (24 oscillator

periods) are required to recognize a 1-to-0 transition, the maximum count rate is 1/24 of the

oscillator frequency. To ensure that a given level is sampled at least once before it changes, the

level should be held for at least one full machine cycle.

Capture Mode

Page 31: Bharath Fire Fighting Robot

In the capture mode, two options are selected by bit EXEN2 in T2CON. If EXEN2 =

0, Timer 2 is a 16-bit timer or counter which upon overflow sets bit TF2 in T2CON. This bit can

then be used to generate an interrupt. If EXEN2 = 1, Timer 2 performs the same operation, but a

1-to-0 transition at external input T2EX also causes the current value in TH2 and TL2 to be

captured into RCAP2H and RCAP2L, respectively. In addition, the transition at T2EX causes bit

EXF2 in T2CON to be set. The EXF2 bit, like TF2, can generate an interrupt. The capture mode

is illustrated in Figure 4.5.

Auto-reload (Up or Down Counter)

Timer 2 can be programmed to count up or down when configured in its 16-bit

auto-reload mode. This feature is invoked by the DCEN (Down Counter Enable) bit located in

the SFR T2MOD (see Table 4.6). Upon reset, the DCEN bit is set to 0 so that timer 2 will default

to count up. When DCEN is set, Timer 2 can count up or down, depending on the value of the

T2EX pin.

FIGURE 4.3.Timer in Capture Mode

TABLE 4.6.T2MOD – Timer 2 Mode Control Register

Page 32: Bharath Fire Fighting Robot

Figure 4.6 shows Timer 2 automatically counting up when DCEN = 0. In this mode, two options

are selected by bit EXEN2 in T2CON. If EXEN2 = 0, Timer 2 counts up to 0FFFFH and then

sets the TF2 bit upon overflow. The overflow also causes the timer registers to be reloaded with

the 16-bit value in RCAP2H and RCAP2L. The values in Timer in Capture ModeRCAP2H and

RCAP2L are preset by software. If EXEN2 = 1, a 16-bit reload can be triggered either by an

overflow or by a 1-to-0 transition at external input T2EX. This transition also sets the EXF2 bit.

Both the TF2 and EXF2 bits can generate an interrupt if enabled. Setting the DCEN bit enables

Timer 2 to count up or down, as shown in Figure 4.6. In this mode, the T2EX pin controls the

direction of the count. A logic 1 at T2EX makes Timer 2 count up. The timer will overflow at

0FFFFH and set the TF2 bit. This overflow also causes the 16-bit value in RCAP2H and

RCAP2L to be reloaded into the timer registers, TH2 and TL2, respectively. A logic 0 at T2EX

makes Timer 2 count down. The timer underflows when TH2 and TL2 equal the values stored in

RCAP2H and RCAP2L. The underflow sets the TF2 bit and causes 0FFFFH to be reloaded into

the timer registers. The EXF2 bit toggles whenever Timer 2 overflows or underflows and can be

used as a 17th bit of resolution. In this operating mode, EXF2 does not flag an interrupt.

FIG.4.4.Timer 2 Auto Reload Mode (DCEN = 0)

Page 33: Bharath Fire Fighting Robot

FIG.4.5. Timer 2 Auto Reload Mode (DCEN = 1)

4.10. Baud Rate Generator

Timer 2 is selected as the baud rate generator by setting TCLK and/or RCLK in

T2CON (Table4.2). Note that the baud rates for transmit and receive can be different if Timer 2

is used for the receiver or transmitter and Timer 1 is used for the other function. Setting RCLK

and/or TCLK puts Timer 2 into its baud rate generator mode, as shown in Figure 4.6. The baud

rate generator mode is similar to the auto-reload mode, in that a rollover in TH2 causes the Timer

2 registers to be reloaded with the 16-bit value in registers RCAP2H and RCAP2L, which are

preset by software. The baud rates in Modes 1 and 3 are determined by Timer 2’s overflow rate

according to the following equation.

The Timer can be configured for either timer or counter operation. In most applications, it is

con-figured for timer operation (CP/T2 = 0). The timer operation is different for Timer 2 when it

is used as a baud rate generator. Normally, as a timer, it increments every machine cycle (at 1/12

the oscillator frequency). As a baud rate generator, however, it increments every state time (at

1/2 the oscillator frequency). The baud rate formula is given below.

Page 34: Bharath Fire Fighting Robot

where (RCAP2H, RCAP2L) is the content of RCAP2H and RCAP2L taken as a 16-bit unsigned

integer. Timer 2 as a baud rate generator is shown in Figure 11-1. This figure is valid only if

RCLK or TCLK = 1 in T2CON. Note that a rollover in TH2 does not set TF2 and will not

generate an inter-rupt. Note too, that if EXEN2 is set, a 1-to-0 transition in T2EX will set EXF2

but will not cause a reload from (RCAP2H, RCAP2L) to (TH2, TL2). Thus, when Timer 2 is in

use as a baud rate generator, T2EX can be used as an extra external interrupt. Note that when

Timer 2 is running (TR2 = 1) as a timer in the baud rate generator mode, TH2 or TL2 should not

be read from or written to. Under these conditions, the Timer is incremented every state time,

and the results of a read or write may not be accurate. The RCAP2 registers may be read

but should not be written to, because a write might overlap a reload and cause write and/or

reload errors. The timer should be turned off (clear TR2) before accessing the Timer 2 or RCAP2

registers.

Page 35: Bharath Fire Fighting Robot

CHAPTER 5

LM324

QUAD OPERATIONAL AMPLIFIER

Features

• Internally Frequency Compensated for Unity Gain

• Large DC Voltage Gain: 100dB

• Wide Power Supply Range:

LM224/LM224A, LM324/LM324A : 3V~32V (or ±1.5 ~16V)

LM2902: 3V~26V (or ±1.5V ~ 13V)

• Input Common Mode Voltage Range Includes Ground

• Large Output Voltage Swing: 0V to VCC -1.5V

• Power Drain Suitable for Battery Operation.

Description

The LM324/LM324A,LM2902,LM224/LM224A consist of four independent, high gain,

internally frequency compensated operational amplifiers which were designed specifically to

operate from a single power supply over a wide voltage range. operation from split power

supplies is also possible so long as the difference between the two supplies is 3 volts to 32 volts.

Page 36: Bharath Fire Fighting Robot

Application areas include transducer amplifier, DC gain blocks and all the conventional OP Amp

circuits which now can be easily implemented in single power supply systems.

Steps to design BFFR PCB board:

1. Go to start menu all programs Diptrace schematic.

2. A dialog box will appear as shown below.

Fig. a

3. Select OpenGL and click OK.

4. Go to file / Title & Sheet Setup, select “ANSI A” in the “Sheet Template” box.

5. Go to the bottom of the screen, check the “Display Titles” and “Display Sheet” boxes.

Page 37: Bharath Fire Fighting Robot

Fig. b

6. A schematic window appears where the circuits are drawn as shown below.

Fig. c

7. Select the components of your choice from the schematic window and drag and place it

in the window.

Page 38: Bharath Fire Fighting Robot

8. Connect the components as per your circuit diagram.

9. Give values and names to each component in the circuit.

10. Save the circuit by giving a suitable name.

11. Convert the circuit into PCB by pressing Cntrl+B or click “Convert to PCB” from file

menu.

Diptrace PCB Layout Window. (Top layer or component layer)

Bottom layer or signal/current layer.

Page 39: Bharath Fire Fighting Robot
Page 40: Bharath Fire Fighting Robot

Circuit diagram

Page 41: Bharath Fire Fighting Robot

Fig.3. Circuit diagram.

Page 42: Bharath Fire Fighting Robot
Page 43: Bharath Fire Fighting Robot