Controlling sine wave amplitude with closed-loop feedback

Thread Starter

Strike-the-root

Joined Apr 10, 2019
28
I've been building a bridge circuit for a differential reluctance sensor. Generally, it functions and is sensitive, but the stability of the measurement has been poor. I traced the problem to variations in the amplitude of the sine wave that excites the sensor coils. Over the course of an hour, the RMS voltage varies by about 1% and this is causes the sensor's null position to change.

The sensor is sensitive to excitation frequency. To lock that down, I used a CD4060 and piezo crystal. The output from this IC is a square wave. The signal runs through a few stages of low-pass filter that gives something approximating a sine wave. The CD4060 square wave output amplitude is quite sensitive to voltage and temperature. Because that initial amplitude is passed through the various filters and op amps, changes there affect everything downstream.

I figured that I could solve the problem by building a closed-loop feedback for the sine wave amplitude. I started with a half-wave diode rectifier and low-pass filter to extract a DC voltage that correlates to the sine amplitude. Next, a Max6225 2.5V reference voltage IC and a resistor divider provides a constant voltage that has similar magnitude to the rectified DC output. Using an op-amp to integrate the difference between the reference voltage and the rectifed signal, I fed this into an AD633 multiplier that multiplies the integrator output with the original sine-wave input. The output is a small amplitude sine wave. Finally, that signal is fed back into the sine-wave input via a summing op-amp circuit. The sum of the input sine wave and the voltage-referenced correction equals the output.

This is able to hold the RMS sine wave amplitude to about 0.2% over an hour. It's better than before, but not the improvement I was hoping for. The reference voltage stays constant to 0.1mV and I was hopeful that my output wouldn't vary more than 2-3x that figure on a 2V RMS signal I'm . My method is convoluted, but I'm a ME, not an EE. I'd appreciate very much some insight about a better way to close this loop.
 

crutschow

Joined Mar 14, 2008
29,805
I started with a half-wave diode rectifier and low-pass filter to extract a DC voltage that correlates to the sine amplitude.
It might be better if you used an op amp precision rectifier circuit and filter that to get the average sine wave value.
That takes the diode forward drop (and any variation due to temperature) out of the loop (the effective forward drop is reduced by a factor equal to the open-loop gain of the op amp).
 
Last edited:

Thread Starter

Strike-the-root

Joined Apr 10, 2019
28
SG--the power from the circuit is from an Agilent E3630A symmetric power supply. To power the CD4060 with +/-2.2V when the rest of the circuit runs off +/-12V, I'm using Zener diodes. It varies a few mV over an hour typically.

Crutschow--Thanks for the link. That looks like a good way to get a better-quality signal.
 

Thread Starter

Strike-the-root

Joined Apr 10, 2019
28
This is preliminary, but after adding the precision rectifier, the max-min RMS voltage difference is 0.7mV on a 1.5V nominal amplitude over 90 minutes including the warmup. That works out to about 0.05%--so it seems to be 4x better than before. I'm still taking measurements.

I'm a bit surprised that adding the precision rectifier has made such a difference compared with the plain diode half-wave. Is the improvement all due to to not losing the 0.7V over half the cycle?
 
Top