基于ESP32的智能百叶窗设计

2022-09-14 15:27周卢田杏甜刘陌凡张旭傅院霞
电子制作 2022年17期
关键词:百叶窗温湿度电机

周卢田,杏甜,刘陌凡,张旭,傅院霞

(蚌埠学院 数理学院,安徽蚌埠,233000)

百叶窗在日常生活中应用十分广泛,具有良好的透光性,与布艺窗帘相比,百叶窗可更加均匀的控制室内光照[1]。在欧美等发达国家和地区,智能百叶窗具有较大市场份额,窗体产品启闭方式也进入了智能化的时代,在国内,智能百叶窗也受到了人们的重视,智能百叶窗属于高端前沿产品,未来数年内智能百叶窗市场将进一步扩大[2~4]。2020年陈美玲等人设计一款基于WiFi远程遥控的智能逐光百叶窗[5],该设计通过ESP8266芯片,实现了百叶窗联网功能。2021年刘雪雪等人设计的智能百叶窗[6],其叶片可根据环境变化,以及光线角度进行调节。前者的叶片只有全开和全闭两种状态,其对光线的控制不够均匀,且设计方案中ESP8266仅作为一个单向发送数据的芯片,芯片能力并未有效发挥。刘雪雪等人设计的百叶窗,缺乏远程控制。本设计将采用ESP32的作为主控,结合前两款百叶窗设计的优缺点,致力于改善用户体验,提出一种新的智能物联网解决方案。

1 总体方案

系统构成主要有ESP32、28BYJ-48步进电机、42步进电机、HDC1080温湿度传感器、光敏传感器、语音模块、MPU6050角度传感器、激光测距模块、变速箱、点灯Blinker APP等部件构成。ESP32是系统中央控制器,控制与协调各个模块之间的工作,同时作为一款2.4GHz WiFi芯片,其负责百叶窗与APP之间的远程连接。28BYJ-48步进电机用于控制百叶窗叶片角度,42步进电机用于驱动窗帘拉起和放下。DC1080温湿度传感器负责采集室内温湿度数据与光敏传感器配合,叶片可根据环境自行做出调整。激光测距模块可测量用户手掌与百叶窗之间的距离,用于手势控制百叶窗。语音模块用于采集用户语音指令,配合激光测距模块,用户可实现对百叶窗进行离线非接触控制。系统整体结构如图1所示。

图1 系统整体结构

2 模块介绍

■ 2.1 ESP32

本设计采用ESP32作为主控,该芯片采用40nm工艺,双核32位MCU、2.4GHz双模WiFi和蓝牙芯片、主频高达230MHz,计算能力可达600DMIPS。具有高射频,高稳定性,高可靠性、低功耗及通用性等特点,具有包括Active模式、Modem-sleep模式、Light-sleep模式、Deep-sleep模式、Hibernation模式在内的多种调节管理模式。可根据不同需求,调节所需方案。常运用于嵌入式物联网领域[7]。ESP32负责控制整个百叶窗的运行,ESP32通过MQTT协议与移动APP点灯Blinker进行连接。实现远程控制百叶窗。ESP32将温湿度传感器获取到的信息上传到点灯Blinker实现远程交互。ESP32通过IO口,发出脉冲,控制与之相连的42步进电机和28BYJ-48步进电机达到精确控制电机转动效果。图2为系统电路图。

图2 系统电路

■ 2.2 HDC1080

本设计采用HDC1080温湿度传感器模块,具有低成本,抗干扰性强,高分辨率等特点。该传感器最高分辨率为14位测量分辨率。与ESP32进行I2C通信并以通过网络将温湿度数据发送至移动APP。测量数据流程如下,通过I2C通信协议在寄存器地址0x02中配置采集参数待其响应,通过将位12置1 设置采集温度和湿度的模式,设置位10确定测量温度的分辨率,位8和位9同时确定气压分辨率,通过执行指针写入指令并将地址指针设置0x00来触发测量发送检测命令,待设备响应,读取8位字节获取温湿度信息[8]。

■ 2.3 TOF400C

本设计采用TOF400C作为百叶窗的激光测距模块,内部由意法半导体生产的VL53L1X芯片控制。其优点有功耗低,精度高,反应较快等特点,常用于激光测距模块。TOF是一种绝对距离检测技术,即传感器发出经过调试的近红外光,遇物体后反射,传感器通过计算光线发射和反射时差或相位差,来换算被拍摄景物的距离,以产生深度信息。TOF400C取样频率较快,达到400kHz,与ESP32之间使用I2C进行通信,通过调用VL53L1X内部的API对激光测距模块进行数据读取。此模块在本设计用于测量用户手掌与百叶窗之间的距离。

■ 2.4 LD3320

语音模块LD3320,是一款非特定人声芯片,无需额外录音,识别外部语音与寄存器语音相同时即可,识别率可达95%。该模块识别的语言可进行后续编程,开发者采用I2C通信,向寄存器内部写入需要识别的语音即可,后续可增添50组非特定人语音条[9]。为了进一步降低环境对该模块的干扰,提高识别率,本设计在每条指令前设计激活语音指令,系统读取到激活语音指令后,才可以执行下一步语音指令。激活语音指令的设计,在一定程度上,减少了非指令语音的干扰,降低系统执行错误指令的概率。

■ 2.5 MPU6050

