基于STM32单片机的环境温/湿度远程监控系统设计

2022-11-24 04:30刘小滨沈文浩
中国造纸学报 2022年3期
关键词:光催化湿度单片机

刘小滨 刘 寅 沈文浩

(华南理工大学制浆造纸工程国家重点实验室,广东广州,510640)

与液态和固态污染物相比,造纸工业在生产过程中排放的气态污染物包括SO2、NH3和挥发性有机污染物(VOCs)等,这会增加人体罹患呼吸道疾病的风险[1]。此外,由于造纸污染气体的成分复杂,对其进行检测具有盲目性,存在检测目标交叉、检测方法复杂繁琐以及检测结果滞后且灵敏度较低等问题,所以有关造纸污染气体的科学研究甚少[2]。因此,对造纸工业污染气体进行科学、全面、有效的检测和控制具有重要意义。

有研究表明[3],光催化氧化技术能够有效降解造纸污染气体且不产生二次污染,并在本课题组的前期研究中[4],环境温/湿度会影响光催化氧化降解气态污染物的效果和速率。为此,本课题设计了一款用于检测光催化氧化环境温/湿度的远程监控系统,可以实现在手机APP上对环境温/湿度进行实时、远程监控。该系统能为调控光催化氧化降解气态污染物的效率提供手段,以提高光催化技术在环境净化中的应用效果。

1 系统方案概述

本课题设计的温/湿度远程监控系统主要包括4个模块:控制模块、传感器模块、数据无线传输模块以及人机交互模块。控制模块以基于STM32的单片机(MCU,STM32F103VET6)为核心,驱动温/湿度传感器DHT11采集当前环境的温/湿度信号,并通过板载的ESP8266 Wi-Fi无线传输模块将温/湿度数据传输到手机上,最后在手机APP上显示实时的温/湿度以及数据曲线。该系统同时具备有高温度/高湿度报警功能,当环境温/湿度超过系统设定的阈值时,系统将自动启动蜂鸣器报警以提醒操作人员调控当前环境温/湿度。系统的总体结构框图如图1所示。

图1 系统总体结构框图:(a)DHT11温/湿度传感器;(b)以STM32F103VET6单片机为核心的控制模块;(c)Android手机APPFig.1 Block diagram of overall structure of the system:(a)DHT11 temperature/humidity sensor;(b)STM32F103VET6 microcontroller;and(c)APP on Android mobile phone

2 系统硬件设计

本系统的硬件除了信号采集电路、控制电路以及无线传输电路,还包括如下模块:电源模块、存储模块、调试模块及报警模块。系统硬件设计的总体结构框图以及各主要硬件模块与控制器的连接电路原理图如图2和图3所示。

图2 系统硬件总体结构框图Fig.2 Design block diagram of overall structure of system hardware

图3 主要硬件模块与控制器的连接电路原理图:(a)DHT11温/湿度模块;(b)ESP8266 Wi-Fi无线传输模块;(c)蜂鸣器报警模块Fig.3 Schematic diagram of the connection circuit between the main hardware modules and the controller:(a)DHT11 temperature/humidity module;(b)ESP8266 Wi-Fi wireless transmission module;and(c)buzzer alarm module

2.1 控制电路设计

主控制器是整个系统的核心,承担着实现功能、处理数据和规定时序等任务。因此,在控制器的选型上要考虑其具有足够大的程序空间和数据运算空间[5]。

针对系统功能需求,本课题选用了基于ARM架构和Cortex-M3内核的32位STM32F103VET6控制器芯片(单片机),该芯片具有功能各异且可复用的100个引脚并集成了如USART(通用同步/异步串行接收/发送器)、I2C(I2C总线)和SPI(串行外设接口)等常用通信接口,可用于外接各种传感器和执行器以控制其他设备,满足用户需求。

2.2 温/湿度数据采集电路

为了采集当前环境的温/湿度数据,本课题采用了低成本、高灵敏度和精度的DHT11温/湿度传感器。该传感器集成度好,能同时测量环境的温度和湿度并将信号直接转换成数字信号输出[6]。同时,DHT11与控制器电路连接简单,只需将其DATA引脚与控制器上任一GPIO(通用输入输出)口的引脚连接并通信,VCC与GND由控制器的电源电路供电。温/湿度数据采集电路如图3(a)所示。

2.3 基于Wi-Fi的无线传输电路

该电路实现的功能是手机(上位机)通过Wi-Fi信号与单片机系统进行连接通信。控制器接收到手机发送的指令后,将储存在RAM中的温/湿度数据通过USART接口传输到ESP8266 Wi-Fi无线传输模块中,并进行数据打包和校验标识,最后以规范的Wi-Fi通信协议进行上/下位机的数据传输以保证数据的准确性[7]。ESP8266 Wi-Fi无线传输模块的电路接线如图3(b)所示。

