Introduction: To Build a Voltage Regulator and Measure AC Voltage Using Arduino

Picture of To Build a Voltage Regulator and  Measure AC Voltage Using Arduino

AC voltage when measured using a micro controller is a pretty difficult task as the wave gets easily distorted due to numerous noise present in the environment.Therefore for proper design of the hardware is very necessary.A voltage regulator is designed to automatically maintain a constant voltage level. A voltage regulator may be a simple "feed-forward" design or may include negative feedback control loops. It may use an electromechanical mechanism, or electronic components. Depending on the design, it may be used to regulate one or more AC or DC voltages.

Step 1: Step 1:Transformer (230V/6V)

Picture of Step 1:Transformer (230V/6V)


A varying current in the transformer's primary winding creates a varying magnetic flux in the core and a varying magnetic field impinging on the secondary winding. This varying magnetic field at the secondary induces a varying electromotive force (EMF)

The transformer is used for step down purpose because the arduino is capable of reading voltage in the range of 0-5V only. Further the output of the transformer is fed into a voltage divider circuit.The values of resistances is chosen according to your specifications.

Step 2: Step2 : Diode Bridge Rectifier

Picture of Step2 : Diode Bridge Rectifier


When used in its most common application, for conversion of an alternating current (AC) input into a direct current (DC) output, it is known as a bridge rectifier. A bridge rectifier provides full-wave rectification from a two-wire AC input. The output from the voltage is fed into the diode bridge rectifier IC which gives a rectified full wave which is fed in to the peak rectifier circuit.

Step 3: Step3: Peak Rectifer

Picture of Step3: Peak Rectifer

The output from the bridge rectifier contains a huge amount of ripple. the analog reading is taken at this stage would vary at a humongous rate and hence will be difficult to get a stable reading.

One way to reduce this ripple is to use a filtering capacitor. Consider the full wave rectifier again, but now add a capacitor in parallel with the load .The capacitor will charge up on “+” cycles of Vp(peak value). when the voltage across the capacitor decreases the capacitor discharges .Again the capacitor charges when the voltage across it is greater than the voltage stored.

Step 4: Step4: Limiter Circuit

Picture of Step4: Limiter Circuit

A limiter circuit acts as a liner circuit and provides an output proportional to Vo=KVi. We use a single limiter whihc is the first one since the wave is rectified .

The output of this has very few noise left and can be fed to Arduino.


jjcorona2013 (author)2018-01-13

Hello, How can I do the maths for 120 VAC 60 Hz? I need to make an AC Smart Monitor to protect many appliances in my house. I pretend use it together a contactor to activate/deactivate AC Line. I've been making a simulation of a transformer based voltage divider circuit in proteus, but using zener diodes to limitate input voltage on analog pins of arduino uno r3, that voltage stays "freeze" in 5 volts even when voltage drops below 5 volts. I'm using a 5 volts zener like a limiter. By now the code is not so important because I need make sure that voltage in analog pin of arduino never rises beyond five volts, I would even like that voltage to be slightly below 5 volts, so I want the maximum limit it stays at least at 4.7 volts to let some slack and in the mapping of that voltage in the code make the respective adjustment. Thanks.

CKH3 (author)2017-12-29

Is there any codes for this project?

ebreaker (author)2015-02-01

Hey i love this work, but could you put the components to build one for 230 v / 50 hz.

Will be awesome.

MrChowdhury5 (author)ebreaker2017-01-12

me likely

About This Instructable




More by himshekhar.das:DIY Keypad matrix  from the principle of operation to implementationUsing PWM to control the light intensity of a LEDTo build a voltage regulator and  measure AC voltage using arduino
Add instructable to: