程自强 温红艳 邬苗 张津
摘 要:短时间内对人群进行体温检测,筛查并隔离疑似传染病患,可最大限度地降低病毒传播风险。在此背景下文章设计了基于STM32单片机的非接触式体温监测警报系统。该系统主要由STM32单片机、红外温度检测电路、报警电路等部分组成,可实现非接触式体温测量,测量精度可达0.1 ℃。
关键词:非接触式;体温监测;STM32
0 引言
体温检测是当前疫情防控有效的检测手段之一,其中红外测温技术是最常用的一种非接触式测温方法[1],其工作原理是利用红外辐射能量与物体温度的线性关系,测量并计算出物体的实际温度。非接触式体温检测在全球疫情防控中发挥着重要作用。
1 系统总体结构
本系统基于STM32单片机设计非接触式体温检测警报系统。系统由功耗低、性能高的单片机STM32F103ZET6、红外测温传感器MLX90614ESF、DS1302时钟电路、EEPROM存储电路、TFTLCD显示模块,蜂鸣器和LED警报电路构成。系统总体框架如图1所示。
2 系统硬件设计
2.1 微控制器选择
目前微控制器种类繁多,且仍在不断朝低成本、低功耗、小型化等方向发展。本系统采用意法半导体的STM32F103ZET6作为主控MCU,该芯片采用Cortex-M3内核,系统主频高达72 MHz。芯片的外部总线可以外扩SRAM和连接LCD等,通过FSMC驱动LCD,可以显著提高LCD的刷屏速度。本设计选用STM32F103ZET6,其性能指标符合设计要求且成本较低,同时也能确保整个系统高效稳定地运行。
2.2 红外测温电路
MLX90614系列测温芯片集成了红外热电堆传感器MLX81101和用于处理红外传感器的信号处理专用集成芯片MLX90302,内部含有热电元件、放大器、模数转换器,以及滤除热电元件噪声的数字滤波器,具有极高的温度稳定性。由于集成了低噪声放大器、17位模数转换器和强大的数字信号处理单元,可以实现对温度监测的高精度性,进行分辨率为0.14 ℃的测量[2]。工作原理为红外热电堆传感器输出的温度信号经内部低噪声、低失调的运算放大后进行数模转换为17位的数字信号再通过可编程FIR及IIR低通数字滤波器处理后存储在RAM存储单元中,并通过SMBus读取输出,因此引脚选用PWM/SDA。
3 系统软件设计
系统软件部分主要针对MLX90614紅外测温传感器、DS1302时钟、AT24C02、TFTLCD液晶显示等模块进行驱动调试,以及配合按键、蜂鸣器、LED等模块的功能特点和通信协议进行设计开发。系统程序流程如图2所示。
其中MLX90614红外测温传感器采用SMBus数据传输协议,该协议规定同一时刻总线上只能有一个主设备有效。主设备可通过“读数据”和“写数据”与从设备进行交流,数据包含2个字节,每次传输一个字节。每个字节按高位(MSB)在前,低位(LSB)在后的格式传输,两个字节中间的第9个时钟是应答时钟[3]。
4 系统功能测试
通过软硬件联调,基于STM32的非接触式体温检测警报系统可实现温度测量、LCD液晶显示、时钟设置及显示、温度上下限调节、温度超过上限触发声光报警等功能。本设计采用了图形化的UI设计风格,能够准确测量体温和环境温度,并根据当前测量体温提示体温偏低、正常或是偏高,并分别以蓝色、绿色、红色圆环标记所测体温状态。经过综合测试,系统完全满足设定的任务要求,图3为不同环境温度的实测结果及不同体温的测量结果。
5 结语
本文设计了基于STM32的非接触式体温监测警报系统,该系统体积小、处理能力强、测量精度可达0.1 ℃。系统能够完成非接触式体温测量,与传统的直接接触式温度计相比,有效解决了测量时间长、存在交叉感染风险等缺点,是一种方便快捷的检测手段。
[参考文献]
[1]余国卫.基于单片机的非接触式测温系统[J].电脑知识与技术,2017(24):206-207.
[2]周江.STM32单片机原理及硬件电路设计研究[J].数字技术与应用,2015(11):1-2.
[3]LEE H H.Shear strength and behavior of steel fiber reinforced concrete columns under seismic loading[J].Engineering Structures,2007(29):1253-1262.
(编辑 何 琳)