2.4 蜂鸣器报警电路

由于环境温/湿度会影响光催化氧化降解污染气体的效率[8-9],所以需要设定一个温/湿度阈值以保证光催化氧化反应的效率。故本课题设计了温/湿度阈值超限的蜂鸣器报警电路,该电路采用低电平触发的有源蜂鸣器,当环境温/湿度高于设定阈值时,则会触发蜂鸣器发出报警,提醒操作人员及时调整温/湿度以稳定光催化氧化反应速率。蜂鸣器报警电路原理图如图3(c)所示。

3 系统软件设计

本系统的软件设计可分为单片机嵌入式软件设计和Android手机APP软件设计。嵌入式软件设计包括编写外设驱动、通信协议实现以及主程序代码等,以实现数据采集和无线传输的功能;而Android手机APP软件设计包括编写界面设计、通信协议实现、数据可视化显示以及主程序代码,以实现接收并显示传感器数据、给单片机发送指令以及记录数据的功能。

系统总体的软件设计流程如图4所示。当系统开始工作时,单片机与Android手机APP均处于系统初始化状态。初始化后,各个模块进入正常工作状态。此时,可以通过Android手机APP控制单片机以驱动传感器采集当前环境温/湿度数据,并将数据通过Wi-Fi无线传输模块上传到手机;然后在APP界面中就会显示温/湿度数据和绘制实时曲线图。当温/湿度超过用户所设定的阈值,则会触发蜂鸣器、手机铃声报警以及APP界面显示报警提醒。

图4 系统总体软件设计流程图Fig.4 Flow chart of overall software design of the system

3.1 嵌入式软件设计

3.1.1 单片机系统主程序设计

主程序完成系统各个模块的初始化、环境温/湿度的检测、判断温/湿度是否超过设定的阈值、建立单片机和手机的Wi-Fi连接、等待上位机下发指令执行相应操作等功能。其软件设计流程如图4左半部分所示,其余分模块的程序设计如下文所述。

3.1.2 DHT11温/湿度模块驱动程序设计

单片机读取温/湿度传感器数据的原理主要是通过改变和检测其DATA引脚的高低电平时序实现。首先,单片机设定DATA引脚的连接时序建立与DHT11温/湿度模块的连接;其次,单片机接收DATA引脚返回的数字信号,转换成温/湿度数值存入RAM中;最后,等待后续程序进行取值和使用。DHT11温/湿度模块的驱动程序流程如图5所示。

图5 DHT11温/湿度模块驱动程序流程图Fig.5 Driving program flow chart of DHT11 temperature/humidity module

对DHT11温/湿度模块的时序控制和信号读取主要分为2部分:①主机(单片机)检测DHT11温/湿度模块是否正确连接;②读取数据位“0”和“1”;具体时序控制如图6所示。

(1)主机检测DHT11温/湿度模块是否正确连接:主机先发送连接请求信号(如图6(a)中虚线所示),DHT11温/湿度模块在收到主机连接请求信号后会应答主机的连接请求(如图6(a)中实线所示),在主机确认正确连接后即可开始读取传感器上传的数据。

(2)读取数据位“0”和“1”:DATA引脚与单片机之间采用单总线数据格式,单次传输5个字节(40 bit)的数据,高位先出。具体数据构成为:8 bit湿度整数数据+8 bit湿度小数数据+8 bit温度整数数据+8 bit温度小数数据+8 bit校验和。在读取1位有效数据位开始之前会持续54µs的低电平应答检测,然后拉高电平,持续23~27µs,即表示数据位“0”,如图6(b)所示;持续71µs即表示数据位“1”,如图6(c)所示。

图6 DHT11温/湿度模块连接与数据读取时序控制图:(a)主机检测DHT11温/湿度模块是否正确连接;(b)读取数据位“0”;(c)读取数据位“1”Fig.6 Diagram of DHT11 temperature/humidity module connection and timing control of data reading:(a)host checking whether the DHT11 temperature/humidity module is connected correctly;(b)reading of data bit“0”;and(c)reading of data bit“1”

3.1.3 ESP8266 Wi-Fi无线传输模块驱动程序设计

上位机是基于Android系统设计的手机APP,ESP8266 Wi-Fi无线传输模块的主要功能是释放Wi-Fi信号以建立起单片机和手机APP的连接,接收手机下达的指令并转化成单片机执行操作的语言,使手机能读取温/湿度数据并在手机APP的界面中实时显示和绘制。ESP8266 Wi-Fi无线传输模块的驱动程序设计流程如图7所示。

