High Performance Integrator

I am returning more and more to LM3900 implementation for circuit design electronic music circuit design. From on-going development, I've had several glimpses now of precision, performance, and temperature stability. And all of these traits operating from a single power-supply voltage, generally +15V.

I'm working on a new kind of ADSR envelope generator, one that will have programmable delay, some complex waveshape options, as well as flexible retrigger modes.

For the circuit design of this envelope generator, I wanted to see if I could have a more balanced range of up and down slopes in the integration, and also more dynamic range beyond what the LM3900 difference integrator could do (AN-72, Figure 83). 

The difference integrator is particularly useful in closed-loop servo loops that use feedback to establish a condition. But it's dynamic range is limited, unless zeroing the input bias current technique is used (AN-72, Figure 84). But even then, the use of the +input for positive integration does not allow balanced rates, given the same input currents into both inputs. The alternative to this is to apply the voltage mirror circuit technique that uses the -input on two op amps to provide a more precise fulcrum on one of them (AN-72, Figure 69). This does work, but it is somewhat more complex, and has unbalanced control rate limits on the positive input side due to the necessary capacitive feedback loop compensation.

The Current Mode Amplifier (CMA) seemed like it might be a good starting point to form an integrator, because as a transconductance amplifier, it had good voltage compliance, and a wide range of available output currents. Because the CMA provides only a current source for charging a timing capacitor, the main question was how to provide a current sink and a switching means between them. This was made possible in the test circuit shown below, by way of adapting a current mirror and switching circuit developed in Dennis Feucht's Designing Waveform Signal Processing Circuits, p. 109.


The CMA was adapted to source current into a timing capacitor, which for test purposes was a 1.0μF polystyrene capacitor. This allows faster oscilloscope sweep rates for testing. The actual circuit would likely have 4.7μF or 10μF capacitor, for longer time ranges. The source current from the CMA allows the capacitor to charge up to the compliance voltage, which is close to the +15V supply voltage. Based on the temperature-compensated +13V reference voltage with op amp #2, the op amp #3 develops up to 2.5V across the 374Ω resistor, thus sourcing up to 6.68mA of charging current. Like the CMA, this is a perfect job for the LM3900: single-supply output at close to the supply voltage, modest output swing, modest output current, and compatibility with BJTs for massive performance improvement. 

The β of the 2N5087 builds another 48dB of minimum current gain onto the integral ≈70dB of gain provided by the LM3900. The LM3900 is almost magical in this way: it works out with very clean closed-loop frequency characteristics. No additional compensation capacitor is required to keep the stability with the transistor inside the loop. One single added component like an inexpensive BJT launches the inexpensive LM3900 onto a whole new vistas of high performance characteristics.

The 2MΩ resistor provides the -input to opamp #3 with common-mode range compensation, to allow a 0-2.5V control voltage input with a 50K trimmer. The CMA circuit design centers on a ΔV = 2.0V, but this test arrangement allowed a little more range. Similarly, getting the output through the 2N5087 close to no current output for 0.0V input is accomplished by the other 50kΩ trimmer connected with the 180kΩ resistor, tied to +15V. More ideally, the +15V could be replaced by a different reference not subject to possible power supply variations, esp. as the zero adjust sets the longest dynamic range in this test circuit. However, as we'll see, some kind of non-linear control will ultimately be needed to set range (see note at end).

The Feucht circuit is adapted by first starting with with a completely different current source (the CMA). After that, the two diodes act as a half-bridge rectifier, designed to allow switching the current source into the capacitor, or into a current mirror which reflects this current. A very accurate current mirror was created with the LM394CH. An alternative mirror could be constructed from part of a LM3046, using a Linear Systems LS312, or a THAT device; or a pair of matched high-gain NPN transistors would do. The 2N3094 is the saturating switch used to switch current charging directions.

In contemplating this circuit originally with the LM3900 as the difference integrator, a DC offset for the lowest envelope voltage output was already anticipated. As it happens, between the current mirror and the saturated switch, the Vout|min is ≈0.6V, or ≈1Vbe. This can be taken out by a variety of means, including an output buffer, which was intentionally not included in the test circuit. Also, to note, the 10MΩ scope probe to the Tek TBS1064 scope will cause as much as ≈1μA of current to be drawn away from the current source, affecting timing accuracy for low current ranges.

Some scope fotos show how well the circuit works.

Main Sweep I/O

The above scope foto shows the full supportable voltage output range of the integrator, which allows voltage swing from 0.6V to 12.8V. The rise and fall slows are equal, and ruler flat, except as will be seen, near the very top of the 12.8V output.

Linear rise slow-down near compliance limits

As the ramp rises up, eventually it encounters the voltage compliance limit of supported by op amp #3 and the 2N5087 transistor. Moreover, the rounding off is due to the 1N4148 switching diode. This is not seen at the lowest output voltage, which instantly switches to a ruler flat ramp upward.

When limiting the voltage ramp to ≈10V, there are no deleterious effects at all: the integration is ruler flat, as seen in the next scope foto/

10V linear swing, far below the highest voltage effects 

This integrator does work well, but it also has some issues. The control range for fast rising/falling slopes is quite constrained. For slower rates, the full dynamic range is set by the offset voltage provided by the 50kΩ trimmer intended to match the 0.00V input with the ±5% tolerance of the 1N5242B Zener diode that provides the +13V reference voltage via op amp #2. There is some play there, esp. as a single-turn trimmer likely provides inadequate trimming range for very small input control voltages that set the longest integration times.

So, one key improvement to be made is to provide a means of translating the linear control voltage inputs into a more controllable range, probably by means of antilog convertor.

Comments