Maker Pro
Arduino

Arduino Wattmeter- Voltage, Current and Power Consumption

November 22, 2019 by rasika Joshi
 
Share
banner

Arduino Wattmeter is a device that can be utilized to estimate the power consumed by a load.

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.

About Project

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

Working of Project

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.

IoT Course will give you a thorough view of all IoT devices which will help you to build an IoT Solutions.

Arduino-Wattmeter

After Implementation

Output of Arduino Wattmeter
#include <LiquidCrystal.h>  

int Read_Voltage  = A1;
int Read_Current  = A0;
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 = analogRead(Read_Voltage);
 Current = analogRead(Read_Current);

 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);
}

Related Content

Categories

Comments


You May Also Like