基于ESP8266与STM32的智能晾衣杆系统设计

2021-12-24 02:12刘天成田学军
山西电子技术 2021年6期
关键词:光敏电阻光照单片机

刘天成,田学军

(1.湛江幼儿师范专科学校信息与科学系,广东 湛江 524084;2.岭南师范学院机电工程学院,广东 湛江 524048)

0 引言

智能家居就是利用现代物联网技术将家中的不同房间的用电器和设备连接到一起[1]。晾衣杆是构成智能家居的不可缺少的一部分,目前国内大部分家庭使用的都是原始的固定晾衣架或者手摇式晾衣架。智能晾衣架也只能根据指令进行动作,没有办法根据太阳光的具体位置去自动进行调整。因此,需要设计出能充分地利用好阳光资源的智能晾衣架满足人们需求。文献[2]指出近几年来我国房地产和智能家装行业的发展比较快,因此随着物联网技术不断的深入到人们的生活并得到越来越多人的认可,智能晾衣杆行业将会迎来新一轮的发展浪潮。

1 系统设计思路

智能晾衣杆系统的设计思路如下:晾衣杆首先要能根据阳光的不同位置自动调整位置,同时在下雨或极端天气时,能通过手机APP随时控制位置。另外在家时也需要能手动的调节。为了实现以上功能,控制电路的输入信号部分分别由按键、光照信号采集电路和手机指令接收电路ESP8266来完成。输出信号则需要接驱动电路驱动步进电机工作。

2 系统硬件设计

系统的硬件主要由光照检测电路、电机驱动电路、以及基于ESP8266的STM32控制电路和远程手机控制端组成。硬件整体框图如图1所示。

图1 系统总体框架

2.1 控制芯片

STM32F103,是基于Coretex-M3内核的32位ARM芯片系列,而ZET6属于该系列的高容量芯片,片内Flash为512 kB,片内SRAM为64 kB,主频72 MHz[3]。STM32F103系列有3个ADC,精度为12位,每个ADC最多有16个外部通道ADC电路可以对光照传感器的数据进行采集。

2.2 驱动电路

步进电机驱动A4988内置了译码器,可以通过控制器的2个引脚来控制步进电机,一个控制旋转方向,另一个控制步数。根据说明书查找管脚并将该两管脚接到STM32单片机的相应管脚即可。典型应用如图2所示。

图2 A4988的典型用法

2.3 ESP8266模块

ESP8266系列模组是安信可公司采用乐鑫ESP8266芯片开发的一系列WiFi模组模块,硬件接口丰富,可支持UART,IIC,PWM,GPIO,ADC等,非常适合做小量数据的无线传输。用户既可以通过串口用AT指令来控制,也可以使用厂家的SDK来进行开发,或者直接使用ARDUINO IDE来编写代码进行相应操作并给予数据反馈。

2.4 光传感器电路

光传感器电路由光敏电阻和电阻串联组成,光敏电阻的阻值会跟随变化。文献[4]详细地描述了光强度和光敏电阻阻值的具体关系。光敏电阻随光照的不同会在电路中产生不同的电压值,这个电压会被单片机采集到并转换为数字信号。得出的电压值能够显示在控制板的LED显示模块上,同时控制晾衣杆的智能升降。

2.5 系统的电路设计

电路设计以STM32控制器为核心,将无线模块ESP8266S、驱动A4988、光照传感器等电路接到单片机的相应接口,主要电路图如图3所示。

图3 系统主要电路

2.6 系统的总体设计

本系统主要由ESP8266模块、光敏传感器、步进电机、动力升降杆等组成。可以通过日常实用的手机里的APP对本产品进行远程智能操控。自动控制系统则是采集光敏电阻的光强信息来实现。光的强弱通过光敏电阻的电压反映出来,并被送到单片机中,单片机根据光照强弱情况判断太阳光照射的位置,再通过步进电机带动晾衣杆上升或下降,使衣服能够持续接受太阳光的照射,达到充分晾干、杀菌的作用。整体结构图如图4所示。

图4 整体结构图

3 系统软件设计

3.1 STM32的程序设计

系统软件设计采用的是结构化和模块化设计方法,便于程序的扩展和调试,根据实际的具体情况,设计出不仅贴合用户需求,而且还安全可靠的智能控制算法。控制系统程序结构示意图如图5所示。

图5 系统控制流程图

程序算法控制过程为:当控制板上电时,先对系统进行初始化,进行串口,ADC,I/O口等相关外设的初始化。外设初始化后,延时一会,等待系统稳定,便开始正式进入控制流程。进行智能控制前,单片机通过ADC先对传感器进行数据采样,检测光照,再根据采样转换的数字信号进行处理,判断当前阳光的具体位置,然后输出PWM脉冲,控制步进电机工作使晾衣杆升降,当晾衣杆到达合适的位置后,MCU再次通过控制I/O口来控制步进电机的停止,使晾衣杆停止在合适的位置上。这样晾衣杆控制系统便可以智能地根据光照强度来决定晾衣杆的位置,充分利用阳光晾晒衣服。

3.2 APP程序设计

APP程序是用户直接控制设备的窗口,由HTML5+Javascript开发,用户可以在APP中对智能开关进行配网,管理和控制用户所属的智能开关设备,并可以根据用户的个人习惯自定义相关操作等。APP提供了一系列人性化的交互界面,方便使用。

