基于STM32 单片机的智能窗户开关系统设计

2023-09-12 00:50王丛丛
科学技术创新 2023年21期
关键词:关窗占用率传感

王丛丛

(山东工程职业技术大学,山东 济南)

引言

在智能家居中,对窗户的控制正在走向智能化,智能窗户则设立了遥控、警报等元件,更好地改善了人们的生活。目前,智能窗户开关系统仍不完善,CPU占用率相对较高,无法满足窗户同时开/关的需求。针对此类问题,研究人员设计了多种解决方案。

基于树莓派和云平台的智能窗户开关系统,主要是利用云平台监测外部环境因素,并做到平移窗间的联合控制,更加便于智能窗户开关操作[1]。基于物联网技术的智能窗户开关系统,则是利用物联网技术,将系统内各个元件连接成一个网络,实时、远程操控窗户[2],以上两种系统均无法满足居住人的使用需求[3]。STM32 单片机是一种集成芯片,能够更加高速地处理系统数据,减轻系统使用负担[4]。因此,本文结合了STM32 单片机的优势,设计了智能窗户开关系统。

1 硬件设计

1.1 STM32 主控芯片

根据系统的实际需求,本文选用了STM32 主控芯片作为系统的控制核心,主要由STM32 单片机、时钟电路、复位电路、电源等元件构成[5]。与系统的DS18B20 传感器搭配使用,能够将传感器采集到的数据转换成系统能够识别与处理的数据,最终实现智能窗户监测、显示、控制的功能。

本文结合了STM32 单片机的优势,基于ARM Cortex-M内核,功能十分强大的32bit 微控制器设计了STM32 主控芯片。该芯片具有16KB~1MB Flash、多种外设控制元件,能够全速加载系统上传的数据,并将处理完成的数据全速回传到系统中,完成系统内部的数据快速处理[6]。

1.2 DS18B20 传感器

本文选用的DS18B20 传感器,主要是为STM32主控芯片提供数据支撑,满足系统的整体需求。因此,在DS18B20 传感器的结构设计方面,以温度、烟雾、雨量、风速、感光等传感模块为主,提升窗户开关系统的智能性[7]。DS18B20 传感器的结构设计如图1 所示。

图1 DS18B20 传感器结构设计

对于不同类型的智能窗户,采用了两种传感模块适应传感需求。其一,温度湿度传感、烟雾传感、红外传感、雨量传感、风速传感、感光传感;其二,OLED 显示、警报、控制、通信[8]。

2 软件设计

2.1 建立智能窗户开关通信协议

本文在硬件设计完成之后,建立了智能窗户开关系统的通信协议,辅助DS18B20 传感器的通信模块,完成系统的数据传输。本文设计的通信协议在数据传输的过程中,仅需要很小的数据流量,能够在系统出现异常断开时,通知发送端与接收端,确保系统的服务质量[9]。本文在通信协议中建立了发布/订阅消息模式,系统能够向多个元件发布通信信息,也能订阅不同元件的主题,确保每个数据的有效传输。通信报文类型如表1 所示。

表1 通信报文类型

如表1 所示,消息发布受到确认的控制报文为QoS1,订阅请求报文确认的控制报文为QoS2,取消订阅报文确认的控制报文为QoS3。

2.2 设计智能窗户开关任意停止控制指令

在通信协议开始之后,本文利用传感器监测室内外环境状态,当室外处于风雨环境时,发出关窗控制指令;当室内处于烟雾、煤气等危险环境时,发出开窗控制指令,确保室内人员的舒适感与安全性。在智能窗户关闭的过程中,如果没有接收到烟雾、煤气、风雨等信号时,可以在任意位置停止智能窗户关闭。智能窗户任意停止控制流程如图2 所示。

图2 任意停止控制指令流程

本文在开启开/关窗停止指令之后,对应的继电线圈通信推杆相应伸长或缩短。此时,设置风速传感数据、雨量传感数据、光感传感数据为联动状态,以上外部数据传感默认联动开启。当自动关窗时,向系统发出警报报文帧,利用通信协议发出警报提示。主控芯片在接收到报文提示之后,判断各个传感监测值是否与设定阈值偏离过大,较大的偏离则停止窗户开关;并未偏离则继续开/关窗[10]。

2.3 解析显示节点反馈信息数据帧

针对上述的控制指令流程图,要想明确室内外的温湿度,最大程度上平衡空气温湿度,确保室内人员的舒适度,需要进一步进行节点反馈信息数据帧解析,已知节点反馈的不同信息具有不同的数据含义,可以根据该特点获取内外温差,实现室内湿度平衡,本文假设了大气水饱和点,根据线性变化关系计算此时的智能窗户开关饱和水汽动态变化量BT,如下(1)所示。

公式(1)中:Bint代表饱和水汽系数,b 代表相对反馈湿度,若想对上述的动态变化量进行取整,需要应用取整函数RH,如下(2)所示。

