0% found this document useful (0 votes)
30 views10 pages

Project Report

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views10 pages

Project Report

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 10

PROJECT REPORT

SMART ENERGY METER USING ARDUINO UNO

SUBMITTED TO: MR. KASHIF IQBAL

SUBMITTED BY: ZULQURNAN ANJUM


2023-BT-ELECT-01
ZUBAIR ARSHAD
2023-BT-ELECT-02
SUBJECT: INSTRUMENTS AND MEASUREMENT
Introduction:
The demand for efficient energy management has grown significantly with the increasing reliance
on electricity. A smart energy meter provides an accurate way to measure electricity consumption
and offers real-time data for analysis. This project implements a Smart Energy Meter using an
Arduino UNO and the ZMCT 118F current transformer, which measures electrical parameters
such as current, power, and energy consumption. The measured data is displayed on an LCD for
user convenience.
Objectives:
1. To design and implement a smart energy meter capable of measuring:
o Current (Amps)
o Power (Watts)
o Energy consumption (kWh)
2. To display real-time readings on an LCD.
3. To provide a cost-effective and efficient solution for monitoring electricity usage.
Components Used:
1. Arduino UNO – Microcontroller for data processing.
2. ZMCT 118F Current Transformer – For current measurement.
3. Burden Resistor (56 Ω) – For current-to-voltage conversion.
4. 16x2 LCD Shield – To display measured parameters.
5. Connecting Wires and Breadboard – For circuit assembly.
Components Description:
Arduino UNO:
 Description:
The Arduino UNO is a microcontroller board based on the ATmega328P. It serves as
the brain of the project, processing input data from the ZMCT 118F sensor and
performing calculations for current, power, and energy consumption.

Fig. 01 Arduino Uno

PAGE 1
ZMCT 118F Current Transformer:
 Description:
A precision current transformer designed for AC current measurement. It converts the
current flowing through a conductor into a proportional voltage signal that the Arduino
can read.

Fig. 02 ZMCT 118F (20 Amps)

Burden Resistor (56 Ω):


 Description:
The burden resistor is connected across the ZMCT 118F output to convert the induced
current into a measurable voltage for the Arduino.

Fig. 03 Burden Resistance

PAGE 2
Features of a 16x2 LCD Shield:
LCD Display:
o Displays 16 characters per line, with 2 lines (16x2 format).
o Can show real-time values such as current, power, energy consumption, and
more.
Built-In Buttons (Optional Feature):
o Common buttons include SELECT, UP, DOWN, LEFT, and RIGHT.
o Useful for navigating menus or controlling settings.
Pre-Soldered Pins:
o Easily mounts on an Arduino board like the UNO or MEGA without additional
wiring.
o Standard pin configuration for effortless alignment.
Backlight Control:
o Includes functionality to adjust or turn off the backlight.
Uses an I2C or Parallel Interface:
o Some shields include an I2C module for easier communication using fewer
pins.
o Without I2C, it uses 6 digital pins from the Arduino (RS, E, D4, D5, D6, D7).

Fig. 04 Lcd Shield (16 x 2)

PAGE 3
Connecting Wires:
 Description:
Essential for prototyping and assembling the circuit. The breadboard allows easy
connections without soldering.

Fig. 05 Connecting Wires


1. Hardware Design:
o The ZMCT 118F current transformer is connected to the Arduino through a
burden resistor to convert the current signal into a measurable voltage.
o The Arduino reads the analog signal from the ZMCT 118F, processes it, and
calculates the current, power, and energy consumption.
o An LCD is used to display the real-time data.
2. Software Development:
o The Arduino is programmed using the Arduino IDE.
o Analog readings from the ZMCT 118F are converted to current using the
transformation formula: I=(Vout/Burden_Resistor)
×Turns_RatioCalibration FactorI = \frac{(V_{out} / Burden\_Resistor) \times
Turns\_Ratio} {Calibration\ Factor} I=Calibration Factor
(Vout/Burden_Resistor) ×Turns_Ratio
o Power is calculated using the formula P=V×IP = V \times IP=V×I, where VVV
is assumed to be a constant AC mains voltage (e.g., 230V).
o Energy is computed as: Energy (kWh)=P×(Δt/3600000) \text {Energy (kWh)}
= P \times (\Delta t / 3600000) Energy (kWh)=P×(Δt/3600000)
3. Display:
o The LCD continuously updates the current (Amps), power (Watts), and energy
consumption (kWh).
PAGE 4
Circuit Diagram:
(Include a labelled circuit diagram with connections between ZMCT 118F, Arduino, LCD, and
other components.)

