基于STM32的红外热成像测温系统的设计

2021-03-02 10:56
自动化与仪表 2021年2期
关键词:热像仪测温红外

(武汉工程大学 电气信息学院,武汉430205)

红外热成像技术是一种新兴的综合性技术,该技术利用不同物体自发地向外发出红外辐射能量的差值进行成像,具有极强的环境适应能力,不受外界制约因素如烟雾、亮度的影响。红外热成像技术最早应用在军事领域,现如今逐渐从军事领域延伸到民用领域,特别是在工业检测、安全监控、森林防火、医疗诊断等方面取得了较大的发展[1]。温度数据采集的速度和精确度直接影响被监控对象温度分布状况的检测。本文设计的基于STM32的红外热成像测温系统具有快速且无接触的优势,在复杂多变的环境下检测到热红外信息并精确测温,比如在2020年流行的新型冠状病毒疫情中,病毒感染者体温大多维持在38℃以上,利用红外热成像测温系统对人群进行检测,筛查出发热个体并及时采取相应措施,以减少病毒传播。本文在对红外热成像测温原理以及系统总体设计介绍的基础上,结合嵌入式ARM的特点,进一步研究了红外图像的处理算法。

1 热成像测温技术简介

任何物体只要高于绝对零度(-273.15℃)时,都会不断地以电磁波的形式向外发出辐射电磁波,辐射的能量中包含各种波长的电磁波,其中波长在0.76~1000 μm 范围内为红外线,热作用强,又称为红外热辐射。红外热成像测温技术正是利用被测物体的红外辐射能量和自身温度的关系来达到测温的目的,其理论基础是普朗克辐射定律,该定律揭示了黑体的辐射能量和波长以及热力学温度的关系[2]。通过红外热像仪传感器探测物体的红外辐射,经过一系列的信号和数据处理,把红外辐射信号转化成温度值和可视化红外热图像。

2 系统硬件设计

红外热成像测温系统主要由STM32 主控制器、红外热像仪传感器模块、TFTLCD 显示屏模块、蜂鸣器模块组成,本文系统的硬件设计框图如图1所示。红外热像仪传感器将物体红外辐射转换成数字信号,通过IIC 总线与主控制器进行通信,数据经过STM32 主控制器运算后,在TFTLCD 屏幕上显示红外热图像和实时监测的温度信息,温度过高时伴随有蜂鸣提示。

2.1 STM32控制器

本系统中采用意法半导体(ST)公司开发的STM32F103ZET6 芯片作为MCU,其功能十分强大。该芯片是基于ARM Cortex-M3 内核的32 位微控制器,主频为72 MHz,可实现单周期的乘除法运算[3];内置高速存储器 (64 KB SRAM,512 KB FLASH);还包括3个SPI 接口、2个IIC 接口、5个串口以及112个通用IO 口。这些丰富的接口和资源,可以实现多种数据传输方式,从而方便地进行各种外设的开发。

2.2 AMG8833 热像仪传感器

本系统传感器选用松下Grid-EYE 红外阵列传感器AMG8833,采用一体化的紧凑SMD 封装,是基于先进MEMS 技术的高精度红外阵列传感器。通过8×8(64 像素)实现了二维区域的温度检测,根据被测物体表面的温度和其周围温度之间的差值来计算热损失,从而识别体感温度,得知被测物体的温度分布。该传感器不仅能够检测到移动的人体或物体,还能检测到静止物体的发热位置和表面温度,温度测量范围为0℃~80℃,精度为±2.5℃,可以从远达7 m的位置检测人体。传感器通过IIC 进行通信,系统中连接到STM32控制器时,正常工作状态下将通过IIC 返回一组64个单独的红外温度读数,STM32控制器再对得到的数据进行后续处理。AMG8833 红外热像仪传感器结构紧凑而简单,便于集成,广泛应用在多功能电器、安防设备、门禁控制等多个行业,从而实现设备的智能化。

2.3 TFTLCD 显示屏

选用3.5 寸TFTLCD 彩屏作为系统的显示模块,支持16 BIT RGB 65K 色显示,显示色彩丰富,显示频率为320×480,可以显示图片、汉字、数字等,采用16 位并行总线传输,很大程度上提高了显示屏的传输速度[4]。TFTLCD 显示屏主要用于显示系统的一些实时信息,包括红外热图像信息以及被测物体的温度数值。

3 系统软件设计

红外热像仪通过采集被测对象辐射出来的红外信息,在系统中对其温度进行分析并成像。红外热成像测温系统主要包括3个模块:第一个模块是数据采集模块,主要通过AMG8833 传感器来实现对红外信息的采集;第二个模块是数据处理模块,传感器采集到的温度信息通过IIC 接口传递给STM32 主控制器,主控制器对64个像素点温度信息进行插值运算;第三个模块是图像显示模块,通过TFTLCD 屏显示像素点色块构成热图像。系统程序流程如图2所示。

