Thursday, July 18, 2019
Reid Based Prepaid Energy Mater
chapter 1 [pic] 1. 1 Objectives of the Study Prepaid energy meter are being used worldwide to improve the collection of funds for the energy used. Weather it is developed nation or developing nation all electricity boards are facing two major issues 1. Power Theft 2. Collection of funds In the existing system the above two problems are non predictable and time consuming process respectively. To overcome these things in the proposed system Cal cards has developed and implemented as RFID based pre-paid energy meter. Cal card take information management to new heights with RFID technology.Using the state of the art technology, we can now write data into the RFID tag electronically. Using dual Authentication, Stream Encryption and other security features we restrict access to un-authorized personnel for any particular information. In this project three units are important they are RFID Card, RFID Reader and Writer. Tags are programmable and they may be read or read/write i. e. the inform ation stored in the tagââ¬â¢s memory cannot be changed or can be updated as required. The reader powers the antenna to generate radio frequency waves to transmit a signal that activates the tag and allows data to come into or leave the tagââ¬â¢s memory.This card can be designed to hold all amount details including Name of the family head, ID number, resident address and amount has been recharged. chapter 2 [pic] 2. 1 Methodology of the study Methodology: This System assigns a unique card number for each house. A particular house person places the RFID card within 5cm distance from the RFID Reader. The RFID Reader reads down the time, date and for how much amount it was recharged. The success of recharge will be indicated on the LCD display with buzzer acknowledgement sound.The display also indicates the current energy utilization. The Interface software is responsible for energy utilization record processing and calculation amount for the utilized energy. 2. 2 EMBEDDED SYSTEM: Embedded System is a combination of hardware and software used to achieve a single specific task. An embedded system is a microcontroller-based, software driven, reliable, real-time control system, autonomous, or human or network interactive, operating on diverse physical variables and in diverse environments and sold into a competitive and cost conscious market.An embedded system is not a computer system that is used primarily for processing, not a software system on PC or UNIX, not a traditional business or scientific application. High-end embedded & lower end embedded systems. High-end embedded system ââ¬â Generally 32, 64 Bit Controllers used with OS. Examples Personal Digital Assistant and Mobile phones etc . Lower end embedded systems ââ¬â Generally 8,16 Bit Controllers used with an minimal operating systems and hardware layout designed for the specific purpose. Examples Small controllers and devices in our everyday life like Washing Machine, Microwave Ovens, where th ey are embedded in.SYSTEM DESIGN CALLS:[pic] THE EMBEDDED SYSTEM DESIGN CYCLE: [pic] ââ¬Å"V Diagramâ⬠In this place we need to discuss the role of simulation software, real-time systems and data acquisition in dynamic test applications. Traditional testing is referred to as ââ¬Å"staticâ⬠testing where functionality of components is tested by providing known inputs and measuring outputs. Today there is more pressure to get products to market faster and reduce design cycle times. This has led to a need for ââ¬Å"dynamicâ⬠testing where components are tested while in use with the entire system ââ¬â either real or simulated.Because of cost and safety concerns, simulating the rest of the the system with real-time hardware is preferred to testing components in the actual real system. The diagram shown on this slide is the ââ¬Å"V Diagramâ⬠that is often used to describe the development cycle. Originally developed to encapsulate the design process of software applications, many different versions of this diagram can be found to describe different product design cycles. Here we have shown one example of such a diagram representing the design cycle of embedded control applications common to automotive, aerospace and defense applications.In this diagram the general progression in time of the development stages is shown from left to right. Note however that this is often an iterative process and the actual development will not proceed linearly through these steps. The goal of rapid development is to make this cycle as efficient as possible by minimizing the iterations required for a design. If the x-axis of the diagram is thought of as time, the goal is to narrow the ââ¬Å"Vâ⬠as much as possible and thereby reduce development time. The y-axis of this diagram can be thought of as the level at which the system components are considered.Early on in the development, the requirements of the overall system must be considered. As the system is divided into sub-systems and components, the process becomes very low-level down to the point of loading code onto individual processors. Afterwards components are integrated and tested together until such time that the entire system can enter final production testing. Therefore the top of the diagram represents the high-level system view and the bottom of the diagram represents a very low-level view. Notes: â⬠¢ V diagram describes lots of applicationsââ¬âderived from software development. Reason for shape, every phase of design requires a complimentary test phase. High-level to low-level view of application. â⬠¢ This is a simplified version. â⬠¢ Loop Back/ Iterative process, X-axis is time (sum up). Characteristics of Embedded System: â⬠¢ An embedded system is any computer system hidden inside a product other than a computer â⬠¢ There will encounter a number of difficulties when writing embedded system software in addition to those we encounter when we wr ite applications ââ¬â Throughput ââ¬â Our system may need to handle a lot of data in a short period of time. Responseââ¬âOur system may need to react to events quickly ââ¬â Testabilityââ¬âSetting up equipment to test embedded software can be difficult ââ¬â Debugabilityââ¬âWithout a screen or a keyboard, finding out what the software is doing wrong (other than not working) is a troublesome problem ââ¬â Reliability ââ¬â embedded systems must be able to handle any situation without human intervention ââ¬â Memory space ââ¬â Memory is limited on embedded systems, and you must make the software and the data fit into whatever memory exists ââ¬â Program installation ââ¬â you will need special tools to get your oftware into embedded systems ââ¬â Power consumption ââ¬â Portable systems must run on battery power, and the software in these systems must conserve power ââ¬â Processor hogs ââ¬â computing that requires large amount s of CPU time can complicate the response problem ââ¬â Cost ââ¬â Reducing the cost of the hardware is a concern in many embedded system projects; software often operates on hardware that is barely adequate for the job. â⬠¢ Embedded systems have a microprocessor/ microcontroller and a memory. Some have a serial port or a network connection. They usually do not have keyboards, screens or disk drives.APPLICATIONS: 1. Military and aerospace embedded software applications 2. Communication Applications 3. Industrial automation and process control software CLASSIFICATION: â⬠¢ Real Time Systems. â⬠¢ RTS is one which has to respond to events within a specified deadline. â⬠¢ A right answer after the dead line is a wrong answer RTS CLASSIFICATION: â⬠¢ Hard Real Time Systems â⬠¢ Soft Real Time System HARD REAL TIME SYSTEM: â⬠¢ ââ¬Å"Hardâ⬠real-time systems have very narrow response time. â⬠¢ Example: Nuclear power system, Cardiac pacemaker. SOFT RE AL TIME SYSTEM: ââ¬Å"Softâ⬠real-time systems have reduced constrains on ââ¬Å"latenessâ⬠but still must operate very quickly and repeatable. â⬠¢ Example: Railway reservation system ââ¬â takes a few extra seconds the data remains valid. LANGUAGES USED: â⬠¢ C â⬠¢ C++ â⬠¢ Java â⬠¢ Linux â⬠¢ Ada â⬠¢ Assembly MPLAB FEATURES: MPLAB Integrated Development Environment (IDE) is a free, integrated toolset for the development of embedded applications employing Microchip's PICà ® and dsPICà ® microcontrollers. MPLAB Integrated Development Environment (IDE) is a free, integrated toolset for the development of embedded applications employing Microchip's PICà ® and dsPICà ® microcontrollers.MPLAB IDE runs as a 32-bit application on MS Windowsà ®, is easy to use and includes a host of free software components for fast application development and super-charged debugging. MPLAB IDE also serves as a single, unified graphical user interface for additio nal Microchip and third party software and hardware development tools. Moving between tools is a snap, and upgrading from the free software simulator to hardware debug and programming tools is done in a flash because MPLAB IDE has the same user interface for all tools.MPLAB IDEââ¬â¢s SIM, high speed software simulator for PIC and dsPIC (Digital Signal Processing PIC Microcontroller) devices with peripheral simulation, complex stimulus injection and register logging. CHAPTER 3 [pic] 3. 1 Block Diagram of RFID PREPAID energy meter BLOCK DIAGRAM 3. 2 Description of the Block Diagram The AC main Block is the power supply which is of single phase 230V ac. This should be given to step down transformer to reduce the 230V ac voltage to low voltage. i. e. , to 6V or 12V ac this value depends on the transformer inner winding. The output of the transformer is given to the rectifier circuit.This rectifier converts ac voltage to dc voltage. But the voltage may consist of ripples or harmonics. To avoid these ripples the output of the rectifier is connected to filter. The filter thus removes the harmonics. This is the exact dc voltage of the given specification. But the controller operates at 5V dc and the relays and driver operates at 12V dc voltage. So we need a regulator to reduce the voltage. 7805 regulator produces 5V dc. The 7805 regulator produces 5V dc and this voltage is given to PIC micro controller and sensors. The outputs of the sensors are also given to PIC micro controller.LCD, Keypad unit, SMART CARD read and write unit are connected to the controller. The controller reads the SMART CARD data from SMART CARD reader. The controller displays the data on LCD, depends upon the energy consumption the amount will be reduced. [pic] 3. 3 circuit diagram of RFID PREPAID energy meter: [pic] 3. 4 Circuit Description POWER SUPPLY: Power supply unit consists of Step down transformer, Rectifier, Input filter, Regulator unit, Output filter. The Step down Transformer is us ed to step down the main supply voltage from 230V AC to lower value.This 230 AC voltage cannot be used directly, thus it is stepped down. The Transformer consists of primary and secondary coils. To reduce or step down the voltage, the transformer is designed to contain less number of turns in its secondary core. The output from the secondary coil is also AC waveform. Thus the conversion from AC to DC is essential. This conversion is achieved by using the Rectifier Circuit/Unit. The Rectifier circuit is used to convert the AC voltage into its corresponding DC voltage. There are Half-Wave, Full-Wave and bridge Rectifiers available for this specific function.The most important and simple device used in Rectifier circuit is the diode. The simple function of the diode is to conduct when forward biased and not to conduct in reverse bias. The Forward Bias is achieved by connecting the diodeââ¬â¢s positive with positive of the battery and negative with batteryââ¬â¢s negative. The effi cient circuit used is the Full wave Bridge rectifier circuit. The output voltage of the rectifier is in rippled form, the ripples from the obtained DC voltage are removed using other circuits available. The circuit used for removing the ripples is called Filter circuit.Capacitors are used as filter. The ripples from the DC voltage are removed and pure DC voltage is obtained. And also these capacitors are used to reduce the harmonics of the input voltage. The primary action performed by capacitor is charging and discharging. It charges in positive half cycle of the AC voltage and it will discharge in negative half cycle. Here we used 1000à µF capacitor. So it allows only AC voltage and does not allow the DC voltage. This filter is fixed before the regulator. Thus the output is free from ripples. Regulator regulates the output voltage to be always constant.The output voltage is maintained irrespective of the fluctuations in the input AC voltage. As and then the AC voltage changes, th e DC voltage also changes. Thus to avoid this Regulators are used. Also when the internal resistance of the power supply is greater than 30 ohms, the output gets affected. Thus this can be successfully reduced here. The regulators are mainly classified for low voltage and for high voltage. Here we used 7805 positive regulators. It reduces the 6V dc voltage to 5V dc Voltage. The Filter circuit is often fixed after the Regulator circuit. Capacitor is most often used as filter.The principle of the capacitor is to charge and discharge. It charges during the positive half cycle of the AC voltage and discharges during the negative half cycle. So it allows only AC voltage and does not allow the DC voltage. This filter is fixed after the Regulator circuit to filter any of the possibly found ripples in the output received finally. Here we used 0. 1à µF capacitor. The output at this stage is 5V and is given to the Microcontroller Microcontroller and sensors are operated at 5V dc voltage. The output of the 7805 regulator is connected to PIC 16f877A microcontroller. Controller CircuitThe PIC 16f877A microcontroller is a 40-pin IC. The first pin of the controller is MCLR pin and the 5V dc supply is given to this pin through 10K? resistor. This supply is also given to 11th pin directly. The 12th pin of the controller is grounded. A tank circuit consists of a 4 MHZ crystal oscillator and two 22pf capacitors is connected to 13th and 14th pins of the PIC. The circuit consists of MAX-232 IC. It is a 16-pin dual in package IC. The 11th and 12th pins of MAX-232 IC are connected to the 25th and 26th pins of the PIC microcontroller. These are receiver OUT and Transmitter IN pins respectively.LCD is connected to the RC0 to RD7 pins of the PIC microcontroller. 13th, 14th and 15th pins of the MAX-232 IC are connected to the smart card read Buffer. The Keypad unit connected to the RB0 to RB3 pins of the PIC micro controller. The keypad unit consists of 4 switches. One is for menu, sec ond is Exit, third one is for Clear and the other is for Day Increment. MAX-232 IC is used to convert the voltage from 5V to 10V and 10V to 5V. This IC is used to communicate with the PC. It also acts as voltage converter. The LCD used here is to display the Attendance details. [pic] 3. 5 CIRCUIT OPERATIONThe input of the circuit is taken from the main. It is a single phase 230V ac voltage. This 230 AC voltage cannot be used directly, thus it is stepped down. The Step down Transformer is used to step down the main supply voltage from 230V AC to lower value. Because the microcontroller and sensors are operated at +5V dc voltage and relays and drivers will be operate at +12V dc voltage. So first this 230C AC voltage should be stepped down and then it should be converted to dc. After converting to dc it is applied to controller, sensors, relays and drivers. In this project we used 230/12V step down transformer.In this circuit we used two regulators. 7805 regulator for producing 5V dc, and 7812 regulators for 12V dc voltage. The output of 7805 regulators is given to PIC microcontroller and three sensors. The output of the 7812 regulator is connected to driver IC and a Relay. The main parts of this project are smart card and PIC micro controller. The coding will be installed to microcontroller through PIC Flash micro systems compiler unit. The crystal oscillator is used to generate the clock pulses to the PIC micro controller. The speed of the microcontroller depends upon the value of the crystal oscillator.In this project we used the 4 MHz crystal oscillator. Whenever recharged smart card shown in front of the reader the data from card will be read and send to controller through reader. The controller confirms whether it is old or new card. After this it will automatically open the lock to use EB power supply. If the wrong card shown, controller activate the alarm. Depends on the energy consumption the amount will reduced by the controller, when its come to below zero the controller automatically cut down the EB power supply through driver unit. In the driver unit ULN2003 is used as driver to driver the 12v relay.We inserted the process into the controller through coding. Coding was developed in Embedded ââ¬ËCââ¬â¢ Language. CHAPTER 4 [pic] 4. 1 Hardware Requirements: 1. Power supply unit 2. Microcontroller 3. MAX-232 IC 4. LCD 5. Keypad Unit 4. 2 POWER SUPPLY UNIT: Circuit Diagram [pic] Power supply unit consists of following units i) Step down transformer ii) Rectifier unit iii) Input filter iv) Regulator unit v) Output filter 4. 3. 1 Stepdown transformer: The Step down Transformer is used to step down the main supply voltage from 230V AC to lower value. This 230 AC voltage cannot be used directly, thus it is stepped down.The Transformer consists of primary and secondary coils. To reduce or step down the voltage, the transformer is designed to contain less number of turns in its secondary core. The output from the secondary coil is a lso AC waveform. Thus the conversion from AC to DC is essential. This conversion is achieved by using the Rectifier Circuit/Unit. 4. 3. 2 Rectifier Unit: The Rectifier circuit is used to convert the AC voltage into its corresponding DC voltage. There are Half-Wave, Full-Wave and bridge Rectifiers available for this specific function. The most important and simple device used in Rectifier circuit is the diode.The simple function of the diode is to conduct when forward biased and not to conduct in reverse bias. The Forward Bias is achieved by connecting the diodeââ¬â¢s positive with positive of the battery and negative with batteryââ¬â¢s negative. The efficient circuit used is the Full wave Bridge rectifier circuit. The output voltage of the rectifier is in rippled form, the ripples from the obtained DC voltage are removed using other circuits available. The circuit used for removing the ripples is called Filter circuit. 4. 3. 3 Input Filter: Capacitors are used as filter.The ri pples from the DC voltage are removed and pure DC voltage is obtained. And also these capacitors are used to reduce the harmonics of the input voltage. The primary action performed by capacitor is charging and discharging. It charges in positive half cycle of the AC voltage and it will discharge in negative half cycle. So it allows only AC voltage and does not allow the DC voltage. This filter is fixed before the regulator. Thus the output is free from ripples. 4. 3. 4 Regulator unit: [pic] 7805 Regulator Regulator regulates the output voltage to be always constant.The output voltage is maintained irrespective of the fluctuations in the input AC voltage. As and then the AC voltage changes, the DC voltage also changes. Thus to avoid this Regulators are used. Also when the internal resistance of the power supply is greater than 30 ohms, the output gets affected. Thus this can be successfully reduced here. The regulators are mainly classified for low voltage and for high voltage. Furth er they can also be classified as: i) Positive regulator 1ââ¬â> input pin 2ââ¬â> ground pin 3ââ¬â> output pin It regulates the positive voltage. ii) Negative regulator ââ¬â> ground pin 2ââ¬â> input pin 3ââ¬â> output pin It regulates the negative voltage. 4. 3. 5 Output Filter: The Filter circuit is often fixed after the Regulator circuit. Capacitor is most often used as filter. The principle of the capacitor is to charge and discharge. It charges during the positive half cycle of the AC voltage and discharges during the negative half cycle. So it allows only AC voltage and does not allow the DC voltage. This filter is fixed after the Regulator circuit to filter any of the possibly found ripples in the output received finally. Here we used 0. 1à µF capacitor.The output at this stage is 5V and is given to the Microcontroller. 4. 4 MICRO CONTROLLER: A computer-on-a-chip is a variation of a microprocessor which combines the processor core (CPU), some memory, and I/O (input/output) lines, all on one chip. The computer-on-a-chip is called the microcomputer whose proper meaning is a computer using a (number of) microprocessor(s) as its CPUs, while the concept of the microcomputer is known to be a microcontroller. A microcontroller can be viewed as a set of digital logic circuits integrated on a single silicon chip. This chip is used for only specific applications. . 4. 1 ADVANTAGES OF USING A MICROCONTROLLER OVER MICROPROCESSOR: A designer will use a Microcontroller to 1. Gather input from various sensors 2. Process this input into a set of actions 3. Use the output mechanisms on the Microcontroller to do something useful 4. RAM and ROM are inbuilt in the MC. 5. Cheap compared to MP. 6. Multi machine control is possible simultaneously. Examples: 8051 (ATMAL), PIC (Microchip), Motorola (Motorola), ARM Processor, Applications: Cell phones, Computers, Robots, Interfacing to two pcââ¬â¢s. 4. 4. 2 Microcontroller Core Features: â⬠¢ High-per formance RISC CPU. Only 35 single word instructions to learn. â⬠¢ All single cycle instructions except for program branches which are two cycle. â⬠¢ Operating speed: DC ââ¬â 20 MHz clock input DC ââ¬â 200 ns instruction cycle. â⬠¢ Up to 8K x 14 words of FLASH Program Memory, Up to 368 x 8 bytes of Data Memory (RAM) Up to 256 x 8 bytes of EEPROM data memory. â⬠¢ Pin out compatible to the PIC16C73B/74B/76/77 â⬠¢ Interrupt capability (up to 14 sources) â⬠¢ Eight level deep hardware stack â⬠¢ Direct, indirect and relative addressing modes. â⬠¢ Power-on Reset (POR). â⬠¢ Power-up Timer (PWRT) and Oscillator Start-up Timer (OST). Watchdog Timer (WDT) with its own on-chip RC oscillator for reliable operation. â⬠¢ Programmable code-protection. â⬠¢ Power saving SLEEP mode. â⬠¢ Selectable oscillator options. â⬠¢ Low-power, high-speed CMOS FLASH/EEPROM technology. â⬠¢ Fully static design. â⬠¢ In-Circuit Serial Programming (ICSP ) . â⬠¢ Single 5V In-Circuit Serial Programming capability. â⬠¢ In-Circuit Debugging via two pins. â⬠¢ Processor read/write access to program memory. â⬠¢ Wide operating voltage range: 2. 0V to 5. 5V. â⬠¢ High Sink/Source Current: 25 mA. â⬠¢ Commercial and Industrial temperature ranges. â⬠¢ Low-power consumption.In this project we used PIC 16f877A microcontroller. PIC means Peripheral Interface Controller. The PIC family having different series. The series are 12- Series, 14- Series, 16- Series, 18- Series, and 24- Series. We used 16 Series PIC microcontroller. 3. PIC MICROCONTROLLER 16F877A 1. INTRODUCTION TO PIC MICROCONTROLLER 16F877A The PIC 16f877A microcontroller is a 40-pin IC. The first pin of the controller is MCLR pin and the 5V dc supply is given to this pin through 10K? resistor. This supply is also given to 11th pin directly. The 12th pin of the controller is grounded.A tank circuit consists of a 4 MHZ crystal oscillator and two 22pf capacitor s is connected to 13th and 14th pins of the PIC. 2. FEATURES OF PIC MICROCONTROLLER 16F877A â⬠¢ Operating frequency: DC-20Mhz. â⬠¢ Flash program memory (14 bit words):8K â⬠¢ Data memory (in bytes): 368 â⬠¢ EEPROM Data memory (in bytes):256 â⬠¢ Interrupts: 15 â⬠¢ I/o ports: A, B, C, D, E â⬠¢ Timers: 3 â⬠¢ Analog comparators: 2 â⬠¢ Instructions: 35 4. 3. 3 pin diagram of pic 16f874a/877a: [pic] 4. 3. 4 FUNCTIONAL BLOCK DIAGRAM OF PIC 16F877A [pic] 4. 4 LCD Display: Liquid crystal display (LCD) has material which combines the properties of both liquid and crystals.They have a temperature range within which the molecules are almost as mobile as they would be in a liquid, but are grouped together in an order form similar to a crystal. LCD DISPLAY: [pic] More microcontroller devices are using ââ¬Ësmart LCD' displays to output visual information. The following discussion covers the connection of a Hitachi LCD display to a PIC microcontroller. LCD disp lays designed around Hitachi's LCD HD44780 module, are inexpensive, easy to use, and it is even possible to produce a readout using the 8 x 80 pixels of the display.Hitachi LCD displays have a standard ASCII set of characters plus Japanese, Greek and mathematical symbols. For an 8-bit data bus, the display requires a +5V supply plus 11 I/O lines. For a 4-bit data bus it only requires the supply lines plus seven extra lines. When the LCD display is not enabled, data lines are tri-state which means they are in a state of high impedance (as though they are disconnected) and this means they do not interfere with the operation of the microcontroller when the display is not being addressed. The LCD also requires 3 ââ¬Å"controlâ⬠lines from the microcontroller. Enable (E) |Thisà line allows access to the display through R/W and RS lines. When this line is low, the LCD is disabled and | | |ignores signals from R/W and RS. When (E) line is high, the LCD checks the state of the two c ontrol lines and | | |responds accordingly. | |Read/Write (R/W) |This line determines the direction of data between the LCD and microcontroller. When it is low, data is written | | |to the LCD. When it is high, data is read from the LCD. |Register select (RS) |With the help of this line, the LCD interprets the type of data on data lines. When it is low, an instruction is | | |being written to the LCD. When it is high, a character is being written to the LCD. | Logic status on control lines: Eà à à à 0 Access to LCD disabled 1 Access to LCD enabled R/W 0 Writing data to LCD 1 Reading data from LCD RSà à à 0 Instruction 1 Character Writing data to the LCD is done in several steps: Set R/W bit to low Set RS bit to logic 0 or 1 (instruction or character) Set data to data lines (if it is writing) Set E line to highSet E line to low Read data from data lines (if it is reading). Reading data from the LCD is done in the same way, but control line R/W has to be high. When we send a high to the LCD, it will reset and wait for instructions. Typical instructions sent to LCD display after a reset are: turning on a display, turning on a cursor and writing characters from left to right. When the LCD is initialized, it is ready to continue receiving data or instructions. If it receives a character, it will write it on the display and move the cursor one space to the right. The Cursor marks the next location where a character will be written.When we want to write a string of characters, first we need to set up the starting address, and then send one character at a time. Characters that can be shown on the display are stored in data display (DD) RAM. The size of DDRAM is 80 bytes. |The LCD display also possesses 64 bytes of Character-Generator (CG)|[pic] | |RAM. This memory is used for characters defined by the user. Data | | |in CG RAM is represented as an 8-bit character bit-map.Each | | |character takes up 8 bytes of CG RAM, so the total number of | | |ch aracters, which the user can define, is eight. In order to read | | |in the character bit-map to the LCD display, we must first set the | | |CG RAM address to starting point (usually 0), and then write data | | |to the display.The definition of a ââ¬Ëspecial' character is given in| | |the picture. | | Before we access DD RAM after defining a special character, the program must set the DD RAM address. Writing and reading data from any LCD memory is done from the last address which was set up using set-address instruction. Once the address of DD RAM is set, a new written character will be displayed at the appropriate place on the screen.Until now we discussed the operation of writing and reading to an LCD as if it were an ordinary memory. But this is not so. The LCD controller needs 40 to 120 microseconds (uS) for writing and reading. Other operations can take up to 5 mS. During that time, the microcontroller can not access the LCD, so a program needs to know when the LCD is bu sy. We can solve this in two ways. One way is to check the BUSY bit found on data line D7. This is not the best method because LCD's can get stuck, and program will then stay forever in a loop checking the BUSY bit. The other way is to introduce a delay in the program.The delay has to be long enough for the LCD to finish the operation in process. Instructions for writing to and reading from an LCD memory are shown in the previous table. At the beginning we mentioned that we needed 11 I/O lines to communicate with an LCD. However, we can communicate with an LCD through a 4-bit data bus. Thus we can reduce the total number of communication lines to seven. The wiring for connection via a 4-bit data bus is shown in the diagram below. In this example we use an LCD display with 2Ãâ"16 characters, labeled LM16X212 by Japanese maker SHARP.The message ââ¬Ëcharacter' is written in the first row: and two special characters ââ¬Ë~' and ââ¬Ë}' are displayed. In the second row we have p roduced the word ââ¬ËmikroElektronika'. INTERFACING PIC MICROCONTROLLER TO LCD: [pic] 4. 5 DESIGN OF EMBEDDED SYSTEM Like every other system development design cycle embedded system too have a design cycle. The flow of the system will be like as given below. For any design cycle these will be the implementation steps. From the initial state of the project to the final fabrication the design considerations will be taken like the software consideration and the hardware components, sensor, input and output.The electronics usually uses either a microprocessor or a microcontroller. Some large or old systems use general-purpose mainframe computers or minicomputers. User Interfaces: User interfaces for embedded systems vary widely, and thus deserve some special comment. User interface is the ultimate aim for an embedded module as to the user to check the output with complete convenience. One standard interface, widely used in embedded systems, uses two buttons (the absolute minimum) to control a menu system (just to be clear, one button should be ââ¬Å"next menu entryâ⬠the other button should be ââ¬Å"select this menu entryâ⬠).Another basic trick is to minimize and simplify the type of output. Designs sometimes use a status light for each interface plug, or failure condition, to tell what failed. A cheap variation is to have two light bars with a printed matrix of errors that they select- the user can glue on the labels for the language that he speaks. For example, most small computer printers use lights labeled with stick-on labels that can be printed in any language. In some markets, these are delivered with several sets of labels, so customers can pick the most comfortable language.In many organizations, one person approves the user interface. Often this is a customer, the major distributor or someone directly responsible for selling the system. PLATFORM: There are many different CPU architectures used in embedded designs such as ARM, MIPS, Coldfir e/68k, PowerPC, X86, PIC, 8051, Atmel AVR, H8, SH, V850, FR-V, M32R etc. This in contrast to the desktop computer market, which as of this writing (2003) is limited to just a few competing architectures, mainly the Intel/AMD x86, and the Apple/Motorola/IBM PowerPC, used in the Apple Macintosh.With the growing acceptance of Java in this field, there is a tendency to even further eliminate the dependency on specific CPU/hardware (and OS) requirements. Standard PC/104 is a typical base for small, low-volume embedded and rugged zed system design. These often use DOS, Linux or an embedded real-time operating system such as QNX or Inferno. A common configuration for very-high-volume embedded systems is the system on a chip, an application-specific integrated circuit, for which the CPU was purchased as intellectual property to add to the IC's design.A related common scheme is to use a field-programmable gate array, and program it with all the logic, including the CPU. Most modern FPGAs are designed for this purpose. Tools: Like typical computer programmers, embedded system designers use compilers, assemblers, and debuggers to develop embedded system software. However, they also use a few tools that are unfamiliar to most programmers. Software tools can come from several sources: â⬠¢ Software companies that specialize in the embedded market. â⬠¢ Ported from the GNU software development tools.Sometimes, development tools for a personal computer can be used if the embedded processor is a close relative to a common PC processor. Embedded system designers also use a few software tools rarely used by typical computer programmers. One common tool is an ââ¬Å"in-circuit emulatorâ⬠(ICE) or, in more modern designs, an embedded debugger. This debugging tool is the fundamental trick used to develop embedded code. It replaces or plugs into the microprocessor, and provides facilities to quickly load and debug experimental code in the system. A small pod usually prov ides the special electronics to plug into the system.Often a personal computer with special software attaches to the pod to provide the debugging interface. Another common tool is a utility program (often home-grown) to add a checksum or CRC to a program, so it can check its program data before executing it. An embedded programmer that develops software for digital signal processing often has a math workbench such as MathCad or Mathematica to simulate the mathematics. Less common are utility programs to turn data files into code, so one can include any kind of data in a program. A few projects use Synchronous programming languages for extra reliability or digital signal processing.DEBUGGING: Debugging is usually performed with an in-circuit emulator, or some type of debugger that can interrupt the microcontroller's internal microcode. The microcode interrupt lets the debugger operate in hardware in which only the CPU works. The CPU-based debugger can be used to test and debug the el ectronics of the computer from the viewpoint of the CPU. This feature was pioneered on the PDP-11. As the complexity of embedded systems grows, higher level tools and operating systems are migrating into machinery where it makes sense.For example, cell phones, personal digital assistants and other consumer computers often need significant software that is purchased or provided by a person other than the manufacturer of the electronics. In these systems, an open programming environment such as Linux, OSGi or Embedded Java is required so that the third-party software provider can sell to a large market. OPERATING SYSTEM: Embedded systems often have no operating system, or a specialized embedded operating system (often a real-time operating system), or the programmer is assigned to port one of these to the new system.BUILT- IN SELF- TEST: Most embedded systems have some degree or amount of built-in self-test. There are several basic types. 1. Testing the computer. 2. Test of peripheral s. 3. Tests of power. 4. Communication tests. 5. Cabling tests. 6. Rigging tests. 7. Consumables test. 8. Operational test. 9. Safety test. START UP: All embedded systems have start-up code. Usually it disables interrupts, sets up the electronics, tests the computer (RAM, CPU and software), and then starts the application code. Many embedded systems recover from short-term power failures by restarting (without recent self-tests).Restart times under a tenth of a second are common. Many designers have found a few LEDs useful to indicate errors (they help troubleshooting). A common scheme is to have the electronics turn on all of the LED(s) at reset (thereby proving that power is applied and the LEDs themselves work), whereupon the software changes the LED pattern as the Power-On Self Test executes. After that, the software may blink the LED(s) or set up light patterns during normal operation to indicate program execution progress or errors. This serves to reassure most technicians/eng ineers and some users.An interesting exception is that on electric power meters and other items on the street, blinking lights are known to attract attention and vandalism. CHAPTER 5 [pic] 5. 1 Software Tools: 1. MPLAB 2. Protel 3. Propic 4. HI-Tech PIC C Compiler 5. 2 MPLAB Integration: MPLAB Integrated Development Environment (IDE) is a free, integrated toolset for the development of embedded applications employing Microchip's PIC micro and dsPIC microcontrollers. MPLAB IDE runs as a 32-bit application on MS Windows, is easy to use and includes a host of free software components for fast application development and super-charged debugging.MPLAB IDE also serves as a single, unified graphical user interface for additional Microchip and third party software and hardware development tools. Moving between tools is a snap, and upgrading from the free simulator to MPLAB ICD 2 or the MPLAB ICE emulator is done in a flash because MPLAB IDE has the same user interface for all tools. Choose MPLAB C18, the highly optimized compiler for the PIC18 series microcontrollers, or try the newest Microchip's language tools compiler, MPLAB C30, targeted at the high performance PIC24 and dsPIC digital signal controllers.Or, use one of the many products from third party language tools vendors. They integrate into MPLAB IDE to function transparently from the MPLAB project manager, editor and compiler. 5. 3 INTRODUCTION TO EMBEDDED ââ¬ËCââ¬â¢: Ex: Hitec ââ¬â c, Keil ââ¬â c HI-TECH Software makes industrial-strength software development tools and C compilers that help software developers write compact, efficient embedded processor code. For over two decades HI-TECH Software has delivered the industry's most reliable embedded software development tools and compilers for writing efficient and compact code to run on the most popular embedded processors.Used by tens of thousands of customers including General Motors, Whirlpool, Qualcomm, John Deere and many others, HI-TECH's reliable development tools and C compilers, combined with world-class support have helped serious embedded software programmers to create hundreds of breakthrough new solutions. Whichever embedded processor family you are targeting with your software, whether it is the ARM, PICC or 8051 series, HI-TECH tools and C compilers can help you write better code and bring it to market faster. HI-TECH PICC is a high-performance C compiler for the Microchip PIC micro 10/12/14/16/17 series of microcontrollers.HI-TECH PICC is an industrial-strength ANSI C compiler ââ¬â not a subset implementation like some other PIC compilers. The PICC compiler implements full ISO/ANSI C, with the exception of recursion. All data types are supported including 24 and 32 bit IEEE standard floating point. HI-TECH PICC makes full use of specific PIC features and using an intelligent optimizer, can generate high-quality code easily rivaling hand-written assembler. Automatic handling of page and bank selection f rees the programmer from the trivial details of assembler code. 5. 4 Embedded C Compiler: ? ANSI C ââ¬â full featured and portable Reliable ââ¬â mature, field-proven technology ? Multiple C optimization levels ? An optimizing assembler ? Full linker, with overlaying of local variables to minimize RAM usage ? Comprehensive C library with all source code provided ? Includes support for 24-bit and 32-bit IEEE floating point and 32-bit long data types ? Mixed C and assembler programming ? Unlimited number of source files ? Listings showing generated assembler ? Compatible ââ¬â integrates into the MPLAB IDE, MPLAB ICD and most 3rd-party development tools ? Runs on multiple platforms: Windows, Linux, UNIX, Mac OS X, Solaris Embedded Development Environment:PICC can be run entirely from the. This environment allows you to manage all of your PIC projects. You can compile, assemble and link your embedded application with a single step. Optionally, the compiler may be run directly from the command line, allowing you to compile, assemble and link using one command. This enables the compiler to be integrated into third party development environments, such as Microchip's MPLAB IDE. 5. 5 Embedded system tools: 5. 5. 1 Assembler: An assembler is a computer program for translating assembly language ââ¬â essentially, a mnemonic representation of machine language ââ¬â into object code.A cross assembler (see cross compiler) produces code for one type of processor, but runs on another. The computational step where an assembler is run is known as assembly time. Translating assembly instruction mnemonics into opcodes, assemblers provide the ability to use symbolic names for memory locations (saving tedious calculations and manually updating addresses when a program is slightly modified), and macro facilities for performing textual substitution ââ¬â typically used to encode common short sequences of instructions to run inline instead of in a subroutine.Assemb lers are far simpler to write than compilers for high-level languages. Assembly language has several benefits: â⬠¢ Speed: Assembly language programs are generally the fastest programs around. â⬠¢ Space: Assembly language programs are often the smallest. â⬠¢ Capability: You can do things in assembly which are difficult or impossible in High level languages. â⬠¢ Knowledge: Your knowledge of assembly language will help you write better programs, even when using High level languages. An example of an assembler we use in our project is RAD 51. . 5. 2 Simulator: Simulator is a machine that simulates an environment for the purpose of training or research. We use a UMPS simulator for this purpose in our project. 5. 5. 3 UMPS: Universal microprocessor program simulator simulates a microcontroller with its external environment. UMPS is able to simulate external components connected to the microcontroller. Then, debug step is dramatically reduced. UMPS is not dedicated to only one microcontroller family, it can simulate all kind of microcontrollers.The main limitation is to have less than 64K-Bytes of RAM and ROM space and the good microcontroller library. UMPS provide all the facilities other low-cost simulator does not have. It offers the user to see the ââ¬Å"real effectâ⬠of a program and a way to change the microcontroller family without changing IDE. UMPS provide a low-cost solution to the problems. UMPS is really the best solution to your evaluation. 5. 5. 4 UMPS key features: -The speed, UMPS can run as fast as 1/5 the real microcontroller speed. No need to wait 2 days to see the result of a LCD routine access.All the microcontroller parts are simulated, interrupts, communication protocol, parallel handshake, timer and so on. ââ¬â UMPS have an integrated assembler/disassembler and debugger. It is able to accept an external assembler or compiler. It has a text editor which is not limited to 64K-bytes and shows keyword with color. It can a lso communicate with an external compiler to integrate all the debug facilities you need. ââ¬â UMPS is universal, it can easily be extended to other microcontroller with a library. Ask us for toolkit development. ââ¬â External resource simulation is not limited.It can be extended to your proper needs by writing your own DLL. ââ¬â UMPS allows you to evaluate at the lowest cost the possibility to build a microcontroller project without any cable. ââ¬â UMPS include a complete documentation on each microcontroller which describe special registers and each instruction 5. 5. 5 Compiler: A compiler is a program that reads a program in one language, the source language and translates into an equivalent program in another language, the target language. The translation process should also report the presence of errors in the source program. Source Program |> |à Compiler |> |Target Program | |à |à |v |à |à | |à |à |Error Messages |à |à | There are two parts of compilation. The analysis part breaks up the source program into constant piece and creates an intermediate representation of the source program. The synthesis part constructs the desired target program from the intermediate representation. 5. 5. 6 The cousins of the compiler are: 1. Preprocessor. 2.Assembler. 3. Loader and Link-editor. A naive approach to that front end might run the phases serially. 1. Lexical analyzer takes the source program as an input and produces a long string of tokens. 2. Syntax Analyzer takes an out of lexical analyzer and produces a large tree. Semantic analyzer takes the output of syntax analyzer and produces another tree. Similarly, intermediate code generator takes a tree as an input produced by semantic analyzer and producesà intermediate code 5. 5. 7 Phases of compiler: The compiler has a number of phases plus symbol table manager and an error handler. à |à |Input Source Program |à |à | |à |à |v |à |à | |à |à |Lexical Analyzer |à |à | |à |à |v |à |à | |à |à |Syntax Analyzer |à |à | |à |à |v |à |à | |Symbol Table Manager |à |Semantic Analyzer |à |à Error Handler | |à |à |v |à |à | |à |à |Intermediate Code |à |à | | | |Generator | | | |à |à |v |à |à | |à | Code Optimizer |à |à | |à |à |v |à |à | |à |à |Code Generator |à |à | |à |à |v |à |à | |à |à |Out Target Program |à |à | 5. 6 FABRICATION DETAILS The fabrication of one demonstration unit is carried out in the following sequence. ? Finalizing the total circuit diagram, listing out the components and sources of procurement. ? Procuring the components, testing the components and screening the components. ? Making layout, repairing the interconnection diagram as per the circuit diagram. Assembling the components as per the component layout and circuit diagram and soldering components. ? Integrating t he total unit, intertwining the unit and final testing the unit. CHAPTER 7 CONCLUSION The System RFID BASED ENERGY is developed and operated successfully in the laboratory. The prepaid energy meter was working properly and perfectly. The circuit having potential and current transformers which gives the power consumption in analog form. This is converted to digital and the converted one is again converted into KWH form i. e one unit. According to the tariff rates stored in the microcontroller, The consumed units and cost are displayed on the LCD. Future enhancements: Our project is just to caluculate the reading i. consumed power and caluculate the cost and then display the cost on the LCD. In future this circuit can also be used as a prepaid energy meter using a smart type arrangement. For we want to add a smart card reader and relay in extra. Due to this every customer has a smart card with some credits and after completing these credits we again go to EB and recharge the card. The energy meter reading can be send to the EB by implementing small kind of SCADA system, using this the readings can be straightly monitor by the EB. CODE: #include;pic. h; #includeâ⬠lcd_16x4. câ⬠__CONFIG(XT & WDTDIS & PWRTDIS & BORDIS & LVPDIS & WRTEN & DEBUGDIS & DUNPROT & UNPROTECT); void init(); oid ADC_VTG_CT(); void ADC_VTG_CT1(); void disp_meter(); void delay(); write_eeprom(unsigned char add,unsigned int data); unsigned int read_eeprom(unsigned char add); unsigned int i, j,bal,gsmcost, curt,vltg,crt,tmp,tmp1,k,fcrt,escp,cap_time,testeng,Engeeprom,tempvalue,ROTabv100=0,ROTupt100=0; bank2 unsigned char mill_count,tick1=0,h[15],rec=0; bank1 unsigned char sec, min,hr,check1,VHUDS,VTENS,VONES,CHUDS, CTENS, CONES,COLACK,COTENTH, ETHOD,EHUDS,ETENS,EONES,COTHOD,COHUDS,COTENS,COONES,EEONES,EETHOD,EETENS,EEHUDS,EELACK,EETENTH,unteeprom,unit,var=0,u11,u12,u13; unsigned char tm,tt,th,ctl; float cpwt1,cpwt2,Energy,Cost_engy,Cost; bit check_dev,card_present; ank2 unsigned char q t,msg,n,set1=0,set2=0,set3=0,set,set4=0,tab,cap,cap1,cap2,eeprom_erase_cnt; unsigned interrupt isr(void) { if(TMR1IF) { TMR1IF=0; mill_count++; //mill_count, scan_count, keypress, check, keyok,key if(mill_count;=25) { mill_count=0; sec++; if(sec;=59) { tick1=1; sec =0; ctl=1; min++; if(min;59) { min=0; hr++; if(hr;23) { hr=0; } } } }//mill_count }//TMR1IF if(RCIF==1) { h[rec]=RCREG; rec++; if(rec==12) { card_present=1; rec=0; } RCIF=0; } } void main() { init(); RC4=0; while(1) { lcd_move(0,0); lcd_puts(ââ¬Å"Energy Meterâ⬠); RC4=0; if(card_present==1) { lcd_move(1,0); lcd_puts(ââ¬Å"Recharged:â⬠); if(h[9]==51) { lcd_move(1,10); lcd_puts(ââ¬Å"Rs. 100â⬠); or(j=0;j;=45000;j++); for(j=0;j;=45000;j++); gsmcost= 100; set1=1; card_present==0; lcd_clear(); } if(h[9]==56) { lcd_move(1,10); lcd_puts(ââ¬Å"Rs. 50 ââ¬Å"); for(j=0;j;=45000;j++); for(j=0;j;=45000;j++); gsmcost= 50; set1=1; card_present==0; lcd_clear(); } } while(set1==1) //&& SW==1) { //while(SW==1); lcd_mov e(0,0); lcd_puts(ââ¬Å"Energy Meterâ⬠); COLACK =read_eeprom(0x00); COTENTH =read_eeprom(0x01); COTHOD =read_eeprom(0x02); COHUDS =read_eeprom(0x03); COTENS =read_eeprom(0x04); COONES =read_eeprom(0x05); Engeeprom = ((COLACK*100000)+(COTENTH*10000)+(COTHOD*1000)+(CHUDS *100)+(COTENS *10)+COONES); unteeprom =read_eeprom(0x06); ROTupt100 =read_eeprom(0x07);ROTabv100 =read_eeprom(0x08); disp_meter(); RC4=1; DelayMs(10); ADC_VTG_CT(); } while(set2) { lcd_move(0,0); //lcd_putn(check1); disp_meter(); ADC_VTG_CT1(); lcd_move(0,0); lcd_puts(ââ¬Å"vtg:â⬠); lcd_write(VHUDS+0x30); lcd_write(VTENS+0x30); lcd_write(VONES+0x30); lcd_move(0,8); lcd_puts(ââ¬Å"crt:â⬠); lcd_write(CHUDS+0x30); lcd_puts(ââ¬Å". ââ¬Å"); lcd_write(CTENS+0x30); lcd_write(CONES+0x30); RC4=1; DelayMs(10); if(curt) { tm = min ââ¬â cap_time; //check1=1; if(min ; 58) { th++; } tt = (th*60)+tm; if(ctl==1) { ctl=0; //check1=2; Energy = ((vltg * curt *(float)tt)/100000); Energy = Energy*1000; testeng = (i nt)Energy; Energy = Energy/1000; Cost = Energy * cpwt1;Cost_engy = Cost + Cost_engy; bal = gsmcost ââ¬â Cost_engy ; Cost_engy = Cost_engy*1000; Engeeprom = (int)Cost_engy; //bal = gsmcost ââ¬â Engeeprom ; fcrt =bal; COLACK = fcrt/100000; fcrt=fcrt%100000; COTENTH=fcrt/10000; fcrt=fcrt%10000; COTHOD=fcrt/1000; fcrt=fcrt%1000; COHUDS=fcrt/100; fcrt=fcrt%100; COTENS=fcrt/10; fcrt=fcrt%10; COONES=fcrt; write_eeprom(0x00,COLACK); write_eeprom(0x01,COTENTH); write_eeprom(0x02,COTHOD); write_eeprom(0x03,COHUDS); write_eeprom(0x04,COTENS); write_eeprom(0x05,COONES); DelayMs(2); Cost_engy = Cost_engy/1000; if(Energy;0. 900) { Energy = 0; unit++; unteeprom = unit; write_eeprom(0x06,unteeprom); DelayMs(2); if(unit==100) { cpwt1 = cpwt2; nit = 0; } } } } else { set1=1; set2=0; lcd_clear(); } /*if(SW==1) { while(SW==1); RC4=0; set1=0; set2=0; lcd_clear(); } */ }//while(set2) }//while(1) }//main() void init() { TRISA = 0xFF; TRISB = 0xF0; TRISC = 0x80; PORTB = 0x00; ADCON1=0X82; GIE=PEIE= TMR1IE=RCIE=1; TMR1L=0X17; TMR1H=0XFC; SPBRG=25; BRGH=1; RCSTA=0X90; TXSTA=0X24; cpwt1 = . 4; Cost_engy = 0; unit = 0; unteeprom = 0; Engeeprom = 0; eeprom_erase_cnt=read_eeprom(0x10); if(eeprom_erase_cnt;5) { eeprom_erase_cnt=0; write_eeprom(0x10,0); write_eeprom(0x00,0); write_eeprom(0x01,0); write_eeprom(0x02,0); write_eeprom(0x03,0); write_eeprom(0x04,0); write_eeprom(0x05,0); } else { eprom_erase_cnt++; write_eeprom(0x10,eeprom_erase_cnt); } lcd_init(); //set1=1; T1CON=0X01; DelayMs(10); } void disp_meter() { if(set1) { lcd_move(1,0); lcd_puts(ââ¬Å"U:â⬠); lcd_putn(unteeprom); } if(set2) { fcrt =testeng; ETHOD=fcrt/1000; fcrt=fcrt%1000; EHUDS=fcrt/100; fcrt=fcrt%100; ETENS=fcrt/10; fcrt=fcrt%10; EONES=fcrt; lcd_move(1,0); lcd_puts(ââ¬Å"E:â⬠); lcd_write(ETHOD+0x30); lcd_puts(ââ¬Å". ââ¬Å"); lcd_write(EHUDS+0x30); lcd_write(ETENS+0x30); lcd_write(EONES+0x30); } lcd_move(1,8); lcd_puts(ââ¬Å"C:â⬠); if(COLACK) { lcd_write(COLACK+0x30); lcd_write(COTENTH+0x30); lcd_write(COTHOD+0x30); } else if(COTENTH) { lcd_write(COTENTH+0x30); lcd_write(COTHOD+0x30); //lcd_puts(ââ¬Å". ); lcd_write(COHUDS+0x30); lcd_write(COTENS+0x30); //lcd_write(COONES+0x30); } else { lcd_write(COTHOD+0x30); lcd_puts(ââ¬Å". ââ¬Å"); lcd_write(COHUDS+0x30); lcd_write(COTENS+0x30); lcd_write(COONES+0x30); } /*********************AT COMMANDS********gsm energy meter coding********* if(tick1==1) { tick1=0; u11=unteeprom/100; u12=(unteeprom%100)/10; u13=unteeprom%10; sendtopc1(ââ¬Å"ATâ⬠); TXREG=13; while(! TXREG); delay(); for(k=0; k
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.