您好, 访客   登录/注册

基于微处理器和外部传感设备实现的自动人体测温系统

来源:用户上传      作者:

  摘  要:新冠病毒具有强大的传染性,给全世界的医疗卫生组织都带来了难题。针对其显著症状之一的发热,我们设计了一种基于距离传感器和红外温度成像模块AMG8833等,通过多传感器数据融合技术实现的人体温度测量反馈系统。文章以STM32F103C8T6与西门子S7-200系列PLC为硬件基础,围绕测量、处理、显示和控制四个模块给出了简易的设计模型,可实现较为完善的功能。
  关键词:红外温度成像模块AMG8833;STM32F103C8T6;西门子S7-200系列PLC
  中图分类号:TN219 文献标志码:A         文章編号:2095-2945(2020)18-0040-02
  Abstract: Novel coronavirus is highly contagious, which brings problems to medical and health organizations all over the world. Aiming at the fever which is one of the obvious symptoms, we design a human temperature measurement feedback system based on distance sensor and infrared temperature imaging module AMG8833, which is realized by multi-sensor data fusion technology. Based on the hardware of STM32F103C8T6 and Siemens S7-200 series PLC, this paper presents a simple design model around four modules of measurement, processing, display and control, which can realize more perfect functions.
  Keywords: infrared temperature imaging module AMG8833; STM32F103C8T6; Siemens S7-200 series PLC
  引言
  2020年初,新型冠状病毒引发的肺炎疫情爆发。时至今日,全球已有几百万人感染,疫情防范刻不容缓。研究表明,对于新冠肺炎,发热是其显著症状,传统方式需要在小区,学校门口安排专人时刻在岗,同红用红外测温仪对进入的车辆行人一一检测,费时费力,同时增加了站岗人员的染病隐患。为此我们拟设计一个简易的基于微处理器的人体测温反馈系统,以便于实时监控与自动检测行人体温。
  本系统的核心为热成像技术,选用AMG8833热成像模块来监测周围温度,通过非接触探测红外热量,然后内部处理转换为电信号,进而将热图像与测得温度于显示器上直观显示,同时将识别的人体温度与标准温度进行比较,判断该行人是否有发热症状。硬件方面以STM32F103C8T6与西门子S7-200系列PLC为核心,以红外成像模块作为外设,构成了一个简单的测温反馈系统,着重于对于发热与正常温度行人的区分以及对于二者完成不同的控制内容,来实现更多场景的应用。
  1 系统模块设计分析
  在本设计中,测量模块为基本模组,用于外部温度以及被测人体距离的获取;处理模块为核心模块,选用stm32单片机对采集到的数据进行修正处理以及设置显示模块成像颜色;控制模块为实现模组,选用西门子S7-200系列PLC,并使其与单片机建立串行通信系统,充分发挥快速高效的特点。
  1.1 单片机与 PLC 的基本理论
  单片机是典型的嵌入式微控制器,相当于一个微型计算机,可以构成各种各样的应用系统,但想要实现既定的功能,还必须与其它元器件及软件构成系统,在其应用系统中,PLC是一个重要的功能模块。PLC是微机技术与传统的继电接触控制技术相结合的产物,其开关量控制系统的程序用顺序功能图来描述,具有可靠性高,通用灵活性强的特点,特别是PLC的程序编制,不需要专门的计算机编程语言知识,而是采用了一套以继电器梯形图为基础的简单指令形式,使用户程序编制形象、直观、方便易学。
  1.2 测量模块
  在系统中,AMG8833红外热成像传感器通过一个8*8的阵列实现了二维区域的温度检测(如图1所示),输出64个红外测温读数,相当于集成了64个红外温度传感器,对比一般的设备,其具备更高的集成度和测量精度;测量范围小于7m,在0℃-80℃之内,具有±2.5℃之内的误差,我们可以通过多次测量减小误差,以达到使用要求。研究表明,距离会对目标温度产生一定的测量偏差。根据数据,使用matlab软件绘制测量温度随距离变化曲线如图2所示,A为实际温度,B为红外测量温度,可见随着距离的增加,偏差逐渐增大。为此,我们加入距离温度补偿算法,对测得的温度进行修正。同时,选用HY-SRF05超声波测距传感器测量距离,此模块自动发送8个40kHz的方波,并自动监测返回信号,识别范围为2-450cm,精度高达3mm,满足设计要求。
  1.3 处理模块与显示模块
  STM32F103C8T6是一款基于ARM Cortex-M内核STM32系列的32位的微控制器,CPU主频72MHz,具备64kB闪存程序存储器,20K字节RAM,37个通用I/O口,以及SPI、IIC、USART等通信模块,将测量模块连接至处理模块,处理完成后将输出信号送至PLC以完成剩余任务。
  PLC选用西门子S7-200 系列。相比于传统的PLC,其整体设计紧凑且具有强大的通信功能,在自动化控制领域应用广泛;其控制系统由基本单元、个人计算机、STEP7-Micro/WIN编程软件以及通信电缆构成,在需要进行扩展时,还可以增加数字量/模拟量扩展模块、通信网络设备及相应的多种控制软件。   对于处理后的结果添加附属显示模块,在此我们选择使用一块0.96寸、分辨率为128*64的OLED屏幕作为外设,满足64个测得温度数值的显示来增强直观性。在接入屏幕之前,通过连接电脑上位机对于颜色的选取进行调试,处理后得到的8*8个温度数据,使上位机显示出矩阵形式的温度数值以供观察。
  1.4 控制模块
  在此模块我们采用STEP7-Micro/WIN编程软件进行主控PLC的程序设计,该编程软件是西门子公司为S7-200系列PLC单独设计的梯形图编程软件,可实现实时通信、在线监控等功能。梯形图语言作为PLC最常采用的编程语言,因其与继电器线路类似而受到广泛使用。PLC在收到单片机发送来的信号之后,控制电机使道闸进行抬起、放下或保持不动,同时每当放行一次过后单片机内部计数器加一,便于记录当日人流量。控制模块需要实现的功能包括初始化参数、PLC与单片机通信并控制道闸、显示人流量等。
  1.5 软件算法
  为实现目标功能,我们设计有距离补偿、温度显示与反馈、PLC通信三部分软件算法。由于距离偏差的增大会降低测温精度,我们采用距离补偿算法来修正。根据实验数据,推导距离-温度补偿公式1,其中x为测量距离,y为红外测得温度。[1]温度修正完成后得到精度较高的测量温度,将在显示屏或上位机显示,我们选取不同颜色来表示不同范围内的温度数值,根据人体标准温度与环境通常温度范围,选取25-35℃,35-37℃、37-38℃、高于38℃四个范围用不同颜色模拟热成像显示;同时与37.2℃进行比较,若小于此数值,返回放行信号,否则禁止通行。单片机与PLC之间一般采用异步串行通信方法,单片机的串行端口有数据寄存器SBUF,在一定条件下,单片机向SBUF写入数据时启动发送过程,向PLC发送命令帧格式,其包括特殊标志码、PLC站号以及呼叫字符,结束后PLC立即做出响应,同时向单片机发出响应帧,然后完成对道闸的控制。[2]当一个道闸抬放周期之后,PLC内部人数计数器加一,可方便的查看每一日的人流量,便于实施管理。[3]
  2 结论
  本文介绍了一个功能较为完善的自动人体测温系统,并且通过测距模块对真实温度进行修正,增加了系统的可用性,大幅提高了系统的精度。同时将STM32嵌入式单片机与西门子S7-200系列PLC相结合,提高了系统的性能,同时增强了系统的应用范围,可在诸如学校、餐馆、办公楼等人流量较大的环境中投入使用,节省了劳动力,避免了交叉感染,同时系统配套设计了外部保护设施,保证了系统能在各种恶劣环境下运行。
  参考文献:
  [1]葛泽勋,曹秒,安志勇.基于距离补偿的红外测温系统设计[J].长春理工大学学报(自然科学版),2019,42(02):57-60+64.
  [2]王琳,李欣,杨靖宇.PLC与单片机之间的串行通信及应用[J].电子测试,2019(14):86-87.
  [3]周柱,孫娇娜.基于树莓派和Python的人体随动测温系统的设计[J].农业装备与车辆工程,2018,56(10):61~64.
转载注明来源:https://www.xzbu.com/1/view-15251966.htm