嵌入式--热敏电阻的应用

概念

  • NTC :负温度系数热敏电阻器,在温度越高时电阻值越低
  • PTC :正温度系数热敏电阻器,在温度越高时电阻值越大

  NTC的初始电阻大,因此对电流的阻碍作用就更大,可以有效地阻挡住尖峰电流,当电路趋于稳定时,NTC电阻就逐渐变小,从而保护电路。 PTC与NTC恰恰相反,在稳定的电路中,PTC相当于导线,当遇到一个临时的脉冲信号时,PTC阻值急剧增大,电路相当于开路;当脉冲信号离开,电流变小,PTC阻值变小,电路恢复正常。

总结:NTC处理掉异常,使电路能正常导通,主要应用于温度补偿、过流保护、过热保护、自控加热、马达启动、彩电消磁等;PTC识别异常,使电路截止,主要应用于温度补偿、过流保护、过热保护、自控加热、马达启动、彩电消磁等。

应用电路

在这里插入图片描述

应用原理

NTC电阻温度计算公式:Rt = Rp*EXP(B*(1/T1-1/T2))

  • T1,T2 :单位都是开尔文温度
  • Rt :是热敏电阻在T1温度下的阻值
  • Rp : 是热敏电阻在T2常温下的标准阻值
  • EXP:e的n次方
  • Bx :热敏电阻的重要参数
  • Ka :开尔文单位与摄氏单位的转换参数(273.15)

T2是已知的即:标准温度下的标准阻值(Rp)的开尔文温度值(273.15+25.0)

T1就是欲求的温度(开尔文标):T1 = 1/(ln(Rt/R)/B+1/T2)

实际温度还需要从T1的开尔文温度转成摄氏温度,即:temp = T1 - 273.15 + 0.5 (后面的0.5是误差矫正)

应用程序

获取ADC值
ADC值转化为电压值
电压值转为NTC的电阻值
NTC电阻值转为温度值
#include “math.h”


const float Rp = 100000.0;          // 100k,NTC自身的阻值(25°C)
const float T2 = (273.15 + 25.0);   // T2
const float Bx = 3950.0;            // B
const float Ka = 273.15;

int main(void)
{
	uint16_t Vadc;  // 获取的ADC值
	float    Vout;  // ADC值转为实际电压值
	float    Rx;    // NTC的阻值
	float    temp;  // NTC阻值对应的温度值
	
	Vadc = getADC(); // 获取ADC值
	Vout = (float)Vadc/4095*3.3;  // Vadc乘以分辨率值乘以ADC参考电压
	Rx   = (100000*Vout)/(3.3-vout); // 上拉电阻(R23 = 100K)
	temp = (1/(log(Rx/Rp)/Bx+(1/T2)))-273.15+0.5

	return 0;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章