INA122 Spice Model - Anfängerfrage

Nov 13, 2019 23 Replies
Jump to replies (23)

Moin,



für die Verwendung in SPICE (LTSpice) habe ich von folgender Quelle das Modell heruntergeladen:



formatting link

Im Prinzip "flutscht" es, d.h. die Simulation läuft in weniger als einer Sekunde durch.



Im Datenblatt steht dass der Chip +-15V Versorgungsspannung verträgt. Jetzt habe ich folgenden Effekt: Sobald ich die Differenz zwischen VDD und VEE größer als 20V einstelle kommt die Simulation nicht voran. Entweder Stepping Source kommt nicht zum Ende oder die Simulation schafft ~12ns/s und schreibt die Festplatte voll.



Bin ich zu blöd oder wo muss ich suchen? Liegt dem möglicherweise ein reales Problem zugrunde? Die üblichen Verdächtigen (Innenwiderstände der Versorgungsspannung, uic Direktive usw.) habe ich ohne Erkenntnisgewinn schon mal durchprobiert.



Vielen Dank,



O.J.


Am 13.11.19 um 09:28 schrieb Ole Jansen:

Erfrischend! Ein Thema, das nicht off topic ist!

Mit dem INA122-Modell habe ich keine Erfahrungen. Es ist aber z.B. bekannt, dass viele OpAmp-Modelle nicht vernünftig funktionieren wenn die Versorgungsspannung unsymmetrisch ist.

Bei mir funktioniert der ADA4898 nicht, wenn ich mehrere davon in der Schaltung habe. K.A. warum. Die subcircuits dürften eigentlich nichts voneinander wissen. Immerhin hat AD vor einem Jahr das Rauschen des ADA-4898 repariert. Das war lachhaft falsch, bei einem OpAmp, den man wegen seines niedrigen Rauschens kaufen würde.

Gruß, Gerhard

Hallo Ole,

frag mal in

formatting link
Da sind die Spezialisten und du kannst auch die Schaltung hochladen.

Gruß

Michael

Am Mittwoch, 13. November 2019 09:28:06 UTC+1 schrieb Ole Jansen:

Am 13.11.2019 um 09:28 schrieb Ole Jansen:

Zeig halt mal das ASC-File.

[...]

Manchmal muss man den alternativen Solver von LTspice nehmen.

Wie kann eine Versorgung unsymmetrisch sein? Es gibt keinen Pin für Masse. "Null" ist die Nitte zwischen den beiden Versorgungen. Der Punkt, an dem die beiden Eingänge arbeiten, muß nicht null sein. Im Gegenteil, alle Datenblätter spezifizieren einen weiten Bereich, in dem er liegen darf.

.options cshunt=1e-15 => Capacitance added from each node to ground. Adding a small CSHUNT to each node can solve some "internal timestep too small" problems caused by high-frequency oscillations or numerical noise. Default = 0.

formatting link
Vielleicht hilft das.

MfG hjs

Das hast du fein erkannt, dass op amps sich nichts aus Masse machen. Sie versuchen nur, die Spannung zwischen den beiden Eingängen zu minimieren.

Das braucht aber niemanden davon abzuhalten, ein Macromodell zu basteln bei dem Masse doch eine Rolle spielt. Der Knoten 0 ist in jeder Spicenetzliste zugänglich, auch wenn man ihn nicht mal als Parameter / Pin übergibt.

Gruß, Gerhard

Am 13.11.2019 um 13:38 schrieb Bubo bubo:

Ich versuche eine High Side Strommessung zu simulieren.

V2 bei 5V -> läuft

Je weiter ich V2 erhöhe um so träger wird es.

O.J.