图7 ESP8266 Wi-Fi无线传输模块驱动程序流程图Fig.7 Driving program flow chart of ESP8266 Wi-Fi wireless transmission module

3.2 手机APP界面及功能设计

本课题使用Android Studio软件设计了一款基于Android系统的手机APP,包括如图8所示的3个界面:①欢迎界面;②登录界面;③主界面。

图8 手机APP界面:(a)欢迎界面;(b)登录界面;(c)主界面;(d)运行中的主界面Fig.8 APP interface on mobile phone:(a)welcome interface;(b)login interface;(c)main interface;and(d)main interface during operation

当APP启动时,欢迎界面随之启动,主要是显示开发者、APP图标以及问候语等信息,并在5 s倒计时后自动切换到登录界面。用户在登录界面输入正确且唯一的账号和密码后,即可进入主界面。主界面具有以下3个功能:①通过Wi-Fi发现传感器检测设备(单片机)并与之连接;②显示和绘制由单片机传入的实时测量的温/湿度数据;③将当前数据表格存储在手机内存中,同时可以从内存中检索历史数据。手机APP界面及功能设计流程如图9所示。

图9 手机APP界面及功能设计流程图Fig.9 Flow chart of APP interface and function design of mobile phone

4 系统集成调试

基于STM32单片机的环境温/湿度远程监控系统实物如图10所示。在实验室环境中,利用该系统测试标准湿度饱和盐溶液(CH3COOK)的湿度以对该系统进行集成调试[10],测试方法示意图如图11(a)所示,具体操作步骤如下。

图10 基于STM32单片机的环境温/湿度远程监控系统实物图Fig.10 Images of ambient temperature/humidity remote monitoring system based on STM32 MCU

(1)以相对湿度为23%的CH3COOK饱和溶液作为基准样(即传感器响应和恢复的基线);

(2)将传感器移入盛有CH3COOK饱和溶液的瓶中并盖紧瓶塞,等待读数稳定;

(3)响应过程:将传感器从CH3COOK饱和溶液中移至盛有更高湿度的饱和盐溶液(MgCl2、NaBr、NaCl、KCl或KNO3)中进行湿度响应过程,等待读数稳定;

(4)恢复过程:将传感器从(3)中的饱和盐溶液中移至CH3COOK饱和溶液中,进行湿度恢复过程,等待读数稳定;

(5)重复上述过程,即可得到如图11(b)所示的湿度响应曲线和如表1所示的测试结果。

从图11(b)和表1(表中湿度均为相对湿度)可以看出,本温/湿度远程监控系统对标准湿度饱和盐溶液的湿度测量相对误差均在10%以内,最低为0,最高为9.1%,平均相对误差在3.1%以内。误差的主要来源可能为:①由于导线较粗导致玻璃瓶塞未完全塞紧,瓶内环境与外界环境连通,从而影响瓶内的湿度;②配置饱和盐溶液时间的影响,即当配置饱和盐溶液的时间过长,则会引起瓶内药品变质从而影响其湿度。此外,本系统对不同湿度的响应时间和恢复时间均小于30 s且响应时读数稳定,没有较大波动以及恢复时能回到湿度基线上。上述调试结果表明,本系统能稳定、快速、准确地远程测量环境的温/湿度,并显示在手机APP界面上。

图11 温/湿度远程监控系统集成调试:(a)测试方法示意图;(b)测试结果Fig.11 Integration debugging of the temperature/humidity remote monitoring system:(a)schematic diagram of the test method;(b)test results

表1 标准湿度与温/湿度远程监控系统测量结果对比Table 1 Results comparison between standard humidity and measurement data from the temperature/humidity remote monitoring system

5 结论

本课题设计了基于STM32单片机的环境温/湿度远程监控系统,在实现对环境温/湿度进行实时、远程监测的同时,还具有准确性较高(平均相对误差小于3.1%)、稳定性较好(每次湿度恢复时都能回到基线,以及在响应时读数稳定准确且没有较大的波动)、响应快速(响应/恢复时间均小于30 s)的特点。该系统不仅可用于对光催化氧化降解气态污染物过程中环境温/湿度的监控,以规避其影响,还可以运用到如温室种植等领域的温/湿度监控需求中,以实现对温/湿度的远程实时监控、显示及异常报警,具有广阔的应用前景。

猜你喜欢
光催化湿度单片机
工业锅炉饱和蒸汽湿度的运行控制
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
基于单片机的便捷式LCF测量仪
单分散TiO2/SrTiO3亚微米球的制备及其光催化性能
基于湿度控制的室内空气净化器高压电源设计
泰州大桥主缆纵向湿度分布及相关性分析
BiOBr1-xIx的制备及光催化降解孔雀石绿
可见光光催化降解在有机污染防治中的应用
跟踪导练(二)(2)