Measuring small changes in high AC voltage

Well, not very high AC voltage, around 50 P-to-P from a transformer. The voltage is expected to fluctuate between 49v and 51v, and I'd like to see the changes with high resolution. That is voltage dividing 50v to 5v range would not work as the steps would be 5/1024*10 = 0.05v resolution. If I could bring the edge of the AC wave into the 0-5v region, that would offer 0.002v resolution.

What would be the easiest way to do this?

what is high resolution?

You probably need a reference of 47V to measure against. Than the fluctuations will be between 2 and 4 volt ...

High resolution for my application would be having about 5 volts going into the Arduino's ADC. Scaling 50v down to 5 would be a little too rough when converting back to actual voltage.

If I get a 47v DC reference, do I use it to DC bias the 50v AC?

You can scale it and then use a higher resolution adc. Probably the simplest + easiest solution.

Do you want to measure the peak voltage or the RMS voltage?

If you want to measure the RMS voltage, then I can't think of any better alternative than to use a voltage divider and a higher resolution ADC. If you want to measure the peak voltage, then you can use a voltage divider, feed the signal into an op-amp peak rectifier circuit, and add a DC bias to the op-amp to improve the resolution.

Having x10 divider arduino resolution would be 50 mV, or about 51 - 49 / 0.050 = 40 counts.
I'd simply do oversampling, suppose you don't need very high speed update.
Summing 256 values in one "long", than shifting right on 4 bits (you can divide by 16 - same thing) ,
you can get x16 times better resolution, or 640 counts per range.

Reading the peak (not RMS) would be just fine.

Is there more info somewhere about oversampling?

Atmel's application note AVR121:

AVR121: Enhancing ADC resolution by oversampling
Features
• Increasing the resolution by oversampling
• Averaging and decimation
• Noise reduction by averaging samples

I would use the attached op-amp negative peak detect circuit. The ratio R2/R1 sets the sensitivity (i.e change_in_output_voltage/change_in_peak_input voltage), and R3/R1 determines the offset (the minimum negative peak output voltage before the output goes significantly above ground).

the attached op-amp negative peak detect circuit

How's that going to work?

MikeX:
Well, not very high AC voltage, around 50 P-to-P from a transformer. The voltage is expected to fluctuate between 49v and 51v, and I'd like to see the changes with high resolution. That is voltage dividing 50v to 5v range would not work as the steps would be 5/1024*10 = 0.05v resolution. If I could bring the edge of the AC wave into the 0-5v region, that would offer 0.002v resolution.

What would be the easiest way to do this?

Some alternatives to high res ADC and the op-amp peak detect circuit:

  • Variations in transformer output voltage comes from variations on the supply or load side. If you consider the supply side constant, you could measure variations in load current (such as voltage drop across a shunt resistor). A change in load current will cause an inverse proportional change in transformer output voltage.

  • You can use a string of zener diodes (plus a resistor) to drop the output voltage into the AtMega ADC range. Zener diodes around 5V are good picks as they’re temperature neutral. You measure the peak voltage across the resistor which also defines the required zener current.

  • Use an opto-coupler to trigger at a voltage level close to peak and measure the time between the rising and falling edge of this pulse. Pulse width will be proportional to changes in transformer output voltage.