MPU6050 是 InvenSense 公司推出的整合性 6 轴运动处理传感器。其内部整合了 3 轴陀螺仪和 3 轴加速度传感器,利用 MPU6050 芯片内部的 DMP 模块(Digital Motion Processor 数字运动处理器), 可对传感器数据进行滤波、融合处理。MPU6050与上位机进行I2C通信,接口向上位机输出姿态解算后的数据,降低上位机的运算量。本设计将MPU6050加速度计陀螺仪贴合在百叶窗的叶片上,使之可以采集百叶窗叶片的角度信息,并将角度数据通过I2C协议发送至ESP32。

■ 2.6 机械部分

与传统百叶窗相比,本设计在机械部分稍作改动,转轴采用六角方钢,在结构强度方面优于传统百叶窗。同时设计配套一款变速箱,0.5模30齿的齿轮同蜗杆配合,使得减速箱可以实现自锁效果。此变速箱预留接口利用28BYJ-48步进电机进行驱动。本设计通过置于叶片上的MPU6050传感器可获取叶片俯仰角度,从而与28BYJ-48步进电机形成闭环控制,使本设计可精确调控百叶窗叶片角度,百叶窗利用用42步进电机拉动拉绳,代替用户手拉操作,达到方便省力的效果。同时,此款步进电机可后置刹车片,断电后刹车抱死,窗帘任能保持断电前的位置,在下次上电时刹车松开,电机可正常运转。图3为百叶窗外部电机结构。

图3 百叶窗外部电机结构

3 工作模式

■ 3.1 离线模式

3.1.1 自动模式

处于自动控制模式时,系统根据环境自主做出决策。传感器采集室内温湿度数据和光照强度信息。叶片在0~180度进行一次翻转,同时光敏传感器记录室内光照强度。在此范围内,若光照强度均低于100lux,叶片翻转到最强光照角度。光照强度在100lux~500lux,叶片角度不变化。光照强度高于500lux,且室内温度高于30℃,叶片关闭。光照强度低于10lux,系统判定为夜晚,叶片关闭。

3.1.2 半自动模式

此模式由语音模块和激光测距模块协作完成。用户通过口令“百叶窗”待蜂鸣器有回应,语音系统激活,用户可通过如表1所示口令控制百叶窗。

表1 语音口令

激光测距模块视场角 为27 °,工 作 距 离 在50mm~4000mm。手势控制开启后,用户手掌正对百叶窗持续三秒进行初始化操作。待蜂鸣器提示音响后,初始化完成。用户前后移动手掌,叶片随着用户手掌前后移动进行翻转。叶片翻转角度与手掌和百叶窗之间的距离呈正相关。待叶片调整到适合的角度后,通过语音关闭手势控制,叶片翻转操作完成。语音模块和激光测距模块相互配合,用户可实现在不接触百叶窗的情况下对其进行操作。激光测距模块的引入,在一定程度上丰富了百叶窗的控制方式,使百叶窗这种传统家具更具科技感。

■ 3.2 在线模式

点灯Blinker是一套专业,成熟的物联网解决方案,其封装了多个平台的底层代码,极大的简化了开发者的开发工作。Blinker平台其将服务器,设备端SDK,和APP整合到一起,简化了物联网开发工作。开发者仅需关注设备需要实现的功能,而不需要去处理繁琐的底层逻辑开发简单。用户可自定义编辑Blinker app操作界面。自定义界面完成后,将app中获取到的Secret Key、WiFi热点名称以及WiFi密码编译到ESP32中,ESP32连入用户的WiFi,用户便通过移动APP控制百叶窗,远程控制窗帘收放,精确控制百叶窗叶片的翻转。

4 程序设计

■ 4.1 开发准备

本设计使用的开发环境为Arduino IDE,开发环境中安装ESP32库,即可对ESP32芯片进行开发,开发简单,代码简洁。为了使系统能够接入点灯Blinker平台,需在开发环境中安装Blinker库。

■ 4.2 程序思路

设备每次上电后,均需完成初始化操作。刹车片松开,窗帘收回,直到最顶部的叶片触碰到限位开关,停止收回,窗帘位置清零,待蜂鸣器提示后,完成初始化操作。初始化完成后用户选择接入模式,系统接入Blinker 平台 ,WiFi模式定义函数为BLINKER_WIFI,创建组件对象,绑定用户APP中的滚动条,按键和文本框。通过ESP32将温湿度数据导入心跳包,数据间隔30~60s通过心跳包发送到APP[10]。用户可实现远程对百叶窗的控制和数据查询。选择自动控制模式后,叶片在0~180°内翻转,系统采集90组光照强度,并进行冒泡排序,系统寻找出最优角度,电机执行转动,此后进入循环,叶片每5分钟进行一次扫描。当语音模块被激活时,系统进入语音控制模式。若在语音模式下,激光测距模块被激活,系统通过测量与手之间的距离,进行一维手势控制。图4为程序设计思路。

图4 程序设计思路

5 结束语

本设计采用ESP32作为主控,系统通过Blinker连入互联网,实现对百叶窗的远程控制。温湿度传感器与光敏传感器配合使得百叶窗可根据环境自主做出决策。语音控制配合手势控制,令百叶窗更具科技感。用户可以在不接触百叶窗的情况下对其进行离线控制,在一定程度上丰富了百叶窗的控制方式。本设计为相关产品提供了一种新的发展思路,丰富了用户体验,具有较大的市场前景。

猜你喜欢
百叶窗温湿度电机
新能源车用驱动电机系统的匹配应用
蛋鸡育雏育成舍环境控制技术
小番茄发电机
新型铁路运输发电集装箱进气百叶窗设计
档案库房温湿度记录统计及调控
用百叶窗给手机充电
发电百叶窗
X2412S多旋翼专用电机
变电站高压配电智能温湿度控制装置的研发与应用
电机Ⅱ个股表现