基于单片机的节能型智能窗帘设计

2019-09-24 01:16朱旭陈姜凌云汤东扬薛同川张勤龙周学礼
常熟理工学院学报 2019年5期
关键词:蜂鸣器窗帘温湿度

朱旭陈,姜凌云,汤东扬,薛同川,张勤龙,周学礼

(常熟理工学院 物理与电子工程学院,江苏 常熟 215500)

智慧社区利用物联网技术,力求为社区居民打造一个更加安全、便利与人性化的生活环境. 其中,智能窗帘系统由于其使用简便、性价比高,受到人们广泛关注. 目前市场上所设计的智能窗帘综合过多功能,冗余复杂,致使用户在使用时操作十分烦琐[1]. 因此,设计一种操作简便的智能窗帘系统对提高用户生活质量,推动智能家居发展具有重要意义. 本文设计了一种基于单片机的节能型智能窗帘系统,应用多种传感器,能够监控室内温湿度、照明、人员侵入等环境信息,同时采用蓝牙模块与手机APP,实现了用户远程控制系统的功能. 此外,系统采用太阳能供电,节能环保.

图1 系统框图

1 系统整体设计方案

系统整体设计框图如图1所示. 系统以STM32为主控芯片,将环境检测模块、蓝牙模块、安防模块、窗帘控制模块连接至单片机,利用传感器获取室内环境信息并显示到液晶模块上. 单片机通过对接收到的环境信息进行判断,从而控制直流电机驱动模块和报警模块的工作. 其中,光照监测模块、温湿度监测模块和液晶模块构成环境检测模块;人体红外感应模块、报警模块构成安防模块;直流电机驱动模块、直流电机构成窗帘控制模块;由太阳能电池板构成的电源模块,为各模块和单片机供电,维持整个系统的稳定工作. 本系统力求做到安全性、便捷性、节能性统一,符合智慧社区的发展理念.

2 系统硬件设计

2.1 主控芯片

本系统的主控芯片为STM32F407ZGT6. 该芯片是基于ARM Coretex-M4架构下的32位高性能RISC处理器[2]. 正常情况下该芯片最高工作频率为168 MHz,具有1 M片内FLASH和3通道的12位ADC,硬件资源丰富,适合作为本系统的主控芯片.

2.2 窗帘控制模块

采用直条双轴减速电机控制窗帘的升降,该电机一般简称为直流减速电机. 该电机可以被6~12 V电压驱动,空载转速为200±10% rmp,具有强磁、抗干扰的特性.

直流电机驱动电路由L298构成. L298电路结构简单,常用于驱动电机[3]. 将电机的引子接至L298的OUT1、OUT2,单片机数据引脚PF6、PF7接到L298IN1、IN2上. 当PF6、PF7输出分别为高低电平时,电机带动窗帘主轴转动,窗帘升起. 当PF6、PF7输出分别为低高电平时,电机带动窗帘主轴转动,窗帘下降.当PF6、PF7输出分别为低低电平时,窗帘保持不动.

2.3 蓝牙模块

蓝牙模块采用HC-06模块. HC-06工作电压为3.3 V,功耗低,体积小. 该模块采用蓝牙2.0协议,遵循数字2.4 GHz收发协议[4],默认的工作频率为9 600 bps. 使用串口通信的方式将手机APP上的指令传递给单片机. 蓝牙模块通过PA9、PA10与单片机连接.

2.4 室内环境检测模块

室内环境检测模块由温湿度监测模块、光照监测模块和液晶模块组成. 温湿度采集模块采用的是DHT11数字温湿度传感器. DHT11通过温湿度传感器技术将数字信号校准输出,具有极高的可靠性与稳定性[5]. DHT11工作电压在3.3~5.5 V之间,温度测量范围为0~50 ℃,测量误差不超过2 ℃. 此外,DHT11与单片机PF8连接.

光照监测模块采用的是光敏电阻串联定值电阻组成电路. 光敏电阻阻值与光照呈负相关,光照越强,光敏电阻阻值越小,因此测量定值电阻的电压就可以推断室内的光照情况. STM32F407自带读电压功能,所以不需要准备其他的A/D转换芯片,通过主控芯片就可以将定值电阻的电压读取出来. 光照监测模块与单片机PA5连接.

液晶模块选用一款4.3′,分辨率为 800×480的TFT-LCD. TFT-LCD色彩还原度高,响应速度快,穿透率高,具有良好的广视角. TFT-LCD与单片机的连接如下: LCD_CS片选信号接单片机PG12,WR/CLK接单片机PD5,LCD数据位D1、D2至D15接单片机PD0、PD1至PD15. RS接单片机PF12,LCD与单片机通信引脚为PB3、PB4、PB5.

2.5 安防模块

安防模块由蜂鸣器报警模块、人体红外感应模块组成. 报警模块使用蜂鸣器报警警示[6]. 蜂鸣器报警模块包含了三极管、蜂鸣器和电阻. 三极管放大主控芯片的输出电流,从而驱动蜂鸣器. 若主控芯片输出一个高电平,蜂鸣器两端压降相同,不会被驱动发出报警声;若主控芯片输出一个低电平,蜂鸣器两端出现压降差,则蜂鸣器发出报警声. 蜂鸣器报警模块与单片机PF12相连.

人体红外感应模块采用HC-SR501模块. HC-SR501采用红外线技术,其中红外线传感器包括光学系统、检测元件和转换电路[7]. 工作电压在4.5~20 V,功耗低. 当有人进入感应范围时,HC-SR501对外输出高电平;当人离开感应范围时,HC-SR501对外输出低电平. 另外,HC-SR501高低电平转换时会出现锁存时间,需要设定一个锁存时间段[7],这样可以避免干扰信号. 人体红外感应模块与单片机PF11连接.

2.6 电源模块

电源模块由3个部分组成:太阳能电池板、蓄电池、降压模块和过冲和缓冲保护电路.

太阳能电池板尺寸为40 cm ×100 cm,大约提供100 W的能量. 使用蓄电池是为了能够更加充分高效地利用太阳能这一清洁能源,在太阳能充足时将其储存起来,在太阳能不足时释放出来. 蓄电池选择户用型的GEL(凝胶)蓄电池. 光伏发电用GEL(凝胶)具有良好的容量放电性能,充电后可以回复实际容量的95%以上,具有可靠的均衡性,存储量偏差小[8]. 降压模块采用芯片7805降压,将蓄电池提供的12 V直流电压转成5 V. 为了延长蓄电池使用年限需要使用过冲和缓冲保护电路 . 在 Proteus[9]中仿真太阳能充放电保护电路:过充时,系统不再充电并通过LED显示告知用户,当欠压时,开启充电. 具体电路图见图2.

图2 太阳能充放电保护电路

3 系统软件设计

3.1 系统工作流程

系统软件整体设计思路如图3所示. 首先进行系统初始化,其次响应人工模式、安防模式、自动模式3种中断.其中人工模式中断优先级最高,自动模式优先级最低. 当响应人工模式时,主控芯片执行手机APP发送的命令. 当响应安防模式时,系统根据室内人员入侵情况对报警器进行控制. 当响应自动模式时,系统采集室内环境信息显示在LCD上,并根据室内环境信息更改窗帘的位置.

3.2 人工模式

人工模式的功能依靠对蓝牙模块HC-06与手机APP进行编程达到所需要实现的预期效果[10].

在手机端,当用户打开APP,选择“连接设备”,并点击控件按钮时,APP向蓝牙模块发送按键对应的键值码.对于单片机端而言,由于蓝牙工作频率为9 600 bps[11],所以单片机串口通信波特率为9 600 bps[12]才能与蓝牙模块正常通信[13]. STM32通过蓝牙模块接收键值码,并根据键值码分析执行对应的命令. 由此达到用户使用手机APP控制系统的目的.

3.3 安防模式

