Electronic Temperature Sensor, NTC thermistor models w/ Saber.

VishwaVishwa Posts: 86
edited May 2017 in Saber Answers
My company often receives requests from Saber RD automotive users for NTC thermistor models compatible with Saber. The embedded model of NTC in Saber is really too simplistic. I have accurate spice models compatible with several spice software Pspice/Altium/Multisim/Tina TI ..etc but with even proper importation in Saber, the model does not function normally although the simulation succeeds on a software point of view.. I would like to know if there is a way to submit my simulation and get a look on it, in order to detect what`s not going right. Thanks.

Comments

  • Hi Alain,

    This is Hemalatha from Saber support group. Can we have more details to understand your requirements and help you.

    Ex: A Pspice model of an NTC from manufacturer, and characteristic (Graph from datasheet) that you see is not matching with the converted model?
  • astasastas Posts: 6
    Here is the netlist. Thanks in advance

    *====================================================
    *VISHAY NTCLE101E3C90173saber
    *Voltage driven NTC. Package: Radial Leaded
    *revision1: coefficients corrected
    *Connections:
    * Pin 1
    * | Pin 2
    * | | Temperature input
    * | | |
    .SUBCKT NTCLE101E3Csabernew 1 2 Tin
    R1 Tin 0 1T
    Vsense 1 N002 0V
    B3 N002 2 V= I(Vsense)*Rntc(V(Ttot),beta)
    B1 N003 0 V= V(Tin)
    B2 Ttot N003 V= +abs(V(vcth))
    R2 Ttot 0 1T
    R4 Vcth N001 1
    C1 0 Vcth {Cth/Gth}
    B4 N001 0 V= +abs(V(1,2)*I(Vsense))/Gth
    .FUNC Rntc(x,y)
    + {if(x<25,+Rref*exp((y-Beta)*(1/(x+273.15)-1/(273.15+Tref)))*exp(B*(pwr(1/(273.15+x),1)-pwr(1/(273.15+Tref),1))+C*(pwr(1/(273.15+x),2)-pwr(1/(273.15+Tref),2))+D*(pwr(1/(273.15+x),3)-pwr(1/(273.15+Tref),3))),
    + +Rref*exp((y-Beta)*(1/(x+273.15)-1/(273.15+Tref)))*exp(B1*(pwr(1/(273.15+x),1)-pwr(1/(273.15+Tref),1))+C1*(pwr(1/(273.15+x),2)-pwr(1/(273.15+Tref),2))+D1*(pwr(1/(273.15+x),3)-pwr(1/(273.15+Tref),3))))}
    .PARAM A=-12.89228328
    .PARAM B=4245.148
    .PARAM C=-87493
    .PARAM D=-9588114
    .PARAM a1=-12.89228328
    .PARAM b1=4245.148
    .PARAM c1=-87493
    .PARAM d1=-9588114
    .PARAM Gth=0.0068
    .PARAM Rref=10000
    .PARAM tolB=0.01
    .PARAM tolRref=0.01
    .PARAM Tref=25
    .PARAM Cth=0.0476
    .PARAM beta=3435
    .IC V(vcth)=0
    .ENDS NTCLE101E3Csabernew

    In attachment, the macromodel of this part, and a capture of the voltage variation in time at node Therm, for a variation of V2 from 25 to 85.
  • Hi Alain,

    I was able to successfully translate the model you gave. Attached the files.But the model does not give right result. I get only 500u at node therm always.

    I have checked the translated model line by line to see if all equations were translated correctly. Could not find errors.

    Could you please confirm that the one you are showing in screenshot is the netlist.txt model what you sent us? Or did you do any modifications in that model?

    Regards,

    Hema

  • astasastas Posts: 6
    Hello Hema

    I got the same result as you in Saber Student. And I used the same netlist in LT spice in order to reach the result displayed.

    Are the following features of the netlist supported in Saber (.IC .FUNC PWR(,) etc)
    Thanks a lot
  • astasastas Posts: 6
    edited May 2017
    This is the exact netlist with removal of the strange caracters <br

    .SUBCKT NTCLE101E3Csabernew2 1 2 Tin
    R1 Tin 0 1T
    Vsense 1 N002 0V
    B3 N002 2 V= I(Vsense)*Rntc(V(Ttot),beta)
    B1 N003 0 V= V(Tin)
    B2 Ttot N003 V= +abs(V(vcth))
    R2 Ttot 0 1T
    R4 Vcth N001 1
    C1 0 Vcth {Cth/Gth}
    B4 N001 0 V= +abs(V(1,2)*I(Vsense))/Gth
    .FUNC Rntc(x,y)
    + {if(x<25,+Rref*exp((y-Beta)*(1/(x+273.15)-1/(273.15+Tref)))*exp(B*(pwr(1/(273.15+x),1)-pwr(1/(273.15+Tref),1))
    + +C*(pwr(1/(273.15+x),2)-pwr(1/(273.15+Tref),2))+D*(pwr(1/(273.15+x),3)-pwr(1/(273.15+Tref),3))),
    + +Rref*exp((y-Beta)*(1/(x+273.15)-1/(273.15+Tref)))*exp(B1*(pwr(1/(273.15+x),1)-pwr(1/(273.15+Tref),1))
    + +C1*(pwr(1/(273.15+x),2)-pwr(1/(273.15+Tref),2))+D1*(pwr(1/(273.15+x),3)-pwr(1/(273.15+Tref),3))))}
    .PARAM A=-12.89228328
    .PARAM B=4245.148
    .PARAM C=-87493
    .PARAM D=-9588114
    .PARAM a1=-12.89228328
    .PARAM b1=4245.148
    .PARAM c1=-87493
    .PARAM d1=-9588114
    .PARAM Gth=0.0068
    .PARAM Rref=10000
    .PARAM tolB=0.01
    .PARAM tolRref=0.01
    .PARAM Tref=25
    .PARAM Cth=0.0476
    .PARAM beta=3435
    .IC V(vcth)=0
    .ENDS NTCLE101E3Csabernew2
  • Hi Alain,

    While conversion, in line 75 there was a portion getting commented out.

    Corrected line: i(n002->m_2) += ri_0 ; ri_0 : v(n002,m_2) = i(v.sense)*rntc(v(ttot),beta)   # b3

    Attached the files. Now the simulation result looks correct. Kindly check and let me know.

  • astasastas Posts: 6
    Hello Hema

    Thanks.

    I hadn't seen this message earlier than now because I was out of office for a while and haven't had the occasion to look at the Saber forum. I will do it tomorrow as Saber student is installed on my home computer.

    Great news if this works......
  • astasastas Posts: 6
    Hello Hema

    The simulation is now working fine. Thanks to you and all the Saber team.

Leave a Comment

BoldItalicStrikethroughOrdered listUnordered list
Emoji
Image
Align leftAlign centerAlign rightToggle HTML viewToggle full pageToggle lights
Drop image/file