1 引言
一般来说,测温方式可分为接触式和非接触式,接触式测温只能测量被测物体与测温传感器达到热平衡后的温度,所以响应时间长,且极易受环境温度的影响;而红外测温是根据被测物体的红外辐射能量来确定物体的温度,不与被测物体接触,具有不扰动被测物体温度分布场,温度分辨率高、响应速度快、测温范围广,稳定性好等特点,近年来在汽车电子、航空和军事上得到越来越广泛的应用。
2 测温原理概述
PWN的全称是Pulse Width Modulation(脉冲宽度调制)即通过调节脉冲的周期、宽度,以达到变压、变频的目的,数字式脉宽调制方式中,数字是控制信号,通过改变高低电平数的比值达到改变占空比的目的,PWM控制电路在开关稳压电源、不间断电源(UPS)以及直流电机调速,交流电机变频调速等控制电路中有着广泛应用。
SPI(Serial Peripheral Interface)是Motorola公司提出的一个同步串行外设接口,容许CPU与各种外围接口器件以串行方式进行通信、交换信息,即可以提高传输速度也可以减小器件的资源占用,另外即使在没有SPI接口的单片机上也可利用软件进行模拟。
Melexis公司生产的MLX90601系列测温模块是应用非常方便的红外测温装置,其所有的模块都在出厂前进行了校验,并且可以直接输出线性或准线性信号,具有很好的互换性,免去了复杂的校正过程。
该模块以MLX90247热电元件作为红外感应部分。输出是被测物体温度(TO)与传感器自身温度(Ta)共同作用的结果,理想情况下MLX90247输出电压为:
其中温度单位均为Kelvin,a为仪器常数。
传感器自身温度由MLX90247内置的热敏电阻测定测量,从MLX90247中输出的两路温度信号分别经内部MLX90313器件上两路高性能、低噪声的斩波稳态放大器放大再经A/D转换后输出。
该系列模块精度可达±0.2℃,体积小巧,被测物体和环境温度能分双通道输出,有多种输出方式:模拟线性输出、PWM输出、可编程SPI输出等,适于多种应用环境,下面以MLX90601-CAA为例,重点介绍其特性和使用方法。
MLX90601EZA-CAA用工业和商业2种应用产品。能以PWM和SPI两种方式分别输出被测物体和传感器温度,另外通过SPI可编程引脚还可以更改模块内部预设值,并且还具有继电器驱动输出,进一步驱动后续电路。
3 MLX90601EZA-CAA简介
MLX90601EZA-CAA的电气特性如表1所列。引脚排列如图1所示,各引脚的功能如下:
REL1(1脚):继电器输出;
VSS(2脚):地;
VDD(3脚):电源;
SDIN(4脚):SPI数据入口;
SDOUT(5脚):SPI数据出口;
CSB(6脚):片选;
SCLK(7脚):时钟;
IROUT(8脚):PWM输出被测物体温度;
VREF(9脚):参考电压;
TEMPOUT(10脚):PWM环境温度输出。
4 应用设计
4.1 MLX90601EKA-CAA测温特性
以PWM输出为例,MLX90601EKA-CAA温度信号的PWM输出格式。
PWM信号的典型周期是102.4ms,每个周期始于一段前向缓冲时间t1,该时间段内输出信号始终为1;t2和t3为有效信号部分;t4为报错信号部分,如:传感器温度超过预值、发生某些不可被MLX90313自动修复的措施等;t5为后向缓冲时间,输出信号始终为0。各时段占空比说明如表2所列。
温度值计算公式如下:
其中:t为测得温度,DutyCycle为t2在时序图中所占的百分比,即t2/总周期T,Tmin为设置的温度下限(出厂设置为-20℃),Tmax为设置的温度上限(出厂设置为120℃)。
输出温度值与DutyCycle的线性关系如图3所示,由图中可以看出:在传感器可测的有效范围内(-20℃-120℃),待测物体温度值及传感器自身温度值都与DutyCycle呈良好的线性关系。
4.2 单片机接口电路
MLX90601-CAA与单片机连接的硬件电路如图4所示。MLX90601EKA-CAA供电电压是+5V。CS和IR、TEMPOUT脚直接接 MCU的普通I/O口即可,但由于其内部电路的某些原因,致使这样接的电路IR、TEMPOUT脚采集的信号始终为0。解决方法是在MLX与MCU之间接入一个三态门(如74HC125):MLX的CS脚与三态门控制端(EN)都接入MCU的I/O口,将MLX的输出信号先接入三态门输入端,然后将输出信号再接入到MCU的I/O口即可。
SPI接口电路如图4所示,也需用三态门进行转接。当MLX的片选信号出现一个下降沿时,写命令开始,再出现一个上升沿时写命令结束。其间共有32个时钟脉冲出现,始终上升沿有效。读命令也如此。SDI写命令的顺序是:8位命令、8位地址、16位数据,高位在前;在输入写命令8 个时钟周期后,在SDO口输出输入的命令码、地址码以及头8位数据以供校验用。读命令与写命令基本类似,不再赘述。
4.3 软件流程图
采集一个PWM周期的软件流程如图7所示。其中T为IROUT或TEMPOUT引脚输出值。采用定时器0或1记录一个PWM脉冲的占空数:当T值由0变为 1时定时器开始计数,当单片机判断T值由1变为0时,提取TF0、TH0、TL0(或TF1、TH1、TL1)的值赋给一组中间变量,然后当T值由0变为 1时,再提取TF0、TH0、TL0(或TF1、TH1、TL1)的值赋给第二组中间变量。计算出两组中间变量代表的时间,第一组中间变量代表一个PWM 脉冲高电平的时长,第二组中间变量代表总时长,DutyCycle=第一组值/第二组值,代入3.1节中温度值计算公式则可以算出测得的温度值。
4.4 实验数据与结论
在实验中,MLX表现出很高的灵敏性和精确度,由于它是非接触式测量,所以应用场合非常广泛,并且在长时间工作的情况下对电路板散热性能要求不高,如果将该电路(设为Sensor1)及由接触式温度传感器(设为Sensor2)组成的电路都用密封罩罩住,测量罩内温度,经过一段时间,Sensor2示数能看到有明显上升趋势,这主要是因为Sensor2将电路板散出的热量也累加到环境温度中,而Sensor1的示数则基本保持平稳,因此在嵌入式使用且要求精度较高、响应速度较快的应用中,MLX90601系列红外测温模块是很好的选择。 |