基于STM32智能窗户控制系统设计与实现

(整期优先)网络出版时间:2024-03-22
/ 2

基于STM32智能窗户控制系统设计与实现

杨婷 韦雪娇* 黄欣

梧州学院电子与信息工程学院

摘要:在现代社会中,智能家居已成为人们生活的一个重要组成部分,而智能窗户控制系统作为其中的关键一环,在提高居住环境舒适度和节能方面扮演着重要的角色。基于STM32单片机设计多功能智能窗控制系统,创新性地将传感器技术、无线网络通信技术、计算机软件开发技术运用到智能窗的控制系统设计中,并且由终端、网关、服务器及移动端组成。主要特征:烟雾传感器模块感应到室内有烟雾或可燃气体时,可由控制端开窗透气;人体红外感应模块,当人体在红外传感器检测范围时,可控制电机关窗并且让蜂鸣器报警;雨水感应模块当下雨时可利用移动终端操控门窗开关状态。总之,设计出一款智能门窗系统将会极大的方便用户生活,同时也对智能家居行业的发展有着积极地推动作用。

关键词:智能窗户;嵌入式;传感器

0引言

虽然许多智能家居公司对整个房屋的控制系统有了成熟的方案,但很少涉及智能窗,并且国内对智能窗的研究还处于起步阶段。为使高端窗户能够实现多重智能化[1],针对现有的设施控制工具存在功能单一、布线复杂、精度不高、实时监测较弱及价格高等缺点,开发了一套智能窗控制系统,通过对软硬件的设计并与多种传感器进行结合,实现了对窗户的智能化控制并提供了多种功能,可满足用户的多样化需求。

1总体方案设计

该智能窗户的核心控制芯片是STM32F103RCT6,在设计中将DHT11温度/湿度传感器、烟雾浓度传感器和人体红外线传感器、雨滴传感器等组成检测电路[2],以此检测环境状态,可实现:

1.室内烟雾浓度超标时自动开窗通风。

2.当遇到下雨天时窗户可自动关闭。

3.当窗户感应到人时实现关窗。

4.报警检测模块用于检测盗窃,可以发出警报声并关闭窗户。

5.OLED显示屏显示数据,实现数据的可视化。

本设计采用的核心控制芯片为STM32F103RCT6[3],同时以进步电机为窗户模型的驱动器,雨滴传感器、烟雾浓度、温湿度传感器检测环境的状态,将采集到的信息反馈给STM32单片机,由STM32单片机对数据进行处理和判断:STM32单片机通过雨滴传感器输出的电平来判断是否有雨滴然后执行程序。当窗户处于关闭时,烟雾传感器就会进行检测,整体结构如图1所示。

qt_temp

1智能窗户的整体结构框

2硬件设计

2.1主控芯片介绍

主控芯片是整个智能窗户系统的核心部分,是外围电路正常工作的基础。本文选择的是STM32F103RCT6,如图2所示。它是意法半导体公司生成一款32位的微控制器,具有以下优点:

(1)12位ADC,数模转换度及转换速度高;

(2)运算速度快,功耗低;

(3)处理器外设接口丰富;

(4)高可靠性,集合了CPU模块,输入/输出模块,易于使用。

QQ图片20240103140545

2 STM32单片机

2.2传感器

(1)温湿度传感器

选用型号为DHT11温湿度传感器采集温湿度数据,该温湿度传感器的工作原理是通过测量环境中的温度和湿度来确定空气压力,进而推算出空气中的温度和湿度。当采集的温湿度达到特定值时,由主控芯片发送指令到电机,驱动窗户打开/关闭。而信号采集引脚TEM&HUM单片机引脚相连,进行温湿度采集工作,DHT11数字温湿度复合传感器电路图如图3所示

1

3 DHT11温湿度传感器电路图

(2)雨滴传感器

该传感器具有数字开关量输出(0和1)和模拟量AO电压输出两种输出形式。接上5V电源,电源灯亮,感应板上没有水滴时,DO输出为高电平,开关指示灯灭;滴上一滴水,DO输出为低电平,开关指示灯亮;刷掉上面的水滴后又恢复,输出高电平状态。AO模拟输出,可以连接单片机的AD口检测滴在上面的雨量大小。DO TTL数字输出也可以连接单片机检测是否有雨。如图4所示,当遇到雨水天气时,由雨滴传感器向主芯片发出预警,从而达到智能关窗。

6hgn9uwj

图4雨滴传感器

(3)人体红外线传感器

人体红外感应功能是HC-SR501红外线传感器,它因低功耗、高性能、可靠性、价格不昂贵而被大家欢迎,它在日常生活中非常普遍。它是基于物体发出的红外线与传感器接收的红外线之间的相互作用。就是通过接收人体发出的红外线而工作的,当人体在红外传感器检测范围时,红外传感器就会传给STM32单片机,来控制电机关窗并且让蜂鸣器报警,且OLED显示危险[4]

红外防盗模块

图5红外线传感器

(4)烟雾传感器

本文选取的是MQ-2烟雾传感器,如图6所示,当窗户处于关闭时,烟雾传感器就会进行检测。当室内有烟雾或者气体达到一定程度时,烟雾报警器上的二氧化锡半导体电阻就会发生改变,而表面的导电率也发生变化,当烟雾浓度越来越大时,导电率越大时使输出的半导体电阻越来越低,再然后输出越大的模拟信号ADC0832芯片转换为数模信号,然后将数模信号输出给STM32单片机,单片机就会运行开窗和开启室内风扇,并且蜂鸣器开启提醒人们危险。

pnt10s84

图6 MQ-2烟雾传感器

2.3驱动模块设计

本文在这里使用的步进电机型号是28BYJ-48,是套件中常见的步进电机

[5]。它也是一种减速步进电机,内部的减速齿轮由塑料制成,具有重量轻,体积小,结构简单等特点。它常被用在监控探头的云台上。该电机的驱动芯片是ULN2003,驱动芯片将收到的脉冲信号转化为角位移量。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(即步进角)。可以通过控制脉冲的个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲的频率来控制电机转动的速度和加速度,从而做到调速的目的,对于电机正反转的控制,当需要发送的脉冲数大于已经发送的脉冲数时,电机正转,反之反转。对此电机的正转与反转,可实现窗户的打开/关闭。

本次电机设计采用的是四相八拍模式,电机通电模式为A→AB→B→BC→C→CD→D→DA→A→....。

3软件设计

3.1编程环境介绍

本设计采用编程软件为Keil 5,该软件为嵌入式系统开发提供了一个高效、便携、易用的开发环境,是具有丰富的库函数和集成开发调试工具。由于其强大的功能和易用性,Keil5软件是嵌入式开发者不可缺少的工具之一。

3.2软件设计

在程序的设计中,需要通过编程实现的内容有:

(1)采集烟雾、温湿度、雨滴的数据信息。

(2)完成对电机驱动模块的控制以及对电动窗户的开关控制。

(3)按键扫描子程序用于设置各种按键,对各控制模块进行控制。

(4)OLED显示系统工作状态及各传感器检测到的数据信息。

在程序设计中,包括主程序、初始化程序、各个模块的子程序等内容,组成了一个完整的设计流程。以下为智能窗户的程序流程图7所示。

qt_temp

图7程序流程图

4系统调试

系统调试需要对各模块进行软/硬件调试,STM32单片机通过I2C通信协议控制烟雾传感器和温湿度传感器。在程序设计中,需要STM32单片机和I2C功能,向传感器发送从机地址建立连接,单片机向传感器写入地址,驱动传感器工作。其他传感器主要利用数据线传输,调试相对方便。在保证硬件电路和软件程序没有问题的前提下,通过传感器检测到数据自动开关窗户,并在OLED上显示。测试结果如表1所示。

1系统调试

环境条件

窗户状态

下雨

进步电机正转,窗户关闭

无雨

进步电机反转,窗户打开

浓度高于限定值

进步电机正转,窗户关闭

湿度≥70%

进步电机正转,窗户关闭

湿度<70%

进步电机反转,窗户打开

5结束语

本文通过STM32技术,用户可以监控窗户的开关状态。当检测到窗户关闭后,系统会自动打开窗户;当检测到窗户打开后,系统会自动关闭窗户。而且当外面下雨或者炎热时,系统还可以控制智能窗户的开关。在设计中对方案进行多次修改后,最终方案提高了智能窗户的安全性和系统稳定性。所以通过智能窗户,用户可以随时随地了解到房屋状态,进行远程控制。如果用户离开家后还可以随时查看家里的情况,实现了智能化。

参考文献

[1]蒋伟琪,王继伟,王颖.智能窗户控制器的设计[J].电子世界,2021(17):139~141.

[2]胡钰,杨应洪,刘欣,等.基于STM32智能窗户的设计与实现[J].机械工程与自动化,2019(02):105~106+109.

[3]龙佳乐,廖妙余,陈健恒,等.基于STM32单片机的自动盖章机的设计与制作[J].机电工程技术,2023,52(3):199-201+245.

[4]龙军,孟宇萌,唐金杨.智能窗户感测报警器的开发研究[J].电脑知识与技术,2019,15(9):249-250.

[5]赵娟萍,王会珍,周喜,等.直流电机转速控制系统设计[J].电子测试,2020,18(17):21-22.