LTSpice: Was bricht KCL in .op, aber nicht in .tran-Simulation?

7

Einfache BJT-Rheostatschaltung mit einigen Widerständen R1a und R1b, die die beiden Teile eines Potentiometers darstellen. In LTSpice IV unter Verwendung eines Teils simuliert, das für diese spezielle Anwendung und Stromwerte nicht geeignet ist (ich dachte, ich hätte einen 2N2955-Leistungstransistor ausgewählt, keinen 2N2905-Kleinsignaltransistor), aber das Problem besteht weiterhin.

BJT Rheostat

Das Problem ist, dass sich die Ströme im Transistorbetriebspunkt nicht addieren. KCL ist offensichtlich mit .op gebrochen (alle Ströme, die das Gerät verlassen, mit einem großen Fehler in Ie - das sind mehr als 6 Ampere, wenn man das Vorzeichen berücksichtigt). Bitte beachten Sie, dass die folgende Liste leicht bearbeitet wurde, aber alle Werte von LTSpice unter Verwendung des im Programm enthaltenen Standardmodells 2N2905A zurückgegeben werden.

--- Operating Point ---
V(e):    24         voltage
V(b):    21.6403    voltage
V(out):  22.41      voltage
I(RL):   2.241      device_current

Ic(Q1):  -2.241     device_current
Ie(Q1):  -4.70438   device_current  ???
Ib(Q1):  -0.134429  device_current

I(R2):   0.139615   device_current
I(R1b):  0.139615   device_current
I(R1a):  0.0051861  device_current
I(Vin):  -2.38061   device_current

Und doch, eine tran - Simulation (mit oder ohne Start - Richtlinie) bekommt der Strom rechts wie hier dargestellt (I die Kurven all positiv machte sie im selben Quadranten zu passen).

Ströme aus der transienten Simulation

Also, was gibt es? Was bricht den Löser in .op ?

EDIT: Hier ist die Netzliste

Vin E 0 24
R1a E B 455
R2 N001 0 150
R1b B N001 5
Q1 out B E 0 2N2905A
RL out 0 10
.model NPN NPN
.model PNP PNP
.lib I:\Nike\LTSPIC~1\lib\cmp\standard.bjt
.op
.backanno
.end
Sredni Vashtar
quelle
Sie haben eine zusätzliche 0 dort:Q1 out B E *0* 2N2905A
τεκ
Wie ist es dorthin gekommen ??? Jedenfalls habe ich es entfernt, die Netzliste gespeichert und erneut ausgeführt: gleiche Ergebnisse.
Sredni Vashtar
2
Mit dem von Ihnen verwendeten Transistormodell oder mit LTspice muss etwas nicht stimmen. Denn wenn ich einen kleinen Widerstand (Rs = 1 m Ohm) in Reihe mit dem Emitter schalte, zeigt das LTspice I (Rs) = 2,37518A. Aber das heißt immer noch gleich -4.70351A. Seltsam.
G36
@ G36 Das Modell ist eines der Standardmodelle von LTSpice. Aber - doh!, Ich dachte, ich hätte einen Leistungstransistor mit 2N2955 - 15 Ampere ausgewählt, während dies ein winziger 2N2905 ist, ein 600-mA-Kleinsignaltransistor. Vielleicht hat die Tatsache, dass es in einem realen Schaltkreis verdampft worden wäre, etwas mit dem Fehler zu tun. Es stellt sich immer noch die Frage: Warum .op versteht es so falsch, während .tran es richtig macht?
Sredni Vashtar
1
Hmm. Wenn Sie das Modell auf 2n2907 ändern, sind die Ergebnisse vernünftig, aber mit 2n4403 tritt auch das Problem auf.
τεκ

Antworten:

10

Das Modell ist ein Chaos und es würde eine Weile dauern, um zu erklären, warum die Parameter nicht zusammenarbeiten. Aber es ist nicht nur ein Problem. Sie können dies an den folgenden zwei Tests erkennen.


TEST 1

Probieren Sie das folgende Modell aus:

.MODEL MYPNP1 ako:2N2905A PNP(NK=1)

Und natürlich verwenden Sie MYPNP1 als Transistornamen. Sehen Sie, wie sich das in .OP verhält. (Ich habe hier nur diesen Parameter von 0,5 auf 1,0 geändert.)


TEST 2

Probieren Sie das folgende Modell aus:

.MODEL MYPNP2 ako:2N2905A PNP(RE=.2)

Und natürlich verwenden Sie MYPNP2 als Transistornamen. Sehen Sie, wie sich das in .OP verhält. (Ich habe hier nur den ohmschen Emitterwiderstand von geändert0Ω zu 200mΩ.)


Beide oben genannten Fälle führen zu vernünftigeren Ergebnissen. Tatsache ist, dass das Modell größtenteils Müll ist (Sättigungsstrom ist meiner Meinung nach völlig unmöglich - aber das ist nur der Anfang davon, da einige der anderen Parameter, die normalerweise niemals 0 sein sollten, in diesem Modell tatsächlich 0 sind. ) Ich weiß nicht, warum es in LTspice gerutscht ist. Aber es tat es und ich werde nicht versuchen, es zu reparieren.

Ich habe dieses Modell von einem der Halbleiterlieferanten (Central Semiconductor Corp.) abgeholt:

.MODEL 2N2905A PNP( IS=15.294E-15 BF=297.85 VAF=100 IKF=1.6607 ISE=29.577E-15
+ NE=1.5507 BR=476 VAR=100 IKR=2.2270 ISC=7.6418E-9 NC=2.1591 NK=.97918
+ RB=2.4875 RC=.69253 CJE=33.186E-12 VJE=.8716 MJE=.40799 CJC=15.649E-12
+ VJC=.56868 MJC=.3619 TF=456.18E-12 XTF=22.393 VTF=28.493 ITF=.62109
+ TR=10.000E-9 )

Zumindest scheint es mit .OP in Ordnung zu sein.


Ich denke, eine Lektion hier ist, dass es möglich ist, BJT-Modelle zu schreiben, die verrückte Ergebnisse in .OP erzeugen, während normalere DC-Ergebnisse in .TRAN erzeugt werden. Dies ist für mich der interessantere Aspekt dieses Problems. Ich kann mich nicht erinnern, das vorher gesehen zu haben.

Jonk
quelle
1
Ja, nachdem mir klar wurde, dass ich einen winzigen 2905 anstelle eines kräftigen 2955 verwendet hatte, führte ich die Simulation mit einem 2955-Modell aus LTwiki erneut aus und alles lief gut. Obwohl ich verstehen kann, dass die Verwendung eines für den Job ungeeigneten Teils Probleme verursachen kann, finde ich es am interessantesten, dass ein Löser es richtig macht, während dem anderen fast 7 Ampere Strom fehlen. Ich frage mich, ob sie über das versteckte Substrat-Terminal (möglicherweise von .op und nicht von .tran) zu GND gegangen sind.
Sredni Vashtar