What's wrong with my TL072 model?

I’ve followed this tutorial successfully:
http://ngspice.sourceforge.net/ngspice-eeschema.html#OpAmp

However the same simulation fails when I try and swap the LF356 for a TL072 (I used a TL071 as a proxy):

I downloaded the TL072 model from TI’s website:
https://www.ti.com/product/TL072#design-development

* TL072 OPERATIONAL AMPLIFIER "MACROMODEL" SUBCIRCUIT
* CREATED USING PARTS RELEASE 4.01 ON 06/16/89 AT 13:08
* (REV N/A)      SUPPLY VOLTAGE: +/-15V
* CONNECTIONS:   NON-INVERTING INPUT
*                | INVERTING INPUT
*                | | POSITIVE POWER SUPPLY
*                | | | NEGATIVE POWER SUPPLY
*                | | | | OUTPUT
*                | | | | |
.SUBCKT TL072    1 2 3 4 5
*
  C1   11 12 3.498E-12
  C2    6  7 15.00E-12
  DC    5 53 DX
  DE   54  5 DX
  DLP  90 91 DX
  DLN  92 90 DX
  DP    4  3 DX
  EGND 99  0 POLY(2) (3,0) (4,0) 0 .5 .5
  FB    7 99 POLY(5) VB VC VE VLP VLN 0 4.715E6 -5E6 5E6 5E6 -5E6
  GA    6  0 11 12 282.8E-6
  GCM   0  6 10 99 8.942E-9
  ISS   3 10 DC 195.0E-6
  HLIM 90  0 VLIM 1K
  J1   11  2 10 JX
  J2   12  1 10 JX
  R2    6  9 100.0E3
  RD1   4 11 3.536E3
  RD2   4 12 3.536E3
  RO1   8  5 150
  RO2   7 99 150
  RP    3  4 2.143E3
  RSS  10 99 1.026E6
  VB    9  0 DC 0
  VC    3 53 DC 2.200
  VE   54  4 DC 2.200
  VLIM  7  8 DC 0
  VLP  91  0 DC 25
  VLN   0 92 DC 25
.MODEL DX D(IS=800.0E-18)
.MODEL JX PJF(IS=15.00E-12 BETA=270.1E-6 VTO=-1)
.ENDS

This is the simulation log:

Circuit: KiCad schematic
Error on line 54 :
_
unknown device type - error 
Background thread stopped with timeout = 0
Reducing trtol to 1 for xspice 'A' devices
Doing analysis at TEMP = 27.000000 and TNOM = 27.000000
Warning: v_gpio_a: no DC value, transient time 0 value used
Warning: vp: no DC value, transient time 0 value used
Warning: vm: no DC value, transient time 0 value used
Note: Starting dynamic gmin stepping
Trying gmin =   1.0000E-03 Warning: Further gmin increment
Trying gmin =   5.6234E-03 Warning: Further gmin increment
Trying gmin =   8.6596E-03 Warning: Further gmin increment
Trying gmin =   9.6466E-03 Warning: Further gmin increment
Trying gmin =   9.9105E-03 Warning: Further gmin increment
Trying gmin =   9.9775E-03 Warning: Further gmin increment
Trying gmin =   9.9944E-03 Warning: Further gmin increment
Trying gmin =   9.9986E-03 Warning: Further gmin increment
Trying gmin =   9.9996E-03 Warning: Last gmin step failed
Warning: Dynamic gmin stepping failed
Note: Starting source stepping
Supplies reduced to   0.0000% Note: One successful source step
Supplies reduced to   0.1000% Note: One successful source step
Supplies reduced to   0.2000% Note: One successful source step
Supplies reduced to   0.3500% Note: One successful source step
Supplies reduced to   0.5750% Note: One successful source step
Supplies reduced to   0.9125% Note: One successful source step
Supplies reduced to   1.4188% Note: One successful source step
Supplies reduced to   2.1781% Note: One successful source step
Supplies reduced to   3.3172% Note: One successful source step
Supplies reduced to   5.0258% Note: One successful source step
Supplies reduced to   7.5887% Note: One successful source step
Supplies reduced to  11.4330% Note: One successful source step
Supplies reduced to  17.1995% Note: One successful source step
Supplies reduced to  25.8493% Note: One successful source step
Supplies reduced to  38.8239% Note: One successful source step
Supplies reduced to  58.2859% Note: One successful source step
Supplies reduced to  87.4788% Supplies reduced to  58.2859% Note: One successful source step
Supplies reduced to  59.2859% Note: One successful source step
Supplies reduced to  59.7859% Supplies reduced to  59.2859% Note: One successful source step
Supplies reduced to  59.3609% Supplies reduced to  59.2859% Note: One successful source step
Supplies reduced to  59.2971% Note: One successful source step
Supplies reduced to  59.3140% Note: One successful source step
Supplies reduced to  59.3393% Note: One successful source step
Supplies reduced to  59.3773% Supplies reduced to  59.3393% Note: One successful source step
Supplies reduced to  59.3450% Note: One successful source step
Supplies reduced to  59.3535% Note: One successful source step
Supplies reduced to  59.3663% Note: One successful source step
Supplies reduced to  59.3856% Note: One successful source step
Supplies reduced to  59.4144% Note: One successful source step
Supplies reduced to  59.4576% Supplies reduced to  59.4144% Note: One successful source step
Supplies reduced to  59.4209% Note: One successful source step
Supplies reduced to  59.4306% Note: One successful source step
Supplies reduced to  59.4452% Note: One successful source step
Supplies reduced to  59.4671% Supplies reduced to  59.4452% Note: One successful source step
Supplies reduced to  59.4485% Note: One successful source step
Supplies reduced to  59.4534% Note: One successful source step
Supplies reduced to  59.4608% Supplies reduced to  59.4534% Note: One successful source step
Supplies reduced to  59.4545% Supplies reduced to  59.4534% Note: One successful source step
Supplies reduced to  59.4536% Note: One successful source step
Supplies reduced to  59.4538% Note: One successful source step
Supplies reduced to  59.4542% Note: One successful source step
Supplies reduced to  59.4548% Note: One successful source step
Supplies reduced to  59.4556% Note: One successful source step
Supplies reduced to  59.4569% Note: One successful source step
Supplies reduced to  59.4588% Note: One successful source step
Supplies reduced to  59.4616% Note: One successful source step
Supplies reduced to  59.4659% Supplies reduced to  59.4616% Note: One successful source step
Supplies reduced to  59.4623% Note: One successful source step
Supplies reduced to  59.4632% Note: One successful source step
Supplies reduced to  59.4646% Note: One successful source step
Supplies reduced to  59.4668% Note: One successful source step
Supplies reduced to  59.4700% Supplies reduced to  59.4668% Note: One successful source step
Supplies reduced to  59.4673% Note: One successful source step
Supplies reduced to  59.4680% Supplies reduced to  59.4673% Note: One successful source step
Supplies reduced to  59.4674% Note: One successful source step
Supplies reduced to  59.4676% Note: One successful source step
Supplies reduced to  59.4678% Supplies reduced to  59.4676% Note: One successful source step
Supplies reduced to  59.4676% Warning: source stepping failed
Transient solution failed -
Last Node Voltages
------------------
Node                                   Last Voltage        Previous Iter
----                                   ------------        -------------
vm                                                0                    0
vp                                                0                    0
gpio_a                                            0                    0
net-_r1-pad2_                           1.54871e-05          1.54873e-05
out                                    -2.96856e-13         -2.96964e-13
xu1.11                                      0.12156              0.12156
xu1.12                                     0.121561             0.121561
xu1.6                                   0.000172929          0.000172929
xu1.7                                    -0.0255827           -0.0255839
xu1.53                                     -1.30829             -1.30829
xu1.54                                      1.30829              1.30829
xu1.90                                    -0.170552            -0.170559
xu1.91                                      14.8669              14.8669
xu1.92                                     -14.8669             -14.8669
xu1.99                                            0                    0
xu1.10                                     0.176938             0.176938
xu1.9                                             0                    0
xu1.8                                    -0.0255827           -0.0255839
h.xu1.hlim#branch                       3.41103e-13          3.41118e-13
v.xu1.vlim#branch                      -0.000170552         -0.000170559
v.xu1.vln#branch                       -1.43362e-11         -1.63146e-11 *
v.xu1.vlp#branch                       -1.49806e-11         -1.49806e-11
v.xu1.ve#branch                        -7.42982e+06         -7.43005e+06
v.xu1.vc#branch                        -7.42982e+06         -7.43005e+06
v.xu1.vb#branch                         1.72929e-09          1.72929e-09
v_gpio_a#branch                         1.54871e-08          1.54873e-08
vp#branch                               7.42982e+06          7.43005e+06
vm#branch                              -7.42982e+06         -7.43005e+06
a$poly$e.xu1.egnd#branch_1_0            0.000341103          0.000341118
doAnalyses: Too many iterations without convergence
run simulation(s) aborted

