首页 安全防御正文

k型热电偶(热电偶测温方案系列)

热电偶测温方案系列--专用K型热电偶测温IC测温【原创首发】

热电偶测温方案系列--专用K型热电偶测温IC测温【原创首发】

热电偶测温原理

如果测量的温度不超过150℃,通常我们使用NTC就可以了,单片机通过AD转换就可以得到温度,简单实用。烧水壶、咖啡壶、豆浆机等小家电上基本上都是用NTC来测温。但测量的温度比较高的话,NTC就不适用了。这时候我们可以用热电偶来测温,一般可以测量-200℃~1300℃,特殊情况下可测量-270℃~2800℃。

热电偶(thermocouple)是温度测量中常用的测温元件,它直接测量温度,并把温度信号转换成热电动势信号。各种热电偶的外形常因需要而极不相同,但是它们的基本结构却大致相同,通常由热电极、绝缘套保护管和接线盒等主要部分组成。

热电偶测温方案系列--专用K型热电偶测温IC测温【原创首发】

热电偶结构图

热电偶测温的方案跟NTC是完全不同的,热电偶测温的工作原理大家可以自行网上找资料参考,这里主要是谈设计方案。

热电偶实际上是一种能量转换器,它将热能转换为电能,用所产生的热电势测量温度,我们只要测出两端的电动势差,再加上温度补偿就可以得到真实的温度了。

下面我们用K型热电偶进行方案设计

本方案可以让你快速设计出稳定可靠的产品,缺点就是成本会比较高一些,还有就是测温范围不会太广,如果本方案满足不了你的要求,请关注我,很快就会推出下一个热电偶测温方案哦。

方案一:使用专用K型热电偶测温IC测温

Maxim(美信)有一款K型热电偶测温的专用IC MAX6675,它是自带温度补偿的

热电偶测温方案系列--专用K型热电偶测温IC测温【原创首发】

IC模块

使用环境温度为:-20°C to +85°C

测温范围是:0°C ~1024°C,分辨率可以去到0.25°C

原理图如下:

热电偶测温方案系列--专用K型热电偶测温IC测温【原创首发】

连接原理图

通过SPI接口就可以直接读取到温度了,有一点需要注意的是,读取温度的频率不要太高了,至少间隔0.5秒读一次温度数据。

读取温度的示例程序如下:

typedef struct
{
 u16 TemperatureIn; //Temperature of Thermocouple
 u8 ThermocoupleStatus; //=1 Thermocouple open
}TempStruct;
TempStruct Temperature;
void Max6675Int(void)
{
 MAX6675_CS=1;
 MAX6675_SCK=0;
 Temperature.ThermocoupleStatus=0;
 Temperature.TemperatureIn=0;
}
void GetTemperature(void)
{
 u16 TempData;
 u8 i,Temp;
 TempData=0x0000;
 MAX6675_CS=1;
 MAX6675_SCK=0;
 _nop_();
 MAX6675_CS=0;
 _nop_();
 if(MAX6675_SO==1)TempData+=1;
 MAX6675_SCK=1;
 for(i=0;i<15;i++)
 {
 TempData<<=1;
 MAX6675_SCK=0;
 _nop_();
 if(MAX6675_SO==1)TempData+=1;
 _nop_();
 MAX6675_SCK=1;
 }
 MAX6675_SCK=0;
 MAX6675_CS=1;
 Temp=(u8)TempData;
 Temp &=0x04;
 if(Temp!=0) // Thermocouple open
 {
 Temperature.ThermocoupleStatus=1;
 Temperature.TemperatureIn=0;
 }
 else
 {
 Temperature.ThermocoupleStatus=0;
 TempData>>=3;
 TempData&=0x0fff;
 Temperature.TemperatureIn=TempData/4;
 Temp=(u8)(TempData%4);
 if(Temp>1)Temperature.TemperatureIn+=1;
 _nop_();
 }
}

来源:博客,欢迎分享本文!

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。