You are on page 1of 66

PROJECT REPORT ON ENVIRONMENT MONITORING ROBOT

DIPLOMA IN

SUBMITTED BY

UNDER THE GUIDANCE OF

PROF. J. ABC

SHREERAM POLYTECHNIC
CIDCO, SEC-3, AIROLI, NAVI MUMBAI-400708 FEBRUARY 2010

CERTIFICATE
This is to certify that Mr./Ms._________________________________________ (PRN: ________________) has successfully completed a project entitled B.TECH IN MECHANICAL ENGINEERING (MLEP) 9TH SEM. Industry

Manpower and A Resource Organisation in partial fulfillment for the requirement of

Signature with Date

Project Guide

SC Coordinator

Internal Examiner

External Examiner

ACKNOWLEDGEMENT

I would like to take this opportunity to express my gratitude towards all the people who have in various ways, helped in the successful completion of my project. I must convey my gratitude to Prof. Mathews for giving me the constant source of inspiration and help in preparing the project, personally correcting my work and providing encouragement throughout the project. I also thank all my faculty members for steering me through the tough as well as easy phases of the project in a result oriented manner with concern attention.

Thanking You, ________________

Abstract

Embedded systems have grown tremendously in recent years, not only in their popularity but also in their complexity. Gadgets are increasingly becoming intelligent and autonomous. Refrigerators, air-conditioners, automobiles, mobile phones etc are some of the common examples of devices with built in intelligence. These devices function based on operating and environmental parameters. A robot is a virtual or mechanical artificial agent. In practice, it is usually an electro-mechanical machine which is guided by computer or electronic programming, and is thus able to do tasks on its own. Another common characteristic is that by its appearance or movements, a robot often conveys a sense that it has intent or agency of its own. The main principle behind this project is to develop a robot which will be able to monitor the environmental conditions like temperature and humidity with a wireless control.

INDEX
SR.NO 1) 2) 3) 4) 5) 6) 7) 8) 9) 10) 11) 12) INTRODUCTION BLOCK DIAGRAM CIRCUIT DIAGRAM COMPONENT LIST WORKING OF CIRCUIT 15 SOFTWARE DEVELOPMENT 22 FARICATION OF PCB ADVANTAGES & DISADVANTAGES APPLICATION FUTURE MODIFICATION DATA SHEET BIBLOGRAPHY

TITLE

PG.NO 1 5 8 11
13

27
29

31 33 48

Chapter 1 INTRODUCTION

INTRODUCTION

This project mainly deals with acquisition of temperature, Humidity, light by using temperature and Humidity sensor (SHT11) interfaced with Micro controller. The peripherals equipped here are micro controller, Temperature and humidity sensor, power supply unit, A/D converter. India is an agriculture dependent country where 70% of the people are dependent on agriculture and allied activities. There are huge variations in topography and climatic zones resulting in different rainfall, timing of the rainfall and others. Agriculture planning, monitoring and support need accurate weather data. Central agencies use data from different sources to collect weather data and
2

develop weather forecasts and lend advice to various agencies involved in support operations for agriculture and allied fields. At present weather monitoring, forecast in India is very inadequate in terms of coverage, quality and its application for dayto-day use by the ultimate beneficiary. The weather forecast too general and cover many times Lakhs of squire kilometers and looses any sense of practical application to the farmers and others on when they want to decide to seed, spray pesticide or apply water or when to harvest etc. The main reasons for this lacuna are the centralized weather monitoring systems (Hyderabad or Bombay), lack of weather conscious field staff, low quality crude manual equipment and others and lack of research discipline. Very few institutions like ICRISAT and others are using digital weather stations

Introduction to Robotics Structure The structure of a robot is usually mostly mechanical and can be called a kinematic chain (its functionality being similar to the skeleton of the human body). The chain is formed of links (its bones), actuators (its muscles), and joints which can allow one or more degrees of freedom. Most contemporary robots use open serial chains in which each link connects the one before to the one after it. These robots are called serial robots and often resemble the human arm. Some robots, such as the Stewart platform, use a closed parallel kinematical chain. Other structures, such as those that mimic the mechanical structure of humans, various animals, and insects, are comparatively rare. However, the development and use of such structures in robots is an active area of research (e.g. biomechanics). Robots used as
3

