近日一位朋友在后台发消息说,刚毕业入职一家小家电公司,正参与设计电磁炉控制电路,其中需要用到测温元器件,想了解所用的温度传感器有没有正负极、测温原理等内容。以前正好做过这一块内容,和大家学习一下。
电磁炉测温用的温度传感器其实是一个负温度系数的热敏电阻NTC,不仅如此,NTC在家电产品的测温中应用广泛,例如热水壶、咖啡机、消毒柜等用的都是NTC测温。既然NTC是一颗电阻,那么就不存在正负极的问题。
NTC热敏电阻测温的工作原理
所谓热敏电阻,就是指对温度比较敏感的电阻,随着温度的变化NTC的电阻值也会随之变化,环境温度和电阻值之间存在一定的关系曲线,通过测量阻值的变化情况就可以确定当前的温度值。这就是NTC测温的工作原理,其阻值和温度之间的关系曲线如下图所示。
NTC测温电路
在低成本的测温应用中,NTC一般和一个精密的定值电阻串联通过采集电阻两端的电压变化来确定环境温度。常用的测温电路如下图所示。
如上图的左侧电路。NTC和定值电阻R串联,当环境温度发生变化后,NTC的电阻值发生变化,导致NTC两端的电压发生变化,单片机通过采集NTC两端的电压就可以反推出当前的温度值。这是一种低成本常用的测温电路。
NTC的电阻值和温度是呈现一定的比例关系的,该比例关系和B值相关,各个厂家的Datasheet都会写明该公式,公式如下:
NTC阻值和温度公式:Rt = Rn *EXP(B*(1/T-1/Tn))
5. 这里T和Tn指的是K度即开尔文温度,K度=273.15(绝对温度)+摄氏度;
比如 B值为3950的10K阻值的NTC,10K就是25℃时的阻值,B值为3950。通过以上公示就可以确立阻值和温度的关系。
#define B 3950.0 //温度系数
#define TN 298.15 //额定温度(绝对温度加常温:273.15+25)
#define RN 10 // 额定阻值(绝对温度时的电阻值10k)
#define BaseVol 5.04 //ADC基准电压
float Get_Tempture(u16 adc)
{
float RV,RT,Tmp;
RV=BaseVol/1024.0*(float)adc;//ADC为10位ADC,求出NTC电压:RV=ADCValu/1024*BaseVoltag
RT=RV*10/(BaseVol-RV);//求出当前温度阻值 (BaseVoltage-RV)/R16=RV/RT;
Tmp=1/(1/TN+(log(RT/RN)/B))-273.15; //RT = RN exp*B(1/T-1/TN)
return Tmp;
}
PT100测温原理
这里专指电阻测温,除了NTC之外,还有PT100正温度系数的热敏电阻、热电偶等。PT100相比较于NTC,更为精准主要用在工业产品的测温中,一般通过惠斯通电桥来检测电压的变化进而反推出温度值。如下图就是惠斯通电桥电路。
-END-
来源 | 玩转嵌入式
作者 | 刘小舒
| 整理文章为传播相关技术,版权归原作者所有 |
|
免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!