The goal is to convert positive and negative DC input levels from 1 millivolt to 4 volts to an absolute positive level from 1 millivolt to 4 volts. The first circuit tried was the dual diode type but it was found that the diodes MUST be carefully matched to get an equal positive and negative response at millivolt levels.(contrary to what the books say! LTspice also confirms this as well. see LT1001 spice demo and fool with one of the diodes parameters.)
So the circuit below with one diode was tried. There is still a serious discrepancy between the positive and negative values, over 100% error at millivolt inputs.
The OP amps came from a large batch I happened to have on hand, and were selected to have less than 1/10 millivolt offset. The resistors match to much better than 1%. When the input is grounded, the output is below 200 microvolts, well below a millivolt. Quite satisfactory I think.
Photo 1 shows the output with a 500 millivolt peak-peak input. (100hz) Photo 2 shows the output with 50mv p-p input. Note that the error is severe.
Tweaking the resistor values to equalize the response doesn't work. It was found that it takes different resistor values at different input levels, so equalizing at 10 mv doesn't hold at a half volt, etc.
The signal generator has an offset adjustment and it was found that if some offset (50mv or so) was added to the signal the output had equal response to the peaks. But at zero offset there is that difference in peaks. Using a large capacitor coupling on the input had no effect. LTspice doesn't show any difference in the peaks. It only happens in the real circuit. Any ideas?


So the circuit below with one diode was tried. There is still a serious discrepancy between the positive and negative values, over 100% error at millivolt inputs.
The OP amps came from a large batch I happened to have on hand, and were selected to have less than 1/10 millivolt offset. The resistors match to much better than 1%. When the input is grounded, the output is below 200 microvolts, well below a millivolt. Quite satisfactory I think.
Photo 1 shows the output with a 500 millivolt peak-peak input. (100hz) Photo 2 shows the output with 50mv p-p input. Note that the error is severe.
Tweaking the resistor values to equalize the response doesn't work. It was found that it takes different resistor values at different input levels, so equalizing at 10 mv doesn't hold at a half volt, etc.
The signal generator has an offset adjustment and it was found that if some offset (50mv or so) was added to the signal the output had equal response to the peaks. But at zero offset there is that difference in peaks. Using a large capacitor coupling on the input had no effect. LTspice doesn't show any difference in the peaks. It only happens in the real circuit. Any ideas?