manipulators have an end effector mounted on the last link. This end effector can be anything from a welding device to a mechanical hand used to manipulate the environment. The world's biggest robot, 700-ton robotic dump truck capable of hauling 240 tons of earth at a time, served as the model for the character Long Haul in the Transformers series Power source At present; mostly (lead-acid) batteries are used, but potential power sources could be:

pneumatic (compressed gases) hydraulics (compressed liquids) flywheel energy storage organic garbages (through anaerobic digestion) feces (human, animal); may be interesting in a military context as feces of small combat groups may be reused for the energy requirements of the robot assistant (see DEKA's project Slingshot stirling engine on how the system would operate) still untested energy sources (eg Joe Cell, ...) radioactive source (such as with the proposed Ford car of the '50); to those proposed in movies such as Red Planet

Actuation

A robot leg powered by Air Muscles Actuators are the "muscles" of a robot, the parts which convert stored energy into movement. By far the most popular actuators are electric motors, but there are many others, powered by electricity, chemicals, and compressed air.

Motors: The vast majority of robots use electric motors, including brushed and brushless DC on many robots and CNC machines, as their main can specify how much to turn, for more precise control, rather than a "spin and see where it went" approach. Piezo motors: A recent alternative to DC motors are piezo motors or ultrasonic motors. These work on a fundamentally different principle, whereby tiny piezoceramic elements, vibrating many thousands of times per second, cause linear or rotary motion. There are different mechanisms of operation; one type uses the vibration of the piezo elements to walk the
5

motor in a circle or a straight line.[12] Another type uses the piezo elements to cause a nut to vibrate and drive a screw. The advantages of these motors are nanometer resolution, speed, and available force for their size.[13] These motors are already available commercially, and being used on some robots.
[14][15]

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

Sensing Touch Current robotic and prosthetic hands receive far less tactile information than the human hand. Recent research has developed a tactile sensor array that mimics the mechanical properties and touch receptors of human fingertips.[17],[18] The sensor array is constructed as a rigid core surrounded by conductive fluid contained by an elastomeric skin. Electrodes are mounted on the surface of the rigid core and are connected to an impedance-measuring device within the core. When the artificial skin touches an object the fluid path around the electrodes is deformed, producing impedance changes that map the forces received from the object. The researchers expect that an important function of such artificial fingertips will be adjusting robotic grip on held objects.

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

Mechanical Grippers: One of the most common effectors is the gripper. In its simplest manifestation it consists of just two fingers which can open and close to pick up and let go of a range of small objects. See industrial robot end effectors. Vacuum Grippers: Pick and place robots for electronic components and for large objects like car windscreens, will often use very simple vacuum grippers. These are very simple astrictive[21] devices, but can hold very large loads provided the prehension surface is smooth enough to ensure suction. General purpose effectors: Some advanced robots are beginning to use fully humanoid hands, like the Shadow Hand, MANUS,[22] and the Schunk hand.[23] These highly dexterous manipulators, with as many as 20 degrees of freedom and hundreds of tactile sensors.[24]

For the definitive guide to all forms of robot endeffectors, their design, and usage consult the book "Robot Grippers".

Locomotion Rolling robots

For simplicity, most mobile robots have four wheels. However, some researchers have tried to create more complex wheeled robots, with only one or two wheels.

Two-wheeled balancing: While the Segway is not commonly thought of as a robot, it can be thought of as a component of a robot. Several real robots do use a similar dynamic balancing algorithm, and NASA's Robonaut has been mounted on a Segway.[26] Ballbot: Carnegie Mellon University researchers have developed a new type of mobile robot that balances on a ball instead of legs or wheels. "Ballbot" is a self-contained, battery-operated, omnidirectional robot that balances dynamically on a single urethane-coated metal sphere. It weighs 95 pounds and is the approximate height and width of a person. Because of its long,

