Multisim and Ultiboard

cancel
Showing results for 
Search instead for 
Did you mean: 

OpAmp Vos Trim (Null) Doesn't Work (pins 1 & 8)

(10.1.1 Student Ed with annual paid update service.)

 

 

Vos trim (pins 1-8) has no effect (lm741, OP07, OP97 etc).

At high gain with inputs shorted, dc output is from +0.25 to +3.4V depending on device under test.

Cannot be nulled.

 

Any suggestions? If someone suggests modifying the model, well, don't just say it, Show Me How for the OP97 for example....

It would be nice to allow a +/- Vos. Common trim circuit is a 20k pot between pins 1 & 8 with the wiper tied to V+.

 

 

 

0 Kudos
Message 1 of 3
(7,310 Views)

Hi Robert,

 

You are correct that the op-amp models generally do not model the offset null. In order to model this, you would need to modify the model. So, how to do this? I have an idea that might be worth exploring. I haven't tested it, but conceptually, it should work with some limitations.

 

Concept

Basically, your requirements are to modify the behaviour of Vout based on the offset null pins. For convenience, I'm going to call the original output voltage Voutold and the new modified one Voutnew. Mathematically, what your looking for is Voutnew = f(Voutold, Vbal1, Vbal2, Vin+, Vin-). One way to achieve this is to represent this mathematical expression directly in SPICE. This is done using an arbitrary source (also known as a B-source), as shown below. Basically, what this is doing is measuring the old output voltage, then calculating a new output voltage based on the balance pins.

opamp_balance.png

 

 

Modifying the Model

To modify the model, the first thing you would need to do is to add the balance pins to the .SUBCKT line. For the OP97_2 model, the .SUBCKT line would become

.SUBCKT OP97_2 3 2 7 4 6 BAL1 BAL2

I used BAL1 and BAL2 to avoid conflicts with any internal names that the model is already using, but these are just nodes like any other.

 

The next step would be to replace the old output with the new behaviour. From the model template, we can see that the output symbol pin (OUT) is the fifth pin in the .SUBCKT list. This corresponds to node 6 in the model (it is the fifth one that appears after the model name). To hijack the pin, rename it in the .SUBCKT line to NEWOUT.

.SUBCKT OP97_2 3 2 7 4 NEWOUT BAL1 BAL2.

 

As show in the image above, connect add an internal resistor between 6 and 0 so we can measure the voltage.

Rout 6 0 100

 

Finally, insert a B-source with an appropriate function

Bout NEWOUT 0 V = f(6, BAL1, BAL2, 3, 2)

(Figuring out the appropriate function is the hard part).

 

 After you are done,  your model might look something like this:

.SUBCKT OP97_2 3 2 7 4 NEWOUT BAL1 BAL2
* Vos=3.0e-05, Ib=3.0E-11, Ios=2.0E-11, GBP=6.0E+05Hz, Phase mar.= 70 deg,
...
DSUB 4 7 DM2

* OUTPUT OFFSET

Rout 6 0 100

Bout NEWOUT 0 V = f(6, BAL1, BAL2, 3, 2)

* MODELS
.MODEL QM1 NPN (IS=8.000E-16 BF=7.500E+04)
.MODEL QM2 NPN (IS=8.008E-16 BF=1.500E+05)
.MODEL DM1 D (IS=1.179E-19)
.MODEL DM2 D (IS=8.000E-16)
.ENDS OP97_2

 

The work that remains is to replace f(6, BAL1, BAL2, 3, 2) with the required function. In order to create this function, you will need to look at the SPICE Reference. Click Start > All Programs > National Instruments > Circuit Design Suite 10.1 > Documentation > Multisim User Manual
The relevant chapter is Chapter 7 Multisim SPICE Reference. This technique is using the arbitrary source (page 7-60). You can use any expressions in the Mathematical Expressions section.

Limitations
I should again repeat I have not tried this approach to verify how well this would work. However, a couple of problems come to mind.

  1. Using an arbitrary source means the opamp can provide unlimited current
  2. Any accuracy in noise behaviour is lost

There are probably additional issues I'm not thinking of at the moment. How big of an issue they are would depend on what you are trying to achieve.

 

Alternate Approach

The approach I'm suggesting here gives a simplified view of the op-amp. Generally, we're ignoring the internal behaviour and focusing on 'fixing' the output. A more accurate approach might be to insert this correction before the output stage of the model, so the output current behaviour is retained (current as in amps). A similar approach might work, but this would be more difficult.

 

I hope this gives you some ideas on how to proceed.

Message Edited by GarretF on 12-09-2009 09:00 AM
Garret
Senior Software Developer
National Instruments
Circuit Design Community and Blog

If someone helped you, let them know. Mark as solved or give a kudo. 🙂
Message 2 of 3
(7,277 Views)
Thank you very much Garrett. I will investigate this and post an update.
0 Kudos
Message 3 of 3
(7,262 Views)