Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

simulation of NTC thermistor with LT spice

Status
Not open for further replies.

alain stas

New Member
Hello

I make a simple simulation of a dc current source applied on a 10 Kohms thermistor. When I perform a transient simulation (I1 = 10 mA until 10 s) , the thermistor warms up and reaches a steady state value. When I make a DC sweep with current as sweep source (from O to 30 mA), the component does not seem to warm up. I would be very grateful if somebody can explain why the component works well in the transient but not in the DC sweep. I've made the same simulation in PSPICE and I get the normal curve (ie the thermistors warms us and present a decreased resistance also in DC sweep). Thanks .
 

Attachments

  • my_first_ntc_ltspice.asc
    393 bytes · Views: 888
  • NTCS0805E3103_MT.asy
    435 bytes · Views: 779
You need to post the actual NTC model as well. It will be a text file with either a .sub, .txt, .mod, or .lib extension...
 
Thanks for such a fast answer. here is the code (the uploading to the file didn't work). But i'm sure you can drop it in a.txt file
Thanks

.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 TR=1 TB=1
G_G1 AOUT 0 VALUE { if(TEMP<25,V(AOUT,
+ 0)/(R25*TR*exp(((D*TB/(T0+abs(V(H))+TEMP)+C*TB)/(T0+abs(V(H))+TEMP)+B*TB)/(T0+TEMP+abs(V(H)))+A*TB)),0)
+ }
G_G2 AOUT 0 VALUE { IF(TEMP<25,0,V(AOUT,
+ 0)/(R25*TR*exp(((Z*TB/(T0+abs(V(H))+TEMP)+Y*TB)/(T0+abs(V(H))+TEMP)+X*TB)/(T0+abs(V(H))+TEMP)+W*TB)))
+ }
G_G3 H 0 VALUE {
+ if(TEMP<25,-V(RP,RN)*V(RP,RN)/(R25*TR*exp(((D*TB/(T0+abs(V(H))+TEMP)+C*TB)/(T0+abs(V(H))+TEMP)+B*TB)/
+ (T0+TEMP+abs(V(H)))+A*TB)),0)}
G_G4 H 0 VALUE {
+ if(TEMP<25,0,-V(RP,RN)*V(RP,RN)/(R25*TR*exp(((Z*TB/(T0+abs(V(H))+TEMP)+Y*TB)/(T0+abs(V(H))+TEMP)+X*TB)/
+ (T0+TEMP+abs(V(H)))+W*TB)))}
G_G5 RP RN VALUE { V(RP, RN)/V(AOUT) }
G_G6 H 0 VALUE { V(H)*(Gth + Gth1*(TEMP-25)) }
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=0 TC=0,0
.ENDS
.SUBCKT NTCS0805E3103_MT RN Rp PARAMS: TOLR=0 TOLB=0
X13 Rn Rp NTC_BASE Params:
+ w=-13.40885683108
+ x=4547.96149408261
+ y=-176965.917057285
+ z=3861153.74690121
+ gth=0.0048 gth1 = 0.0000267
+ cth=0.08216
+ a=-13.408856831082
+ r25=10000
+ b=4547.96149408261
+ c=-176965.917057285
+ d=3861153.74690121
+ T0=273.15
+ TR={1+TOLR/100}
+ TB={1+TOLB/100}
.ENDS
 
To be completely sure to have a full comparison between PSPICE and LT Spice, I made exactly the same simulation in PSPICE (transient 0-10s I1 = 10 mA and DC sweep I1 from 0 to 10 mA), creating the symbol in PSPICE from the hereabove text file and in PSPICE , I get the normal V I shape curve in the DC sweep (in LT spice, the thermistor seems to react as a simple fixed resitor).
The most peculiar thing is that in transient , LT gives a good result (ie reacting like a thermistor just as PSPICE). I would like to upload the the pictures of the sweep simulations but it bugs when I want to select jpg files. Thanks
 
Last edited:
Download the attached file: ntct.zip.txt

Rename it from ntct.zip.txt to ntct.zip

Unzip it into a new folder

It contains two .asc files you can run in LTSpice plus a fixed version of the symbol file and the .model file.

ntc.asc shows the transient self-heating response of the thermistor starting from different initial ambient temperatures.

ntct.asc is the plot of the steady-state (final) voltage across the thermistor as a function of ambient temperature and its own self-heating.

It would be simple to do another .dc analysis where you plot the the final voltage across the thermistor as a function of the excitation current, at any given ambient temperature.
 

Attachments

  • ntct.zip.txt
    1.6 KB · Views: 965
Last edited:
Convert .jpg to .png and it will upload.
 
Hello MikeMI I took your file, simulated and it works well but I would like to understand why if I make a .dc simulation I1 ,the voltage that I visualize is not the voltage in steady state : it seems to be the initial voltage at time 0 , which is embarrasing. I join you file with my .dc simulation (it has index 2)
 
The model uses RC networks and time-dependent sources to simulate heat flow and thermal mass. It doesn't work for a .DC analysis? It seems to use only the initial calculated resistance...
 
Thank you so much for your answers.This problem was mindbugging to me. As I'm totally new to LTSPICE, I thought I had made something wrong. I have practiced PSPICE for quite a time now and I'm really interested in LT Spice as lots of designers use that more and more as well . Of course I'm willing also to reproduce all my results gotten from Orcad and I wonder if it wouldn't be useful to mention this kind of glitch to LT. PSPICE provides always the steady state solutions even in the DC analyzis (which is to my mind the right way). Thank you and merry Christmas.
 
Could you post the results that you get with PSpice? I am puzzled about this, and would like to see if there is a difference?
 
of course :but i 'm forced to copy paste as jpg won't upload : this is the voltage in f(I1) in PSPICE DC sweep. You see that the voltage is linearily increasing with current but then saturates and decreases.

upload_2015-12-24_16-22-17.png
 
I want to see the control statements that caused PSpice to make this plot.
I assume that the x-axis of the plot is the magnitude of the current source?
I assume that the y-axis of the plot is the final voltage across the thermistor after it self heats
I assume that the ambient temperature defaults to 25degC?
 
to answer your questions:
- yes it's the I1 current source
- it's the voltage across the thermistor (but by no means there is a possibility to choose anything about the conditions: it's just a probe just like LT). the simulation settings are exactly the same in LT than in Orcad. The only difference is that in Pspice, if you don't add a fixed resistor in// on the current source, it won't simulate. I added this // fixed resistor in LT but it doesn't change anything.
- by default the ambient temperature is 27°C (which will be the initial temp condition of the NTC)
It seems that in Pspice the computations are done in steady state WITH self heating , that is extrapolation for time infinite : it seems a natural computation.......
I'm very interested to unterstand this as I would like to publish the NTC models in LT as it's very successfull nowadays. Maybe there is a feature in LT to specify that you have to force the results to be extrapolated at time infinite.
 
Status
Not open for further replies.

New Articles From Microcontroller Tips

Back
Top