Fig. 06 Block Diagram of Energy Meter

PAGE 5
Arduino Code:
#include <LiquidCrystal.h>
int currentPin = A2; //Assign CT input
float burdenResistor = 56.
float turnsRatio = 1000.
float ADC_REF = 5.0.
int ADC_RES = 1024.
double kilos = 0.
int peakPower = 0.
LiquidCrystal lcd (8, 9, 4, 5, 6, 7); //Assign LCD screen pins
void setup ()
{
lcd. begin (16,2); // columns, rows. use 16,2 for a 16x2 LCD, etc.
lcd.print (" WELLCOME ").
delay (1500).
lcd. setCursor (0,0); // Displays all current data
lcd.print ("MNS UET MULTAN").
lcd. setCursor (0,1).
lcd.print ("ENERGY METER").
delay (1500).
lcd. setCursor (0,0); // Displays all current data
lcd.print("ZULQURNAN-ANJUM").
lcd. setCursor (0,1); // Displays all current data
lcd.print("2023-BT-ELECT-01").
delay (1500).
lcd. setCursor (0,0); // Displays all current data
lcd.print (" ZUBAIR ARSHAD ").
lcd. setCursor (0,1); // Displays all current data
lcd.print("2023-BT-ELECT-02").
delay (1500).
}
void loop ()
{
int current = 0.
int maxCurrent = 0.
int minCurrent = 6023.
for (int i=0; i<=200; i++) //Monitors and logs the current input for 200 cycles to determine
max and min current
{
current = analogRead(currentPin).
if (current >= maxCurrent)
maxCurrent = current.

PAGE 6
}
if (maxCurrent <= 517)
{
maxCurrent = 516.
}
double RmsCurrent = ((maxCurrent - 516) * 0.707 *0.3).
int RMSPower = 220*RmsCurrent.
if (RMSPower > peakPower)
{
peakPower = RMSPower.
}
kilos = kilos + (RMSPower * (2.05/3600000)).
delay (2000).
lcd. clear ().
lcd. setCursor (0,0).
lcd.print (RmsCurrent).
lcd.print("A").
lcd. setCursor (10,0).
lcd.print (RMSPower).
lcd.print("W").
lcd. setCursor (0,1).
lcd.print(kilos).
lcd.print("kWh").
lcd. setCursor (10,1).
lcd.print(peakPower).
lcd.print("W").
}

Observations and calculations:

Sr. No Amps Watts Load Detail


01 1.41 311 Light Rod (400 W)
02 8.48 1866 Electric Heater
(2000 W)

PAGE 7
Results:

Fig. 07 Check the Accuracy of Meter using the light Rod

Fig. 08 Check the Accuracy of Meter using heater

PAGE 8
Conclusion:
The development of a smart energy meter using Arduino Uno and the ZMCT 118F current
transformer provides an efficient and cost-effective solution for monitoring electrical power
consumption. By integrating the ZMCT 118F with an appropriate burden resistor and a 16x2
LCD display, this system can measure real-time current, power, and energy consumption while
offering user-friendly visual output.
This project demonstrates the potential of microcontroller-based systems in creating affordable
and accurate energy monitoring tools. Although the ZMCT 118F is limited to currents below
20A, its precision within this range makes it suitable for residential or small-scale applications.
Calibration of the current transformer and correct configuration of the burden resistor ensure
reliable measurements. However, assuming a constant voltage (e.g., 230V) introduces minor
errors, which could be improved by incorporating a voltage sensing module in future designs.

PAGE 9

You might also like