---------------- .asc file ------------- Version 4 SHEET 1 932 692 WIRE 352 -304 -64 -304 WIRE -64 -224 -112 -224 WIRE -112 -208 -112 -224 WIRE -64 -192 -64 -224 WIRE 176 -160 112 -160 WIRE 320 -160 256 -160 WIRE 112 -64 112 -160 WIRE 160 -64 112 -64 WIRE 320 -64 320 -160 WIRE 320 -64 288 -64 WIRE 160 -32 112 -32 WIRE 352 -32 352 -304 WIRE 352 -32 288 -32 WIRE 0 0 -384 0 WIRE 160 0 0 0 WIRE 560 0 288 0 WIRE 800 0 560 0 WIRE -64 32 -64 -112 WIRE 160 32 -64 32 WIRE 352 32 288 32 WIRE 112 64 112 -32 WIRE 112 64 -272 64 WIRE 352 64 352 32 WIRE 0 96 0 0 WIRE 112 96 112 64 WIRE -384 112 -384 0 WIRE -272 112 -272 64 WIRE 0 272 0 176 WIRE 0 272 -160 272 WIRE 16 272 0 272 WIRE 112 272 112 176 WIRE 112 272 96 272 WIRE 256 272 112 272 WIRE -160 400 -160 352 WIRE 256 400 256 272 WIRE 256 400 -160 400 FLAG 800 0 out IOPIN 800 0 Out FLAG -112 -208 0 FLAG -160 480 0 FLAG -384 176 0 FLAG -272 176 0 FLAG 352 144 0 FLAG 560 64 0 SYMBOL voltage -64 -320 R0 WINDOW 123 0 0 Left 0 WINDOW 39 24 44 Left 2 SYMATTR SpiceLine Rser=10m SYMATTR InstName V1 SYMATTR Value 15 SYMBOL voltage -64 -208 R0 WINDOW 123 0 0 Left 0 WINDOW 39 24 44 Left 2 SYMATTR SpiceLine Rser=10m SYMATTR InstName V2 SYMATTR Value 6 SYMBOL res 0 288 R270 WINDOW 0 32 56 VTop 2 WINDOW 3 0 56 VBottom 2 SYMATTR InstName R3 SYMATTR Value 5m SYMBOL voltage -160 384 R0 WINDOW 123 0 0 Left 0 WINDOW 39 0 0 Left 0 SYMATTR InstName V4 SYMATTR Value PULSE(0 10 30m 40m 10m 20 100 1) SYMBOL AutoGenerated\\INA122 224 -16 R0 SYMATTR InstName U1 SYMBOL res 160 -144 R270 WINDOW 0 32 56 VTop 2 WINDOW 3 0 56 VBottom 2 SYMATTR InstName R1 SYMATTR Value 1030 SYMBOL res -16 80 R0 SYMATTR InstName R2 SYMATTR Value 10k SYMBOL res 96 80 R0 SYMATTR InstName 2.5k SYMATTR Value 10k SYMBOL cap -400 112 R0 SYMATTR InstName C1 SYMATTR Value 100p SYMBOL cap -288 112 R0 SYMATTR InstName C2 SYMATTR Value 100p SYMBOL current -160 352 R180 WINDOW 0 24 80 Left 2 WINDOW 3 24 0 Left 2 WINDOW 123 0 0 Left 0 WINDOW 39 0 0 Left 0 SYMATTR InstName I1 SYMATTR Value SINE(5 5 50 0 0 270) SYMBOL res 336 48 R0 SYMATTR InstName R4 SYMATTR Value 1m SYMBOL cap 544 0 R0 SYMATTR InstName C3 SYMATTR Value 1n TEXT -40 584 Left 2 !.tran 100m

Am 13.11.2019 um 14:09 schrieb Leo Baumann:

Ja, das hilft.

Danke!

O.J.

Am 14.11.2019 um 09:52 schrieb Ole Jansen:

Fehlt allerdings noch das SYM-File für den INA.

Am 14.11.2019 um 09:53 schrieb Ole Jansen:

Ach, den kanntest du gar nicht. Problem damit vollständig erledigt?

Am 14.11.2019 um 09:59 schrieb Bubo bubo:

Die Simulation erschien mir zu trivial um auf diese Idee zu kommen. ;-)

Für diesen Punkt: Ja. "Numerical Noise" wäre eine mögliche Erklärung. Oder bei INA es gibt tatsächlich einen Effekt der hier korrekt modelliert wird, wie z.B. Schwingneigung abhängig von der Versorgungsspannung?

O.J.

Am 14.11.2019 um 10:29 schrieb Ole Jansen:

Ich hab mir das Modell soweit angesehen, keine Besonderheiten.

Am 14.11.2019 um 09:58 schrieb Bubo bubo:

Hier das .asy aus AutoGenerated. Das .lib File ist von der TI Seite im o.g. Link "INA122.LIB" aus dem .zip File von "INA122 TINA-TI Spice Model (Rev. A)" und das Symbol wurde mit copy paste automatisch erzeugt. Das Pinout habe ich so geändert dass es dem realen Käfer entspricht.

Ist das OK so?

--------INA122.asy------------ Version 4 SymbolType BLOCK RECTANGLE Normal -64 -72 64 72 WINDOW 0 0 -72 Bottom 2 WINDOW 3 0 72 Top 2 SYMATTR Prefix X SYMATTR Value INA122 SYMATTR ModelFile C:\Program Files\LTC\LTspiceXVII\lib\sub\INA122_TI.LIB PIN -64 16 LEFT 8 PINATTR PinName inp PINATTR SpiceOrder 1 PIN -64 -16 LEFT 8 PINATTR PinName inn PINATTR SpiceOrder 2 PIN 64 48 RIGHT 8 PINATTR PinName ref PINATTR SpiceOrder 3 PIN 64 -16 RIGHT 8 PINATTR PinName vdd PINATTR SpiceOrder 4 PIN -64 48 LEFT 8 PINATTR PinName vee PINATTR SpiceOrder 5 PIN -64 -48 LEFT 8 PINATTR PinName rg1 PINATTR SpiceOrder 6 PIN 64 -48 RIGHT 8 PINATTR PinName rg2 PINATTR SpiceOrder 7 PIN 64 16 RIGHT 8 PINATTR PinName out PINATTR SpiceOrder 8

Am 13.11.2019 um 18:07 schrieb Gerhard Hoffmann:

Und genau der Murks wurde in dem Modell des INA12 gemacht.

Am 14.11.2019 um 10:55 schrieb Bubo bubo:

Korrektur: darin gibts reichlich Bezug auf Knoten 0 (GND).

Könnte man sicher ändern, aber ich mach mir die Mühe nicht.

Am 14.11.2019 um 10:59 schrieb Ole Jansen:

Ich musste es eine Kleinigkeit anpassen, war aber kein Problem.

Den Ärger macht die Verwendung von Knoten 0 (GND) im Modell.

Am 14.11.19 um 11:55 schrieb Bubo bubo:

Das muss auch nicht unbedingt schlecht sein, z.B. wenn Teile des Modells nicht auf Transistorebene simuliert werden sondern abstrakter. Man muss nur darauf achten, dass man den Massebezug wieder bei der Verwertung der Ergebnisse sauber wegmacht.

Jeder neue Knoten macht die Leitwertmatrix um eine Zeile und eine Spalte größer und der Rechenaufwand bläht sich über- proportional mit der Matrixgröße auf. Und die Chancen steigen mit jedem Knoten, dass das Gleichungssystem auch noch bösartiger wird.

Z.B. wird als einer der Vorteile des MEXTRAM-Transistormodells gegenüber konkurrierenden angegeben, dass MEXTRAM nur 5 statt

7 interne Knoten erzeugt. WIMRE (Philips, NXP: Most EXquisite TRansistor Model)

High Side-Strommessung ist auch ein typischer Kandidat für die Verletzung von input- oder output common mode range. (RRIO)

Gruß, Gerhard

Am 14.11.2019 um 12:47 schrieb Gerhard Hoffmann:

Geht aber sehr oft schief.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required