Tuesday, 2 October 2018

bjt - LTSpice: What breaks KCL in .op but not in .tran simulation?


Simple BJT rheostat circuit, with a couple of resistors R1a and R1b representing the two parts of a potentiometer. Simulated in LTSpice IV using a part not suitable for this particular application and current values (I thought I had picked a 2N2955 power transistor, not a 2N2905 small signal transistor) but the problem still stands.


BJT rheostat


The problem is that currents in the transistor operating point do not add up. KCL is blatantly broken with .op (all currents exiting the device, with a large error in Ie - that's more than 6 amps, considering the sign). Please note, the following listing has been slightly edited, but all values are those returned by LTSpice using the default 2N2905A model included in the program.


--- 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

And yet, a .tran simulation (with or without startup directive) gets the currents right as shown here (I made the curves all positive to fit them in the same quadrant).


currents from transient simulation


So, what gives? What is breaking the solver in .op?


EDIT: here's the netlist


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


No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...