摘" 要:文章提出一种基于STM32对电网调度中心工控机房进行数据采集的系统,主要是实现对工控机房温湿度数据的采集与监测。使用STM32F103RBT6作为主控制器,设计和实现硬件系统。通过总线读取所测量的温湿度数据,STM32可以成功地将采集到的数据显示到OLED屏幕上并传送到上位机,同时通过蓝牙模块与手机相连,实现室内温湿度的实时采集和上传。当温湿度超过设定阈值时,采集器会通过蜂鸣器预警并将预警信息发送至手机端。实验结果表明,所设计的温湿度采集器可以准确测量工控机房内的温湿度并具备预警功能。
关键词:温湿度测量;STM32单片机;控制器;蓝牙模块;工控机房
中图分类号:TP273;TP368.1 文献标识码:A" 文章编号:2096-4706(2024)11-0186-05
Design of Temperature and Humidity Collector for Power Grid Industrial Control Room Based on STM32
XIAO Yanhui, MENG Xiangbin, YIN Wenxue, LIANG Daili, LI Jiaxin
(Shenyang Institute of Engineering, Shenyang" 110136, China)
Abstract: This paper proposes a system based on STM32 for data collection in the industrial control room of the power grid dispatch center, mainly to achieve the collection and monitoring of temperature and humidity data in the industrial control room. It designs and implements a hardware system using STM32F103RBT6 as the main controller. By reading the measured temperature and humidity data through the bus, STM32 can successfully display the collected data on the OLED screen and transmit them to the upper computer. At the same time, it is connected to the mobile phone through a Bluetooth module to achieve real-time collection and upload of indoor temperature and humidity. When the temperature and humidity exceed the set threshold, the collector will give an early warning through a buzzer and send the early warning information to the mobile phone. The experimental results show that the designed temperature and humidity collector can accurately measure the temperature and humidity inside the industrial control room and has an early warning function.
Keywords: temperature and humidity measurement; STM32 Single-Chip Microcomputer; controller; Bluetooth module; industrial control room
0" 引" 言
在电网调度中心的工控机房中有很多重要的大型设备,如用于远程调度的工业控制计算机、不间断电源(UPS)、存储历史信息的存储器及与现场进行通信的设备等,这些设备必须长期处于运行状态以保障整个电网系统的正常运作。设备的长期运行会产生很多热量,为防止设备过热损坏,需要工业制冷空调使机房内的温度保持在一定范围内。工业制冷空调的长期使用同时会导致机房内的湿度上升,机房内的这些设备很容易受到湿度影响而发生故障[1],温度太高或者湿度太高会导致UPS中电池的损坏或造成存储器等设备的损坏,且容易造成火灾或停电等事故,影响电网的安全运行,所以对电网调度中心的工控机房进行温湿度监测及数据的采集是一项很重要的工作。本文设计了基于STM32单片机控制器的工控机房温湿度采集器,可以时刻对室内温湿度进行监测;还可以设定温湿度的上下限阈值,当超过设定阈值时,温湿度采集器会通过手机进行报警。
1" 总体设计
基于STM32单片机的温湿度采集器主要包括两部分:主体硬件设计及软件系统的开发。本文使用STM32F103系列的微控制器作为核心控制部分,如图1所示是STM32单片机整体硬件控制系统的框图。从图中可以看出,STM32主控制器通过单总线与温湿度传感器通信获取实时温湿度,然后将采集到的数据写入STM32的Flash中,最后将数据显示在OLED显示屏上。STM32主控制器还可以与手机通过蓝牙模块进行数据传输,当温度或湿度超过阈值时,通过手机进行报警。PC端通过RS485接口向STM32主控制器发出请求,读取Flash寄存器中存储的数据。
2" 硬件设计
2.1" 电源系统
本文所设计的温湿度采集器主要工作在电网调控中心的机房中,因此应提供稳定的电源以保证整个采集器系统正常运行。目前我国提供的直流电源大多数是12 V或5 V的直流电源,然而STM32控制器所需的直流电源是3.3 V,因此在整个系统中需要一个DC-DC的直流转换电路。如图2所示,采用固定低压差线性稳压器REG1117设计稳压电路。REG1117具有限流和热保护功能,支持最大输入电压15 V,可以在-65~+150℃环境中使用,3.3 V固定的输出电压,符合电网调度中心工控机房的工作条件[2]。图中C1和C2是输出滤波电容,可抑制自激振荡,防止输出波形振荡。
2.2" 单片机最小系统设计
STM32F103系列是ST公司基于32位ARM Cortex-M3内核开发的微控制器芯片,它的设计主要面向工业控制领域,提供了丰富的外设和功能、集成度高,在工业控制领域得到了广泛的应用。利用ST公司提供的标准库程序,开发者可以很快地开发可靠性高的工业级产品,功耗低、通信速度和运行处理速度更快[3]。经过综合比较,STM32F103RBT6的优异性能可以达到工控机房测温湿度的功能要求,所以最后选定STM32F103RBT6作为本系统中温湿度采集器的核心控制器件。
其最小系统如图3所示,最小系统中包含晶振模块、时钟模块、复位模块、指示模块、电源模块及下载模块等。晶振模块是指能够使STM32单片机产生时钟脉冲的电路,本文设计系统电路中采用8 MHz晶振,同时选用C3、C4、2个22 pF电容与晶振配合用于稳定晶振的振荡频率,防止晶振频率受到外界干扰而发生变化[4];晶振的两个引脚分别与STM32控制器的5、6引脚相连,分别标为OSC_IN及OSC_OUT。STM32控制器内部有RTC实时时钟模块,频率为32.768 kHz,与控制器的3、4引脚相连。复位模块可以使电路在接收到复位信号后进行复位,保障系统的正常运行。STM32F103控制器的启动方式是受到BOOT0、BOOT1引脚控制,通过对两个引脚进行设置,使本系统不仅可以从Flash中直接启动,还可以从内置SRAM存储器启动。当设置BOOT1=0、BOOT0=1时,系统由存储器启动;当BOOT1=1、BOOT0=1时,系统由内置SRAM启动,此种启动模式常用于调试状态。D1和D2分别是STM32工作和电源的LED指示灯,电源滤波电路由C5、C6、C8、C11组成。在最小系统中还有程序下载模块,通过TXD和RXD引脚进行数据的下载。
2.3" 温湿度监测模块
要采集监测工控机房的温湿度,本系统使用能够对温湿度测量精准的DHT11传感器来设计温度和湿度采集电路[5]如图4所示,DHT11传感器原理图如图4(a)所示。DHT11采用单总线协议与STM32控制器进行通信,工作时STM32控制器会发送复位信号,这时DHT11会从空闲的低功耗模式转换到高速模式,等待STM32控制器复位结束后,由DHT11向控制器侧发送响应信号,同时会使总线处于高电平状态为数据传输做准备。DHT11进行数据传输时一次完整的数据为40 bit,按照高位在前,低位在后的顺序传输数据,格式为:8 bit湿度整数数据+8 bit湿度小数数据+8 bit温度整数数据+8 bit温度小数数据+8 bit校验和,一共40 bit数据[6]。为了保证传输的数据准确,会通过校验位对采集到的数据进行校验,校验和为前4个字节数据相加,如果校验发现数据错误就会把本次采集的数据包丢弃,重新采集下一次数据。
DHT11进行温湿度采集的机制是只有在接收到STM32控制器的开始信号后才会采集一次温湿度数据,如果没有接收到控制器发来的复位信号,DHT11不主动进行温湿度采集。当数据采集完毕且无开始信号后,DHT11自动切换到低速模式以减少损耗[7]。DHT11中的模数转换芯片可以将采集到的模拟量转化为对应的数字信息,并向微控制器输出实时性较强的串行数据适用于对各种环境数据进行采集监控。本文设计的工控机房温湿度采集系统,温度和湿度数据首先由DHT11收集,然后通过单总线从引脚2连接传输到STM32。采集到的温湿度信息通过OLED显示屏连接,如图4(b)所示,OLED显示屏可以使采集到的温湿度数值直观地显示出来,增加了可视化界面的美观性,OLED屏的SDA、SCL分别与单片机的PB7、PB8接口相连,输出显示在OLED屏上。
2.4" 红外传感器
该模块主要检测调控机房内的温度,当机房内温度过高超过预设温度,红外传感器检测温度越限时,蜂鸣器发出报警。本文选用HC-SR501红外热释电模块检测机房内温度[8],如图5所示,HC-SR501共有三个引脚:VCC、接地端、输出端,单片机通过判断该引脚输入电平来检测温度是否过高。
2.5" 报警模块
报警模块选用蜂鸣器实现[9],如图6所示,QB12接入芯片PA5引脚,其余引脚按照要求分别接电源及地。当红外传感器检测到温度值超过预先设定的数值时,采集器会通过手机端进行报警,同时工控机房内的蜂鸣器也会通过震动进行预警,这样可以保证第一时间排查出机房温度异常的原因。
2.6" 蓝牙模块
机房内的温湿度通过手机端与STM32进行无线传输,当机房内温湿度过高时也会通过手机端进行报警。本文设计采用ATK-HC05蓝牙模块进行传输,这是一款高性能蓝牙串口模块,可以与带蓝牙功能的电脑、手机等智能终端进行配对,并且此模块兼容5 V或3.3 V单片机系统,其引脚连接图如图7所示。
其中VCC接5 V或3.3 V电源;GND接地;RXD为接收端;TXD为发送端;LE为LED灯表示配对状态输出:当配对成功输出高电平,LED灯亮,未配对成功输出低电平,LED灯不亮;KEY引脚用于进入设置工作模式(AT)状态,高电平有效,悬空状态下默认为低电平;工作模式分为自动连接或命令回应模式。该模块可以实现主从模式切换,提供更高性能的数据传输。其控制图如图8所示。
蓝牙模块上电之前,由于KEY引脚高电平有效,所以将KEY引脚接VCC,使引脚处于高电平,此时LED灯会缓慢闪烁(1 s闪烁1次),蓝牙模块进入设置工作模式状态;蓝牙模块上电后,将KEY引脚悬空或接地,此时LED灯快速闪烁(1 s闪烁2次),这时进入到蓝牙配对模式;当设备通过蓝牙配对成功后,LED灯会呈现双闪状态(1次闪烁2下,2 s闪烁一次)[10]。
3" 软件程序设计
STM32控制器通过单总线与DHT11传感器进行通信获得温度和湿度数据,图9为温湿度采集的软件程序设计流程图。从图中可以看出,首先对采集系统进行初始化并配置参数,根据DHT11功能表,STM32将总线驱动为低电平20 ms以请求DHT11的响应。如果DHT11未响应,则STM32控制器会重复驱动总线为低电平;如果DHT11响应请求,STM32将读取DHT11的数据包,并校验数据包是否正确,如数据不正确则会丢弃此数据包;如数据正确会校验温湿度是否超过设定阈值,如超过阈值会进行报警,如果数据正确会进行下一组数据传输直到传输完成。
4" 系统测试
设计的温湿度采集器实物图如图10所示,首先给采集器接入电源,采集器接通电源后,红色的电源指示灯亮,表示设备可以正常启动。在测试阶段把采集器放在室内,上电后OLED显示屏上会分别显示出室内的温度值和湿度值。同时本系统还可以分别对温湿度的上下限进行设置,如图10(b)所示。当温湿度超过设定的上下限阈值时,采集器会通过蜂鸣器进行报警,同时会通过手机端发送信息预警提示。
测试时把设计的温湿度采集器放入到室内,室温为18 ℃,湿度为35%RH,通过室内空调进行温度调节,通过加湿器对室内湿度进行调节,得到如下测试结果:
在室内把空调温度设置为30 ℃,每隔5分钟对温度记录一次,把监测到的温度数据通过曲线图的形式表现出来,监测结果如图11所示。
从图中可以看出,室内温度随着时间会逐渐升高,经过一段时间后室内温度稳定在29 ℃左右。采集温度时会有一些误差,误差为±1%,在工控机房温度误差允许范围内。
在湿度为35%RH环境下,打开加湿器,观察由其引起的空气湿度变化并监测其稳定性,每隔5分钟记录一次,监测结果如图12所示。
从图中可以看出,室内湿度随着时间会逐渐升高,经过1个小时的测试时间,室内湿度由35%RH上升到44.5%RH,采集湿度时会有一些误差,误差为±2%,在工控机房温度误差允许范围内。
5" 结" 论
本文设计了在电网调控中心工控机放内应用的温湿度采集系统,通过对硬件及软件的设计及实物测试,可以看出设计的温湿度采集器能够对工控机房的温度及湿度进行监测与采集,说明器件选择合理。本采集系统能够保证机房内的设备工作在合适的温湿度条件,且系统电路简单、实用性强、造价低,具有较高的使用价值。随着研究的不断深入,后续还可以继续对此系统进行改进,如在本系统中加入光敏元件或烟雾报警系统,使此采集器具有更多实用功能。
参考文献:
[1] ZHANG L J,CHEN H J. Design of Environmental Monitoring System for Livestock Transport Carriage Based on STM32 and ZigBee [J].International Journal of Frontiers in Engineering Technology,2023,5(10):29-33.
[2] 赵静萍.基于STM32单片机的古籍阅览室温湿度自动化检测和控制系统设计 [J].自动化与仪器仪表,2023(8):209-213.
[3] 徐胜,顾俊,赵蔚,等.基于STM32和LabVIEW的多通道数据采集系统设计 [J].仪表技术与传感器,2023(11):78-83+88.
[4] 张敏,方健,王勇,等.基于ZigBee无线通信的变电站端子箱温湿度传感器系统设计[J].制造业自动化,2023,45(2):169-174.
[5] 田肖.基于ZigBee的疫苗运输车环境监测报警系统的设计与实现 [D].重庆:重庆邮电大学,2018.
[6] 刘勃妮,王丽,周炳旺.一种基于STC89C52单片机的测温系统设计 [J].中国科技信息,2022(15):111-113.
[7] 丁一峰,李永铖,尹宏钊,等.基于STM32的智能身份识别与红外防疫测温系统 [J].现代信息科技,2022,6(10):57-60.
[8] 倪丹艳.基于STM32单片机的机器人移动障碍物智能躲避系统设计 [J].自动化与仪表,2023,38(5):52-56.
[9] SOZAŃSKI K. Low Cost PID Controller for Student Digital Control Laboratory Based on Arduino or STM32 Modules [J].Electronics,2023,12(15):3235.
[10] 刘娟花,杨幸芳.基于单片机的温湿度监测系统 [J].现代电子技术,2017,40(20):165-168.
作者简介:肖艳辉(1992.10—),女,满族,辽宁沈阳人,助教,硕士研究生,研究方向:单片机、嵌入式。
收稿日期:2023-12-18
基金项目:辽宁省自然科学基金资助计划面上项目(LJKMZ20221718)