基于STM32 单片机的非接触式红外测温系统设计

2022-08-08 15:23:44陈静CHENJing李鑫LXin
价值工程 2022年23期
关键词:蜂鸣器测温插值

陈静CHEN Jing;李鑫LⅠXin

(南京理工大学紫金学院,南京 210023)

0 引言

随着新冠疫情的全球性发展,传统接触式测温的测量方法和测量速度都已无法满足需求[1,2]。相比于接触式测温,非接触式红外测温耗时短、灵敏度高、测量范围宽,而且不会对被测物体造成影响,因此非接触式红外测温已成为测量体温的主流方式[3,4]。但目前市面上主要应用的测温系统大多只显示温度,不能直观地显示具体的测量部位,因此本文设计一种能同时显示热像图和具体温度的测温系统。

本文设计的非接触式红外测温系统采用STM32F103MCU 作为主控芯片,采用AMG8833 红外热成像模块作为传感器,实现非接触式快速测温,并能够实时显示热像图,当温度超过设定阈值时能够报警,该系统使用方便快捷,具有一定的实用性。

1 总体方案设计

本系统主要基于STM32F103ZET6 单片机开发平台,获取AMG8833 红外热成像传感器采集的信息,完成信息计算与处理并显示被测物体温度,系统的整体设计方案如图1 所示。

图1 系统整体设计方案

本设计主要实现的功能如下:

①在TFT-LCD 显示屏上显示动态热像图;

②在热像图的右侧显示三个数据(图像中的最大温度、最小温度和中间位置温度);

③当中间位置温度大于预设值(系统默认预设值为50℃,显示在热像图下方)时,LED 灯亮,蜂鸣器响,表示警报;

④通过按下设置按钮,可增加或减少预设值,每次增加或减少1℃;

⑤按下复位按钮,系统还原到初始状态。

2 系统硬件设计

非接触式红外测温系统的硬件设计分为6 个子模块,分别是AMG8833 红外热成像模块、TFT-LCD 液晶显示模块、复位模块、按键模块、LED 模块和蜂鸣器模块。

AMG8833 红外热成像模块:该模块可测量产生8*8的热像矩阵,通过I2C 通讯将数据传至MCU。在设计时将IIC_SCL 引脚与STM32 的GPIOB6 引脚连接,SDA 引脚与GPIOB7 引脚连接,达到I2C 通讯的目的。

TFT-LCD 液晶显示模块:该模块采用RGB565 编码,接收MCU 通过热像矩阵计算出的RGB 颜色矩阵,并实时显示热像图,同时可显示图像中的最大温度、最小温度和中间位置温度。TFT-LCD 模块采用16 位并行数据通讯与MCU 相连。

复位模块:该模块的RESET 端接到STM32 的NRST引脚,实现单片机的低电平复位。在设计电路时,将TFTLCD 的复位引脚也接到RESET 处,达到在STM32 复位的同时复位TFT-LCD 液晶屏的效果。

按键模块:该模块KEY0 和KEY1 端分别与STM32的GPIOE4、GPIOE3 引脚相连,实现温度预设值的增加或减小。在设计电路时并没有使用上拉电阻,需要使用STM32 自身的上拉电阻,因此在配置IO 口时对应设置为上拉输入模式。

LED 模块:该模块LED0 端与STM32 的GPIOB5 引脚相连,当温度超限时,GPIOB5 引脚输出低电平,LED 灯亮以示告警。

蜂鸣器模块:该模块BEEP 端与STM32 的GPIOB8 引脚相连,当温度超限时,GPIOB8 引脚输出高电平,蜂鸣器发声。

系统整体硬件原理图如图2 所示。

图2 系统整体硬件原理图

3 系统软件设计

系统总体软件设计过程如下:

①初始化STM32 单片机、AMG8833 模块和TFT-LCD模块,完成通讯配置,为后续的操作做准备;

②采用I2C 通讯方式与AMG8833 红外热成像模块通信,读取采集的8*8 温度矩阵;