What’s wrong with my model/simulation ?

This part of your file:

* CONNECTIONS:   NON-INVERTING INPUT
*                | INVERTING INPUT
*                | | POSITIVE POWER SUPPLY
*                | | | NEGATIVE POWER SUPPLY
*                | | | | OUTPUT
*                | | | | |
.SUBCKT TL072    1 2 3 4 5

says it uses pins 1, 2, 3, 4 and 5. for the opap, instead of the "real " pin numbers.
This means you have to use “alternate pin sequence” to renumber the pins.

yes sorry, I forgot to mention initially – I am using
Screenshot_2020-08-20_19-11-05

In this thread:

the problem turned out to be that the schematic referenced a BC546, while the actual model was a BC546B

Often it helps to start with a working example, and then change things in very small incremental steps. Then when it stops working, the problem likely is in the last step you did.

Compatible combinations of Spice models and links with KiCad are hard to find. Manufacturers tend to promote their own spice dialects, add encryption and/or make it more difficult for the open source communiy by the lisencing of the spice models.

Can you post the SPICE netlist, or even better the entire project if possible?

I think that’s the whole project?
https://we.tl/t-sE7IdgDRsW

I agree, indeed that’s how I’m trying to work! Simulating the same schematic still works if I swap the opamp model back to the one defined in LM358.mod (per tutorial).

This is the error message! Did you look at line 54?

And please check the last sentence in http://ngspice.sourceforge.net/ngspice-eeschema.html#multi. This might be the root cause.

1 Like

That’s what I thought at first, but his model library doesn’t have 54 lines in it so I thought to ask for the whole netlist. The project ZIP he sent has two versions of the library, one with the bad character removed so maybe he figured this part out already?

Anyway, his project no longer matches the original post. It has become a comparator circuit now. I think we’re changing too many variables at the same time to be able to track down exactly what’s going on, making it a moving target. When I run it, I get convergence issues so maybe that’s the problem he’s having now. After goofing around with it for a while, it seems like to me that this particular model from TI is very finicky about how power is applied to the supply pins. I have to add a small RC which dampens the quick ramp-up of the +12 and -12 rails. This is actually more representative of a real world circuit.

Attached is my version of the project which has the minimal amount modified to get it working (for me).
simulations_v2.zip (9.4 KB)

1 Like