其他分享
首页 > 其他分享> > MLX90614——非接触式红外测温解决方案

MLX90614——非接触式红外测温解决方案

作者:互联网

MLX90614红外测温方案

1、MLX90614介绍

MLX90614是一款红外非接触温度计,由内部状态机控制物体温度和环境温度的测量和计算,进行温度后处理,并将结果通过PWM或是SMBus模式输出。MCU主要通过SMBus协议与MLX90614通信,读取或者修改它的数据。原理图如下,可以看到有SCL和SDA2根线(与IIC通信很像)
在这里插入图片描述
SMBus的读时许如下
在这里插入图片描述
而我们要读温度数据,读的是RAM中的To (Temperature Object)物体温度
在这里插入图片描述

Ta 指的是芯片内部的环境温度(一般用于温度校准)

读温度驱动的时序可以这样实现

UINT32 memread(UINT8 addr,UINT8 command)
{
	start_bit();
	tx_byte(addr); //Send SlaveAddress
	tx_byte(command); //Send Command
	tx_byte(addr+1);
	bit_out=0;
	DataL=rx_byte();
	bit_out=0;
	DataH=rx_byte();
	bit_out=1;
	Pecreg=rx_byte();
	stop_bit();
	return(DataH*256+DataL);
}

返回一个16位数据,再经过公式转换成温度数据

//Tem = val * 0.02 - 273.15
Tem = memread(0x00,0x07) * 0.02 - 273.15;

2、修改发射率

可是这样测出来的人体温度,跟实际差距还很大,因为有一个十分重要的参数还没修改——发射率

假如你用1微米的红外测温仪,去测量不锈钢,发射率需要设置为0.3左右,而测量碳,需要设置到0.95左右。所以,不同的物体有不同的发射率,若要精确测量物体温度时需要根据被测物体的发射率来修改,以补偿温度的偏差——而人体的发射率是0.95,MLX90614出厂的默认值是1。
修改发射率需要把发射率写到MLX90614的EEPROM里面
在这里插入图片描述
MLX90614ESF-DCH 和 MLX90614ESF-DCI这两个细分型号的芯片要修改2个地方:地址为0x04和0x0f,地址0x04写的是发射率0.95(经过公式转换为16进制是0xF332),而0x0f写的是0x0e1f(是通过参考官方文档而得出的)

MLX90614其他系列芯片只需要修改0x04这个地址的参数就可以了。

SMBus的写时序如下
在这里插入图片描述
在这里插入图片描述
而想要访问修改EEPROM,则需要地址或上操作码(001x xxxx,RAM的操作码是000x xxxx,即相当于无操作),即:
先进行command为0x24、数据为0xf332的写操作,修改地址为0x04的参数
先进行command为0x2f、数据为0x0e1f的写操作,修改地址为0x0f的参数

3、补偿算法

修改完发射率,只是完成了这个项目的第二个步骤
我们还需要根据不同的产品选择不同的温度补偿算法,根据距离选择不同的距离补偿算法。

温度补偿

依据厂家给出温度补偿方案,对应两种不同的产品,有两个不同的补偿算法
1.额温枪
在这里插入图片描述
2、装在人脸识别机上的非接触式红外测温补偿
Tbody = -0.000125 * to6 +0.0283429488 * to5 -2.67004808 * to4 +133.762569 * to3 -3758.41829 * to2 +56155.4892 * to -348548.755 + to

距离补偿

经过温度补偿后,近距离测试体温数据正常。但是红外线强度会随着距离的增加而衰弱,所以如果想要远距离测温,还要对其进行距离补偿。
在这里插入图片描述

实际测量过程中还需要远离发热设备(加热器、太阳直射、热风设备等),避开环境瞬间变化较快场合

4、数据测试

下面贴一组温度补偿算法2、距离大约50cm的测试数据
在这里插入图片描述

5、总结

原以为只要移植个驱动就好,谁知一路上磕磕碰碰的,踩了这么多的坑,终于把温度测出来了,但是非接触式红外测温的局限性还是很大,受环境因素影响大,通过脸部测体温时,传感器对着不同的部位测出来的数据都有点偏差,不同的距离还需要不同的距离补偿算法,希望有大佬能做出一个更稳定精确的解决方案,peace~

资料参考来源:
①世强硬创:https://www.sekorm.com/Web/Search/keyword/MLX90614
②MLX90614官方文档及参考资料 https://download.csdn.net/download/weixin_41118203/14921211

标签:发射率,测温,MLX90614,修改,补偿,接触式,byte,温度
来源: https://blog.csdn.net/weixin_41118203/article/details/112952934