Although microprocessors may offer more-precise calculations, there's still room for analog-computation techniques in a designer's circuit collection. As a case in point, the analog-divider circuit in Figure 1 offers reasonably good accuracy for the price of a few inexpensive components. Given two voltages, VA and VB, as its inputs, the circuit delivers an output of 5V multiplied by the ratio of VA divided by VB. In operation, a TLC555, the CMOS version of the ubiquitous 555 timer, serves as a free-running Schmitt-trigger RC oscillator, IC2. Its output signal at Pin 3 drives resistor R1 and capacitor C1. The voltage at C1 drives IC2's trigger (Pin 2) and threshold (Pin 6) inputs, closing the timing loop and establishing oscillation. A low-impedance open-drain MOSFET at IC2's discharge pin switches low whenever IC2's output goes low.
Representing the calculation's denominator, an input voltage, VB, drives IC2's discharge pin through a resistive-voltage divider comprising R3 and R4. Regardless of IC2's frequency of oscillation, a pulsed voltage appears at IC2's Pin 7 with the same duty cycle as IC2's output signal at Pin 3 and an amplitude of 0V to VB/2. A voltage follower, IC1B, buffers IC2's discharge output and drives a lowpass filter comprising R8 and C3, yielding a voltage that equals VB/2 multiplied by IC2's duty cycle. A second resistive voltage divider, R6 and R7, halves the numerator-input voltage, VA, and applies the signal to integrator IC1A, along with the output from the lowpass filter, R8 and C3. The integrator's output voltage drives current through R2 into C1, creating a bias voltage that in turn controls IC2's output pulse width and forming a feedback loop.
In operation, the feedback loop forces IC2's duty cycle to equalize the voltages at IC1A's Pin 2 and Pin 3, such that VB multiplied by the duty cycle equals VA, or the duty cycle equals the ratio of VA to VB. IC2's output at Pin 3 comprises a 0 to 5V pulse waveform. The feedback circuit controls this waveform and in turn drives a lowpass filter, R5 and C4, to generate a dc-output voltage equal to 5V multiplied by the pulse width, or VA×5 V/VB.
Aside from the tolerances of the resistors in divider networks R3 and R4 and R6 and R7, the primary source for inaccuracy in the circuit arises from the nonzero on-resistance of IC2's discharge switch and the inability of discharge-switch-voltage follower IC1A's output to reach 0 V. Keeping the circuit's resistance values high tends to reduce this effect. A Spice simulation of this circuit indicates that, aside from the effects of resistor tolerances, the circuit achieves a worst-case accuracy of 0.5 %. (Editor's note: For greatest accuracy, use a regulated, 5 V power supply.)