PP logo

 

NTC calculations.

Contents


Introduction.

This is some notes on NTCs and some simple Spice models for them.
Spice files shown in this page can be downloaded here.
Since Spice does not accept Greek characters and is case-insensitive, many common parameter names are written as text.


NTC characteristics.

This shows some of the common ways to specify the electrical properties of NTCs: Some data sheets do not specify heat capacity, but this is easily found by multiplying the Dissipation factor with the Thermal time constant:
Cth = δth * τC

The following is only specified for Inrush Current Limiters (ICLs):

Also note that the coated part of ICLs used for mains voltage are considered "live" by the safety testing agencies.


Simulating variable resistors.

NTCs and other variable resistors are quite easily modeled in Spice.
This is done with an Arbitrary Behavioral Current Source ( a B element ).
The basic syntax for the B element is:
Bnnn n001 n002 I=<expression> <several other parameters can be added - see the manual for the Spice you use>.
nnn is the name for the element and n001, n002 are the connections.

Variable resistors and table based functions.
Fig.1: Some examples in LTSpice. The voltage on VCC is constant and the voltage on CTL is a dc sweep.

Example A, a linear resistor:
B1 VCC N1 i=V(VCC,N1)/R
The current through B1 is the voltage between nodes VCC and N1 divided with the value of R.
Plot V(VCC,N1)/I(B1) to see the resistor value.

Example B, a voltage dependent resistor:
B2 VCC N2 i=V(VCC,N2)/V(CTL)
The current through B2 is the voltage between nodes VCC and N2 divided with the value of VCTL.
Plot V(VCC,N2)/I(B2) to see that this is a resistor with the value of VCTL.

Example C, a resistor defined by a function:
B3 VCC N3 i=V(VCC,N3)/Rtest()
.func Rtest() {V(VCC,N3)+10}
The current through B3 is the voltage between nodes VCC and N2 divided with the value of VCTL+10.
Plot V(VCC,N3)/I(B3) to see that this is a resistor with the value of VCTL+10.

Example D, a table defined function:
E3 VE1 0 CTL 0 table=(0,0 10,6 12,50 20,50 100,100)
The voltage on VE1 is the function defined in the table in E1.
Plot V(VE1) to see the function.
This type of table is limited to "a few" entries as there is a limit to the string length that can be entered in E1's value box.

Example E, another table defined function:
In this case the table is defined in an model included in the file ntc_rvar_e2.cir:

* Table based NTC characteristic
e2 VE2 0 CTL 0 table=(0,326.5
+ 5,253.9

+ 95,7.885
+ 100,6.8)
Plot V(VE2) to see the function.
This file can be as long as you want.

Note that resistors defined with Arbitrary Behavioral models do not generate thermal noise like the R element does.


Simulating an Inrush Current Limiter.

Following is a simple electrical and thermal model of an Inrush Current Limiter.
Simulating the thermal properties is done by replacing them with electrical models using the following analogs: ICLs are often used directly in series with mains making them "Safety Critical" components like the mains fuse.
Although Spice simulations are very accurate, ICLs are not precision components.
The tolerance on their specification varies from ±20% to "approximately" ( this is from an actual data-sheet ), so the output from Spice is "approximately" ( with 10..15 digits ).
When ICLs are used in mains circuits, testing the actual circuit under worst-case conditions is essential ( this is often the ICL in series with the fuse directly across the mains - the fuse should blow - not the ICL ).
Test the circuit in a closed box.
The failure mode for ICLs vary from cracking at slight overloads to very violent for large overloads ( 2 pins left in the pcb and some dust around in enclosure ).
When ICLs are used within the Absolutely Maximum Ratings specified by the manufacturer, they will generally last forever.

Inrush Current Limiter model.
Fig.2: ICL simulation in LTSpice.
The parameters not shown on this schematic are:

The numbers in () are those I used for the simulation ( an NTC connected directly across the mains - do not try that for real ).

