Top Banner

of 65

P4297

Apr 14, 2018

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 7/30/2019 P4297

    1/65

    PROJECT REPORT

    on

    DEVICE CONTROL BY SMS

    Submitted in partial fulfillment for the award of the degree

    of

    BACHELOR OF TECHNOLOGYin

    COMPUTER SCIENCE AND ENGINEERING

    by

    PRASENJIT PODDER (10305265)

    JOHN EBENEZER JOSEPHRAJ .D (10305081)

    under the guidance of

    Mr. R. JEBAKUMAR, M.E.,(Lecturer, School of Computer Science and Engineering)

    FACULTY OF ENGINEERING AND TECHNOLOGY

    SRM UNIVERSITY(under section 3 of UGC Act,1956)

    SRM Nagar, Kattankulathur 603 203Kancheepuram Dist

    MAY 2009

  • 7/30/2019 P4297

    2/65

    BONAFIDE CERTIFICATE

    Certified that this project report DEVICE CONTROL BY SMS is the

    bonafide work of PRASENJIT PODDER (10305265) and JOHN EBENEZER

    JOSEPHRAJ .D (10305081) who carried out the project work under my

    supervision.

    HEAD OF THE DEPARTMENT INTERNAL GUIDE

    Date:

    EXTERNAL EXAMINER INTERNAL EXAMINER

    Date :

  • 7/30/2019 P4297

    3/65

    ABSTRACT

    Our project controls the devices by SMS commands using cell phones.

    A GSM modem is placed near the devices to access the data. GSM modem is a

    device which operates as cell phone with only SMS technology.

    The GSM modem comes along with RS232 port, which is used by

    microcontroller to read the data present in the SIM card such as SMS.

    Then the process is to control corresponding equipment connected to

    microcontroller.

    The device to be controlled such as switch, light, fan etc is connected to the

    microcontroller through relay, which when energized or deenergized (Turns ON or

    OFF) respectively, the devices connected to it.

    Each device will be allotted to a number following by a particular word such

    as DEV. In order to turn ON/OFF the corresponding number should be text

    messaged to the GSM modem.

  • 7/30/2019 P4297

    4/65

    ACKNOWLEDGEMENT

    We take this opportunity to thank Associate Director Dr. C.

    Muthamizhchelvan for providing us with an excellent infrastructure for developing

    this project.

    We are greatly indebted to our Head of Department, Prof. C. Malathy, M.S.,

    M.E., for her motivation, guidance throughout the course of this project work. She

    has been responsible for providing us with a lot of splendid opportunities, which has

    shaped our career. Her advice, ideas and constant support has engaged us on and

    helped us get through in difficult times.

    We hereby acknowledge all those who are related to this work either directly

    or indirectly. We express my deep sense gratitude to our project guide Mr. R.

    Jebakumar, M.E for his valuable guidance, stimulating discussions throughout the

    period of this project.

    We express my deep sense of gratitude to Mr. T. Sabhanayagam,

    M.Sc.,M.C.A.,M.S. Department of Computer Science, SRM University, Chennai, for

    his encouragement and support.

    We are also thankful to the almighty and we will be failing in my duty if we

    do not express our indebtedness to our Department Staffs, Parents, and Friends for

    their support and encouragement.

    Last but not the least we are thankful to all those, who are directly and

    indirectly related to this project.

  • 7/30/2019 P4297

    5/65

    TABLE OF CONTENTS

    LIST OF SYMBOLS AND ABBREVIATIONS 5

    LIST OF FIGURES 6

    1. INTRODUCTION 72. LITERATURE REVIEW 103. SYSTEM ANALYSIS 14

    3.1 Existing System 14

    3.2Proposed System 154. WORKING ENVIRONMENT 16

    4.1Hardware Specification 164.2Software Specification 16

    5. SYSTEM ANALYSIS 175.1Block Diagram 175.2Dataflow Diagram 185.3Circuit Diagram 195.4Power Supply Unit 19

    5.5Module Diagram 206. MODULE DESCRIPTION 21

    6.1Receiving Messages 216.2Controlling The Units 276.3Sending The Report 44

    7. SYSTEM IMPLEMENTATION 507.1LCD Coding 507.2GSM Coding 52

    8. SYSTEM TESTING 598.1Unit Testing 598.2Integration Testing 608.3Verification And Validation Testing 608.4User Acceptances Testing 618.5Functional Testing 61

  • 7/30/2019 P4297

    6/65

    8.6Performance Testing 618.7Structure Testing 618.8System Testing 62

    9. CONCLUSION 6310.FUTURE ENHANCEMENT 6311.BIBLIOGRAPHY 64

  • 7/30/2019 P4297

    7/65

    LIST OF SYMBOLS AND ABBREVIATIONS

    1. SMS : Short Messaging Service2. MMS : Multimedia Messaging Service3. WAP : Wireless Access Protocol4. WI-FI : Wireless Local Area Network5. GSM : Global System for Mobile

    Communication

    6. QoS : Quality of Service7. PC : Personal Computer8. CPU : Central Processing Unit9. SIM : Subscriber Identity Module10.RTOS : Real-Time Operating System11.SWAP : Shared Wireless Access Protocol12.GUI : Graphical User Interface13.ACK : Acknowledgement14.TCP : Transmission Control Protocol15.PSU : Power Supply Unit

  • 7/30/2019 P4297

    8/65

    LIST OF FIGURES

    Figure No. Figure Title

    Page

    Fig 1 Diagram of system components 11

    Fig 2 Operation block of switching module 12

    Fig 3 Flowchart of remote triggering based embedded server 13

    Fig 4 Transmitter Section 17

    Fig 5 Receiver Section 17

    Fig 6 Dataflow Diagram 18Fig 7 Circuit Diagram 19

    Fig 8 Power Supply Unit 19

    Fig 9 Module Diagram 20

    Fig 10 GSM Network 21

    Fig 11 Block Diagram of a Basic Power Supply 23

    Fig 12 Circuit Diagram of the Power Supply 25

    Fig 13 Pin out of the 7805 regulator IC 26

    Fig 14 Pin Diagram of Microcontroller 28

    Fig 15 Oscillator Connection 31

    Fig 16 External Clock Drive Configuration 32

    Fig 17 Block Diagram 33

    Fig 18 Times in Capture Mode 39

    Fig 19 Relay Driver Circuit 41

    Fig 20 LCD Display 47

    Fig 21 Basic 2051 Configuration 49

  • 7/30/2019 P4297

    9/65

    1.INTRODUCTIONDuring the past decade, the world has seen the paradigm shift into mobile

    computing and communications. Much of the business and educational work is now

    heavily relying on the fast access to information and easy communication channels,

    irrespective of terrain and climate conditions. Ubiquitous wireless coverage has

    proven itself as of attractive option for B2B and B2C services as well as domestic

    applications. Remote Home Automation is the proof-of-concept for controlling

    electronic devices based on wireless messaging.

    Smart home systems are expected to become key research area for ubiquitous

    and embedded system computing in coming years. In this project, a new scheme in

    smart home systems technology using embedded server for providing intelligent

    control of home appliances is proposed. A wireless based embedded server act as

    protocol glue that incorporates wireless option such as Short Message Service (SMS)

    router with wireless local area network (WI-FI) for intelligent automation and higher

    speed of home appliances connectivity. With remote triggering capabilities, it sits at

    the core of the home network, acts as residential gateway and enables bi-directional

    communication and data transfer channel among networked appliances in the home

    and across the Internet.

    Smart home has been the talk of decade, predicted to be the next gigantic leap

    in the field of remote monitoring, has become an important research topic in recent

    years. In the past decade, research on smart homes has been moving towards applying

    the principles of ubiquitous computing. Smart home environment defined as one thatis able to acquire and apply knowledge about home dwellers and their environment in

    order to meet the goals of comfort and efficiency.

    The smart home adjusts its function to the inhabitants needs according to the

    information it collects from inhabitants, the computational system, and the context.

    With the availability of switched broadband services, a new opportunity exists for

    utilities between smart home systems technology and information service providers.

    However, the key issue is the interface between external information networks and the

  • 7/30/2019 P4297

    10/65

    home environment. One potential solution is through a remote triggering based

    embedded server, defined as an electronic subsystem which provides user interface,

    routing services and some management functionality to distribute and regulate the use

    of information services in the home.

    There has been much talk about generic remote triggering based embedded

    server but all of todays solutions are proprietary. One of the core difficulties in

    putting the module in place is the uncertainty as to the services and facilities which

    consumers will come to demand in the medium to long term. Because large based

    systems which a service provider must install are considerable risks if new, or if

    refined services required by customers, thus a practical module must be inexpensive,

    easily maintainable from both software and hardware perspectives.

    Devices in smart home environment can be done with variety of

    communications modes such as wireless LAN technology, dial-up modems, fiber

    technology and cellular network. The cellular network is getting widespread attention

    for transporting data, using GSM (global system for mobile communication) digital

    standard. GSM which provides always on connectivity and has low cost compared to

    other mobile communication option and also comprises high security so the

    information cannot be penetrated by any intruders. The most successful option

    utilizing GSM will be Short Message Services (SMS). In this paper, the system

    design, architecture and connectivity implementation will be presented.

    A new networking market, the home networking, is rapidly emerging as the

    focus of both PC and consumer electronics vendors. For years vendors have been

    trying to develop home automation networks that tie together and control all home

    appliances (US middle class home has 30-50 devices that contain microprocessors).

    However, as we all know, the home automation market has not taken off as expected.

    This is due to the lack of a killer application that drives the market. Moreover, there

    are many technical challenges that face home networking, e.g. develop technology

    that works for each embedded system device regardless of its operating system while

    considering the fact that this solution has to be inexpensive, and easy to install and

    maintain. The main technological challenges have remained and even increased, i.e.,

    the quest for high speed communication, but what has dramatically changed is the

  • 7/30/2019 P4297

    11/65

    existence of the killer application: the desire to access data, voice and video from the

    Internet from each location in the home while sharing a single Internet connection to

    the home.

    In order to deliver quality multimedia communication that includes voice,

    video, data and control, the network has to provide quality of service (QoS) support.

    The ability to provide QoS for multiple users in to the customer premise gives service

    providers the ability to offer more than just Internet access. With QoS, service

    providers can expand their service offerings to include differentiated data services,

    voice and video. For example, a service provider can deploy integrated access devices

    that support both voice and data applications at the customer premise. To provide

    such support QoS has to be integrated into the backbone, last mile and home

    networking technologies. We survey some of the existing support for QoS in the

    backbone and last mile technologies and point out recommendations for such support

    in home networking technology.

    A few years back, interconnecting home appliances was just a thought but

    now it has become a reality. Using the existing system, it is possible to monitor and

    control home appliances remotely.

  • 7/30/2019 P4297

    12/65

    2. LITERATURE REVIEW

    2.1 DESCRIPTION OF REMOTE TRIGGERING BASED EMBEDDED

    SERVER:

    A prototype of remote triggering based embedded server comprises of

    embedded CPU, switching module with Wi-Fi connectivity and SMS option. The aim

    is to design and implement a complete home appliance control over wireless and SMS

    technology. SMS is considered as first tier approach in this design. Being widely

    used, SMS with 160 characters are sufficient for device applications and provide ease

    of implementation into existing system or by interfacing with applications. A centraltheme in the implementation of this module is that the system architecture should be

    lightweight and platform independent. This is particularly important in smart home

    application where cost is king. Although the penetration of desktop PC technology

    into the home market is increasing on a daily basis, it is expected that most homes

    will not rely on home PC for control and monitoring in smart home environment.

    Instead a set-top-box style solution with low cost embedded CPU will satisfy this

    need for most end users.

    Furthermore, two distinctly different approaches emerging in the field of smart

    home system: one approach is to incorporate TCP/IP networking even into the

    simplest consumer devices. Most available embedded processors used in consumer

    devices are not powerful enough to implement IP protocol. The second approach,

    which is more realistic, is to integrate existing established technologies, such as SMS

    and TCP/IP infrastructure. With this approach only one device- the remote triggering

    based embedded server need be smart enough to implement the IP protocol, and

    only one IP number need be assigned per home. Therefore, other technologies such as

    X10 and CEBus can be integrated with the module to provide full control

    functionalities of home appliances. The prototype consists of Wireless Access Point,

    Switching Module, Embedded CPU and SMS module. A Pocket PC will acts as

    Remote Terminal with capability on sending SMS and also with wireless

    connectivity. It will access the interface program stored in embedded CPU. The GSM

    module logs on to the GSM network to send or receive the data needed for monitoring

  • 7/30/2019 P4297

    13/65

    or controlling. Using RS-232 connection, the commands will be triggered by the

    switching module to control the home appliances. The whole system components are

    shown in Fig 1.

    Fig. 1

    a. Embedded CPU

    The embedded CPU will acts as storage and remote application server for themodule. In this design, the GSM dial-up and communication protocol are stored in

    embedded CPU. Wireless access point is attached with the embedded CPU. The

    software, written using Microsoft Embedded Visual Basic will reside in embedded

    CPU. The CPU supports 4 inputs and 4 outputs Ethernet connectivity and system

    memory up to 512MB. For this prototype implementation, the EB-3820[4] model has

    been used with Windows XP environment.

    b. SMS Module

    Wireless Access Point is connected to the module via Embedded CPU. The

    SMS module consists of GSM modem. The SMS module acts like an interface

    between the embedded CPU and the GSM network. The module makes the system log

    on the GSM network and ready to make any communication or transferring of data.

    The module consists of Subscriber Identity Module card (SIM) to make the networkidentify the user and provide the user the GSM services. The module takes the AT

  • 7/30/2019 P4297

    14/65

    command from the Remote Terminal (Pocket PC) and send them to Switching

    Module by the GSM network. There are several types of SMS modules available in

    market, out of these types the focus of this paper will be on Enfora GSM1218A. The

    Enfora GSM1218A is intended for use in 900/1800 bands respectively. The module is

    used to make a connection to the GSM network and send/receive SMS.

    c. Switching Module

    Switching module consists of single chip and several relays that have

    functional protocol stack installed on complete Real-Time Operating System (RTOS),

    integrates all features needed for modern Ethernet and Internet applications. SC12

    from Beck- IPC is used to implement the server. Network interface of SC12 including

    10Base-T with RJ-45 connector. Switching Module is connected to the host server

    through RS-232 connection. The function of the switching module is listening to the

    incoming data, analyze the data and perform appropriate operation. The switching

    module controlled by a microcontroller to enable data processing mechanism. The

    operation block of switching module is illustrated in Fig. 2.

    Fig. 2

    The task of microcontroller centered on performing fetching mechanism to the

    incoming data from I/O interfaces and generates proper output switching signal. The

    switching signal will determine active path in switching unit for triggering control.

    There are 15 switching paths waiting for remote activation signal in switching unit.

    Relay set is the final block of switching module that represents desired responds of

    incoming signal. Each relay consumes 4 ms of delay time to perform triggering action

  • 7/30/2019 P4297

    15/65

    once activation signal received. However, it is allowable for remote triggering and

    monitoring purpose in smart home environment.

    2.2 ALGORITHM FOR IMPLEMENTING REMOTE TRIGGERING BASED

    EMBEDDED:

    The proposed remote triggering based embedded servers for smart home

    environment uses embedded process incoming data from RS-232 by running C

    program and sends data via switching module to control any connected home

    appliances. Prior connecting to the switching module, the remote application server

    need to be activated and configured with wireless access point. Once the network

    cable plugged into the RJ-45 socket, the pre-defined network configurations

    automatically launch the network service in the remote application server in

    embedded CPU. These configurations include IP address, subnet mask, and gateway

    and DNS server. By connecting using Wi-Fi, the module provides a transparent

    interface of the local system to global network Using wireless connection or SMS,

    home user can trigger the desired function to the remote application server using

    mobile device. In this prototype implementation, Pocket PC with GSM feature is used

    to send SMS commands to the module. Once triggering signal received, the switching

    module will trigger the appropriate relay connected to home appliances. Fig.3 shows a

    flowchart of the remote triggering based embedded servers mechanism.

  • 7/30/2019 P4297

    16/65

    Fig.3

  • 7/30/2019 P4297

    17/65

    3. SYSTEM ANALYSIS

    3.1EXISTING SYSTEM:

    During the past decade, the world has seen the paradigm shift into mobilecomputing and communications. Much of the business and educational work

    is now heavily relying on the fast access to information and easy

    communication channels, irrespective of terrain and climate conditions.

    Infrared technology which is a viable approach for line of sight point-to-pointcommunication but because of its obstacle penetration inability it can not be

    used throughout the home.

    Another wireless technology is Bluetooth. Using it we can communicate withany device from certain distance without stopping in any obstacles. This

    technology is much faster than infrared. Bluetooth supports both point-to-point

    and point-to-multipoint connection up to 10 meters range. Bluetooth

    implements authentication and encryption algorithms for security. The main

    security features are a challenge-response routine (for authentication), stream

    cipher (for encryption), and session key generation.

    HomeRF is a working group (core members: Compaq Computer Corporation,Ericsson Enterprise Networks, HP, IBM, Microsoft, Motorola, Philips,

    Consumer Communications, Proxim and Symbionics) that has worked on a

    standard called Shared Wireless Access Protocol (SWAP). The goal is toenable interoperability between low cost consumer devices for both voice and

    data traffic in home and small office environment. SWAP supports two

    topology types: an Ad Hoc network and a Managed network. The Ad Hoc

    network supports only data traffic and the Managed network supports both

    data traffic and time critical communication, such as interactive voice.

    Technologies that require new wires such as fibre optics and coaxial cable.These networks can provide very high speed communication but require the

  • 7/30/2019 P4297

    18/65

    installation of new communication infrastructure which may be cost

    prohibitive.

    3.2PROPOSED SYSTEM:

    A few years back, interconnecting home appliances was just a thought butnow it has become a reality. Using the existing system, it is possible to

    monitor and control home appliances remotely.

    All these features can be accessed via hand-held devices that are used forattending and making calls.

    Various challenges and requirements are faced when interacting with homeappliances via mobile device. Firstly, device and technology heterogeneity

    require implementation of gateway function. Secondly, communication

    infrastructure between users and home appliances must support mobility of

    both, the user and the terminal as well as various forms of communication. At

    the same time, solutions must be user-friendly. Finally, new services should be

    easily deployable and devices accessible with minimal amount of extra effort.

    Essentially, the same standardized mechanisms and framework should beutilized for different services. Provides secure, flexible and comfortable

    services inside and outside the home.

  • 7/30/2019 P4297

    19/65

    4. WORKING ENVIRONMENT

    4.1 HARDWARE SPECIFICATION:

    Required Hardware : GSM Modem

    Microcontroller

    (AT89C51)

    Power Supply Unit

    LCD Display

    Relay driver

    Relays

    Max232

    Microcontroller Programmer : Parallel Programmer

    4.2 SOFTWARE SPECIFICATION:

    Embedded Tool : Keil vision Software

    Language : Embedded C

    Programming Software : Easy Downloader

  • 7/30/2019 P4297

    20/65

    5. SYSTEM ANALYSIS

    5.1 BLOCK DIAGRAM:

    Transmitter Section:

    Fig. 4

    Receiver Section:

    Fig. 5

    5.2 DATAFLOW DIAGRAM:

  • 7/30/2019 P4297

    21/65

    Fig. 6

    5.3 CIRCUIT DIAGRAM:

  • 7/30/2019 P4297

    22/65

    Fig. 7

    5.4 POWER SUPPLY UNIT:

    Fig. 8

    5.5 MODULE DIAGRAM:

    DEVICE

    CONTROLLING

    BY SMS

  • 7/30/2019 P4297

    23/65

    SENDING THE

    REPORT

    Fig. 9

    6. MODULE DESCRIPTION

    RECEIVING MESSAGES CONTROLLING THE UNITS SENDING THE REPORT

    6.1 RECEIVING MESSAGES:

    Through the mobile phone text messages can be forwarded to the GSM

    modem which has been placed near the kit.

    GSM Modem:

  • 7/30/2019 P4297

    24/65

    A GSM modem is a device which is used for mobile communication.

    A GSM modem is connected to each Telecontrol unit. The central server calls

    up each of the Telecontrol units in sample homes to pick up the data stored

    therein. aMap's technology architecture enables instant data collection from

    the sample homes as often as desired. It also enables conducting of instant

    opinion polls about the programs being telecast. The collected data is

    instantaneously incorporated into the aMap reports.

    At present the central server calls up all the sample homes between

    2:00 AM and 4:00 AM IST (Indian Standard Time) to collect the data. In case

    the data from some of the homes/ units can not be collected in the first

    attempt, the server dials that home again after 5 minutes, and makes the third

    attempt after 1.30 hours. After 3 trials, the server gives up. If non-collection of

    data is caused by the problems with cellular connection, the data can be

    collected later at any time over next seven days.

    Fig. 10

    The system generates a list of sample homes from which the data could not be

    collected. These failures are investigated on the same day. The possible causes of

    failure in data collection are

    1. The Telecontrol power failure2. The Telecontrol unit disconnection/disfunctionality

  • 7/30/2019 P4297

    25/65

    3. The sample home being locked

    4. The problems with cellular connection etc.

    The Telecontrol system can respond to every possible use of a television screen,

    including viewing videos, playing TV games and using Tele text. Moreover, the

    design of the Telecontrol unit and its interactive system can be adapted to the

    psychological requirements of the panel household members, a key reason for its very

    high degree of acceptance and the widespread willingness to enter information.

    The central server calls up each of the data stored in Telecontrol using AT

    commands (Attentional Commands).

    * The AT commands, using for the system are given below,

    * AT+CMGR=ALL; is used to Read all sms in the sim card.

    * AT+CMGS= (Mobile No.); is used for sending sms. For completion of the process

    we have to give ctrl+z. eg: AT+CMGS=9840478140

    * ATD (Mobile no.); is used for calling a specified no. eg: ATD 9840478140

    Power Supply Unit:

    A power supply (sometimes known as a power supply unit orPSU)

    is a device or system that supplies electrical or other types of energy to an

    output load or group of loads.

    Fig.11 (A)

    Fig.11 (B)

  • 7/30/2019 P4297

    26/65

    The first section is the TRANSFORMER. The transformer steps up or steps

    down the input line voltage and isolates the power supply from the power line.

    The RECTIFIER section converts the alternating current input signal to a

    pulsating direct current. However, as you proceed in this chapter you will learn that

    pulsating dc is not desirable.

    For this reason a FILTER section is used to convert pulsating dc to a purer,

    more desirable form of dc voltage.

    The final section, the REGULATOR, does just what the name implies. It

    maintains the output of the power supply at a constant level in spite of large changes

    in load current or input line voltages.

    Now that we know what each section does, let's trace an ac signal through the

    power supply. At this point you need to see how this signal is altered within each

    section of the power supply. Later on in the chapter you will see how these changes

    take place. In view B of figure 11, an input signal of 115 volts ac is applied to the

    primary of the transformer. The transformer is a step-up transformer with a turn ratio

    of 1:3. You can calculate the output for this transformer by multiplying the input

    voltage by the ratio of turns in the primary to the ratio of turns in the secondary;

    therefore, 115 volts ac 3 = 345 volts ac (peak-to- peak) at the output. Because each

    diode in the rectifier section conducts for 180 degrees of the 360-degree input, the

    output of the rectifier will be one-half, or approximately 173 volts of pulsating dc.

    The filter section, a network of resistors, capacitors, or inductors, controls the rise and

    fall time of the varying signal; consequently, the signal remains at a more constant dc

    level. You will see the filter process more clearly in the discussion of the actual filter

    circuits. The output of the filter is a signal of 110 volts dc, with ac ripple riding on the

    dc. The reason for the lower voltage (average voltage) will be explained later in this

    chapter. The regulator maintains its output at a constant 110-volt dc level, which is

    used by the electronic equipment (more commonly called the load).

    Simple 5V power supply for digital circuits

    Summary of circuit features

    Brief description of operation: Gives out well regulated +5V output, outputcurrent capability of 100 mA

  • 7/30/2019 P4297

    27/65

    Circuit protection: Built-in overheating protection shuts down output whenregulator IC gets too hot

    Circuit complexity: Very simple and easy to build Circuit performance: Very stable +5V output voltage, reliable operation Availability of components: Easy to get, uses only very common basic

    components

    Design testing: Based on datasheet example circuit, I have used this circuitsuccessfully as part of many electronics projects

    Applications: Part of electronics devices, small laboratory power supply Power supply voltage: Unregulated DC 8-18V power supply Power supply current: Needed output current + 5 mA Component costs: Few dollars for the electronics components + the input

    transformer cost

    CIRCUIT DESCRIPTION:

    This circuit is a small +5V power supply, which is useful when experimenting

    with digital electronics. Small inexpensive wall transformers with variable output

    voltage are available from any electronics shop and supermarket. Those transformers

    are easily available, but usually their voltage regulation is very poor, which makes

    then not very usable for digital circuit experimenter unless a better regulation can be

    achieved in some way. The following circuit is the answer to the problem.

    This circuit can give +5V output at about 150 mA current, but it can be

    increased to 1 A when good cooling is added to 7805 regulator chip. The circuit has

    over overload and therminal protection.

    Fig.12

    Circuit diagram of the power supply.

    http://www.tkk.fi/Misc/Electronics/circuits/psu_5v.gif
  • 7/30/2019 P4297

    28/65

    The capacitors must have enough high voltage rating to safely handle the input

    voltage feed to circuit. The circuit is very easy to build for example into a piece of

    Vero board.

    Fig.13

    Pin out of the 7805 regulator IC.

    1. Unregulated voltage in 2. Ground 3. Regulated voltage out

    COMPONENT LIST:

    7805 regulator IC

    100 uF electrolytic capacitor, at least 25V voltage rating

    10 uF electrolytic capacitor, at least 6V voltage rating

    100 nF ceramic or polyester capacitor

    MODIFICATION IDEAS

    MORE OUTPUT CURRENT

    If you need more than 150 mA of output current, you can update the output current up

    to 1A doing the following modifications:

    Change the transformer from where you take the power to the circuit to amodel which can give as much current as you need from output

    Put a heat sink to the 7805 regulator (so big that it does not overheat becauseof the extra losses in the regulator)

    http://www.tkk.fi/Misc/Electronics/circuits/7805.gif
  • 7/30/2019 P4297

    29/65

    OTHER OUTPUT VOLTAGES

    If you need other voltages than +5V, you can modify the circuit by replacing

    the 7805 chips with another regulator with different output voltage from regulator

    78xx chip family. The last numbers in the chip code tells the output voltage.

    Remember that the input voltage must be at least 3V greater than regulator output

    voltage to otherwise the regulator does not work well.

    6.2 CONTROLLING THE UNITS:

    MICROCONTROLLER:FEATURES:

    Compatible with MCS-51 Products 4K Bytes of In-System Reprogrammable Flash Memory

    o 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

    DESCRIPTION:

    The AT89C51 is a low-power, high-performance CMOS 8-bit Microcomputerwith 4K bytes of Flash programmable and erasable read only memory (PEROM).

    The device is manufactured using Atmels 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 Atmel AT89C51 is a

    powerful microcomputer which provides a highly-flexible and cost-effective

    solution to many embedded control applications.

  • 7/30/2019 P4297

    30/65

    PIN DIAGRAM:

    Fig. 14

    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

  • 7/30/2019 P4297

    31/65

    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 low-order address bytes during Flash

    programming and verification.

    PORT 2

    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: Port 3 also receives some control signals for Flash programming and

    verification.

  • 7/30/2019 P4297

    32/65

    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 of1/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

  • 7/30/2019 P4297

    33/65

    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.

    OSCILLATOR CHARACTERISTICS

    XTAL1 and XTAL2 are the input and output, respectively, of an inverting

    amplifier which can be configured for use as an on-chip oscillator, as shown in Figure

    1. Either quartz crystal or ceramic resonator may be used. To drive the device from an

    external clock source, XTAL2 should be left unconnected while XTAL1 is driven as

    shown in Figure 2. There are no requirements on the duty cycle of the external clock

    signal, since the input to the internal clocking circuitry is through a divide-by-two

    flip-flop, but minimum and maximum voltage high and low time specifications must

    be observed.

    OSCILLATOR CONNECTIONS:

    Fig.15

    IDLE MODE

    In idle mode, the CPU puts itself to sleep while all the on chip peripherals

    remain active. The mode is invoked by software. The content of the on-chip RAM and

  • 7/30/2019 P4297

    34/65

    the entire special functions registers remain unchanged during this mode. The idle

    mode can be terminated by any enabled interrupt or by a hardware reset. It should be

    noted that when idle is terminated by a hard ware reset, the device normally resumes

    program execution, from where it left off, up to two machine cycles before the

    internal reset algorithm takes control. On-chip hardware inhibits access to internal

    RAM in this event, but access to the port pins is not inhibited. To eliminate the

    possibility of an unexpected write to a port pin when Idle is terminated by reset, the

    instruction following the one that invokes Idle should not be one that writes to a port

    pin or to external memory.

    EXTERNAL CLOCK DRIVE CONFIGURATION:

    Fig. 16

    BLOCK DIAGRAM:

  • 7/30/2019 P4297

    35/65

    Fig.17

    The AT89C51 provides the following standard features: 4K bytes of Flash,

    128 bytes of RAM, 32 I/O lines, two 16-bit timer/counters, five vector two-level

    interrupt architecture, a full duplex serial port, and on-chip oscillator and clock

    circuitry. In addition, the AT89C51 is designed with static logic for operation down to

  • 7/30/2019 P4297

    36/65

    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

    POWER-DOWN MODE:

    In the power-down mode, the oscillator is stopped, and the instruction that

    invokes power-down is the last instruction executed. The on-chip RAM and Special

    Function Registers retain their values until the power-down mode is terminated. The

    only exit from power-down is a hardware reset. Reset redefines the SFRs but does not

    change the on-chip RAM. The reset should not be activated before VCC is restored to

    its normal operating level and must be held active long enough to allow the oscillator

    to restart and stabilize.

    PROGRAM MEMORY LOCK BITS:

    On the chip are three lock bits which can be left unprogrammed (U) or can be

    programmed (P) to obtain the additional features listed in the table below. When lock

    bit 1 is programmed, the logic level at the EA pin is sampled and latched during reset.

    If the device is powered up without a reset, the latch initializes to a random value, and

    holds that value until reset is activated. It is necessary that the latched value of EA be

    in agreement with the current logic level at that pin in order for the device to function

    properly.

    PROGRAMMING THE FLASH

    The AT89C51 is normally shipped with the on-chip Flash memory array in the

    erased state (that is, contents = FFH) and ready to be programmed. The programming

  • 7/30/2019 P4297

    37/65

    interface accepts either a high-voltage (12-volt) or a low-voltage (VCC) program

    enable signal. The low voltage programming mode provides a convenient way to

    program the AT89C51 inside the users system, while the high-voltage programming

    mode is compatible with conventional third party Flash or EPROM programmers. The

    AT89C51 is shipped with either the high-voltage or low-voltage programming mode

    enabled. The respective top-side marking and device signature codes are listed in the

    following table.

    The AT89C51 code memory array is programmed byte-by byte in either

    programming mode. To program any nonblank byte in the on-chip Flash Memory, the

    entire memory must be erased using the Chip Erase Mode.

    PROGRAMMING ALGORITHM:

    Before programming the AT89C51, the address, data and control signals

    should be set up according to the Flash programming mode table and Figures 3 and 4.

    To program the AT89C51, take the following steps.

    Input the desired memory location on the address lines. Input the appropriate data byte on the data lines. Activate the correct combination of control signals. Raise EA/VPP to 12V for the high-voltage programming mode. Pulse ALE/PROG once to program a byte in the Flash array or the lock bits.

    The byte-write cycle is self-timed and typically takes no more than 1.5ms.

    Repeat steps 1 through 5, changing the address and data for the entire array or

    until the end of the object file is reached.

    DATA POLLING:

    The AT89C51 features Data Polling to indicate the end of a write cycle.

    During a write cycle, an attempted read of the last byte written will result in the

    complement of the written datum on PO.7. Once the write cycle has been completed,

  • 7/30/2019 P4297

    38/65

    true data are valid on all outputs, and the next cycle may begin. Data Polling may

    begin any time after a write cycle has been initiated.

    READY/BUSY:

    The progress of byte programming can also be monitored by the RDY/BSY

    output signal. P3.4 is pulled low after ALE goes high during programming to indicate

    BUSY. P3.4 is pulled high again when programming is done to indicate READY.

    PROGRAMS VERIFY:

    If lock bits LB1 and LB2 have not been programmed, the programmed code

    data can be read back via the address and data lines for verification. The lock bits

    cannot be verified directly. Verification of the lock bits is achieved by observing that

    their features are enabled.

    CHIP ERASE:

    The entire Flash array is erased electrically by using the proper combination of

    control signals and by holding ALE/PROG low for 10ms. The code array is written

    with all 1s. The chip erase operation must be executed before the code memory can

    be re-programmed.

    READING THE SIGNATURE BYTES:

    The signature bytes are read by the same procedure as a normal verification of

    locations 030H, 031H, and 032H, except that P3.6 and P3.7 must be pulled to a logic

    low. The values returned are as follows.

    (030H) = 1EH indicates manufactured by Atmel

    (031H) = 51H indicates 89C51

    (032H) = FFH indicates 12V programming

    (032H) = 05H indicates 5V programming

    PROGRAMMING INTERFACE

    Every code byte in the Flash array can be written and the entire array can be

    erased by using the appropriate combination of control signals. The write operation

    cycle is self timed and once initiated, will automatically time itself to completion. All

  • 7/30/2019 P4297

    39/65

    major programming vendors offer worldwide support for the Atmel microcontroller

    series. Please contact your local programming vendor for the appropriate software

    revision.

    SPECIAL FUNCTION REGISTERS

    A map of the on-chip memory area called the Special Function

    Register (SFR). Note that not all of the addresses are occupied, and unoccupied

    addresses may not be implemented on the chip. Read accesses to these addresses will

    in general return random data, and write accesses will have an indeterminate effect.

    User software should not write 1s to these unlisted locations, since they may be used

    in future products to invoke new features. In that case, the reset or inactive values of

    the new bits will always be 0.

    TIMER 2 REGISTERS

    Control and status bits are contained in registers T2CON and T2MOD for Timer 2.

    The register pair (RCAP2H, RCAP2L) is the Capture/Reload registers for Timer 2 in

    16-bit capture mode or 16-bit auto-reload mode.

    INTERRUPT REGISTERS

    The individual interrupt enable bits are in the IE register. Two priorities can be

    set for each of the six interrupt sources in the IP register.

    DATA MEMORY

    The AT89C52 implements 256 bytes of on-chip RAM. The upper 128 bytes

    occupy a parallel address space to the Special Function Registers. That means the

    upper 128bytes 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 that use direct addressing

    access SFR space.

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

    0A0H (which is P2).

    MOV 0A0H, #data

  • 7/30/2019 P4297

    40/65

    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.

    TIMER 0 AND 1

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

    Timer 1 in the AT89C51.

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

    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

  • 7/30/2019 P4297

    41/65

    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.

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

    TIME IN CAPTURE MODE:

    Fig. 18

    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 3. In this mode, the T2EX pin controls the direction of the

    count. Logic 1 at T2EX makes Timer 2 count up. The timer will overflow at 0FFFFH

  • 7/30/2019 P4297

    42/65

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

    PROGRAMMABLE CLOCK OUT

    A 50% duty cycle clock can be programmed to come out on P1.0, as shown in

    Figure 5. This pin, besides being a regular I/O pin, has two alternate functions. It can

    be programmed to input the external clock for Timer/Counter 2 or to output a 50%

    duty cycle clock ranging from 61 Hz to 4MHz at a 16 MHz operating frequency. To

    configure the Timer/Counter 2 as a clock generator, bit C/T2 (T2CON.1) must be

    cleared and bit T2OE (T2MOD.1) must be set. Bit TR2 (T2CON.2) starts and stops

    the timer.

    The clock-out frequency depends on the oscillator frequency and the reload value of

    Timer 2 capture registers (RCAP2H, RCAP2L), as shown in the following equation

    In the clock-out mode, Timer 2 roll-overs will not generate an interrupt. This

    behavior is similar to when Timer 2 is used as a baud-rate generator. It is possible to

    use Timer 2 s a baud-rate generator and a clock generator simultaneously. Note,

    however, that the baud-rate and clock-out frequencies cannot be determined

    independently from one another since they both use RCAP2H and RCAP2L.

    UART

    The UART in the AT89C52 operates the same way as the UART in the

    AT89C51.

    INTERRUPTS

    The AT89C52 has a total of six interrupt vectors: two external interrupts

    (INT0 and INT1), three timer interrupts (Timers 0, 1, and 2), and the serial port

  • 7/30/2019 P4297

    43/65

    interrupt. These interrupts are all shown in Figure 6. Each of these interrupt sources

    can be individually enabled or disabled by setting or clearing a bit in Special Function

    Register IE. IE also contains a global disable bit, EA, which disables all interrupts at

    once. Note that Table shows that bit position IE.6 is unimplemented. In the AT89C51,

    bit position IE.5 is also unimplemented. User software should not write 1s to these bit

    positions, since they may be used in future AT89 products. Timer 2 interrupt is

    generated by the logical OR of bits TF2 and EXF2 in register T2CON. Neither of

    these flags is cleared by hardware when the service routine is vectored to. In fact, the

    service routine may have to determine whether it was TF2 or EXF2 that generated the

    interrupt, and that bit will have to be cleared in software. The Timer 0 and Timer 1

    flags, TF0 and TF1, are set at S5P2 of the cycle in which the timers overflow. The

    values are then polled by the circuitry in the next cycle. However, the Timer 2 flag,

    TF2, is set at S2P2 and is polled in the same cycle in which the timer overflows.

    RELAY DRIVER CIRCUIT:

    A relay is an electrical switch that opens and closes under the control of

    another electrical circuit. In the original form, the switch is operated by an

    electromagnet to open or close one or many sets of contacts. It was invented by

    Joseph Henry in 1835. Because a relay is able to control an output circuit of higher

    power than the input circuit, it can be considered, in a broad sense, to be a form of an

    electrical amplifier

    Fig. 19

    Relays are components which allow a low-power circuit to switch a relatively

    high current on and off, or to control signals that must be electrically isolated from the

    controlling circuit itself.

  • 7/30/2019 P4297

    44/65

    To make a relay operate, you have to pass a suitable pull-in and holding

    current (DC) through its energizing coil. And generally relay coils are designed to

    operate from a particular supply voltage - often 12V or 5V, in the case of many of the

    small relays used for electronics work. In each case the coil has a resistance which

    will draw the right pull-in and holding currents when it is connected to that supply

    voltage. So the basic idea is to choose a relay with a coil designed to operate from the

    supply voltage youre using for your control circuit (and with contacts capable of

    switching the currents you want to control), and then provide a suitable relay driver

    circuit so that your low-power circuitry can control the current through the relay coil.

    Typically this will be somewhere between 25mA and 70mA.

    Often your relay driver can be very simple, using little more than an NPN or

    PNP transistor to control the coil current. All your low-power circuitry has to do is

    provide enough base current to turn the transistor on and off

    In A, NPN transistor Q1 (say a BC337 or BC338) is being used to control a

    relay (RLY1) with a 12V coil, operating from a +12V supply. Series base resistor R1

    is used to set the base current for Q1, so that the transistor is driven into saturation

    (fully turned on) when the relay is to be energized. That way, the transistor will have

    minimal voltage drop, and hence dissipate very little power as well as delivering

    most of the 12V to the relay coil. RLY1 needs 50mA of coil current to pull in and

    hold reliably, and has a resistance of 240W so it draws this current from 12V. Our

    BC337/338 transistor will need enough base current to make sure it remains saturated

    at this collector Current level. To work this out, we simply make sure that the base

    current is greater than this collector current divided by the transistor is minimum DC

    current gain hFE. So as the BC337/338 has a minimum hFE of 100 (at 100mA), we

    had need to provide it with at least 50mA/100 = 0.5mA of base current. In practice,

    youd give it roughly double this value, say 1mA of base current, just to make sure it

    does saturate. So if your control signal Vin was switching between 0V and +12V,

    youd give R1 a value of say 11kW, to provide the 1mA of base current needed to

    turn on both Q1 and the relay.

  • 7/30/2019 P4297

    45/65

    If our relay has a coil resistance of say 180W, so that it draws say 67mA at

    12V, wed need to reduce R1 to say 8.2kW, to increase the base current to about

    1.4mA. Conversely if the relay coil is 360W and draws only 33mA, we could increase

    R1 to 15kW, giving about 0.76mA of base current. Each time we go for about twice

    the relay coil current divided by Q1s hFE

    As you can see a power diode D1 (1N4001 or similar) is connected across the

    relay coil, to protect the transistor from damage due to the back-EMF pulse generated

    in the relay coils inductance when Q1 turns off.

    The basic NPN circuit in diagram A is fine if you want the relay to energize

    when your control voltage Vin is high (+12V), and be off when Vin is low (0V). But

    what if you want the opposite? That is where youd opt for a circuit like that shown in

    diagram B, using a PNP transistor like the BC327 or BC328. This is essentially the

    same circuit as in A, just swung around to suit the PNP transistor is polarity. This time

    transistor Q2 will turn on and energize the relay when Vin is low (0V), and will turn

    off when Vin is high (+12V).

    Otherwise everything works just as before, and the value of base resistor R2 is

    worked out in the same way as for R1. In fact because the minimum hFE of the

    BC327/328 PNP transistors is also 100 at 100mA, you could use exactly the same

    values of R2 to suit each relay resistance/current. The simple transistor driver circuits

    of A and B are very low in cost, and are generally fine for driving most relays.

    However there may be occasions, such as when your control circuit is based on

    CMOS logic, where the base current needed by these circuits is a bit too high.

    For these situations the circuit shown in C might be of interest, because it

    needs rather less input current. As you can see it uses a readily available and very low

    cost 555 IC as the relay driver, plus only one extra component: bypass capacitor C1.

    Although we normally think of the 555 as a timer/oscillator, its actually very well

    suited for driving a small relay. Output pin 3 can both source and sink 200mA

    (enough to handle most small relays comfortably), and the internal flip flop which

    controls its output stage is triggered swiftly between its two states by internal

    comparators connected to the two sensing inputs on pins 2 and 6. When these pins are

  • 7/30/2019 P4297

    46/65

    taken to a voltage above 2/3 the supply voltage, the output switches low (0V); then

    they are taken below 1/3 the supply voltage, the output swings high. And the 555 can

    happily work at 5V, as you can see, so its very suitable for driving a 5V relay coil

    from this supply voltage.

    Because the sensing inputs of the 555 are voltage sensing and need only a

    micro amp or so of current, the value of input resistor R3 can be much larger than for

    the transistor driver circuits. Typically youd use a value of say 100kW, or even

    220kW for a circuit operating from 12V.

    Although the push-pull output stage of the 555 automatically shunts the relay

    coil when pin 3 is high, damping the back-EMF, it is probably still a good idea to fit

    diode D3 as well- especially when using this circuit from a 12V supply. That is

    because the negative-going back-EMF pulse could cause damage to the transistors

    inside the 555. Capacitor C1 is fitted to make sure that the 555 doesnt turn on the

    relay in response to noise spikes on the supply line.

    By the way if you need the very low input current of this circuit, but want to

    make the relay operate when Vin is low rather than high, simply connect the relay coil

    and D3 from pin 3 of the 555 to ground just like the arrangement shown in diagram

    B.

    Finally in all of these circuits, it is a good idea to fit the supply line of the

    relay/driver stage with a reasonably high value of bypass capacitor (say 100uF), to

    absorb the current transients when the relay turns on and off. This will ensure more

    reliable operation, and help prevent interference with the operation of your control

    circuitry.

    6.3 SENDING THE REPORT:

    LCD

    A liquid crystal display (commonly abbreviatedLCD) is a thin, flat display

    device made up of any number of color or monochrome pixels arrayed in front of a

    light source or reflector. It is often utilized in battery-powered electronic devices

    because it uses very small amounts of electric power.

  • 7/30/2019 P4297

    47/65

    Overview

    Each pixel of an LCD typically consists of a layer of molecules aligned

    between two transparent electrodes, and two polarizing filters, the axes of

    transmission of which are (in most of the cases) perpendicular to each other. With no

    liquid crystal between the polarizing filters, light passing through the first filter would

    be blocked by the second (crossed) polarizer.

    The surfaces of the electrodes that are in contact with the liquid crystal

    material are treated so as to align the liquid crystal molecules in a particular direction.

    This treatment typically consists of a thin polymer layer that is unidirectionally

    rubbed using, for example, a cloth. The direction of the liquid crystal alignment is

    then defined by the direction of rubbing.

    Before applying an electric field, the orientation of the liquid crystal molecules

    is determined by the alignment at the surfaces. In a twisted nematic device (still the

    most common liquid crystal device), the surface alignment directions at the two

    electrodes are perpendicular to each other, and so the molecules arrange themselves in

    a helical structure, or twist. Because the liquid crystal material is birefringent, light

    passing through one polarizing filter is rotated by the liquid crystal helix as it passes

    through the liquid crystal layer, allowing it to pass through the second polarized filter.

    Half of the incident light is absorbed by the first polarizing filter, but otherwise the

    entire assembly is transparent.

    When a voltage is applied across the electrodes, a torque acts to align the

    liquid crystal molecules parallel to the electric field, distorting the helical structure

    (this is resisted by elastic forces since the molecules are constrained at the surfaces).

    This reduces the rotation of the polarization of the incident light, and the device

    appears gray. If the applied voltage is large enough, the liquid crystal molecules in the

    center of the layer are almost completely untwisted and the polarization of the

    incident light is not rotated as it passes through the liquid crystal layer. This light will

    then be mainly polarized perpendicular to the second filter, and thus be blocked and

    the pixel will appear black. By controlling the voltage applied across the liquid crystal

    layer in each pixel, light can be allowed to pass through in varying amounts thus

    constituting different levels of gray.

  • 7/30/2019 P4297

    48/65

    The optical effect of a twisted nematic device in the voltage-on state is far less

    dependent on variations in the device thickness than that in the voltage-off state.

    Because of this, these devices are usually operated between crossed polarizers such

    that they appear bright with no voltage (the eye is much more sensitive to variations

    in the dark state than the bright state). These devices can also be operated between

    parallel polarizers, in which case the bright and dark states are reversed. The voltage-

    off dark state in this configuration appears blotchy, however, because of small

    thickness variations across the device.

    Both the liquid crystal material and the alignment layer material contain ionic

    compounds. If an electric field of one particular polarity is applied for a long period of

    time, this ionic material is attracted to the surfaces and degrades the device

    performance. This is avoided either by applying an alternating current or by reversing

    the polarity of the electric field as the device is addressed (the response of the liquid

    crystal layer is identical, regardless of the polarity of the applied field).

    When a large number of pixels is required in a display, it is not feasible to

    drive each directly since then each pixel would require independent electrodes.

    Instead, the display is multiplexed. In a multiplexed display, electrodes on one side of

    the display are grouped and wired together (typically in columns), and each group

    gets its own voltage source. On the other side, the electrodes are also grouped

    (typically in rows), with each group getting a voltage sink. The groups are designed so

    each pixel has a unique, unshared combination of source and sink. The electronics or

    the software driving the electronics then turns on sinks in sequence, and drives

    sources for the pixels of each sink.

    Specifications

    Important factors to consider when evaluating an LCD monitor:

    Resolution: The horizontal and vertical size expressed in pixels (e.g.,1024x768). Unlike CRT monitors, LCD monitors have a native-supported

    resolution for best display effect.

    Dot pitch: The distance between the centers of two adjacent pixels. Thesmaller the dot pitches size, the fewer granularities are present, resulting in a

  • 7/30/2019 P4297

    49/65

    sharper image. Dot pitch may be the same both vertically and horizontally, or

    different (less common).

    Viewable size: The size of an LCD panel measured on the diagonal (morespecifically known as active display area).

    Response time: The minimum time necessary to change a pixel's color orbrightness.

    Matrix type: Active or Passive. Viewing angle: (coll., more specifically known as viewing direction). Color support: How many types of colors are supported (coll., more

    specifically known as color gamut).

    Brightness: The amount of light emitted from the display (coll., morespecifically known as luminance).

    Contrast ratio: The ratio of the intensity of the brightest bright to the darkestdark.

    Aspect ratio: The ratio of the width to the height (for example, 4:3, 16:9 or16:10).

    Input ports (e.g., DVI, VGA, LVDS, or even S-Video and HDMI).

    Using the LCD Module with an 8051 Microcontroller

    The LCD Module can easily be used with an 8051 microcontroller such as the

    AT89C2051 included with the microcontroller beginner kit.

    The LCD Module comes with a 16 pin connector. This can be plugged into the

    breadboard as shown below.

    Fig. 20

    http://www.iguanalabs.com/lcdbblrg.jpg
  • 7/30/2019 P4297

    50/65

    The pins on the 16 pin connector of the LCD Module are defined below. The

    table also shows how to connect each pin to the 2051 microcontroller. To connect the

    LCD Module to a standard 40 pin 8051, use the pin names listed below to find the

    correct pin number on the 8051 microcontroller. The example programs below do not

    need to be modified to work with a 40 pin 8051.

    LCD

    ConnectorFunction

    2051

    Pin Number &

    Name

    LCD

    ConnectorFunction

    2051

    Pin Number &

    Name

    1 Data Line 6 18, P1.6 16 LCD RS 7, P3.3

    2 Data Line 1 13, P1.1 15 Data Line 5 17, P1.5

    3Power -

    5VDC14

    LCD

    Read/Write6, P3.2

    4Not

    Connected13 Data Line 0 12, P1.0

    5Display

    Adjust12 Data Line 4 16, P1.4

    6 Data Line 7 19, P1.7 11 LCD Enable 8, P3.4

    7 Data Line 2 14, P1.2 10 Data Line 3 15, P1.3

    8 Ground 9Not

    Connected

    The basic 2051 configuration is shown below. Build this circuit and then you

    will be ready to add the LCD Module.

  • 7/30/2019 P4297

    51/65

    Fig. 21

    After you have built a basic 2051 configuration as shown above, you can

    connect the LCD Module as shown in the table above. In addition, you need to add

    the following connections.

    Connect LCD Pin 3 to Vcc (5 Volts). Connect LCD Pin 8 to Ground.Connect a 510 ohm resistor between LCD Pin 5 and ground. Connect a 2.2k ohm

    resistor from LCD Pin 2 and Vcc. Connect a 2.2k ohm resistor from LCD Pin 13 to

    Vcc.

    7. SYSTEM IMPLEMENTATION:

  • 7/30/2019 P4297

    52/65

    CODING:

    7.1 LCD Coding:

    #include

    void lcd_command(unsigned char);

    void lcd_display(unsigned char);

    void init();

    void checkb();

    void front_lcd();

    sbit rs=P3^5;

    sbit rw=P3^6;

    sbit en=P3^7;

    sbit busy=P1^7;

    void lcd_command(unsigned char value)

    {

    unsigned int r;

    rs=0;

    rw=0;

    P1=value;

    en=1;

    for(r=0;r

  • 7/30/2019 P4297

    53/65

    lcd_command(0x38);

    lcd_command(0x38);

    lcd_command(0x0c);

    lcd_command(0X01);

    lcd_command(0X0e);

    lcd_command(0X80);

    }

    void checkb()

    {

    rs=0;

    rw=1;

    busy=1;

    en=0;

    //for(r=0;r

  • 7/30/2019 P4297

    54/65

    sbit rs=P3^5;

    //sfr datas=0x90;

    sbit busy=P1^7;

    sbit sw=P2^0;

    //sbit sen = P3^2;

    sbit mot1 = P2^2;

    sbit mot2 = P2^3;

    sbit mot3 = P2^4;

    sbit mot4 = P2^5;

    void lcd_init();

    void lcddtw(unsigned char);

    void lcdcmw(unsigned char);

    unsigned int h;

    unsigned char sa,sar,count=0;

    unsigned char temp;

    unsigned char a,b,c,d,e;

    unsigned char sak;

    unsigned long you;

    unsigned char str[20];

    unsigned char lat[16];

    unsigned char lon[16];

    //code unsigned char pdf[]="AT+CMGF=1";

    code unsigned char dele[]="AT+CMGD=1";

    code unsigned char wel[]="WELCOME";

    code unsigned char rea[]="READY";

    code unsigned char sat[]="STATUS";

    code unsigned char send[]="AT+CMGS=\"9840478140\"";

    code unsigned char mot1[]="STUD1 DEV1 ON";

    code unsigned char mot1[]="STUD1 DEV1 OFF";

    code unsigned char mot2[]="STUD1 DEV2 ON";

    code unsigned char mot2[]="STUD1 DEV2 OFF";

  • 7/30/2019 P4297

    55/65

    code unsigned char mot3[]="STUD1 DEV3 ON";

    code unsigned char mot3[]="STUD1 DEV3 OFF";

    code unsigned char mot4[]="STUD1 DEV4 ON";

    code unsigned char mot4[]="STUD1 DEV4 OFF";

    code unsigned char read[]="AT+CMGR=1";

    void checkb();

    void lcdcmw(unsigned char value)

    {

    rs=0;

    rw=0;

    P1=value;

    en=1;

    en=0;

    checkb();

    }

    void lcd_init()

    {

    lcdcmw(0x38);

    lcdcmw(0x38);

    lcdcmw(0X0e);

    lcdcmw(0X06);

    lcdcmw(0X01);

    lcdcmw(0X0e);

    lcdcmw(0X80);

    }

    void checkb()

    {

    rs=0;

    rw=1;

    busy=1;

    en=0;

  • 7/30/2019 P4297

    56/65

    en=1;

    while(busy==1);

    }

    void lcddtw(unsigned char p)

    {

    rs=1;

    rw=0;

    P1=p;

    en=1;

    en=0;

    checkb();

    }

    void se1()

    {

    TMOD=0x20;

    SCON=0x50;

    TH1=0xfd;

    TI=RI=0;

    TR1=1;

    }

    void tx(unsigned char t)

    {

    SBUF=t;

    while(TI==0);

    TI=0;

    }

    void main()

    {

    //unsigned char at[]="AT";

    unsigned char sak;

    unsigned long i,j;

    mot1 = 0 ;

    mot2 = 0 ;

    mot3 = 0 ;

  • 7/30/2019 P4297

    57/65

    mot4 = 0 ;

    //sen = 0 ;

    se1();

    lcd_init();

    for(sak=0;wel[sak]!='\0';sak++)

    {

    lcddtw(wel[sak]);

    }

    for(h=0;h

  • 7/30/2019 P4297

    58/65

    while(1);

    lcdcmw(0x01);

    lcdcmw(0x80);

    for(i=0;str[i]!='\0';i++)

    {

    lcddtw(str[i]);

    }

    for(h=0;h

  • 7/30/2019 P4297

    59/65

    for(h=0;h

  • 7/30/2019 P4297

    60/65

    8. SYSTEM TESTING

    TESTING:

    Testing plays a vital role to reach the present in any system. It is the

    major quality control measure used to determine the status and usefulness of the

    system. Its basic function is to find the errors in the software by examining all the

    possible loopholes. The goal testing is to find the coding errors, uncovered

    requirements, invalid acceptance, storage of data, etc.

    Testing is vital to the success of the system. System testing makes a

    logical assumption that if all parts of the system are correct, the goal will be

    successfully achieved. The candidate system is subject to a variety of test, online

    responses, volume, stress, recovery, security and usability tests. A serious of tests are

    performed for the proposed system is ready for user acceptance testing

    The testing methodologies are

    12.Unit Testing13.Integration Testing14.Verification And Validation Testing15.User Acceptances Testing16.Functional Testing17.Performance Testing18.Structure Testing19.System Testing

    8.1 UNIT TESTING:

    For successful implementation, each and module of a new system is

    tested separately to rectify within its boundaries. Detailed design description is used

    as a guide in this process. The database was checked with the sample data to ensure

    the normal form. Under this the following test were done

  • 7/30/2019 P4297

    61/65

    Interface Testing:

    To assure that information properly flows in and out of program unit.

    Data Structure Testing:

    To ensure that data is properly stored in underlying tables.

    Independent Path Testing:

    All independent paths through module were executed at least once to

    assure that they are behaving as per expectations.

    8.2 INTEGRATION TESTING:

    Integration testing is the systematic testing for constructing tests to uncover

    errors associated within the interface. The objective is to take unit tested modules and

    build a program structure. All modules are combined and tested as a whole. Here

    correction is difficult because the isolation of causes is complicated by the vast

    expanses of the entire program.

    There are two types of integration in non-incremental integration; all modules

    are combined in advance. Correction is difficult because isolation of causes is

    complicated by the vast expanse of the entire program. In incremental integration, the

    program is constructed and tested in small segments, where error are easier to isolate

    and correct; interfaces are more likely to be tested completely; and a systematic test

    may be applied.

    8.3 VERIFICATION AND VALIDATION TESTING:

    The system has been verified and validated using

    Test data Live data

    Verified With Test Data:

    In this case of testing, the data was developed artificially and applied

    to the system. The result of the system was checked to ensure that, it satisfies the

    specification of the system. Each module in this system has been tested independently

    and finally tested as a package.

  • 7/30/2019 P4297

    62/65

    Verified With Data:

    In this case the real data are applied to the system and the result is

    checked with the original result that was manually calculated. Verification is a

    rigorous mathematic demonstration that source code conforms to its specification.

    Validation is the process of evaluating software at the end of software development

    process to determine the compliance with requirements.

    8.4 USER ACCEPTANCE TESTING:

    It is a key factor for the success of any system. The system under

    consideration is tested for user acceptance by constantly in touch with the prospective

    system users at the time of developing and making changes wherever required.

    8.5 FUNCTIONAL TESTING:

    Functional testing specifies typical operating condition, typical input

    values and expected results. Functional test also test behavior just inside, on and

    beyond the functional boundaries. Examples of functional boundary testing include a

    real valued square root routine, with small positive numbers zero and negative

    numbers.

    8.6 PERFORMANCE TESTING:

    Performance tests are designed to verify response time under varying

    load percentage of execution time spent in various segments of program.

    8.7 STRUCTURE TESTING:

    Structure test are connected with examining the internal processing

    logic of the software system. The particular routine are called logical paths are

    traversed. Through the routines are objects of interest. The goal of structure testing is

    to travel a specified number of paths through the routines to establish the

    thoroughness of testing.

    8.8 SYSTEM TESTING:

  • 7/30/2019 P4297

    63/65

    When a system is developed, it is hoped that it performs properly. In

    practice, however some errors always occur. The main purpose of testing an

    information system is to find the error and correct them. A successful test is one,

    which finds an error

    Objectives of System Testing

    To ensure during operating the system will perform as per specification, To make sure that the system meets user requirements during the operation. To verify that the controls incorporated in the function as intended. To see that when correct inputs are fed to the system, the outputs are correct. To make sure during operation, incorrect input, process and output will be

    detected.

    The scope of the system test should include both manual operations and

    computerized ones. Operation system is a comprehensive evaluation of the

    programs, manual procedures, computer operations and controls

    System testing is the process of checking if the developed system is

    working according to the original objectives and recruitments. All testing

    needs to be conducted in accordance to the test conditions specified earlier.

    This will ensure that the test coverage meets the requirements and that testing

    is done in systematic manner. One can compare the new system by taking the

    earlier processed data will appropriate level on the current system. While

    doing so the present system will identify the errors and omissions and testing

    these is especially crucial.

    9. CONCLUSION

    This project is based on concept of GSM mobile network to control the

    devices (Home Appliances) by sms commands. This signal is processed by a micro-

  • 7/30/2019 P4297

    64/65

    controller to send a signal such as sms to the GSM modem by the owners when they

    are out of place.

    The household appliances can be controlled just through sending an sms from

    anywhere by the user. This instantly provides the status of the devices which has been

    controlled.

    10. FUTURE ENHANCEMENTS

    In future process we will add more controls to the application and we will

    enhance the time taken for this process.

    11. Bibliography

    REMOTE MONITORING AND CONTROL USING WIRELESSMESSAGING

    o Asma Jamal, Hira Mannan, Munira Maqsood

  • 7/30/2019 P4297

    65/65

    o Jinnah University for Women, 5/C North Nazimabad, Karachio Muhammad Saqib Ilyaso N.E.D. University of Engineering and Technology, Karachi

    REMOTE TRIGGERING BASED EMBEDDED SERVER FOR SMARTHOME ENVIRONMENT

    o Thinagaran Perumal, Abd Rahman Ramli, Chui Yew Leong,o Intelligent Systems and Robotics Laboratoryo Institute of Advanced Technology University Putra, Malaysia

    LCDo Liquid Crystal Displays: Addressing Schemes and Electro-Optical

    Effects by Ernst Lueder, Ernst Lauder

    o Electronic Display Measurements: Concepts, Techniques andInstrumentation by Peter A. Keller

    GSMo Introduction to GSMo Physical Channels, Logical Channels, Network, and Operation Author:

    Lawrence Harte

    EMBEDDEDo Embedded software The Work Colin Walls