eCircuit  Center

Op Amp Model

About SPICE | SPICE Basics | Running SPICE | CIRCUIT COLLECTION | SPICE Commands | SPICE Demos and Downloads
About Us | Contact Us | Home | Search


Easy-to-Use Voltage Limiter




                                          OPAMP_VLIMIT_SERVO.CIR   Download the SPICE file

There's a limit of how close an op amp's output can swing toward its supply rails. Usually this is modeled using a voltage source and a diode. But modeling is not a simple task. Based on the maximum current from the gain stage and the diode V-I equation, you can calculate the diode voltage Vd and then calculate the voltage Vlimit necessary to achieve the output voltage limit, Vomax. (See Voltage Limiting)  This also assumes your gain stage output current is limited to a max value - which may not be true for all op amp models. But, there's a simpler way.

By adding an amplifier, you can create an accurate voltage limiter that's independent of the diode voltage or gain stage output current. If your output voltage attempts to exceed the limit, the amplifier servos the output to your maximum voltage. Let's see how.



Many op amp models achieve their voltage gain by a current source G1 flowing into a resistor R1 creating a voltage V(10). Without any clamping, V(10) could swing to thousands of volts - unrealistic in an op amp with +/-15V rails! As an example, suppose an op amp can only swing to within 1.5 V of the rails leaving Vomax = +/-13.5 V. So how do we begin to model this behavior? Essentially, we need a limiter that work as follows.

    ►  For   Vomax- < V(10) < Vomax+          Normal condition - limiters out of circuit.
    ►  For                  V(10) > Vomax+          Positive servo limits V(10) to Vclamp+.
    ►  For                  V(10) < Vomax--          Negative servo limits V(10) to Vclamp-.

What sets Vomax? Its simply the supply rail together with VVLP and VVLN.

Vomax+ = VCC -  VVLP
Vomax-  = VEE + VVLN



When V(10) is within Vomax, both servo amplifiers EVLP and EVLN, are isolated from the circuit through reverse biased diodes DVLP and DVLN. That's because node 91 swings more positive and node 93 swings more negative than node 10. Under this condition, the limiter is out of the picture.

But, suppose V(10) climbs slightly more positive than Vomax+. Node 91 now swings more negative than node 10 forward biasing DVLP!

EVLP now controls (or servos) V(10) to be equal to Vomax+. You can also think of EVLP as a unity gain buffer which during over-voltage condition condition takes control of node 10. This is possible because R1 is typically a high impedance (>1k ohms) and the low impedance of the DVLP and EVLP can easily pull down the V(10) to Vomax+. The negative limiter works similarly, just using opposite polarities.

Note there's no diode equations to mess with!  Simply set VVLP and VVLN to how close to the rails Vo output can swing.

VVLP 101 90 DC 1.5V
VVLN 92 102 DC 1.5V



Here are the SPICE statements for the servo amplifiers EVLP and EVLN.

EVLP  91 100   90 10   1000
EVLN  93 100   92 10   1000

The input of EVLP compares V(10) with Vomax at V(90). The servo amplifier action drives V(91) to a level required to keep V(10) - through DLVP - at Vomax. How do we set the gain of servo amps EVLP and EVLN? For this example, the gains are set to 1000. Too high of a gain and you might have convergence problems. Too low of a gain and the limiter loses accuracy. But typically, you don't need alot of accuracy for this function. You can even set it to 100 or less.



To test drive our op amp model, we'll use the non-inverting amplifier. Note, you need to connect power supplies for this model to work.



 CIRCUIT INSIGHT   VS generates a 5 V square wave. Run a Transient Analysis and plot the input V(1) and output V(3). With R1 = R2 = 10 kΩ, the non-inverting gain is 2 V/V. For a 5 V input, you should see a 10V output. 

With 15 V supplies and VVLP and VVLN = 2 V, the output should be clamped to 13.5 V. Increase the gain by setting R2 to 20 kΩ or 30 kΩ. Rerun the simulation. Does the output make its destination? What is the exact voltage it gets clamped to? Place a cursor on V(3) to get an accurate measure.

 HANDS-ON DESIGN   How does the servo gains effect the accuracy of Vomax? Reduce the gain of EVLP and EVLN from 1000 down to 100 or 10. Run a new simulation. How accurate is the limiting action now? Alternatively, raise the gain to 10000 or above. Did the accuracy improve?

Generally speaking, these limits don't need to be so accurate. Its not a very controlled behavior in the actual device. And furthermore, you shouldn't be designing circuits that are dependent on the accuracy of Vomax.

 HANDS-ON DESIGN   Try varying the voltage clamps by adjusting VVLP and VVLN. Run a simulation with your new values. How about asymmetric voltage limiting? Just set VVLP and VVLN to different levels.



For a description of all op amp models, see Op Amp Models.
For a quick review of subcircuits, check out Why Use Subcircuits?
Get a crash course on SPICE simulation at SPICE Basics.
A handy reference is available at SPICE Command Summary.
This op amp model can be used for many of the op amp circuits available from the Circuit Collection page.



Download the file or copy this netlist into a text file with the *.cir extension.

VS	1 0 AC 1 PWL(0US 0V   0.01US 5V  2US 5V   2.01US -5V  4US -5V)

VCC	20	0	DC	+15V
VEE	21	0	DC	-15V

R1	0	2	10K
R2	2	3	10K
XOP1	1 2 20 21 3 OP_VLIM_S
RL	3	0	1000K

* OP AMP MODEL - VLIMIT SERVO ***************************
* Device Pins	   In+ In- V+ V-  Vout
.SUBCKT OP_VLIM_S	1   2   101 102  82

RIN	1	2	1e+012

G1	100	10	1 2	1
R1	10	100	1e+006
C1	10	100	3.3e-008

VVLP	101	90	DC	1.5V
EVLP	91 100	90 10	1000
VVLN	92	102	DC	1.5V
EVLN	93 100	92 10	1000

EOUT	80 100	10 100	1
ROUT	80	82	100

RREF1	101	103	100K
RREF2	103	102	100K
EREF	100 0	103 0 1
R100	100	0	1MEG

* ANALYSIS *************************************
.TRAN 	0.05US  4US 0 0.05US
*.AC 	DEC 	20 0.1 1000MEG


Top ↑


2007 eCircuit Center