硬件设计-红外测温TMP006

来源:本站
导读:目前正在解读《硬件设计-红外测温TMP006》的相关信息,《硬件设计-红外测温TMP006》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《硬件设计-红外测温TMP006》的详细说明。
简介:最近搞了一个红外测温,在网上找了很久,用的比较多的芯片是MLX90614,在淘宝上看看其价格还挺贵的-几十块,还有一个比较便宜的芯片是TI的TMP006,这个芯片体积小、价格也便宜,官网上也就1.5美元,关键是可以申请免费样品啊!于是就申请了10个。

按照TMP006的layout指导,画了一块小板子。如下

硬件设计-红外测温TMP006

样品和板子到了,就焊几块吧!用热风*吹了3块,有两个芯片引脚短路,有个没短路。然后调程序,死活不能正确的读到芯片ID,怀疑焊接不好。后来将芯片中间那块敷铜用刀片给割了,再用热风*吹,吹了两个都可以正确读到芯片的两个ID。

关于程序,我有一个IO模拟IIC的程序,单片机是用的STM32。TMP006的寄存器还是比较简单,总共就5个,其中2个是制造商ID(5449h)和设备ID(0067h),调试时,能正确读出这两个,那硬件和IIC就没问题了。还有三个是配置寄存器、设备自身温度寄存器、目标传感电压。测温主要就靠自身温度和目标传感电压计算而出的。

硬件设计-红外测温TMP006

读出寄存器00和01的值,转换成自身温度Tdie(单位℉)和目标传感电压Vobj(单位nV),再根据下图公式计算出目标温度

硬件设计-红外测温TMP006

读Tdie和Vobj模块如下:

typedef struct

{

float Tdie;

short int Vobj;

}TMP006_TypeDef;

TMP006_TypeDef Tmp006;

void TMP006_Read(void)

{

unsigned char RxData[2] ;

do

{

//读配置寄存器

IIC_Read(TMP006_ADDRESS,CONF_REG,RxData,2);

}

while((RxData[1]&0x80)!=0x80);//等待转换完成

//

IIC_Read(TMP006_ADDRESS,TEMPERATURE_REG,RxData,2);

Tmp006.Tdie=((RxData[0]<<8)+RxData[1])*0.0078125 + 273.15;

IIC_Read(TMP006_ADDRESS,VOBJECT_REG,RxData,2);

Tmp006.Vobj=(RxData[0]<<8)+RxData[1];

}

读Tobj计算模块如下:

float TMP006_Tobj(void)

{

float Vos = 0;

float Tobj = 0;//单位℉

float fvobj = 0;

float S = 0;

float temp = 0;//红外转换电压值 单位nV

TMP006_Read();//读取Tdie和Vobj

S = S0*(1+a1*(Tmp006.Tdie-Tref)+a2*(Tmp006.Tdie-Tref)*(Tmp006.Tdie-Tref));

Vos = b0+b1*(Tmp006.Tdie-Tref)+b2*(Tmp006.Tdie-Tref)*(Tmp006.Tdie-Tref);

if(Tmp006.Vobj >= 0x8000) temp = -(0xffff-Tmp006.Vobj)*156.25;

else temp = Tmp006.Vobj*156.25;

temp *= 1e-009;

fvobj = (temp-Vos) + c2*(temp-Vos)*(temp-Vos);

Tobj = sqrt(sqrt(Tmp006.Tdie*Tmp006.Tdie*Tmp006.Tdie*Tmp006.Tdie + (fvobj/S)));//单位℉

return (Tobj-273.15);//单位℃

}

本打算隔着玻璃测温度,后发现普通的玻璃远红外透不过去,3um波长以上的基本都透不过了,换成温度也就是700℃以下的波长基本穿不过去。所以如果要么订制透远红外的玻璃或者亚克力也行。还有一个问题,就是关于物体的发射率,越亮的物体发射率越接近0,越黑的物体越接近1.所以红外测温时,要根据被测物来调整发射率,上面计算公式中的S0就是用来校准物体的发射率的。我就没有去校准,用了一个典型的值:Typical values for S0 are between 5 × 10–14 and 7 × 10–14

.

在TI文档中,还介绍了被测物体与传感器的距离,在什么样的条件下,测出的温度比较接近目标温度。其实TMP006的视角有180°,在淘宝上有红外测温*和红外测温笔,基本上红外测温*的视角比较小,故可远距离测。红外测温笔视角应该和TMP006差不多,所以最好靠着测才准确。

实物图:

硬件设计-红外测温TMP006

完整代码见附件!代码对应ADR0与ADR1接地

官网资料链接:http://www.ti.com.cn/product/cn/TMP006/samplebuy

其他论坛相关链接:http://bbs.eeworld.com.cn/thread-341966-1-1.html

TMP006 User Guide中写出来测量精度和距离的问题,发热面越大越靠近传感器,精度越高(缺点就是这个是180°的视角)。下面有个图:

硬件设计-红外测温TMP006

TMP006.zip:免费下载地址:http://www.ippipp.com/file/id/25800

提醒:《硬件设计-红外测温TMP006》最后刷新时间 2024-03-14 01:06:12,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《硬件设计-红外测温TMP006》该内容的真实性请自行鉴别。