In present time Electricity is the necessary thing in the world for human life. Today every home, offices, companies, industries have electricity connection.So here this project is building only for interfacing electricity energy meter with microcontrollers. Here, Arduino is used for interfacing and the main aim of this project is to know, how much unit is obtained and the total amount of rupees has to be paid. This will help both the inspector and the owner of the place where the meter is placed, we can simply view the unit and the total money that we have to paid and also send to our cell phone using GSM module.
Fig. 1:
Prototype of Arduino and GSM GPRS Modem based Wireless Energy Meter Reader
Fig. 2:
Image of Arduino based Wireless Energy Meter Reader showing Meter Reading and Bill Amount
Fig. 3:
Image of testing Wireless Energy Meter Reader
Fig. 4: Image of SMS received showing Energy Meter Reading on Mobile Phone
Here meter is interfaced with microcontroller through the pulse that is always blinked on the meter. Further that pulse is calculated as per its blinking period, using this principle we calculated it for one unit and accordingly what charge will be for a unit. After 0.3125 watt energy uses Meter LED (calibrate) blinks. Means if we use 100 watt bulb for a minute then the pulse will blink 5.2 times in a minute. And this can be calculates using given formula.
Pulse= (Pulse rate of Meter* watt * 60) / (1000 * 3600)
If pulse rate of meter is 3200 imp and watt used is 100 then we have
Pulse = (3200 * 100 * 60) / (1000 * 3600)
Pulse = 5.333333333 per minute
If 5.3333333333 pulses occurred in a minute then
In one hour pulses will occur..
Pulse = 5.3333333333* 60
Pulse = ~320
~320 Pulses will occur in a hour
So, in one hour 100 watt bulb consumed 100 watt electricity and almost 320 pulses blinks.
Now we can calculates one pulse electricity consumed in watt
One pulse (watt) = 100320
One Pulse (watt) = 0.3125
Means 0.3125 watts electricity consumed a single pulse.
Now Units
Unit = (one pulse energy (electricity) )* pulses / 1000
If
One pulse = 0.3125 watt
Pulses in 10 hours = 3200
Then Unit will be
Unit = (0.3125 * 3200)/1000
Unit = 1
Means, One unit in 10 hours for a 100 watt bulb.
Now Suppose one unit rate is 7 rupee then
For a single pulse cost will be
Single pulse cost = (7 * one pulse energy consumed) / 1000
Single pulse cost = (7 * 0.3125) / 1000
Single pulse cost = 0.0021875 Rupee
Circuit Description & Components Used
Circuit description:
Circuit of this security system is very simple. Digital Pin number 9 of Arduino Pro Mini is directly connected to output pin of electricity energy meter’s calibrate pin and ground of energy meter is also connect with arduino board’s ground. And Tx pins of Arduino are directly connected to the Rx pins of GSM module. And digital pin 13 of arduino set as indication of meter pulse. Due to in-build Rs232 serial communication section on the GSM module, there is no need of RS232 serial communication section.
Programming part of this system is also very easy. In programming we have to read the meter pulse (calibrate pulse) coming from meter and then apply some calculation for converting pulses in to unit and rupee and then sends to GSM to send a message to a given number. Arduino sends command to GSM module after every three pulse.
Components Used:
1. GSM Module
2. Electricity Energy Meter
3. Arduino
4. 16X2 LCD
Project Source Code
### #include <LiquidCrystal.h> #define pulse 13 int i,Pulse; float one_pulse=0.3125; LiquidCrystal lcd(12, 11, 5, 4, 3, 2); void setup() { pinMode(pulse, INPUT); lcd.begin(16,2); lcd.setCursor(0,0); lcd.print("Energy Meter "); lcd.setCursor(0,1); lcd.print("Interfacing with"); delay(2000); lcd.clear(); lcd.setCursor(0,0); lcd.print(" Arduino By "); lcd.setCursor(0,1); lcd.print(" Saddam Khan "); delay(2000); } void loop() { int Pulse=0; float Rupee=0,Unit=0; lcd.clear(); while(1) { if(digitalRead(pulse)) { i++; Pulse++; Unit=one_pulse*i/1000; Rupee=Unit*7; while(digitalRead(pulse)); } if(Pulse==3) // sending Msg after every 3 pulse { Serial.println("AT+CMGF=1"); delay(10); Serial.println("AT+CMGS="9610126059""); Serial.println(); Serial.println("Unit: "); Serial.println(Unit); Serial.println("Rupee: "); Serial.println(Rupee); Serial.write(26); Pulse=0; } lcd.setCursor(0,0); lcd.print("Rupee: "); lcd.print(Rupee); lcd.setCursor(0,1); lcd.print("Unit: "); lcd.print(Unit); delay(10); } } ###
Circuit Diagrams
Filed Under: Electronic Projects
Questions related to this article?
👉Ask and discuss on EDAboard.com and Electro-Tech-Online.com forums.
Tell Us What You Think!!
You must be logged in to post a comment.