手机APP中定义了三个控制按钮,当用户在APP上点击了‘上’这个按钮时,手机APP便会通过网络通讯协议将数据发送到云端,再由云端下发到控制设备,ESP8266模块通过WiFi接入互联网,接收由云端下发的控制信号,再根据接收到的控制信号进行解识,控制晾衣杆移动到设定的最高的位置;当用户点击‘中’这个按钮时,手机APP与单片机之间的通讯同上,当单片机成功解识后,便会控制智能晾衣杆移动到设定的中间位置;同理,当用户点击‘下’这个按钮时,单片机便会控制智能晾衣杆移动到设定好的最下的位置。

4 系统的控制原理

控制器会根据外部输入的结果,判断并输出具体的信号驱动步进电机。输入方式有三种:1) 手动控制;2) 智能控制;3) 利用手机远程来控制,单片机先根据传感器反馈的数据进行判断后再进一步地控制判断。

4.1 手动控制

利用三个按键接入到单片机来实现手动的控制。按键采用共阴极接法,当按键被按下时,电路导通,与之对应的按键连接的单片机I/O口电平被拉低,该I/O口处于低电平状态,利用单片机读取相应的I/O口电平变化,即可检测出相应的按键状态。当检测到相应按键处于按下状态时,通过控制单片机内部的定时器寄存器,设置为PWM输出模式,输出一定数量的PWM脉冲,当步进电机驱动模块接收到该PWM脉冲时,再根据PWM的脉冲数来控制步进电机的步数,进而控制晾衣杆的位置。

4.2 智能控制

由于光敏电阻的阻值会随着光照强度的大小而变化,故只要测量得到光敏电阻两端的电压大小,便进一步确定当前光强强度的大小。通过设置单片机内部的ADC寄存器,利用ADC转换器,将光敏电阻的电压模拟信号转化成单片机可直接读取的数字信号。单片机根据光敏电阻反馈的数据便可以确定阳光的位置,单片机再通过控制PWM的输出来控制步进电机,自动调节晾衣杆的位置。

4.3 手机远程控制

手机与WiFi模块ESP8266之间的数据通信是通过云服务器作为中转站来进行,云服务器可以用云平台的,也可找免费的。首先,ESP8266模块通过家庭WiFi照某种协议与云服务器建立连接,协议类型多种多样,本设计采用TCP长连接。然后手机也通过TCP协议与云服务器建立连接。则手机与WiFi模块ESP8266之间便能通信。

手机作为系统控制的上位机,向云服务器发送JSON格式数据。当手机进入控制的画面,点击了手机上的上、中、下按键三者的其中一个,手机通过网络通讯协议将控制指令发送到云服务器,云服务器接收到手机发的数据后,把手机发送过来数据转发给ESP8266模块。ESP8266模块将接收到的数据进行解析,转换为相应的指令信号,控制PWM的输出,驱动步进电机来进行相应的运动,从而实现晾衣杆的远程控制。

ESP8266模块采集到光传感器的数据信息和杆的状态信息后也以JSON的格式将数据发送到云服务器,云服务器接收到ESP8266模块发过来的数据后,然后把数据推送给手机APP,则在手机上便可显示光照的信息和晾衣杆的状态信息。

5 实验验证

主要是用光敏电阻进行了光采集实验,电路图如图6。

图6 光采集电路图

本设计中有三个光敏电阻,为了测试光敏电阻的可行性,特地进行了光敏电阻变化实验。实验中利用手电筒来模拟太阳光线,液晶屏上会显示ADC的值和电压值。三次实验结果如表1、表2、表3所示。

表1 第一个光敏电阻ADC和电压数值表

表2 第二个光敏电阻ADC和电压数值表

表3 第三个光敏电阻ADC和电压数值表

实验表明,当三个光敏电阻接收到光线时,照射前和照射后的ADC值变化较大,易于程序判断,故能很好地应用于系统的光照检测中。观察实验数据发现,当没有阳光照射的时候,ADC的值都较大,一般大于300;当有光照射到光敏电阻时,ADC的数值都小于200。

6 结论与展望

实现了基于ESP8266的智能晾衣杆系统的设计,多次的实验表明,当光敏传感器检测到阳光时,可以进行位置检测,通过让单片机发送信号给电机使其实现升降,从而实现智能晾衣杆自动工作。其次,能够通过手动的方式来实现晾衣杆的升降,让其在合适的位置停留,从而更好地晾晒衣物。最后,利用WiFi模块实现了用APP远程控制晾衣杆的升降。

虽然已经实现了智能晾衣杆系统的设计,但还不是很完美,还要根据消费者的需要和市场调查进一步完善。比如添加其它的检测方式、增加衣杆的移动方式、添加杀菌功能等等。这些都需要我们继续研究,从而使之更贴和人们的生活需求,给客户带来更大的便利。

猜你喜欢
光敏电阻光照单片机
节能环保 光照万家(公益宣传)
当幻想的光照进童心世界
浅谈不同化学成分对光敏电阻薄膜特性的影响
——以高PbI2掺杂水平的钙钛矿光阻膜、Bi2S3光阻膜、ZnO光阻膜为例
基于光敏电阻的光开关设计性实验
基于单片机的SPWM控制逆变器的设计与实现
隐蔽的力量
基于单片机的层次渐变暖灯的研究
基于单片机的多功能智能插排
基于单片机的便捷式LCF测量仪
光敏电阻的特性研究