DGM
New Member
I'm working on a project involving the simulation of NTC thermistors both in LTSpice and my own optimization scripts in Matlab. In the process of debugging, I noticed that LTSpice was producing unexpected behavior for a circuit I'd put together. The circuit in question is a thermal anemometer, but the issue is something a bit more fundamental regarding my understanding of the selfheating behavior of the parts and the spice model I'm using.
The circuit is designed to drive the hotside thermistor Rn1 to a fixed temperature above ambient (40°C in this sim). In the process of designing the circuit, I'd been working on the assumption that the power dissipation and local temperature of the thermistor is described by a scalar dissipation factor: P = K*(Tlocal  Tambient). As such, I was expecting constant power for a fixed temperature rise. Instead, the LTSpice simulation shows that power rises significantly with ambient temperature.
Looking at the spice model I'm using (Vishay NTCLE100xx parts), I notice that the calculation of the local temperature is a bit more complicated. I'm not exactly adept at reading spice descriptions directly, but my interpretation is that there are dependent sources G3, G4, and G6 whose balance determines the temperature represented by the voltage at node H. Conceptually, I see G3 and G4 as describing the input power, and G6 as describing the power lost to the environment. I don't understand why the power input is modeled using two sources.
I was assuming the parameter gth would be the steadystate dissipation factor as would be found on the datasheet. Obviously Cth would be the heat capacity of the package, but I have no idea what gth1 represents. If I set gth1 to some arbitrarily small number, LTSpice simulations behave as I had expected, but I'm assuming my expectations are overly simplistic or just wrong. I feel there is a reason for this detail, and that the proper course of action would be to adapt my Matlab tools to incorporate this aspect of local temperature calculation, rather than changing the spice model to ease my misunderstanding.
To further add to my confusion, I'm not certain that the parameters in the spice model are even correct. The dissipation factor for most of these parts is specified in the datasheet as 7 mW/K, which is very close to gth in the spice model. The issue here is that the lowervalued parts are physically larger and would have different dissipation factor and heat capacity. I have conflicting information about which parts this applies to:
The summary table on Page 1 of the datasheet indicates that the dissipation factor is higher for R25 <= 680Ω
The mechanical drawing on page 2 of the datasheet indicates that the larger package applies for R25 <= 220Ω
The spice library file suggests that the dissipation factor is only higher for R25 <= 150Ω
At this point, I can only assume that there's a mistake somewhere. I don't see why dissipation factor and heat capacity would be changing but with package size change. Since I'm using a nominal 470Ω part, I have no idea which parameters are actually correct. This much is frustrating, but I suppose I can resolve the uncertainty by just purchasing a few parts to see what the package sizes are.
TL;DR
Can anyone explain the conceptual relevance of the gth1 parameter as it is used in this model?
Would it be appropriate to assume that knowing package geometry is sufficient to sort out whether the thermal parameters are correct?
This is my first time posting here; any insight would be appreciated. If it helps, I've attached an archive containing the sim files, libraries, and datasheet. EDIT: added .plt file to archive
The circuit is designed to drive the hotside thermistor Rn1 to a fixed temperature above ambient (40°C in this sim). In the process of designing the circuit, I'd been working on the assumption that the power dissipation and local temperature of the thermistor is described by a scalar dissipation factor: P = K*(Tlocal  Tambient). As such, I was expecting constant power for a fixed temperature rise. Instead, the LTSpice simulation shows that power rises significantly with ambient temperature.
Looking at the spice model I'm using (Vishay NTCLE100xx parts), I notice that the calculation of the local temperature is a bit more complicated. I'm not exactly adept at reading spice descriptions directly, but my interpretation is that there are dependent sources G3, G4, and G6 whose balance determines the temperature represented by the voltage at node H. Conceptually, I see G3 and G4 as describing the input power, and G6 as describing the power lost to the environment. I don't understand why the power input is modeled using two sources.
Code:
.SUBCKT NTC_BASE Rn Rp Params:W=1 X=1 Y=1 Z=1 GTH=1 GTH1=1 CTH=1 A=1 R25=1 B=1 C=1 D=1 T0=273.15
R2 tR 0 {mc(1,tolR/100)}
R3 tB 0 {mc(1,tolB/100)}
I1 tR 0 1
I2 tB 0 1
G_G1 AOUT 0 VALUE { if(TEMP>25,V(AOUT,0)/(R25*V(TR)*exp(((D*v(TB)/(T0+abs(V(H))+TEMP)+C*V(TB))/(T0+abs(V(H))+TEMP)+B*v(TB))/(T0+TEMP+abs(V(H)))+A*v(TB))),0)}
G_G2 AOUT 0 VALUE { IF(TEMP>25,0,V(AOUT,0)/(R25*v(TR)*exp(((Z*v(TB)/(T0+abs(V(H))+TEMP)+Y*v(TB))/(T0+abs(V(H))+TEMP)+X*v(TB))/(T0+abs(V(H))+TEMP)+W*v(TB))))}
G_G3 H 0 VALUE {if(TEMP>25,V(RP,RN)*V(RP,RN)/(R25*v(TR)*exp(((D*v(TB)/(T0+abs(V(H))+TEMP)+C*v(TB))/(T0+abs(V(H))+TEMP)+B*v(TB))/(T0+TEMP+abs(V(H)))+A*v(TB))),0)}
G_G4 H 0 VALUE {if(TEMP>25,0,V(RP,RN)*V(RP,RN)/(R25*v(TR)*exp(((Z*v(TB)/(T0+abs(V(H))+TEMP)+Y*v(TB))/(T0+abs(V(H))+TEMP)+X*v(TB))/(T0+TEMP+abs(V(H)))+W*v(TB))))}
G_G5 RP RN VALUE { V(RP, RN)/V(AOUT) }
G_G6 H 0 VALUE { V(H)*(Gth + Gth1*(TEMP25)) }
I_I1 0 AOUT DC 1Adc
R_R1 0 AOUT 1T TC=0,0
R_R2 0 H 1T TC=0,0
C_C1 0 H {Cth}
.IC V(H)=0
.ENDS
Code:
.SUBCKT NTCLE100E3471_B0 RN Rp PARAMS: TR=0 TB=0
X89 Rn Rp NTC_BASE Params:
+ w=13.0722600
+ x=4190.57382436261
+ y=47158.402266289
+ z=11992560.9065156
+ gth=0.0068 gth1 = 0.0000833
+ cth=0.0476
+ a=13.07226007
+ r25=470
+ b=4190.57382436261
+ c=47158.402266289
+ d=11992560.9065156
+ T0=273.15
+ TOLR=TR
+ TOLB=TB
.ENDS
The summary table on Page 1 of the datasheet indicates that the dissipation factor is higher for R25 <= 680Ω
The mechanical drawing on page 2 of the datasheet indicates that the larger package applies for R25 <= 220Ω
The spice library file suggests that the dissipation factor is only higher for R25 <= 150Ω
At this point, I can only assume that there's a mistake somewhere. I don't see why dissipation factor and heat capacity would be changing but with package size change. Since I'm using a nominal 470Ω part, I have no idea which parameters are actually correct. This much is frustrating, but I suppose I can resolve the uncertainty by just purchasing a few parts to see what the package sizes are.
TL;DR
Can anyone explain the conceptual relevance of the gth1 parameter as it is used in this model?
Would it be appropriate to assume that knowing package geometry is sufficient to sort out whether the thermal parameters are correct?
This is my first time posting here; any insight would be appreciated. If it helps, I've attached an archive containing the sim files, libraries, and datasheet. EDIT: added .plt file to archive
Attachments

185 KB Views: 3
Last edited: