一种基于STM32 的实验室监控系统设计
2022-07-11金炜翔赖忠喜
金炜翔 赖忠喜
(台州职业技术学院机电工程学院 浙江省台州市 318000)
1 引言
高校实验室是高等学校进行实验实训、科研创新的重要场所,实验室里存放着大量的实验设备、精密的科研仪器、危险的化学药品等,而且实验室使用频繁,一旦发生意外,严重威胁到科研人员和学生人身安全的同时,也会给高校带来巨大的财产损失,实验室的安全问题已成为实验室工作中的重中之重,目前我国大部分高校实验室监测系统存在如下不足:一是传统实验实监控系统系统监测方式单一,需要好几套系统来实现实验室监控所有功能,缺少集中化、综合化等优点,二是传统实验室监控系统采用短信报警的方式来提醒实验室发生灾情,而管理人员不知道实验室所发生报警时的实时画面,三是实验室监控系统信息化程度低,实验室环境无法实时监控等问题,为此本文利用物联网技术,设计了一种基于STM32 的实验室监控系统,该系统实现了火灾预警、实验室环境监控、防盗、智能门禁、实验室设备远程监控等功能,能及时发现和处理实验室各种安全隐患,解决了传统实验室安全性差、监控功能不完善等问题。
2 系统整体设计
图1 为一种基于STM32 的实验室监控系统的总体结构框图,系统由数据采集模块、门禁模块、声光报警模块、控制器模块、执行模块、Wi-Fi 通信模块、摄像头模块、显示模块和电源模块等构成,控制器模块通过数据采集模块采集实验室的环境参数,然后根据所采集的这些参数对各个模块进行相应的控制,使实验室处在一个舒适的环境下,同时系统会将实验室相关参数、设备状态上报给阿里云服务器,云服务器再将相关数据发送到移动终端APP 上,当实验室出现报警的情况时,系统会拍摄现场照片并将照片和报警信息等相关数据推送至云服务器和手机APP 上,管理人员在阿里云平台和手机APP 上都能看到实验室的环境参数、设备状态、报警信息和所拍摄的现场照片等信息,同时也可通过手机APP 也可对实验室的执行设备进行控制,从而实现对实验室的远程监控。
图1: 系统总体结构框图
3 系统硬件设计
3.1 控制器模块的选择
控制器模块采用意法半导体公司生产的一款基于CORTEX M4 内核的STM32F407ZGT6 单片机, 该单片机功能强大,主时钟高达168MHZ,具有192KB SRAM、1024KB FLASH、2 个DMA 控制器(共16 个通道)、3 个SPI、3 个IIC、6 个串口、17 个定时器、2 个CAN、3 个12 位精度的ADC、1 个FSMC 接口、1 个RTC 以及114 个通用IO 口等资源,而且其内部还自带有数字摄像头接口(DCMI),能进行复杂的计算与控制,非常适合在此场合应用。
3.2 数据采集模块的设计
数据采集模块主要用于采集实验室的环境参数,包括光照度检测模块、温湿度检测模块、可燃气体检测模块、火焰检测模块、震动传感检测模块和人体红外检测模块。其部分电路原理图如图2 所示,光照度检测模块采用BH1750 光强度传感器,是一种用于两线式串行总线接口的数字型环境光强度传感器,供电电压为3-5V,传感器内置16bitAD 转换器,省略复杂计算和标定,通过相应的指令操作即可读取出内部存储的光照度数据。数据传输使用标准的 I2C 总线,按照时序要求操作起来非常方便,其电路原理如图2(a)所示。
图2: 数据采集模块部分电路原理图
温湿度检测模块采用的DHT11数字温湿度复合传感器,其输出的温湿度就是数字量,电路中不需使用A/D进行转换,温度精度±2℃,测量范围 0~50℃,空气相对湿度±5%RH,测量范围为20~90%RH。DHT11 数字温湿度传感器连接方法很简单,如图2(b)所示,DHT11 的第1 和第4 引脚分别接到3.3V 电源和GND 上,单片机的PB14 引脚与作为数据端口的DHT11 的第二引脚相连接,同时为了保护单片机的I/O 口和防止信号干扰,在PB14 引脚上接一个5K 的上拉电阻。
可燃气体检测模块采用MQ-2 气体传感器,该传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2),当传感器所处环境中存在可燃气体时,传感器的电导率随空气中可燃气体浓度的增加而增大,其输出的电压数值就越大。其电路原理图如图2(c)所示, MQ-2 传感器的第4 脚和第6 脚为输出的电压模拟量信号,与单片机的PF7 相连接,采用单片机自带的12 位A/D 模块实现采集信号的模数转换。
震动传感检测模块采用SW-420 型震动传感模块,该模块以输出引脚的高低电平来判断震动的检测状态。当检测到外部有振动信号的时候,其输出引脚会输出一个高电平,信号指示灯亮起。并且可以通过调节模块的变位器调节模块的灵敏度,降低模块误报率。传感器的输出引脚与STM32 单片机的 PB15 相连接,其电路原理图如图2(d)所示。
火焰检测模块采用Risym 火焰传感器,该传感器可以检测火焰或者波长在760 纳米~1100 纳米范围内的红外光源,探测角度60 度左右,对光焰光谱特别灵敏,工作电压3.3-5V,该传感器可以将环境中的红外光的强弱变化转换成电流大小的变化,然后经过单片机的A/D转换模块后变成数值的变化。人体红外检测模块采用由HC-SR501 人体红外感应传感器,该传感器也是通过输出引脚的高低电平来判断实验室来人状况。
3.3 继电器模块的设计
继电器模块电路原理图如图3 所示,由于单片机的I/O口不能直接驱动继电器,因此采用三极管放大来驱动继电器,为避免信号之间的相互干扰,系统采用开关光耦将输出通道进行隔离,当STM32 单片机的PG6 输出为低电平时,光耦导通,三极管Q4 饱和导通,D11 指示灯点亮,继电器线圈通电从而控制执行设备电气回路导通启动工作;当PG6 输出为高电平时,光耦截止,三极管Q4 处于截止状态,继电器线圈不通电,执行设备电气回路断开不执行动作。
图3: 继电器模块电路原理图
3.4 电源模块的设计
电源模块主要为系统的各个元器件提供电源,本系统中各个元器件所需要的供电电压为DC12V、5V 和3.3V。其中12V 主要给窗帘电机和电磁门进行供电,采用明纬开关电源将交流220V 转为直流12V,该开关电源具有短路、过负载和过压的保护功能,具有体积小,效率高和可靠度高等优点。直流12V 转5V 的转换芯片采用RT7272B 电源转换器,RT7272B 是一种高效率,电流模式同步降压型DC / DC 转换器,可提供高达3A 的输出电流,其电路原理图如图4 所示, RT7272B 的第3 引脚EN 通过一个电阻接到第8 引脚上,使RT7272B 一直处于使能状态,第7 引脚RLIM 通过180K电阻接到GND 端,用来确定电流限值,第6 引脚COMP 通过一个RC 网络接地,用于补偿调节控制回路,选取合适阻值的电阻R5 和R9,使RT7272B 的输出为5V 电压。5V 的电源主要给震动传感检测模块、火焰检测模块继电器模块和显示模块供电,直流5V 转3.3V 采用LM1805-3.3 线性稳压器来实现, LM1085 是一款单芯片集成的电压转换器,提供3A 电流输出,具备过流和过温保护,具有可靠的工作性能、较高的工作效率。3.3V 电源主要负责给控制器模块、WIFI通信模块、摄像头模块等进行供电。
图4: 电源模块电路原理图
3.5 摄像头模块的设计
摄像头模块采用Omni Vision 公司生产的 1/4 寸 CMOS摄像头OV2640传感器,该摄像头具有体积小,工作电压 3.3V的低电压特性,再加上 OV2640 在低照度环境下仍然具有较高灵敏度,在夜间也能较好的采集图像,特别适合嵌入式开发应用。OV264 摄像头模块引出的排针接口如图5 所示,STM32 单片机通过IIC 总线与OV2640 配置端口(SCCB)连接,对OV2640 摄像头模块的分辨率大小、图像格式与图像方向等功能进行设置,通过自带的DCMI 总线接口与OV2640 摄像头DVP 接口相连接,对摄像头采集到的图像像素数据进行控制输出,本系统设置摄像头输出为UXGA模式,分辨率为1600×1200,并以RGB565 图像输出格式来实现输出图像数据。
图5: 摄像头模块原理图
3.6 Wi-Fi通信模块的设计
Wi-Fi 通讯模块选用ESP8266Wi-Fi 模块,其电路原理图 如 图6 所 示,ESP8266Wi-Fi 模 块 的RXD、RST、CH_PD、TXD 分别与单片机的PB10、PB13、PB12 和PB10 相连,其中RXD 和TXD 作为数据的收发引脚;RST 引脚连接复位信号,低电平时复位;CH_PD 为ESP8266 的供电控制引脚,低电平可停止供电。ESP8266 Wi-Fi 模块集成了ESP826EX 芯片和4 MB SPI FLASH, 带有PCB Wi-Fi 天线,支持SofteAP 模式,station 模式以及混合模式三种Wi-Fi 工作模式,本系统中,ESP8266 采用station 模式,利用透传功能将数据进行上传。
图6: Wi-Fi 通信模块电路原理图
3.7 其它模块的设计
显示模块主要用于显示数据采集模块采集到的环境参数,同时也显示按键密码锁、指纹识别的提示信息和设置实验室各环境参数的阈值,所述显示模块采用ATK-4.3 寸TFTLCD 电容触摸屏,分辨率为 800*480,16 位真彩显示,采用 NT35510 驱动,该芯片直接自带 GRAM,无需外加驱动器,该LCD 采用16 位8080 并口,触摸屏采用IIC 接口与STM32 单片机进行通信,
门禁模块采用指纹识别技术和按键密码的两种识别方式实现门禁系统的认证,指纹识别模块采用AS608 指纹识别模块,AS608 指纹识别模块中内置DSP 运算单元,集成了指纹识别算法,能高效、快速完成指纹图像的采集、特征提取、特征匹配等指纹识别过程。用户不必再去研究复杂的指纹识别算法,节省时间,只需通过模块配备的串口按照通讯协议就能实现对指纹模块的控制。密码按键模块采用采用4×4 矩阵键盘模块,实现按键密码锁的功能,模块引出的8 个引脚与STM32 单片机的GPIO 口连接,通过程序设计实现其相关功能。
4 系统软件设计
本系统以KEIL C5 作为程序编译软件,用C 语言编写具体的程序代码,图7 为系统的主程序流程图,系统开始工作时,首先进行各个模块的初始化,包括GPIO 端口初始化、串口初始化、定时器初始化、A/D 初始化、LCD 屏幕初始化、Wi-Fi 通信模块初始化和摄像头模块初始化等。接着采用密码按键模块设置实验室各环境参数的动作阈值和报警阈值,然后数据采集模块采集实验室的环境参数,之后处理门禁系统的请求和TFT 液晶屏的显示,控制器根据所采集的实验实的环境参数对各个执行机构进行控制,如当定时器定时时间到时,系统自动连接云服务器,同时上传实验室的环境参数和设备状态到云服务器,云服务器再将相关数据发送到手机APP 上,接着系统判断是否有报警事件发生,报警事件包括:
图7: 系统主程序流程图
(1)环境参数超出报警阈值;
(2)指纹识别错误次数超过三次;
(3)密码输入错误次数超过三次;
(4)有非法入侵者进入实验室;
(5)发生火灾等报警事件。
如发生报警,系统马上会进行声光报警,同时触发摄像头模块进行拍摄现场照片,然后通过Wi-Fi 无线通信模块连接到阿里云服务器,并将实验室的环境参数、设备状态、拍摄的照片和报警信息上传到阿里云平台,系统使用对象存储OSS(Object Storage Service)的云储存服务存储所拍摄的照片,通过API 接口将所传送来的图片数据发送到手机APP 上,在阿里云平台和手机APP 上都能看到实验的环境参数、设备状态、报警信息和所拍摄的现场照片,接着系统会判断云服务器是否有控制命令发送给控制器模块,若有则控制器模块再驱动相应执行模块进行相应的动作,若没有系统则重新进行实验室环境参数的采集,进行周而复始的循环运行。
为在实验室工作的老师和同学提供一个舒适的环境。实验室的执行机构控制策略为:
(1)当实验室采集的温度或者湿度超出设定的阈值时,则打开空调进行调节,使实验室的温度和湿度控制在人舒适的范围内。
(2)当实验室采集的光照度高于设定的最高阈值时,关闭照明装置并且驱动窗帘系统关闭窗帘以降低室内光线,当实验室采集的光照度低于设定的最低阈值时,打开照明装置并且驱动窗帘系统拉开窗帘增强室内光线。
(3)当实验室采集的可燃性气体浓度高于设定阈值时,开启排风装置。
(4)当系统检测到实验室发生火灾时,则开启灭火装置。
手机APP 应用程序使用阿里云自带的IoT Studio 的移动可视化开发工具开发,该工具方便地将各种图表组件与设备相关的数据源关联,无需编程,即可将物联网平台上接入的设备数据进行可视化展现。APP 的测试界面如图8 所示。
图8: APP 测试界面
5 总结
为了给实验室的师生提供一个安全舒适的教科研环境,实现实验室的远程监控功能,设计一款基于STM32 的实验室监控系统,该系统能够及时发现和处理各种实验室发生的突发事件,降低了实验室管理员的工作难度,提高了实验室的安全性和管理水平,具有一定的应用推广价值。