# AC Voltage Measurement using Arduino

AC voltage measurement can be carried out by converting AC voltage into proportional DC Voltage using rectifier and filter circuits. For low AC voltage (mili volts) measurement precision rectifier is used as diode knee voltage is 0.7 Volt. Similar to DC voltage measurement Voltage divider is constructed using 47K Ohm variable resistor R1. 5V zener diode is used to protect Arduino from accidental excess voltages. Adjust the resistor R1 (47K) to calibrate the voltage. Here the AC voltage that we can give to transformer is from 50V to 230V depending on its ratings. Rectified DC is fed to the voltage divider circuit.

#### Components Used for AC Voltage Measurement

1. 1N4007 Diodes – Qty. 4
2. Arduino Uno
3. Connecting Wires
4. Step down transformer 230V to 6V
5. Variable resistor 47K Ohm
6. Capacitor 1uF 25V
7. 5V Zener Diode

## Arduino AC Voltage Measurement Circuit

Connect Arduino as per circuit shown in figure 2.5, make ground common for Arduino and circuit shown in figure. Adjust the resistor R1 to get proper reading. When AC Voltage is 250V we get 5V output.

So calibration formula is

AC Voltage = (250/1024) * ADC_Value

In case if the voltage reading is fluctuating then increase the value of C1 from 1uF to 10uF.

## Arduino Code for AC Voltage Measurement

```/*  Read AC Voltage 50 to 250 Volts - www.circuits4you.com
result to the serial monitor.
Graphical representation is available using serial plotter   (Tools >
*/
// the setup routine runs once when you press reset:
void setup() {
// initialize serial communication at 9600 bits per second:
Serial.begin(9600);
}
// the loop routine runs over and over again forever:
void loop() {
// read the input on analog pin 0:
// Convert the analog reading (which goes from 0 - 1023) to a voltage (0 - 250V):
float voltage = sensorValue * (250.0 / 1024.0);
// print out the value you read:
Serial.print("AC Voltage: ");
Serial.print(voltage);
Serial.println(" Volts");
delay(1000);
}
```

## Results of AC Voltage Measurement

Open the Serial Monitor from (Tools>>Serial Monitor), Set Baud rate to 9600, See the AC voltage reading in serial monitor.

## 5 thoughts on “AC Voltage Measurement using Arduino”

1. Dallas Malcolm says:

Pretty! This was an incredibly wonderful article. Many thanks for supplying this information.

1. Manoj R. Thakur says:

Its AC Current that’s why

2. imtiaj says:

Is this circuit works lpc2148 microcontroller ? If yes,then how its programed.

3. Dustin says:

Hello, will this circuit read as low as 10mv?

1. Stevo Keano says:

I’m building a precision (half wave) rectifier and will read the output via analogRead().

Have UA741CN opAmps on the way.