STGIB30M60TS-L热敏电阻温度值解算

背景:STGIB30M60TS-L是ST公司的一款IPM芯片,芯片有两个温度输出通道

1.TSO output

2.NTC thermistor

芯片的data sheet给出了这两个温度输出的曲线及相关的典型值,TSO output给出的曲线为线性关系,很好解算成代码但实际应用中发现TSO output的输出的浮动很大,因此决定采用NTC thermistor。

1.热敏电阻的计算公式

NTC是负温度系数的简写,热敏电阻的阻值随着温度的升高,呈现下降趋势。

其阻值计算公式: RT=R0*exp(B (1/T-1/T0))

RT为周围温度为T (K) 时的电阻值,R0是周围温度为T0 (K) 时的电阻值,注意这里的温度是开尔文温度(开氏度=摄氏度+273.15)。B为B常数. 请记住这个B常数,它也是材料常数,一般在25摄氏度下测得。B值和电阻的温度系数正相关,也就是B值越大,电阻的温度系数越高。而温度系数是指每增加1℃,电阻值的变化率。也就是说,B值越大,电阻值的变化随着温度的增加越多,灵敏度越高。

2.温度测量的电路

T2脚为STGIB30M60TS-L的NTC输出脚,我们用电阻串联分压,ADC采集的方式进行温度采集。芯片内部的VCC为15V,

ADC采样的电压值VR:vr=12000/(RT+12000)*15(注意,这里的12K没有把三个零给省略)

根据data sheet给出的几个典型值:

我们假设公式:RT=R0*exp(B (1/T-1/T0))中的R0为85kΩ,T0为25摄氏度(开氏度:298.15)

则温度T:T=B*T0/{T0*(LN RT-LN R0)+B} -273.15

B=4092,

T0=298.15

LN RO=11.35041

转换成代码:

    if(data_f<=32767)     //IPM热敏电阻值正负判断;data_f为DSP或单片机读到的ADC值
        {
           DSP_AD_NTC = (float)data_f/32767.0f*15.f;//解算成电压值VR
        }
        else
        {
            DSP_AD_NTC = -(float)(~data_f)/32767.0f*15.f;
        }
        NTC_TEMP=4092*298.15/(298.15*(log((12000*(15-DSP_AD_NTC)/DSP_AD_NTC))- 
                  log(85000))+4092)-273.15;

  • 9
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值