thin shape and ability to maneuver in tight spaces, it has the potential to function better than current robots can in environments with people.[27]

Track Robot: Another type of rolling robot is one that has tracks, like NASA's Urban Robot, Urbie.

Walking robots

Walking is a difficult and dynamic problem to solve. Several robots have been made which can walk reliably on two legs, however none have yet been made which are as robust as a human. Many other robots have been built that walk on more than two legs, due to these robots being significantly easier to construct.[29][30] Hybrids too have been proposed in movies such as I, Robot, where they walk on 2 legs and switch to 4 (arms+legs) when going to a sprint. Typically, robots on 2 legs can walk well on flat floors, and can occasionally walk up stairs. None can walk over rocky, uneven terrain. Some of the methods which have been tried are:

ZMP Technique: The Zero Moment Point (ZMP) is the algorithm used by robots such as Honda's ASIMO. The robot's onboard computer tries to keep the total inertial forces (the combination of earth's gravity and the
9

acceleration and deceleration of walking), exactly opposed by the floor reaction force (the force of the floor pushing back on the robot's foot). In this way, the two forces cancel out, leaving no moment (force causing the robot to rotate and fall over).[31] However, this is not exactly how a human walks, and the difference is quite apparent to human observers, some of whom have pointed out that ASIMO walks as if it needs the lavatory.[32][33][34] ASIMO's walking algorithm is not static, and some dynamic balancing is used (See below). However, it still requires a smooth surface to walk on.

Hopping: Several robots, built in the 1980s by Marc Raibert at the MIT Leg Laboratory, successfully demonstrated very dynamic walking. Initially, a robot with only one leg, and a very small foot, could stay upright simply by hopping. The movement is the same as that of a person on a pogo stick. As the robot falls to one side, it would jump slightly in that direction, in order to catch itself.[35] Soon, the algorithm was generalised to two and four legs. A bipedal robot was demonstrated running and even performing somersaults.
[36]

A quadruped was also demonstrated which could trot, run, pace, and

bound.[37] For a full list of these robots, see the MIT Leg Lab Robots page.

Dynamic Balancing or controlled falling: A more advanced way for a robot to walk is by using a dynamic balancing algorithm, which is potentially more robust than the Zero Moment Point technique, as it constantly monitors the robot's motion, and places the feet in order to maintain stability.[38] This technique was recently demonstrated by Anybots' Dexter Robot,[39] which is so stable, it can even jump.[40] Another example is the TU Delft Flame. Passive Dynamics: Perhaps the most promising approach utilizes passive dynamics where the momentum of swinging limbs is used for greater efficiency. It has been shown that totally unpowered humanoid mechanisms can walk down a gentle slope, using only gravity to propel themselves.
10

Using this technique, a robot need only supply a small amount of motor power to walk along a flat surface or a little more to walk up a hill. This technique promises to make walking robots at least ten times more efficient than ZMP walkers, like ASIMO.

11

Chapter 2 BLOCK DIAGRAM

Block Diagram

12

Rf RECEIVE R

PC

Rf TRANSM ITTER LDR + LM35

Micro Controller 89C51

Rf RX +RELAY

SYHS220 ADC 0809 MAX232 MOTOR

13

Chapter 3 CIRCUIT DIAGRAM

14

CIRCUIT DIAGRAM

15

ARTWORK

16

Chapter 4 COMPONENT LIST

17

COMPONENT LIST
SR.No Description Qty. Price

1 2 3 4 5 6 7 8 9 10 11 12 13 14 17 18 19 20 21 22 23 24 25

Transmitter / receiver pair RELAY MCU-89c2051 Voltage regulator IC 7805 Capacitor 1uF LED Resistors 10uf capacitors IC Base PCB Wires Solder wire HT12E/D Battery 9v Connector strip DC MOTOR WHEELS CHASSIS ACRYLIC SHEET LM35 TEMP SENSOR SYHSS HUMIDITY SENSOR LDR MAX232 MISC

1 4 1 1 1 4 3 1 3 1 2 1 1 2 1 2 2 1 1 1 1 1 1 1

2000 1000 70 10 1 4 3 5 15 250 25 25 280 50 25 300 50 100 60` 50 500 25 15 1000

18

Chapter 5 WORKING OF CIRCUIT

19

Working of Circuit
DC Motor

Typical DC motors are rated from about 6V-12V. The larger ones are often 24V or more. But for the purposes of a robot, you probably will stay in the 6V-12V range. So why do motors operate at different voltages? As we all know (or should), voltage is directly related to motor torque. More voltage, higher the torque. But don't go running your motor at 100V cause thats just not nice. A DC motor is rated at the voltage it is most efficient at running. If you apply too few volts, it just wont work. If you apply too much, it will overheat and the coils will melt. So the general rule is, try to apply as close to the rated voltage of the motor as you can. Also, although a 24V motor might be stronger, do you really want your robot to carry a 24V battery (which is heavier and bigger) around? My recommendation is do not surpass 12V motors unless you really really need the torque. When buying a motor, there are two current ratings you should pay attention to. The first is operating current. This is the average amount of current the motor is expected to draw under a typical torque. Multiply this number by the rated voltage and you will get the average power draw required to run the motor. The other current rating which you need to pay attention to is the stall current. This is when you power up the motor, but you put enough torque on it to force it to stop rotating. This is the maximum amount of current the motor will ever draw, and hence the maximum amount of power too. So you must design all control circuitry capable of handling this stall current. Also, if you plan to constantly run your motor, or run it higher than the rated voltage, it is wise to heat sink your motor to keep the coils from melting.

20

PowerRating How high of a voltage can you over apply to a motor? Well, all motors are (or at least should be) rated at a certain wattage. Wattage is energy. Innefficieny of energy conversion directly relates to heat output. Too much heat, the motor coils melt. So the manufacturers of [higher quality] motors know how much wattage will cause motor failure, and post this on the motor spec sheets. Do experimental tests to see how much current your motor will draw at a desired voltage. The equation is: Power (watts) = Voltage * Current Stepper Motor

Stepper Motors work under a very similar principle to DC motors, except they have many coils instead of just one. So to operate a stepper motor, one must activitate these different coils in particular patterns to generate motor rotation. So stepper motors need to be sent patterned commands to rotate. These commands are sent as high and low logic over several lines, and must be pulsed in a particular order and combination. Steppers are often used because each 'step,' separated by a set step angle, can be counted and used for feedback control. For example, a 10 degree step angle stepper motor would require 36 commands to rotate 360 degrees. However external torque can force movement to a different step, invalidating feedback. Therefore external torque must never exceed the holding torque of a stepper. Notes on Stepper Motors Stepper motors can be easily found in any 3.5" disk drive Require special stepper motor controllers 21

Have a set resolution, higher resolutions mean higher accuracy but lower holding torque If torque applied to stepper is greater than holding torque, stepper will lose accurate position measurements

Voltage Current When buying a motor, consider stall, holding, and operating current (max and minimum) Stall Current - The current a stepper motor requires when powered but held so that it does not rotate Holding Current - The current a stepper motor requires when powered but not signaled to rotate Operating Current - The current draw when a stepper motor experiences zero resistance torque It is best to determine current curves relating voltage, current, and required torque for optimization When a stepper motor experiences a change in torque (such as motor reversal) expect short lived current spikes Current spikes can be up to 2x the stall current, and can fry control circuitry if unprotected Use diodes to prevent reverse current to your circuitry Check power ratings of your circuitry and use heat sinks if needed 22 Polarized (current cannot be reversed) Typically from 5-12V, but can range to extremes in special application motors Higher voltages generally mean more torque, but also require more power Steppers can run above or below rated voltage (to meet other design requirements) Most efficient at rated voltage

Power (Voltage x Current) Torque When buying a stepper motor, consider stall and operating torque (max and minimum) Stall Torque - The torque a stepper motor requires when powered but held so that it does not rotate Holding Torque - The torque a stepper motor requires when powered but not signaled to rotate Operating Torque - The torque a stepper motor can apply when experiencing zero resistance torque Changing voltage will change torque Running motors close to stall current often, or reversing current often under high torque, can cause motors to melt Heat sink motors if not avoidable

Servo Motor Servos are DC motors with built in gearing and feedback control loop circuitry. And no motor drivers required! Servos are extremely popular with robot, RC plane, and RC boat builders. Most servo motors can rotate about 90 to 180 degrees. Some rotate through a full 360 degrees or more. However, servos are unable to continually rotate, meaning they can't be used for driving wheels (unless modified), but their precision positioning makes them ideal for robot arms and legs, rack and pinion steering, and sensor scanners to name a few. Since servos are fully self contained, the velocity and angle control loops are very easy to impliment, while prices remain very affordable. To use a servo, simply connect the black wire to ground, the red to a 4.8-6V source, and the yellow/white wire to a signal generator (such as from your microcontroller). Vary the square wave pulse width from 1-2ms and your servo is now position/velocity controlled.

23

The SYHS-220 is a single chip relative humidity and temperature multi sensor module comprising a calibrated digital output. The device includes a capacitive polymer sensing element for relative humidity and a band gap temperature sensor. Both are seamlessly coupled to a 14bit analog to digital converter and a serial interface circuit on the same chip. This results in superior signal quality, a fast response time and insensitivity to external disturbances (EMC) at a very competitive price. Each SYHS-220 is individually calibrated in a precision humidity chamber with a

chilled mirror hygrometer as reference. The calibration coefficients are programmed into the OTP memory. These coefficients are used internally during measurements to calibrate the signals from the sensors. The 2-wire serial interface and internal voltage regulation allows easy and fast system integration. Its tiny size and low power consumption makes it the ultimate choice for even the most demanding applications. The device is supplied in either a surface-mountable LCC (Leadless Chip Carrier) or as a pluggable 4-pin single-in-line type package. Customer specific packaging options may be available on request. Each LM35 is individually calibrated in a precision humidity chamber with a chilled

mirror hygrometer as reference. The calibration coefficients are programmed into the OTP memory. These coefficients are used internally during measurements to calibrate the signals from the sensors. The 2-wire serial interface and internal voltage regulation allows easy and fast system integration. Its tiny size and low power consumption makes it the ultimate choice for even the most demanding applications.

24

Chapter 6 SOFTWARE DEVELOPMENT

25

PROJECT ORGANIZATION
Software Process Model The Project team is meeting once a week to discuss the progress made by each member and to share the relevant information and be documents that have been prepared. The number of meetings may increase during the final semester as the team members will have more time. There are reviews being conducted once a week during the team meetings. A complete technical review will be conducted at the end of the Design Phase. There will be reviews conducted at the completion of every testing phase. The major milestones to be achieved are as follows: 1. Results of research of existing system and discussions with the Project leader. 2. Results of interview with experts and team meetings to finalize the requirements of the software. 3. Results of the Design Phase, which include a number of modeling diagrams, like the use cases, class diagrams, etc. 4. Results of the first coding phase will be an initial code that will be then tested. 5. Based on the results of the testing, they code will be reviewed in the second coding phase.

Tools and Techniques We will require the following tools: 1. Mikrobasic C compiler
26

PROJECT MANAGEMENT PLAN Tasks The following tasks are to be executed:1. Requirement Analysis Phase 1 2. Requirement Analysis Phase 2 3. Design of System 4. Coding Phase 1 5. Coding Phase 2 6. Testing Phase 1 Requirement analysis:
1. Requirement Analysis Phase 1: This will include the research of

existing software and a discussion with the Project guide.


2. Requirement Analysis Phase 2: Based on the above results, the project

team will discuss and finalize the requirements that are to be provided. We shall consult a number of experts during this phase. The SPMP shall also be prepared during this phase. Design Phase: The design phase will involve the design of the static view, dynamic view, and the functional view of the software. A number of diagrams including the Use case, class diagram, activity diagram, and data flow diagrams will be used to model the software. Also, the GUIs will be designed during this phase Coding Phase 1: The prerequisite to this phase is the study of

Microsoft Visual basic6. After this study, an initial code of the entire
27

project will be written. Also, the database will be created during this phase. Finally, we shall conduct unit tests. Coding Phase 2: This phase will include a review of the code created in Phase 1. After the review, the necessary code and database will be modified to include the results of review. Testing Phase: We shall be following a testing program that will involve unit testing, integration testing, and validation testing. More information will be known after further discussion.

FLOWCHART

28

START Initialize All System Variables OFF all Devices

Initialize RF

SEND DATA T,H,L VALUES

If Received

No

Yes

Decode It

DISPLAY VB PROGRAM M

SWITCH=1

If SW=2

If SW=3

forward

back

left

Wait for signal

29

C- COMPILER

Project Manager is IDE feature which allows users to manage multiple projects. Several projects which together make project group may be open at the same time. Only one of them may be active at the moment. Setting project in active mode is performed by double click on the desired project in the Project Manager.

30

Code Explorer allows you to easily monitor variables, functions, procedures and other program items. Clicking on the element positions the main window to its definition line - very useful for finding procedures and other elements in long units. Library Manager enables simple handling libraries being used in a project. Library Manager window lists all libraries (extencion .mcl) which are instantly stored in the compiler Uses folder. The desirable library is added to the project by selecting check box next to the library name. Auto Correct Auto Correct feature automatically corrects your common typing mistakes. You can add your own preferences to the list of recognized typos. Code Templates You can insert code template by typing the name of the template (for instance, whileb), followed by CTRL+J; Code Editor automatically generates the desired code snippet. Or, you can click the button from Code Toolbar and select a template from the list. You can add your own templates to the list, with no limitations regarding the contents or size of the code. Syntax Highlighting You can configure Editor colors and syntax highlighting to best suit your needs from background color to specific keywords.

31

Chapter 7 FABRICATION OF PCB

32

P.C.B. MAKING

PCB m
thin copper foil which is

P.C.B. is printed circuit board which is of insulating base with layer of copper-foil.

The circuit diagram is then drawn on the P. C. B. with permanent marker and then it is dipped in the solution of ferric chloride so that unwanted copper is removed from the P.C.B., thus leaving components interconnection on the board.

The specification of the base material is not important to know in most of the application, but it is important to know something about drawn through a thin slip.

The resistance of copper foil will have an affect on the circuit operation. Base material is made of lamination layer of suitable insulating material such as treated paper, fabric; or glass fibers and binding them with resin. Most commonly used base materials are formed paper bonded with epoxy resin.

33

It is possible to obtain a range of thickness between 0.5 mm to 3 mm. Thickness is the important factor in determining mechanical strength

particularly when the commonly used base material is Formea from paper assembly. Physical properties should be self supporting these are surface

resistivity, heat dissipation, dielectric, constant, dielectric strength. Another important factor is the ability to wishstand high temperature.

DESIGNING THE LAYOUT :


While designing a layout, it must be noted that size of the board should be as small as possible. Before starting, all components should be placed properly so that an accurate measurement of space can be made. The component should not be mounted very close to each other or far

away from one another and neither one should ignore the fact that some component reed ventilation, which considerely the dimension of the relay and transformer in view of arrangement, the bolting arrangement is also considered.
The layout is first drawn on paper then traced on copper plate which is finalized with the pen or permanent marker which is efficient and clean with etching. 34

The resistivity also depends on the purity of copper, which is highest for low purity of copper. The high resistance path are always undesired for soldered connections.

The most difficult part of making an original printed circuit is the conversion from, theretical circuit diagram into wiring layout. without introducing cross over and undesirable effect.

Although it is difficult operation, it provides greatent amount of satisfaction because it is carried out with more care and skill.

The board used for project has copper foil thickness in the range of 25 40 75 microns.

The soldering quality requires 99.99% efficiency. It is necessary to design copper path extra large. There are two main reasons for this,

The copper may be required to carry an extra large overall current:It acts like a kind of screen or ground plane to minimize the effect of interaction. The first function is to connect the components together in their right sequence with minimum need for interlinking i.e. the jumpers with wire connections.

It must be noted, that when layout is done, on the next day it should be dipped in the solution and board is move continuously right and left after etching perfectly the board is cleaned with water and is drilled.

After that holes are drilled with 1 mm or 0.8 mm drill. Now the marker on the P. C. B. is removed.

The Printed Circuit Board is now ready for mounting the components on it. 35

SOLDERING :
For soldering of any joints first the terminal to be soldered are cleaned to remove oxide film or dirt on it. If required flux is applied on the points to be soldered. Now the joint to be soldered is heated with the help of soldering iron. Heat applied should be such that when solder wire is touched to joint, it must melt quickly. The joint and the soldering iron is held such that molten solder should flow smoothly over the joint. When joint is completely covered with molten solder, the soldering iron is removed. The joint is allowed to cool, without any movement. The bright shining solder indicates good soldering.

36

In case of dry solder joint, a air gap remains in between the solder matenal and the joint. It means that soldering is improper. This is removed and again soldering is done.

Thus is this way all the components are soldered on P. C. B.

37

Chapter 8 ADVANTAGES & DISADVANTAGES

38

ADVANTAGES:1)

As all operation is controlled through MICROCONTROLLER human interfacing is minimized. As human interfacing is minimized maintenance is lowered. Give more accuracy, works continuously & gives consistency. Rugged to withstand heat and additional pressure

2) 3) 4)

DISADVANTAGES:1) It only works on programming. 2) It needs to be plugged into the Computer 3) It has a battery life.

39

Chapter 9 APPLICATION

40

APPLICATION:1) 2) 3) 4) Weather data acquisition Installation in Railways Commercial buildings for data gathering Scientific data

41

Chapter 10 FUTURE MODIFICATIONS

42

FUTURE MODIFICATION

1)
2)

Integrating GPS for accurate location management. Integrating additional sensors Making it wireless Wind module

3) 4)

43

Chapter 11 DATA SHEET

44

The 89C51 microcontroller


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 Phillipss high-density nonvolatile memory technology and is compatible with the industry-standard MCS-51 instruction 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 Flash on a monolithic chip, the Phillips AT89C51 is a powerful microcomputer which provides a highly-flexible and cost-effective solution to many embedded control applications. 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.

Features of 89C51
Compatible with MCS-51 Products 4K Bytes of In-System Reprogrammable Flash Memory Endurance: 1,000 Write/Erase Cycles Fully Static Operation: 0 Hz to 24 MHz Three-level Program Memory Lock 128 x 8-bit Internal RAM 32 Programmable I/O Lines Two 16-bit Timer/Counters Six Interrupt Sources Programmable Serial Channel Low-power Idle and Power-down Modes

Pin Diagram of 89C51:


45

46

Block Diagram

47

Brief Description
48

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 Phillipss 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 Phillips AT89C51 is a powerful microcomputer which provides a highly-flexible and cost-effective solution to many embedded control applications.

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 high impedance inputs. Port 0 may 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 bi-directional 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. Port 1 also receives the loworder address bytes during Flash programming and verification. Port 2

49

Port 2 is an 8-bit bi-directional 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 memory that uses 16-bit addresses (MOVX @ DPTR). In this application, it uses strong internal pull-ups when emitting 1s. During accesses to external data memory that uses 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 bi-directional 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 also serves the functions of various special features of the AT89C51 as listed below:

50

Port Pin Alternate Functions P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 RXD (serial input port) TXD (serial output port) INT0 (external interrupt 0) INT1 (external interrupt 1) T0 (timer 0 external input) T1 (timer 1 external input) WR (external data memory write strobe) RD (external data memory read strobe)

Port 3 also receives some control signals for Flash programming and verification.

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

resets the device. 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

51

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.

52

Chapter 12 BIBILIOGRAPHY

53

BIBLOGRAPHY
1) Operational amplifiers : Op-Amps & Linear Integrated Circuits, By: Ramakant.A.Gayakwad, 3rd edition Prints Hall International Publication (1996) 2) Electronics for You.
3) www.google.com, www.EFY.com 4) Frank Wahid, Embedded System 5) Muhammad Ali Mazidi, The 8051 Microcontroller and Embedded System 6) V.K. Mehta, Principles of Electronics 7) www.atmel.com 8) www.electronicsforyou.com 9) "Industry Spotlight: Robotics from Monster Career Advice". http://content.monster.com/articles/3472/18567/1/industry/12/home.aspx. Retrieved 2007-08-26. 10) According to the Oxford English Dictionary, the term "robotics" was first used in the short story "Liar!" published in the May, 1941 issue of Astounding Science Fiction. 11) "Robotics: About the Exhibition". The Tech Museum of Innovation. http://www.thetech.org/exhibits/online/robotics/universal/index.html. Retrieved 200809-. 12) Imitation of Life: A History of the First Robots 13) Waurzyniak, Patrick (2006-07). "Masters of Manufacturing: Joseph F. Engelberger". Society of Manufacturing Engineers 137 (1). http://www.sme.org/cgi-bin/find-articles.pl? &ME06ART39&ME&20060709#article. 14) "Company History". Fuji Yusoki Kogyo Co.. http://www.fujiyusoki.com/English/rekishi.htm. Retrieved 2008-09-12. 54

15) "KUKA Industrial Robot FAMULUS". http://www.kukarobotics.com/en/company/group/milestones/1973.htm. Retrieved 2008-01-10. 16) Asimov, Isaac (1996) [1995]. "The Robot Chronicles". Gold. London: Voyager. pp. 224-225. ISBN 0-00-648202-

Source code
$regfile = "reg51.dat" $crystal = 11059200 $baud = 9600 Dim A As Byte Dim B1 As Byte Dim A1 As Bit

Dim C As Bit Dim D As Word Dim E As Byte Dim Count As Byte Declare Sub Test(b1.0 As Bit , B1.1 As Bit , B1.2 As Bit , A) Declare Sub Ir(count As Byte , C As Bit ) Main: Count = 0 'Print "READY" Set P0
55

Set P3.2 'A Alias P0 Alt Alias P2.2 St Alias P2.0 Eoc Alias P2.1 B1.0 Alias P2.5 B1.1 Alias P2.4 B1.2 Alias P2.3 B1.0 = 0 B1.1 = 0 B1.2 = 0 Set Eoc 'P2 = B1

Do 'For B1 = 0 To 7 'Print "ready" E = Inkey() If E = "1" Then Call Test(0 , 0 , 0) 'Print A End If '''''''''''''''''''''
56

If E = "2" Then Call Test(1 , 0 , 0) 'Print A End If ''''''''''''''''''''''''''''''' If E = "3" Then Call Test(0 , 1 , 0) 'Print A End If '''''''''''''''''''''''''''''' If E = "4" Then Call Test(1 , 1 , 0) 'Print A End If ''''''''''''''''''''''''''''''' If E = "5" Then Call Test(0 , 0 , 1) 'Print A End If '''''''''''''''''''''''''''''''' 'If E = "6" Then
57

'Call Ir() 'Print A 'End If 'Call Test(1 , 0 , 1) 'Print "SAMPLE2" ; A

'Call Test(0 , 1 , 1) 'Print "SAMPLE3" ; A

'Call Test(1 , 1 , 1) 'Print "SAMPLE4" ; A

'Next 'Print "end" Loop End Sub Test(b1.0 As Bit , B1.1 As Bit , B1.2 As Bit , A)
58

Alt = 0 St = 0 Eoc = 1 P2.5 = B1.0 P2.4 = B1.1 P2.3 = B1.2 Alt = 1 St = 1 Alt = 0 St = 0 Eoc = 0 Waitms 10 Eoc = 1 'If Eoc = 1 Then A = P0 Print A 'Print Eoc 'Wait 2 End Sub

'= A3

59

60

61

You might also like