VCC, R1, R2 and BNTC is the electrical circuit.
BNTC_P, C_HC, R_DF and VAMB is the thermal circuit, where:

BE integrates the power in the NTC over the simulation time to show the energy dissipated by the NTC in J.
BI2T integrates I(BNTC)2 over the simulation in A2s. This may be useful in selecting a fuse ( no replacement for testing! ).

The function NTC_R calculates the resistance of the NTC from is R25, Beta and NTC_T.
The function INTC calculates the current through BNTC from the voltage across it and NTC_R.
The function PNTC calculates the power dissipated in BNTC from the voltage across it and the current through it.


Simulating temperature sensors.

Before you start to spend time ( unless it is for fun ) on making your own simulation models, you should check if the manufacturer have models for their NTCs.
Several manufacturers have very accurate models for their designs ( although you may have to sign an NDA to get them ).

Temperature sensor NTC simulation in LTSpice.
Fig.3: Temperature sensor NTC simulation in LTSpice.
The parameters not shown on this schematic are:

VCC, R1, R2 and BNTC is the electrical circuit.
BNTC_P, C_HC, R_DF, BTEMPK and VTEMPC is the thermal circuit, where: BTR shows the difference between the NTCs internal temperature and the ambient temperature.

The functions NTC_X, NTC_Y and NTC_R calculates the resistance of the NTC from the Steinhart-Hart coefficients and TEMPK.
The function INTC calculates the current through BNTC from the voltage across it and NTC_R.
The function PNTC calculates the power dissipated in BNTC from the voltage across it and the current through it.


Appendix A: Calculations.

β parameter equation

Since I can not write β in Spice, the parameter is called Beta here.

Resistances are in Ω and temperatures in °K unless noted.

To find the temperature :

Calculation the temperature from the beta value.
where:
B is the beta value, R is the resistance, Rr is the resistance at Tr.

To find the B value, you need the resistances R, Rr at the 2 temperatures T, Tr.

Calculating the beta value.

To find the resistance:

Calculating the resistance.

To find the resistance using common data-sheet values:

Calculating the resistance using common data sheet values.
where:
B is the beta value ( in °K ), R25 is the resistance at 25 °C and T is the temperature in °C.

Steinhart-Hart equation

This is basically from Wikipedia [1], but the variable names are changed to match my Spice simulation.

Resistances are in Ω and temperatures in °K.

To find the temperature :

Calculation the temperature from the Steinhart-Hart coefficients.
where:
A, B, C are the Steinhart-Hart coefficients, R is the resistance and T is the temperature.

To derive the Steinhart-Hart coefficients, you need the resistances R1, R2, R3 at the 3 temperatures T1, T2 and T3.

Deriving the Steinhart-Hart coefficients.

To find the resistance:

Calculation the resistance from the Steinhart-Hart coefficients.

This can be simplified a little by defining constants D and E ( you only need to calculate D and E once ):

Calculation the resistance from the Steinhart-Hart coefficients.


References.

[1] Wikipedia: Steinhart-Hart equation.

Copyright and disclaimer.

Copyright Notice.
This web-page, including but not limited to all text, drawings and photos, is the intellectual property of Poul Petersen, and is Copyright ©.
Reproduction or re-publication by any means whatsoever is strictly prohibited under International Copyright laws.
The author grants the reader the right to use this information for personal use only.
Any commercial use is prohibited without express written authorization from Poul Petersen.

The information is provided on an "as-is" basis and is believed to be correct, however any use of the information is your own responsibility.

This web-site may contain links to web-sites outside Poul Petersen domain ( www.poulpetersen.dk ).
Poul Petersen has no control over and assumes no responsibility for the content of any web-site outside Poul Petersen own domain.

Poul Petersen does not use cookies to "enhance your experience" on this website.


Poul Petersen, C/Faya 14, 35120 Arguineguín, Las Palmas, Spain.
Poul Petersen DIY index, E-mail: diy@poulpetersen.dk
Copyright © Poul Petersen 1990 - 2018. Last update: 20181128. Valid HTML!