12-07-2009 07:28 PM
(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+.
12-09-2009 08:57 AM - edited 12-09-2009 09:00 AM
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.
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.
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.
12-09-2009 11:23 AM