Arduino Wattmeter - Voltage, Current and Power Consumption

98

1

A device can be utilized to measure the power consumed. This circuit can also act as a Voltmeter and Ammeter to measure voltage and current.

Supplies:

Hardware Components

Arduino Uno

LCD 16 X 2

LM 358 Op-Amp

7805 Volage regulator

Potentiometer 10k ohm

0.1 µF

Resistor 10k ohm

Resistor, 20 kohm

Resistor 2.21k ohm

Resistor, 0.22 ohm

Connecting wires

Software Components:

Arduino IDE

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Working of Arduino Wattmeter

Building your own meters not only carries down the cost of testing but also provides us room to facilitate the process of testing.

Working:

From the sensor part, there are two sections that are reliable for measuring voltage and current. For measuring the voltage, a voltage divider circuit is executed using a 10KΩ and a 2.2KΩ Resistor.

With the help of these resistors, you can easily measure voltages up to 24V. These resistors also support us in taking the voltage range to 0V – 5V, which is the normal range on which Arduino works.

In order to measure the current, we have to change the current values to conventional voltage values. As per Ohm’s Law, the voltage drop across a load is proportional to the current.

Hence, a small shunt resistor is arranged with respect to the load. By estimating the voltage across this resistor, we can calculate the current. We have used LM358 Op-Amp in Non-Inverting Amplifier Mode to magnify the values provided to Arduino.

The voltage divider network for the feedback control includes a20KΩ Resistor and 1KΩ Resistor. These resistors offer a gain of approximately 21.

Step 2: Run a Code

#include

const int rs = 2, en = 4, d4 = 9, d5 = 10, d6 = 11, d7 = 12;

LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

float Voltage = 0.0;

float Current = 0.0;

float Power = 0.0;

void setup()

{

lcd.begin(16, 2);

Serial.begin(9600);

lcd.print(" Arduino ");

lcd.setCursor(0, 1);

lcd.print(" Wattmeter ");

delay(2000);

lcd.clear();

}

void loop()

{

Voltage = Voltage * (5.0/1023.0) * 6.46;

Current = Current * (5.0/1023.0) * 0.239;

Serial.println(Voltage); Serial.println(Current);

Power = Voltage * Current;

Serial.println(Power);

lcd.setCursor(0, 0);

lcd.print("V=");

lcd.print(Voltage);

lcd.print(" ");

lcd.print("I=");

lcd.print(Current);

lcd.setCursor(0, 1);

lcd.print("P=");

lcd.print(Power);

delay(1000);

}

182 9.8K
72 3.8K
72 4.4K