基于MLX90620的多点动态温度监测系统设计

2015-06-08 04:26杨风健貌程浩霍旭阳牟子义
仪表技术与传感器 2015年12期
关键词:像素点测温探测器

杨风健,刘 军 ,貌程浩,霍旭阳,牟子义

(1.杭州电子科技大学电子信息学院,浙江杭州 310018;2.吉林医药学院公共卫生系,吉林吉林 132013)



基于MLX90620的多点动态温度监测系统设计

杨风健1,刘 军1,貌程浩1,霍旭阳2,牟子义2

(1.杭州电子科技大学电子信息学院,浙江杭州 310018;2.吉林医药学院公共卫生系,吉林吉林 132013)

介绍了一种基于MLX90620红外阵列热电堆传感器的多点动态温度监测系统,详细阐述了系统的实现方法及设计方案。系统以STM32F103VET6作为核心控制器,以MLX90620作为温度传感器,控制器与MLX90620通过I2C总线进行数据通信,并通过UART接口将数据传输给上位机软件,软件可记录并实时显示温度数据,同时描绘已选监测温度点的温度变化曲线。实验表明,系统可同时监测目标区域内的64个温度点的温度变化情况,工作可靠,非接触式测温方式使得操作简单,便于安装使用。

MLX90620;红外;动态温度; STM32F103VET6; I2C; UART

0 引言

温度是日常生产生活中需要测量和使用最多的参数之一,被广泛用于工业、农业以及科学研究等领域[1],温度的测量方法可分为接触式测温和非接触式测温两大类,接触式测温主要以热电偶、热敏电阻等感温元件作为测温传感器,接触式测温具有成本低廉的优势,但是不便于安装,而且使用热敏电阻测量温度,需要等待一定时间使传感器与被测物体达到热平衡状态,才能相对准确地读出温度数值。非接触式测温主要基于红外测温原理,红外测温探头被动接收物体辐射出的红外线,物体温度的高低与红外辐射强度具有相关性,探测器通过采集红外线辐射强度即可转换出物体的温度值,无需与被测物体接触,因此也避免了由传感器接触对物体温度的影响,可以对一些远距离、运动的和有危险性的物体进行温度测量,具有安全、快速、可靠、方便等优势[2-3]。但是红外探测器的成本相对较高,在一些需要进行多点测温的实际应用场合,更需要多个红外探测器,成本高是亟待解决的问题。

针对以上问题,本文设计了以MLX90620红外阵列热电堆传感器进行多点温度探测,以STM32F103VET6作为核心控制器,控制器驱动并读取MLX90620的测温数据,并通过UART实时传输给上位机软件的动态温度测控系统,便于对温度数据进行实时显示、分析和处理。

1 系统方案设计

如图1所示,系统由2个主要部分组成,分别是以STM32F103VET6芯片为控制核心的温度数据采集软硬件设计,和基于Visual C++6.0编程技术的温度数据显示与分析软件设计。温度传感器选用具有64像元的单芯片红外探测器MLX90620,探测器通过I2C总线与MCU通信,通信速率可达1 000 kbit/s,硬件电路通过UART接口与PC机通信,将64个像元的温度数据传输给上位机软件,由于MLX90620温度转换速率为0.5~512 Hz[4],最快转换时间为1.95 ms,因此使用UART接口进行数据传输足以满足本系统的使用需求。上位机软件可显示64个探测点的实时温度值,可根据实际需要对感兴趣温度点进行动态温度监测,并绘制温度变化曲线。

图1 系统设计框图

2 MLX90620工作原理

MLX90620 红外测温阵列芯片是一款具有16×4像元数的红外阵列热电堆传感器,非常适应于非接触式多点温度探测场合[3]。其测温范围-20 ~300 ℃,探测器出厂时已经过校准,可简化用户的设计流程。有两种视场 (FOV) 可供用户选择,分别是60°×16.4°和40°×10.4°,本文所使用的探测器视场(FOV)为60°×16.4°,探测器每个像元转换得到的温度数据都是其视场内所有物体的平均温度。

MLX90620红外探测器内部硬件电路框图如图2所示,其内部集成的64个红外测温像元都包含有放大器和ADC,还集成有一个与绝对温度成比例(PTAT)的温度传感器,用于测量芯片温度,每个测温像元将转换好的数据存储在芯片内部的RAM存储器中,EEPROM中存储的是探测器出厂时的校准参数,该参数用来补偿不同探测器之间的差异。内部集成高速I2C总线接口,方便与微控制器进行数据通信。

图2 探测器内部框图

MLX90620的可编程帧率范围:0.5~512 Hz,在1 Hz的刷新帧率下,其噪声等效温差系数(NETD)小于80 mK,在探测器芯片所处环境温度为0~50 ℃,被测物体温度处于0~300 ℃时,其中心4个像元的测温准确度计算方法为式(1):

