Electronic – arduino – How to measure line voltage (220V) with an arduino

arduinooperational-amplifiervoltage dividervoltmeter

I'm a Electrical Engineering student and I want to sense and sample the voltage signal coming from a wall socket (110V – 220V). I came up with the following circuit using a voltage divider with high impedance and a diferential amplifier. I would like to avoid using a transformer because of weight constraints.

Is there a better way to solve this problem?
Should I use a capacitor divider instead?

Circuit I came up with

Best Answer

Regular transformers don't have to be heavy.

enter image description here

Figure 1. Miniature transformers.

Hammond Manufacturing, for example, make 0.5 VA transformers smaller than a 25 mm / 1" cube. This provides isolation from mains (which your circuit does not).

schematic

simulate this circuit – Schematic created using CircuitLab

Figure 2. Analog interface.

To read AC with your micro you'll need to bias the transformer to mid-DC supply as shown. R1, R2 and C2 provide this function.

R3 and R4 provide a potential divider to attenuate the transformer signal into the range suitable for your ADC.