* 5Spice/Spice3 model for NTC thermistor * thermistor formula * R = R25C * exp( Beta/T - Beta/To) * note: temperature in degrees Kelvin. Tkelvin = Tcelsius + 273.15 * Beta is thermistor material constant * R25C is resistance at 25C * to use models with other Spices: * remove the "PARAMS: xxxxxxxxxxxx" from .subckt line * replace "{R25C}" with resistance value at 25C * replace "{Beta}" with value of Beta * replace "{Rthermal}" with value, if present in model .SUBCKT NTC 1 2 PARAMS: R25C=10K Beta=3548 Btherm 1 3 V = I(Vsense)*{R25C}*exp({Beta}/(V(Temp)+273.15) - {Beta}/(25+273.15)) Vsense 3 2 DC 0 * determine circuit temperature(Celsius). * Voffset subtracts out the value of Rtc, leaving just * the temperature change from zero degrees C. Voffset Temp 9 DC -1.0 I1 0 9 DC 1.0 Rtc 9 0 RTEMP 1.0 .MODEL RTEMP R(TC1 = 1 TNOM=0) .ENDS * 5Spice model with self heating of thermistor * Rthermal is thermal resistance from thermistor to thermal sink * model assumes thermal sink is at circuit temperature .SUBCKT NTC_sh 1 2 PARAMS: R25C=10K Beta=3548 Rthermal=1K Btherm 1 3 V = I(Vsense)*{R25C}*exp({Beta}/(V(Temp)+273.15) - {Beta}/(25+273.15)) Vsense 3 2 DC 0 * determine circuit temperature(Celsius). * subtract out the value of Rtc, leaving just * the temperature change from zero degrees C. * add temp rise due to self heating V*I Rth Temp Tcircuit {Rthermal} *Ctc Temp Tcircuit {value} ;optional capacitance to form thermal time constant Bpwr 0 Temp I = v(1,2) * I(Vsense) Btc Tcircuit 0 v = v(9) -1.0 I1 0 9 DC 1.0 Rtc 9 0 RTEMP 1.0 .MODEL RTEMP R(TC1 = 1 TNOM=0) .ENDS