③找出温度矩阵中的最大值、最小值和中心点的温度;

④采用插值计算方法将8*8 的温度矩阵扩展为59*59 的温度矩阵;

⑤将59*59 的温度矩阵转换为RGB565 格式的图像矩阵,便于生成热像图;

⑥扫描按键状态,根据中心点温度是否超过设定阈值,选择是否进行声光报警;

⑦将温度数值和热像图输出显示至LCD 显示屏。

总体软件设计流程图如图3 所示。

图3 系统软件设计流程图

在上述过程中,采用插值计算进行温度矩阵扩展过程如下:

在TFT-LCD 屏幕上,8*8 共64 个像素点所能提供的视觉效果十分有限,甚至无法看到明显的变化,所以在设计程序时,必须加入合适的插值计算算法,将8*8 的矩阵扩大。本设计的插值计算算法是将原来的8*8 矩阵扩大到59*59,具体操作过程如下:

①将8*8 的矩阵均匀放入57*57 的矩阵中(除去原定59*59 矩阵中的第0 行、第58 行、第0 列、第58 列)。

②完成横向插值。假设矩阵中两个已有温度的点x1、x9之间有7 个待插值的点x2~x8,计算举例,以此类推,横向插值结束后温度点个数变为456 个。

③完成纵向插值。方法与横向类似,纵向插值结束后温度点个数变为3249 个,即57*57。

④完成第0 行、第58 行、第0 列、第58 列的插值。第0 行与第1 行完全相同,第58 行与第57 行完全相同,第0列与第1 列完全相同,第58 行与第57 行完全相同。插值完成后就可以得到一个59*59 的温度矩阵。

要想显示热像图,必须将温度矩阵转换成颜色矩阵。此设计采用的颜色编码对应温度从低到高分别是:黑色、蓝色、紫色、红色、黄色、白色。TFT-LCD 采用RGB565 编码,调节颜色就是改变R、G、B 三个值,最后通过二进制移位的方法生成一个具体的颜色,将这些颜色写入LCD 的GRAM 对应的像素点就会显示为对应的颜色。

4 测温系统实物测试

根据上述软硬件设计原理,完成非接触式红外测温系统如图4 所示。

图4 非接触式红外测温系统实物图

LCD 界面设计显示如图5 所示。它由热像图区域、数据显示区域、报警温度显示区域(对于中心点)和一个颜色条组成。图5 中显示的热像图为人的手势1 所呈现的热像图。从显示结果可以看出测温系统的结果准确度较高,可以用于实时测量人体温度。

图5 LCD 界面显示测试效果

5 结论

本文基于STM32 单片机设计了一套非接触式红外测温系统,结合AMG8833 红外热成像模块、TFT-LCD 液晶显示模块等实现了测温系统的软件设计和各模块的硬件设计,基于设计方案完成了非接触式红外测温系统的实物设计,对实物系统进行测试,验证了测温系统的有效性与可靠性,说明本文设计的系统能够用于实时测量人体温度,同时可以实时显示热像图,具有一定的实用性。

猜你喜欢
蜂鸣器测温插值
电动自行车产品车速提示音检测现状和整改技术研究(2)
掌控板制作简易钢琴
电脑报(2020年12期)2020-06-30 19:56:42
单片机驱动蜂鸣器的程序设计
时代农机(2019年2期)2019-04-24 01:20:14
基于Sinc插值与相关谱的纵横波速度比扫描方法
基于WiFi无线通信测温系统的设计
电子测试(2018年22期)2018-12-19 05:12:06
变压器光纤测温探头的安装固定
电子制作(2017年8期)2017-06-05 09:36:15
丰田凯美瑞240V车间隙警告蜂鸣器异常鸣响
基于DS18B20的单片机测温系统
电子制作(2016年21期)2016-05-17 03:52:50
一种改进FFT多谱线插值谐波分析方法
基于四项最低旁瓣Nuttall窗的插值FFT谐波分析