人体红外监测采用的是HC-SR501人体红外感应模块和蜂鸣器报警模块[14]. 当有人进入HC-SR501人体红外感应的范围时,该模块会输出高电平,主控芯片检测到该模块的输出引脚为高电平,驱动蜂鸣器发出声音报警,警示用户有人闯入. 当HC-SR501人体红外感应范围内没有非法物体时,该模块输出引脚为低电平[15],主控芯片检测到该模块的输出引脚持续保持低电平,蜂鸣器保持安静.

图3 系统主程序流程图

3.4 自动模式

自动模式利用传感器光照监测模块、温湿度监测模块采集室内环境信息.

由于主控芯片STM32F407自带ADC功能,所以不需要额外的A/D转换芯片,直接读取与光敏电阻串联的定值电阻两端的电压值,并通过该数值与设定的阈值电压(1 V,3 V)做比较. 当数值超过亮度最大阈值电压3 V时,主控芯片驱动直流减速电机关闭窗帘;当数值小于亮度最小阈值电压1 V时,主控芯片驱动直流减速电机开启窗帘. 另外,读取光照监测模块的电压速度为每250 ms读取一次,确保读取速度不会太快导致数值变化不明显,同时也保证读取速度不会太慢无法跟上室内光照变化的频率. 程序流程图如图4所示.

首先将DHT11初始化,并且监测温湿度模块是否初始化正常. 当初始化失败时,应该重新初始化直到初始化成功[12]. 当温湿度模块正常工作时,会将温湿度的整数部分显示在液晶模块上. 流程图如图5所示.

图4 光照检测模块程序流程图

图5 温湿度模块程序流程图

4 结果与分析

本系统实现的基于单片机的节能型智能窗帘设计,功能分为人工模式、自动模式、安防模式. 首先室内温湿度可显示在液晶屏上,其次在人工模式下,用户可以使用手机APP控制窗帘升降. 在自动模式下,当光照太强时,窗帘自动降落;当光照太弱时,窗帘自动升起. 在安防模式下,有非法人员闯入室内时,蜂鸣器会发出警报声. 与此同时,太阳能板为整个系统提供充足电源.

测量环境数据时,数据可以准确反应室内温湿度情况,结果如图6所示(Temp表示温度,Humi表示湿度). 经过反复测试,误差不超过±5%,符合设计要求.

在人工模式下,打开手机APP,点击“连接设备”按钮,用户根据液晶屏上显示的环境信息选择“打开窗帘”或者“关闭窗帘”按钮,如图7所示.

在安防模式中,当HC-SR501监测到距离传感器7 m以内并在<100°锥角内出现人员时,向单片机输出高电平,主控芯片驱动蜂鸣器发出警报,警示用户室内出现非法人员.

自动模式中,测量模块中定值电阻的电压作为室内光照情况判断的标准. 当电压为2~3 V时,判定室内光照正常,当小于或者大于阈值区间时,判定室内光线不足或者太强. 经过反复测试,误差不超过±3%,符合设计要求.

电源采用蓄电池户用型的GEL(凝胶)蓄电池,该电池具有良好的低温放电性能,充电后可以回复实际容量的95%以上,容量偏差小.

图6 室内环境数据

图7 手机APP

5 结束语

随着物联网技术的发展,智慧社区的发展概念越来越深入人心. 本文设计了一种基于单片机的节能型智能窗帘系统,以STM32单片机为核心,利用传感器采集室内温湿度、光照等环境信息,使用蓝牙模块实现用户无线控制,使用太阳能电池板作为电源. 经过运行测试,本系统可以有效提高用户生活质量,节能环保,符合智慧社区的发展理念,具有良好的实用和推广价值.

猜你喜欢
蜂鸣器窗帘温湿度
电动自行车产品车速提示音检测现状和整改技术研究(2)
基于AT89C51的数字型蚕用温湿度计的设计
掌控板制作简易钢琴
赶路人
基于DSP的多路温湿度监测系统
单片机驱动蜂鸣器的程序设计
基于温湿度控制的天气预测装置
巧做窗帘
相思湖
蒸发冷却温湿度独立控制空调系统的应用