Design Ideas: October 26,, 1995
Mathematically, there is no difference between single- and dual-supply op-amp designs, except for the signal reference. Dual-supply designs inherently reference signals to ground. However, you must use biasing to reference signals to ground in a single-supply design, because the signals are inherently referenced to VCC/2. This requirement for external bias schemes complicates the design procedure. The Basic program, which you can download from EDN BBS /DI_SIG #1780, helps you quickly design accurate single-supply op-amp circuits.
Before starting a single-supply op-amp design, you need to answer two power-supply questions: First, is the power-supply voltage greater than the minimum voltage required by the op-amp data sheet? Second, is the power-supply voltage less than the op amp's breakdown voltage? If you have answered yes to both questions, you have selected the proper op amp for the design.
Based on your inputs, the program chooses resistor values and bias voltages for the generic circuit in Fig 1. A specific design won't require both inputs, both bias voltages (VCC1 and VCC2), or all of the resistors. However, by including all these elements, the generic circuit can implement all four forms of the equation of a straight line, Y=mX+b. The basic function of an op-amp circuit is to provide some linear gain (m) with possibly some offset (b). You wouldn't think that a single-supply system could emulate the equation Y=-mX-b. However, this design is possible over restricted ranges when the output is positive. (The input is negative, and m is positive.)
The program calculates values for the required resistors and sets the nonessential resistors equal to shorts (0 Ohms) or opens (infinite ohms). If the b term is present, only one of the bias supplies, VCC1 or VCC2, is necessary. The program determines the input you should use, either VIN1 or VIN2. The program sets the other input to zero (shorts it to ground). For example, if Y and b are positive, you don't need any input into the op amp's inverting input. The program uses the following equation to calculate the components' values:

The program begins by asking for two sets of data points: VIN1 and VOUT1 and then VIN2 and VOUT2. These two sets could correspond to the output of a sensor and the desired input range of an ADC. The program then calculates m and b for the equation of a straight line. The program won't select all of the terms for the final solution; the polarity and magnitude of m and b determine the terms to use. Next, the program asks for the values of VCC, VCC1, and VCC2. Normally, VCC1 and VCC2 equal VCC, so the program defaults to those values if you don't enter anything. However, you can set VCC1 and VCC2 to different values, except for zero or negative.
Before calculating the resistor values, the program asks for the value of feedback resistor R4. The default value of 470 k Ohms is a good starting value, but you can control the impedance level of the design by selecting different values for R4. The program runs very fast, so you can easily try the default value of R4 to 470 k Ohms, obtain an answer, and then change R4 to meet the required impedance levels.
The program sets R5 equal to the parallel combination of R3 and R4 to minimize the effects of bias currents. Using a low-bias-current op amp, such as the Harris CA5260A, essentially eliminates input-bias-current considerations. When R1 and R2 are present, the program asks for the value of K; K3R3 equals the Thevenin impedance of R1 and R2. The equation for the circuit assumes that the parallel combination of R1 and R2 is much less than R3 to simplify the algebra. You can enter any value for K, but the default value of 10 is adequate to ensure a few percent accuracy. Picking standard resistor values introduces more error than K=10.
Consider the example in which VIN1=0.01V, VOUT1=1.0V, VIN2=0.1V, VOUT2=4.0V, and VCC=VCC1=VCC2=5V. The program selected the values in Table 1, which also compares the program's resistors to the nearest standard values.
| Table 1Output of single-supply op-amp design program | ||
|---|---|---|
| Parameter values (V) | Program result | Standard resistor |
| V1 | Ground | NA |
| V2 | Input | NA |
| m (slope) | 33.33 | NA |
| b (intercept) | 0.667 | NA |
| R1 | 0.0 | 0.0 |
| R2 | infinity | infinity |
| R3 | 14.476k | 14.7k |
| R4 | 470k | 475k |
| R5 | 14.1k | 14k |
| R6 | 3525k | 3570k |
| Note: NA=not applicable | ||
In this design, selecting 1% resistors yields a design that is 1% accurate. You can improve the accuracy by selecting new values for R4 until the computer yields a set of resistor values that better fits the standard values. By adjusting R4, you can optimize the resistor values for different parameters. (DI #1780)