首页 > 代码库 > Arduino 负温度系数热敏电阻(NTC)测温

Arduino 负温度系数热敏电阻(NTC)测温

一直都用NTC作为温度传感器来测温,采用Arduino没有现成的例子用NTC测温的,LM35D温度传感器,这款传感器能够测量0-100摄氏度的温度,并以电压的数值输出。从0度开始温度每升高1度输出电压就会提高10mv。而NTC则不然,NTC根据温度变化产生电阻阻值变化,而且是非线性的变化,这就需要用上拉电阻或下拉电阻来选择分辨率较好的区间。

#define Pot A2			//电位器引脚命名

int PotBuffer = 0;		//AD读取数据缓存变量

void setup()
{
  Serial.begin(9600);   //初始化串口波特率为9600
}

void loop()
{
  PotBuffer = analogRead(Pot);	             //读取AD值
  float temp = -0.10581*PotBuffer+94.6374;   //浮点运算,根据拟合的温度与电阻曲线的斜率换算反函数
  Serial.print("TEMP = ");		             //串口输出“Pot = ”
  Serial.print(temp);		                 //串口输出temp的值
  Serial.print("; AD = ");
  Serial.println(PotBuffer);
  delay(500);				                //延时500ms
}




NTC的R25=100K,B=3950,选用50K作为上拉电阻,根据温度与阻值的真值表,求出待测范围如0-60℃的NTC实际电压值,0-5V等分1024份,求出电压值对应的AD值,以温度为X轴,AD值为Y轴做出曲线,并拟合成线性函数,求出此线性函数的反函数,最终得到【temp = -0.10581*PotBuffer+94.6374】。