图2 系统程序流程Fig.2 Flow chart of system program

3.1 目标温度信息采集

在AMG8833 初始化函数中,对传感器的工作参数进行配置,比如工作模式、复位方式和设定帧率,初始化成功以后,AMG8833 通过128个Temperature 寄存器一次性读取64个像素点的红外温度,存储在自定义的数组中,原始温度信息如图3所示。

图3 AMG8833 采集的原始温度信息Fig.3 Original temperature information collected by AMG8833

Temperature 寄存器是一个8 位寄存器,红外点阵测量一个单位像素点的温度值由一个8 位高地址寄存器和一个8 位低地址寄存器共同表示。此外,传感器长时间工作可能会受到内能的影响,该模块自带热敏电阻,其温度值存储在Thermistor 寄存器,可在程序设计中利用热敏电阻温度值来修正测量温度。

3.2 IIC 总线读取AMG8833模块数据

AMG8833模块通过IIC 总线和主控制器进行通信,在快速模式下通信速率可达400 kb/s。IIC 总线是PHLIPS 公司在80年代推出的一种双线式串行总线,最主要的优点是其简单性和有效性。在物理连接上,分别由SDA(串行数据线)、SCL(串行时钟线)及上拉电阻组成。IIC 总线在传送数据过程中共有3种类型信号:SCL为高电平时,SDA 由高电平向低电平跳变表示起始信号,开始传送数据;SCL为高电平时,SDA 由低电平向高电平跳变表示终止信号,结束传送数据;应答信号在第9个时钟上出现,SDA 输出低电平为应答信号,输出高电平则为非应答信号。数据传输的过程如图4所示。

图4 数据传输过程图Fig.4 Data transfer process diagram

3.3 TFTLCD 软件设计

TFTLCD 屏采用16 位并行方式与STM32 主控制器连接,初始化程序中设置TFTLCD 接口的IO 引脚,模拟8080 总线来控制屏幕显示。8080 并口主要包括片选信号CS、复位信号RST、向LCD 写数据控制信号WR、从LCD 读数据控制信号RD、数据/指令选择信号RS 和16 位双向数据线。初始化成功后,通过LCD_Fill 和LCD_ShowNum 函数将图像、字符和数字显示在屏幕上。这两个函数的实现流程基本一致,先设置坐标位置(x,y),然后给LCD 屏发送写GRAM 指令,最后再写入颜色数据,重复这个步骤,从而实现图像和字符的显示。

4 红外图像增强算法

AMG8833模块的分辨率为8×8,显示出来即为64个方格的色块,由于像素过低导致成像不直观,视觉效果较差。对低分辨率的图像进行增强处理,有效的方法就是提高图像的分辨率[5],因此本系统采用双三次图像插值法(bicubic interpolation)来提高图像的分辨率。该算法考虑了插值像素点四周4×4 范围内16个邻近像素的影响,待求像素的像素值计算公式如下:

式中:(x,y)为原图中的像素坐标;u为列数偏差;v为行数偏差;A、B、C 均表示矩阵。设原图灰度矩阵为Im,则:

其中式(2)和式(4)中的S(x)函数为

从计算过程来看,双三次图像插值法计算复杂度较高,但能创造出更平滑的图像边缘,在一定程度上保证了图像像素值的连续性。经过双三次插值算法处理后,图像的平滑过渡性满足人眼的生理视觉要求,成为目前二维空间中常用的一种图像插值方法[6]。

5 系统调试结果

红外热成像测温系统运行效果如图5所示,TFTLCD 屏实时显示两部分信息,一是大小为320×320的热图像,二是被测物体的最高和最低温度。

图5(a)是AMG8833 传感器采集的原始红外温度值未经处理显示的热图像,图5(b)是对原始图像经过双三次插值法增强处理的热图像。实验结果表明,本系统实现了热图像的实时采集和温度的显示,并且经过两幅图对比,图像插值后显示效果更佳,保留了图像的连续性,同时使得细节更为突出。

图5 系统运行效果图Fig.5 Operation effect of the system

6 结语

本系统采用STM32F103 作为主控制器,驱动红外热成像传感器AMG8833 对被测物体进行测温,同时将热图像和目标温度实时显示在TFTLCD 屏幕上。系统在实际运行过程中,热图像显示效果良好,被测温度在误差范围之内,符合设计要求。该设计结构精简、便于集成、测量速度快、有效测量距离长达7 m,可制作成便携式红外热像仪,具有较为广泛的应用前景。

猜你喜欢
热像仪测温红外
网红外卖
闪亮的中国红外『芯』
TS系列红外传感器在嵌入式控制系统中的应用
变压器光纤测温探头的安装固定
基于快速递推模糊2-划分熵图割的红外图像分割
俄罗斯BTR—82A装甲人员输送车集成新型热像仪
基于DS18B20的单片机测温系统
空间噪声等效温差测试方法研究
平房仓空调设计及热像仪应用报告
基于ARM的高精度测温系统设计与实现