公式(2)中:Bt2代表平衡系数,R 代表智能控制参数,当室内外温度发生相对改变时,智能窗户开关系统可以立即进行感应,生成室内外环境平衡指令,此时可以假定节点智能反馈数据帧区间,生成线性变化目标函数W,如下(3)所示。

公式(3)中:A 代表解析线性变化系数,结合上述的线性变化目标函数,可以对任意状态下显示节点反馈的信息数据帧进行解析,进一步进行均值计算,获取最终的信息反馈控制指令,从而提高智能窗户开关系统的控制效果。

3 系统测试

为了验证本文设计的系统是否具有实用效能,本文对上述系统进行了测试。将硬件安装调试、软件调试完毕之后,使系统处于正常运行状态。此时,对系统的性能进行分析。具体的测试过程以及最终的测试结果如下所示。

3.1 测试过程

在进行系统测试之前,本文将STM32 主控芯片与DS18B20 传感器等硬件进行安装与调试。按照使用说明将STM32 主控芯片安装完成之后,测试主控芯片各个电路的电压范围在3.0 V~3.3 V 之内,可以确保STM32 主控芯片的正常运行。DS18B20 传感器的调试较为复杂,在其安装完毕之后通电,黄色指示灯亮起5 s 后熄灭,与其相近的电路电压达到了10 V,将此电路重新安装之后,红色指示灯亮起,此时传感器的OLED 显示模块未显示,对该模块电路重新安装。电路重新安装完成之后通电,黄色、红色、绿色指示灯同时亮起,1 s 后熄灭,绿色指示灯亮起,1 min 未熄灭,此时可以确保DS18B20 传感器为正常运行的状态。硬件安装调试完成之后,本文对软件串口进行调试,如图3所示。

图3 串口调试界面

如图3 所示,单条发送:0106000020008C,选择COM4:USB Serial Port 串口,波特率为9600bit,停止位为1,数据位为8,无奇偶校验,以16 进制显示串口数据。出现图中界面之后,完成软件调试。硬件与软件均调试完成之后,出现系统登录界面。点击系统信息,在信息界面输入正确的用户名称与密码之后,登入到系统信息界面,点击基本信息查看系统信息,点击添加服务进入智能窗户开关服务。由此可见,系统可以正常运行。

3.2 测试结果

在上述测试条件下,本文随机选取出cnt_1、cnt_2、cnt_3 等三种开窗器类型,并将链条式智能窗户与隐藏式智能天窗的关窗电流进行分析。本次测试主要以最大电流为测试对象,而开窗电流普遍低于关窗电流,因此选择关窗电流作为电流指标,确保测试的有效性。在其他条件均一致的情况下,本文将开窗状态下与关窗状态下的系统CPU 占用率进行测试。并将文献[1]基于树莓派和云平台的智能窗户开关系统、文献[2]基于物联网技术的智能窗户开关系统,以及本文设计的基于STM32 单片机的智能窗户开关系统的CPU 占用率进行对比,占用率越低,系统的实用效能越佳。测试结果如表2 所示。

表2 测试结果

如表2 所示,使用文献[1]基于树莓派和云平台的智能窗户开关系统之后,系统在开窗状态下的CPU 平均占用率为71.68%;在关窗状态下的CPU 平均占用率为81.65%。使用文献[2]基于物联网技术的智能窗户开关系统之后,系统在开窗状态下的CPU 平均占用率为53.38%;在关窗状态下的CPU 平均占用率为67.50%。而使用本文设计的基于STM32 单片机的智能窗户开关系统之后,系统在开窗状态下的CPU 平均占用率为23.25%;在关窗状态下的CPU 平均占用率为33.26%。由此可见,使用该系统之后,CPU 占用率更低,链条式智能窗户与隐藏式智能天窗的关窗电流更低,能够同时满足4 扇窗户的开启,3 扇窗户的关闭,更符合智能窗户开关需求,确保室内人员的舒适性。

结束语

大多数人群受到繁重的工作影响,无暇顾及家庭环境,家中无人时无法开窗通风,恶劣天气无法回家关窗,影响人们对家庭环境的体验。智能窗户的出现则解决了这一问题,通过远程控制的方式,省去很多麻烦与时间。为了满足智能窗户的开/关窗需求,本文在STM32 单片机的条件下,设计了智能窗户开关系统。并从通信协议、控制指令、解析数据帧等方面,提升系统的实用性能,为智能窗户的普及提供相应的建议。

猜你喜欢
关窗占用率传感
《传感技术学报》期刊征订
新型无酶便携式传感平台 两秒内测出果蔬农药残留
降低CE设备子接口占用率的研究与应用
IPv6与ZigBee无线传感网互联网关的研究
回南天
自动关窗器
解析交换机CPU占用率
雨丝悄悄
基于排队论的区域路内停车最优泊位占用率研究
某型Fabry-Perot光纤应变计的传感特性试验