Tac=±1 ℃±|TO-Ta|×1.5%

(1)

在环境温度(Ta)与物体温度(TO)温差小于50 ℃的情况下,测温准确度为±1.75 ℃。

2.1 电源电路设计

MLX90620红外温度探测器在2.6 V电源电压下,才能发挥最佳的测温性能,系统微控制器STM32F103VET6也可工作在该电压下,硬件电路采用5 V输入电压进行供电,因此需借助可调稳压芯片输出2.6 V电压,电源电路设计如图3所示。

图3 电源电路

采用具有360 nA静态电流的降压转换器 MicroSiP 模块TPS82740B实现2.6 V稳压电源设计,其可提供200 mA的输出电流,满足系统设计需求,TPS82740B的输入电压范围为:3~5.5 V,输出电压范围为:2.6~3.3 V,具体输出电压通过芯片管脚VSEL1、VSEL2、VSEL3进行配置,配置输出电压的步长为100 mV,当3个管脚均接低电平时,输出电压选择为2.6 V,都接高电平时,输出电压为3.3 V。

2.2 MLX90620存储器

MLX90620芯片内部带有1个146×16bit的RAM,其地址映射如图4所示,可通过I2C总线进行数据读写操作,RAM的从机地址(Slave Address)为0×60,RAM内存储有64个字(1个字为16 bit)温度转换数据,数据以二进制补码格式存储,1个字用于存储PTAT传感器的温度测量值,PTAT传感器存储的数据实质上为芯片自身的温度,该温度对探测器测温准确性有直接的影响,所以是计算目标物体温度不可缺少的参数之一。RAM中还有2个字用作配置寄存器,用于对芯片测温的刷新频率、工作模式、通信速率等进行配置操作。图4中TGC代表温度梯度系数,实际使用时,从芯片的EEPROM中读取即可。修正寄存器的配置数值需要先从EEPROM的0XF7中读取,再写入到RAM的0x93地址中。芯片内部的EEPROM的从机地址为0x50,EEPROM具有256×8bit存储容量,其存储数据为芯片出厂时固化在其内部的用于计算温度数值的校准参数,微控制器只需在芯片上电(POR)后读取一次并存储在微控制器的RAM中即可,方便用于温度数值计算。

图4 RAM地址映射

2.3 MLX90620驱动流程

芯片根据设定的刷新频率(0.5~512 Hz)扫描64个红外传感器和PTAT传感器的输出,并利用存储在EEPROM中的校准常数计算每个像素点的测温数值,其工作流程如图5所示。芯片上电后,需要延时5 ms,然后读取EEPROM内部校准数据,相应的操作指令及EEPROM内部的数据地址如表1所示,将EEPROM中地址为0xF7、0xF5、0xF6中的数据取出,并写到RAM存储器的0X93和0x92地址中,完成配置寄存器和修整寄存器的数值设置,之后在没有复位发生的情况下,便可以读取64个IR测温传感器和1个PTAT温度传感器的数值,通过I2C总线进行读取操作流程如图6所示,在通过I2C写设备地址时,由于采用7为地址模式,设备地址最后一位为读写控制位,读设备时为1,写设备时为0,因此通过I2C写入的设备地址并非0x60,而是0xC0,在图6中第二次写设备地址时,应写入0xC1,因为接下来微控制器要释放总线,将控制权交给MLX90620,MLX90620将数据放在I2C总线上,供微控制器读取。

图5 MLX90620工作流程

表1 指令操作一览表

存储器存储器设备地址数据地址操作指令操作功能EEPROM0x500x000x00读整个EEPROMRAM0x600x920x03写配置寄存器RAM0x600x920x02读配置寄存器RAM0x600x930x02读修整寄存器RAM0x600x900x02读PTAT寄存器RAM0x600x000x02读IR传感器数据RAM0x600x910x02读补偿像素数值

图6 I2C读IR数据流程

2.4 温度计算方法

将所有数据准备好后,需要将IR传感器数据转换成为实际温度值,可通过式(2)进行计算。

(2)

式中共有3个未知参数,VIR(i,j)_COMPENSATED,α(i,j),Ta(Ta为传感器的封装温度)。

(3)

式中参数PTAT_data需从RAM中读取,其余参数从EEPROM中读取,代入公式计算即可。

参数VIR(i,j)_COMPENSATED由式(4)求得

(4)

而VIR(i,j)_TGC_COMP根据式(5)计算,式(5)中有3个参数TGC、VIR_CP_OFF_COMP 及VIR(i,j)_OFF_COMP,VIR(i,j)_OFF_COMP的计算方法如式(6)所示,所需参数均为已知量,存储在EEPROM或者RAM中,Ta_0为常数25℃。

(5)

(6)

