Vous êtes sur la page 1sur 35

Efficient energy meter

design
BASICS OF E-METERING
Voltage and current sensing

 This is to power the energy meters


 Why not use batteries?
 How the sensing is done in both
 voltage : ADC ; Current Sensing: Load current generation
Energy Translation
• Digital Display
• Why want a digital display?
• How to generate a display?
• Accuracy?
• Any replacements?

• Pulse output
• The generated out is through a
comparator so its kind of
regulated output

• Optical sensors for visual


indications
Current Sensing Using Current Transformer
 Advantages:
 Electrical Isolation of the mains from the device
 Easier to connect
 Manual fixation
 Burden Resistance controls max input to CT
 Using CT can serve multiple purpose-
1. Isolation
2. Current Sensing
Why not Split Core Current Transformer for current
sensing?
 Manual Fixation
 Damage in the CT which is used for isolation purpose also
 No Logic Implementation
 Subject to internal phase shift that needs to be compensated
 Burden Resistance value selected play an important role
 In case if there is by mistake disconnection of the load from the secondary the CT
will damaged severely
 Its susceptible to external magnetic effects

 SO ITS BETTER TO USE SOME OTHER LESS ROBUST DEVICE


Factors affecting efficient meter design
 USER FRIENDLY
 MEASURING DEVICES AND TECHNOLOGY USED
 MORE DEALING WITH LOWER VOLTAGE AND CURRENTS
 MORE LOGIC MPLEMENTATION
 MORE RISK EFFICIENT
 LESS FAILURE PRONE
 MULTI-FEATURED
 SIMPLE
 ACCURATE
 CHEAPER
Factors affecting Accuracy
 Voltage and current sensors
 Analog electronics
 AD Converter resolution
 Sampling rate
 Properties of algorithms adopted to compute energy
 Type of arithmetic computation adapted
Observed graphs in MATLAB
 Plotting Energy , power, current, voltage graphs w.r.t to time
Conclusions from the graph
 The graphs obtained have pecularity in the spikes
 We have had lack of data
 Preassuming a range of data in a lane we had done the callibrations
 Specifically the dominance of current graph over the output graphs can be
observed.
 And the voltage graph almost looks like a vibration signal with lot of spikes
implying more characteristics.
 In the previous energy monitor used we have nowhere used these specificalities.
 We can also observe this from the data sheet. Matlab_impl\Data1.xlsx
Limitations of previous meter design
 No Data Storage  no continuous Analysis
 ANN Implementation data set is small
 Not user friendly NO Data or Consumption Display
 CT usage wasn’t a great decision
 Accuracy can be improved by using less dissipative, more logic oriented ,
cheaper devices
 Less bulky
 More protective design
How I have overcome these limitations?
 Data Logging using SD card

 LCD data display- Voltage , Current, Energy ,Power

 MATLAB features extraction

 Current Transformer Replaced

 Continuous health monitoring and fault detection in the meter


Features of the Project
 Data Logging using SD card gives continuous system health monitoring
 No Display of the reading priorly so I have used LCD to give the following
data display- Voltage , Current, Energy ,Power
 MATLAB features gives lot of data for training the ANN
 The data set size increase can give a better accuracy in ANN Load
Identification
 Also using SD card for real time health monitoring makes the fault detection
any in the system easier
Hardware Design
 230v AC to 12VDC conversion and further 12V DC to 3.75V
Components used
Breadboard Circuit Design Using Fritzing
PCB Circuit Design- using Fritzing
Coding

 Power :
Power is product of voltage (volt) and current (Amp)
P=VxI
Unit of power is Watt or KW
Energy:
Energy is product of power (watt) and time (Hour)
E= Pxt
Unit of Energy is Watt Hour or Kilowatt Hour (kWh)

 1. Voltage
2. Current
3. Time
Voltage calibrations and arduino code
 Calibration:
sample1 = 696 in serial monitor
(10/32)*12v=3.75v equivalent to 696
1 is equivalent to 3.75/696=m
Vout = (m*sample1)/1000 volt
Actual battery voltage = (32/10)*Vout V

 Arduino Code:
void loop() {
// put your main code here, to run repeatedly:
for(int i=0;i<150;i++)
{ sample1=sample1+analogRead(A2); //read the voltage from the divider circuit
delay (2); }
sample1=sample1/150;
voltage=(3.75/696)*(220/12)*3.2*sample1/1000;
}
Current measurement
 From Data Sheet
1. ACS 712 measure positive and negative 20Amps, corresponding to the analog output 100mV/A
2. No test current through the output voltage is VCC / 2 =5v/2=2.5V
 Calibration:
