基于GA-BP神经网络温度补偿的红外温度传感器设计
2019-04-10吕鸣晨刘清惓李东升
吕鸣晨,刘清惓,孙 星 ,李东升
(1.南京信息工程大学电子与信息工程学院,江苏南京 210044;2.南京信息工程大学大气环境与装备技术协 同创新中心,江苏南京 210044;3.江苏省气象探测与信息处理重点实验室,江苏南京 210044)
0 引言
在大气观测、生产、生活中,温度的测量至关重要。相比接触式测温,非接触式测温运用热辐射原理测量目标温度,测温元件与测温目标互不接触,在测量远距离、带电、移动的目标时具有较大优势。红外测温是非接触式测温的主要方式,该方法测温响应速度快,测量范围广[1]。
在医疗领域,JJF 1107—2003《测量人体温度的红外温度计校准规范》要求红外测温的最大允许误差为±0.2 ℃[2]。在农业领域,Wang和Gartung将红外测温技术应用在植物冠层温度的测量上,表明在监测植物冠层温度时要求达到较高精度,否则会造成植被损害[3]。因此在医疗、农业等领域,提高红外测温的精度有较高的应用需求。近些年,国内外的学者针对不同应用场合提出了一系列的红外测温技术。胡使用红外测温传感器对动物进行体温采集,通过17位模数转换器将模拟信号转换成数字信号,并运用线性插值法得到最终温度,误差为±0.5 ℃[4]。Savage使用红外测温仪在固定环境温度下测量散热器表面的温度,用多元线性回归的方法,对红外测温仪进行校准,校准后红外测温仪的绝对误差在0.15 ℃以内[5]。
由于在实际应用时,环境温度和目标温度可能是变化的。因此红外测温需要在一个宽环境温度范围内,对较大温度范围的物体精确测量。本文设计了一种高精度低噪声的温度测量电路,采用高精度高低温试验箱提供稳定的环境温度,对温度进行采集。BP神经网络算法广泛应用在各种场景,而在探究红外测温的影响参数时,BP神经网络算法相比线性插值法和多元线性回归法,非线性映射能力强,适应性强,精确度高[6]。为了进一步提高BP神经网络的稳定性,本文使用一种基于遗传算法优化的BP神经网络算法,实现了在环境温度在0~40 ℃内,对-10~+50 ℃物体温度的高精度测量。
1 红外温度传感器与测量系统设计
1.1 红外测温探头
红外温度传感器的探头主要由热电堆和热敏电阻组成。探头内部结构图如图1所示。
图1 探头结构图
红外测温技术基于黑体辐射定律,一切温度高于绝对零度的物体都在向周围发出红外辐射能量,通过测量物体自身的红外辐射能量来测定其表面温度[7]。红外传感器探头接收到测温目标发出的红外辐射之后,热电堆产生温差电动势,该电动势是一个模拟电压信号。红外温度探头上还集成了一个热敏电阻,用于温度补偿[8]。通过信号采集电路可以测出热电堆产生的电压以及热敏电阻的阻值,分别对应实际的温度差和环境温度。
1.2 高精度测量电路设计
红外温度传感器系统框图如图2所示。主要由Cortex-M3内核的STM32F103处理器、红外测温探头、温度测量电路和半导体制冷器温控模块等组成。
图2 传感器系统框图
测量电路实物图如图3所示。
图3 测量电路实物图
为提高温度测量精度,采用内置低噪声放大器的24位∑-Δ模/数转换器AD7794对信号进行采集;采用噪声1.2 μV,温漂系数3 ppm/℃的外部基准源ADR444为ADC提供基准电压;采用四线制法测量铂电阻与红外探头内热敏电阻阻值,可降低由导线电阻引起的误差;采用精度为 ± 0.01 %、5 ppm/℃温漂的精密电阻作为参考电阻;电路的地平面设计采用模拟地和数字地2部分,用0 Ω电阻单点耦合数字地和模拟地,从而降低高频数字信号对模拟信号的干扰。
使用Isotech的镓固定点、Fluke的水三相点和电压噪声低至3 nV的Fluke1595A测温电桥对铂电阻和探头内的热敏电阻进行校准标定。
温控模块采用多级半导体制冷器,通过改变输入半导体制冷器的PWM波占空比和电流方向,实现对铝片温度的控制。
2 实验平台搭建与测试
红外测温的影响因素有很多,其中环境温度是重要的影响因素[1]。为探求环境温度、红外探头输出电压与目标温度的关系,搭建了如图4所示的实验平台。
图4 实验平台实物图
实验测量使用喷有高吸收率的哑光黑漆铝片作为被测目标,用铂电阻直接测量其温度。半导体制冷器用于控制铝片温度,为了保证半导体制冷器的制冷效果,需在其背面安装散热器。本文采用的红外探头的视场角为-17.5°~+17.5°,将红外温度传感器和铝片固定在基板上使得红外探头正对铝片中心点,并保证铝片完全覆盖探头视场。采用高低温试验箱CTE-SGU9006-02F,提供实验环境温度。
实验开始时,将高低温试验箱设定为0 ℃,此温度为环境温度,通过红外探头上的热敏电阻可以测得。待数值稳定之后,控制半导体制冷器,将铝片稳定控制在-10 ℃,测量此时红外探头输出的电压值。随后控制铝片升温,同时测量各自电压值。
实验模拟21个环境温度,设定高低温试验箱温度从0~40 ℃每2 ℃改变,对每个温度点进行测量。在每个环境温度下,控制铝片温度从-10~+50 ℃变化,同时测量对应的电压值。通过串口将环境温度、目标温度和电压值3种数据,发送给上位机。绘制环境温度为0、10、20、30、40 ℃时,目标温度与红外探头输出电压的关系图如图5所示。
图5 不同环境温度下输出电压与目标温度关系
由图5结果可知,环境温度一定时,目标温度越高,电压值越大;目标温度一定时,环境温度越高,电压值越小。由于目标温度和电压成非线性关系,直接使用线性插值法会产生一定误差。因此本文使用经过遗传算法优化的BP神经网络算法,减少误差。
3 算法拟合与分析
3.1 BP神经网络和遗传算法拟合
BP神经网络具有良好的非线性映射能力,其采用基于梯度下降和误差逆向传播的学习方法,使得网络输出与训练样本的均方误差最小,具有自学习和推广概括的能力,适用于求解内部机制复杂的问题[9]。将拟合得到的公式通过代码的形式写入程序中,就可以由红外温度传感器测量到的环境温度和电压值求出目标温度。但初始权值和阈值对BP神经网络训练的结果影响很大,遗传算法可以对其进行优化。
遗传算法是一种模拟自然界遗传机制和生物进化论而成的一种并行随机搜索最优化方法。按照所选择的适应度函数并通过遗传中的选择、交叉和变异对个体进行筛选,使适应度值好的个体被保留,适应度差的个体被淘汰,新的群体既继承了上一代的信息,又优于上一代。反复循环,直至满足条件。遗传算法优化BP神经网络的目的是通过遗传算法得到更好的网络初始权值和阈值[10]。
本文采用遗传算法优化的BP神经网络,对采集到的21种不同环境温度,共1 281个样本数据进行训练,得到环境温度、热电堆输出电压值与目标温度的函数关系。BP神经网络结构模型如图6所示。
图6 BP神经网络模型图
设定BP神经网络输入层神经元为2个,输出层神经元为1个,隐含层神经元为15个,学习速率设为0.05,训练结果设为0.001,训练次数设为5 000,遗传算法个体编码长度为61,种群规模选择为50,交叉和变异概率分别为0.4和0.2。BP神经网络的隐含层传递函数选择tansig函数,输出层传递函数选择purelin函数。经过不断迭代运算,BP神经网络算法拟合得到三者之间关系式:
TO=purelin{tansig(Ta·Wi1+V·Wi2+θi)·Wki+ak}
(1)
式中:Wi1和Wi2分别是环境温度Ta和电压值V对应的由隐含层到输入层的权值;Wki为输出层到隐含层的权值;θi为隐含层阀值;ak为输出层阀值。
具体值如下:
,
ak=0.684 793。输入层节点数j=1,2,隐含层节点数i=1,2,…,15,输出层节点数k=1。
3.2 实验数据对比分析
为验证BP神经网络算法拟合的结果,另外测量200组数据作为验证样本。验证样本不同于训练样本。其中部分测量数据与BP预测数据结果对比如表1所示。
表1 BP神经网络预测结果对比
对200个测试样本进行计算验证可知,经过遗传算法优化的BP神经网络算法拟合,测量结果的最大绝对误差为0.05 ℃,平均绝对误差为0.033 ℃,均方根误差为0.035 ℃。
4 结论
本文设计了一种红外测温电路,采用内置低噪声放大器的24位∑-Δ模/数转换器对信号采集。使用低噪声的外部基准源为ADC提供基准电压。将模拟地和数字地隔离,降低了干扰。通过遗传算法优化的BP神经网络算法,拟合不同环境温度下传感器输出电压和目标温度的对应关系,得到精确的测温结果。本文设计的红外温度传感器实现在环境温度为0~40 ℃时,对-10~+50 ℃目标物体的测量。测量结果的最大绝对误差为0.05 ℃,平均绝对误差为0.033 ℃,均方根误差为0.035 ℃。
本文提出的基于遗传算法优化的BP神经网络算法对红外测温有较好的结果,但是未考虑到湿度、风力和太阳辐射等因素的影响。在后续的研究中,将搭建更完善的实验平台,拓宽测温范围,并进一步优化算法,提高红外测温的精度。