ε为发射率系数,按式(7)进行计算。计算VIR(i,j)_COMPENSATED所需的参数均已知。

(7)

进行温度数据计算所需的最后一个参数为α(i,j),α(i,j)为单个像素点的灵敏度系数,如式(8)所示。

(8)

至此,计算温度所需参数均已求得,代入式(2)即可求出各个像素点的传感器温度值。

3 上位机软件设计

3.1 温度数据显示

上位机软件通过UART接口读取微控制器传来的温度数据,并将各个像素点的温度数据实时显示出来,对1把处于加热状态的电烙铁进行温度数据采集,如图7所示,软件通过不同灰度值表示温度的高低,灰度值越大,颜色越深,代表温度越高,反之,温度越低。并且温度最大值和最小值可以手动设定,当目标物体的温度差值较小时,可以调整最大最小值使得高低温显示效果更加明显。

3.2 温度动态监测

图7所示为对一把电烙铁升温过程进行温度数据采集,并对(11,3)(12,3)(13,3)(14,3)4个像素点的温度数据进行监测,其中像素点(14,3)为烙铁头部所在位置。添加监测像素点时需先用鼠标选中某个像素点,再点击添加波形按钮,在设置所需监测的时间长度(单位为s)后,点击开始计时按钮,软件便会记录处于监控状态下的像素点温度数据,写入到txt文件中,供用户使用,并在波形显示窗口实时显示温度变化曲线。图7中烙铁头部(14,3)的温度变化曲线,其温度最高,升温也最快,与实际情况相符。

图7 软件操作界面

4 结论

本多点动态温度测控系统,解决了传统的多点监测时造成的安装繁琐,导线过多,测温速度较慢的问题,使用具有64像元的红外阵列热电堆温度传感器通过非接触方式进行温度采集,测温迅速,方便,安全。上位机软件实现了对64个像素点的温度数据实时直观显示,可手动添加需进行动态温度监测的像素点,并对受监测像素点的温度数据进行数据记录、存储及实时波形显示。系统硬件体积小,便于携带安装,软件界面友好,稳定性高,如需进行远距离的温度动态监测,可将UART有线连接通信方式改为无线通信方式进行数据传输,使得系统应用更加广泛、灵活。

[1] 李金凤,葛良全,吴建平,等.基于单总线的智能多点测温系统设计.传感器与微系统,2007,26(11):97-98.

[2] 李军,刘梅冬,曾亦可,等.非接触式红外测温的研究.压电与声光,2001,23(3):202-205.

[3] 谷林柱,任子晖,王凯,等.基于红外热电堆的矿用测温装置设计.仪表技术与传感器,2013(5):31-32.

[4] Melexis公司.MLX90620英文数据手册[EB/OL].(2012-09-19) [2015-02-15].http://www.melexis.com/Assets/Datasheet-IR-thermometer-16X4-sensor-array-MLX90620-6099.aspx.

Multi-points Dynamic Temperature Measurement andControl System Based on MLX90620

YANG Feng-jian1,LIU Jun1,MAO Cheng-hao1,HUO Xu-yang2,MU Zi-yi2

(1.College of Electronic and Information Engineering,Hangzhou Dianzi University,Hangzhou 310018,China;2.College of Public Health,Jilin Medical University,Jilin 132013,China)

Based on MLX90620 infrared array thermopile sensor,a multi-point dynamic temperature monitoring system was designed and implemented.The principle and implementation of this system were described in detail.The microcontroller STM32F103VET6 was used as the core,the chip MLX90620 was used as the temperature sensor,controller and MLX90620 communicate via the I2C bus,and the microcontroller transmitted data through the UART interface to the software on host computer.The software can record and real-time display temperature data,while depicting temperature curve of the selected pixels.Experiments show that the system can simultaneously monitor 64 temperature points in the target area,and non-contact temperature measurement methods make operation simple,easy to install and use.

MLX90620;infrared;dynamic temperature;STM32F103VET6;I2C;UART

2015-03-15 收修改稿日期:2015-09-15

TP274

A

1002-1841(2015)12-0075-04

杨风健(1987—),硕士研究生,主要嵌入式系统设计及应用研究。E-mail:yangfengjian2012@aliyun.com 刘军(1977—),副教授,博士研究生,主要从事集成电路与系统设计及其CAD研究。E-mail:ljun77@163.com

猜你喜欢
像素点测温探测器
基于局部相似性的特征匹配筛选算法
第二章 探测器有反应
EN菌的引力波探测器
第二章 探测器有反应
基于5×5邻域像素点相关性的划痕修复算法
基于canvas的前端数据加密
变压器光纤测温探头的安装固定
基于逐像素点深度卷积网络分割模型的上皮和间质组织分割
基于DS18B20的单片机测温系统
有7颗彗星已经被探测器造访过