Analog read produces a value of 0-1023, equating to 0v to 5v
So Analog read 1 = (3.75/1024) V =3.662mv
Value = (3.662*Analog Read value)/1000 V
But as per data sheets offset is 2.5V (When current zero you will get 2.5V from the sensor's output)
Actual value = (value-2.5) V
Current in amp =actual value*10
 Arduino Coding
// taking 150 samples from sensors with a interval of 2sec and then average the samples data collected
for(int i=0;i<150;i++)
{
sample2= sample2+analogRead(A3); //read the current from sensor
delay(2);
}
sample2=sample2/150;
val =(3.75*sample2)/1024.0;
actualval =val-2.5; // offset voltage is 2.5v
amps =actualval*10;
Time , Energy , Power Measurement
 ARDUINO CODE:

long milisec = millis(); // calculate time in milliseconds


long time=milisec/1000; // convert milliseconds to seconds

 ENERGY AND POWER


totamps=totamps+amps; // calculate total amps
avgamps=totamps/time; // average amps
amphr=(avgamps*time)/3600; // amp-hour
watt =voltage*amps; // power=voltage*current
energy=(watt*time)/3600; Watt-sec is again convert to Watt-Hr by dividing
1hr(3600sec)
// energy=(watt*time)/(1000*3600); for reading in kWh
Data logging in SD Card and wireless
communication using the Xively.com
About Xively

 Xively is an IoT cloud platform that is “an enterprise platform for building,
managing, and deriving business value from connected products”.
Moreover, it provides a cloud-based API with an SDK that simplifies the
development process.
 Xively supports messaging service based on MQTT protocol.
 Here its used for arduino interface.
Serial Data Transfer from Arduino to MATLAB
 serial communication arduino and matlab
//From your Arduino end, send the data
serial.begin('Baud rate')
if (serial.available())
serial.print('Mydata');
end
%% MatLab end, receive the data
ser=serial('Com port ', 'Baud rate')
fopen(ser);
output = fscanf(ser);
fclose(ser);
delete(ser);
Using of fft, psd, spectogram

 What information we get from the data.


 How can this be used.
How this real time data logging in SD
Card is useful
 Health Monitoring

 Fault detection in the meter and prevention of any shock situations.

 Huge data accumulated for continuous featuring of the home energy


consumption which can help the supply side to know the predicatable
demand for a greater duration of years or months.
Future View and Expectational Growth

 Meters are made portable with use of IOT that helps in monitoring each of the
load working and energy consumption.
 System on Chip has made it possible to minimise the design size using complex
integration techniques.
 The only expectancies is in monitoring the health of system electrification and
health monitoring of the energy meter using ANN and MATLAB analysis tools the
one procedure that I have used here.
 Incooperating this to design an energy meter with better facilities and consumer
friendly features and protections is the ultimate goal of better design results.
REFERENCES
https://www.youtube.com/watch?v=lrugreN2K4w&list=PLmQVKfnaCewJ1s-cTJbG8NozHw3G9qV1p&index=2&t=0s
https://www.youtube.com/watch?v=_PKQdEUam6Y&list=PLmQVKfnaCewJ1s-cTJbG8NozHw3G9qV1p&index=2
https://training.ti.com/build-your-own-energy-meter
https://www.instructables.com/id/ARDUINO-ENERGY-METER/
http://fritzing.org/download/
http://fritzing.org/projects/chaos-circuit
https://www.instructables.com/id/How-to-Convert-220v-AC-to-5v-Stable-DC/
https://www.electronics-tutorials.ws/electromagnetism/hall-effect.html
https://www.arduino.cc/en/Reference/LiquidCrystal?from=Tutorial.LCDLibrary
https://www.arduino.cc/en/Tutorial/HelloWorld?from=Tutorial.LiquidCrystal
https://www.arduino.cc/en/Reference/SD#.UyHC1dLHlsk
https://www.arduino.cc/en/Tutorial/Datalogger#.UyHC6dLHlsk
https://cdn.instructables.com/ORIG/FLX/38JT/HQIMACP5/FLX38JTHQIMACP5.txt
https://cdn.instructables.com/ORIG/F48/C0DB/HQMN5RW3/F48C0DBHQMN5RW3.txt
https://github.com/xively/xively_arduino
https://github.com/amcewen/HttpClient
https://circuitdigest.com/microcontroller-projects/serial-communication-between-matlab-and-arduino
https://in.mathworks.com/help/signal/ref/spectrogram.html
https://in.mathworks.com/help/symbolic/ezsurf.html
https://in.mathworks.com/matlabcentral/answers/255495-serial-communication-read-write-from-to-arduino-on-matlab-support-package-for-arduino-
hardware
http://www.ijeijournal.com/papers/Vol.4-Iss.11/C04111114.pdf
https://howtomechatronics.com/tutorials/arduino/arduino-sd-card-data-logging-excel-tutorial/
https://in.mathworks.com/videos/log-temperature-data-from-arduino-into-matlab-1489428648919.html
https://in.mathworks.com/matlabcentral/fileexchange/46775-arduino-serial-data-acquisition
https://blog.mide.com/vibration-analysis-fft-psd-and-spectrogram
https://electronicsforu.com/technology-trends/frequency-spectrum-analysis-signals
https://in.mathworks.com/mwaccount/profiles/incomplete?uri=https%3A%2F%2Fin.mathworks.com%2Fmwaccount%2Fprofiles%2Fincomplete%3Furi%
3Dhttps%253A%252F%252Fin.mathworks.com%252Fmatlabcentral%252Fanswers%252F251061-how-to-plot-frequency-spectrum-of-a-signal-in-matlab

Vous aimerez peut-être aussi