APP下载

基于ARM和WIFI通信的智能开关控制器设计

2018-08-24

计算机测量与控制 2018年8期
关键词:被控控制器电路

(1.西南科技大学 智能机器人创新实践班,四川 绵阳 621010;2.西南科技大学 工程技术中心, 四川 绵阳 621010)

0 引言

随着经济社会的不断发展,科学技术的日益进步,尤其是电子信息技术、控制技术的迅猛发展,社会信息化程度不断提高。各类智能化设备已经被广泛应用于人们的日常生活、工作、以及学习的各个领域中来,对人们的生活习惯以及工作方式产生了重大影响。信息化社会在改变人们生活习惯和工作方式的同时,也对我们的传统住宅提出了挑战。智能家居系统的概念应运而生,并逐步进入到普通家庭之中,目前已被人们广泛接受[1-2]。

智能家居系统以住宅为平台,通过依托广泛的高度集成自动化控制功能,旨在营造一个高效,舒适,安全,便利的居住环境。而在传统住宅中,针对诸如灯光照明系统等一系列用电设备的控制,普遍采用传统开关控制结构。传统开关控制结构作为一种用电设备控制的基础手段,其控制功能相对单一,且必须人为手动操作,频繁操作过于繁琐,因此在面对新一代智能家居系统对于大量多功能、高精度的自动化控制需求时,设计一种具有联合信息数据监测,控制响应功能的智能开关控制器,用以取代传统开关控制结构,作为智能家居系统自动控制功能实现的重要组成部分,以解决传统开关控制结构在控制过程中存在的功能单一,操作繁琐,缺乏控制精度以及灵活性等弊端就显得十分必要。

针对上述问题,提出了基于ARM和WIFI通信的智能开关控制器的设计与应用实现方法;一方面以WIFI无线通信技术为基础,用户可以通过使用Android智能手机或平板电脑等移动智能终端与该控制器的无线通信模块进行WIFI热点连接,借助设备上的客户端软件选择接收查看由智能开关控制器发送来的传感器监测数据,也可以利用该客户端软件实现对被控设备如灯光照明系统等家居用电设备的实时无线遥控,包括控制被控设备工作状态开关,对被控设备设置定时开关,以及开启智能控制模式等相关功能,其中智能控制模式通过利用环境数据监测模块的各个传感器,对被控设备的运行环境进行实时监测,使智能开关控制器能够准确的判断当前被控设备的运行环境状况,进而由该控制器根据程序设定自动输出控制信号,以驱动输出响应模块自动对被控设备做出相应的响应[3-4]。

除此之外另一方面使用TFT液晶显示屏构建用户交互模块,将控制器及其运行环境状况等相关信息进行实时动态显示,内容丰富,界面友好,进一步提升了用户体验;

通过实验验证,提出的基于ARM和WIFI通信的智能开关控制器的设计与应用,实现了针对被控设备的智能动态控制要求,系统运行稳定,达到了智能控制的目的,具有广泛的应用前景。

1 基于ARM和WIFI通信的智能开关控制器的整体结构设计

本文设计提出的智能开关控制器由电源模块、无线通信模块、环境数据监测模块、核心控制模块、用户交互显示模块、输出响应模块以及Android移动客户端共7部分组成,其总体设计框图见图1。

基于ARM的核心控制模块是整个控制器的核心部分,负责管理整个网络结构,包括对各传感器模块以及WIFI通信模块的实时动态数据进行接入处理,并根据程序设定执行相应操作。此外,还负责驱动用户交互显示模块的TFT液晶显示屏幕,向用户直观的显示各个传感器的数据信息以及该智能开关控制器与其被控设备的运行状态信息。

Android移动客户端软件通过安装在用户所拥有的Android智能手机或平板电脑等移动智能终端设备上,使得用户的终端设备在与该智能开关控制器的无线通信模块进行WIFI热点连接后,可以通过该客户端软件接收查看由智能开关控制器发送来的传感器监测数据,也可以通过其选择执行不同的控制功能,并将相应的控制信息通过WIFI无线网络发送至控制器的核心控制模块,进而由核心控制模块根据程序设定实现对被控设备即家居灯光照明系统等用电设备的实时无线遥控功能。

环境数据监测模块负责对该智能开关控制器被控设备的运行环境状况进行监测分析。通过各个传感器模块获取被控设备所处环境的温度、湿度、光强、以及红外等相关信息。

输出响应模块作为该智能开关控制器控制功能实现的执行结构,其由多路光耦隔离继电器驱动电路构成,将智能开关控制器接入被控对象设备的供电电路中,通过施加脉冲信号触发继电器驱动电路,从而实现对被控对象诸如家居灯光照明系统,电视,空调,电热水器等用电设备的智能自动控制功能。

图1 总体设计框图

2 基于ARM和WIFI通信的智能开关控制器的硬件平台设计

该智能开关控制器的硬件平台采用嵌入式结构设计,其组成架构如图2所示。

图2 硬件平台架构意图

以意法半导体公司开发的基于ARM Cortex-M3架构的STM32f103ZET6芯片作为微处理器,联合ESP8266WIFI无线通信模块,通过与STM32f103ZET6微控芯片的USART串口通道进行连接,从而实现无线数据传输功能。采用DHT11温、湿度传感器模块,HC-SR501人体红外监测传感器模块,以及YL-38光敏传感器模块,分别用来对该智能开关控制器被控设备运行环境的温度、湿度、红外、以及光强等相关信息进行监测分析。采用TFT显示屏幕将该控制器的相关数据信息进行显示,方便用户使用。采用多路带光耦隔离的继电器驱动电路对被控用电设备进行自动响应控制,实现该控制器的自动电路控制功能。

2.1 STM32f103ZET6微控芯片

STM32f103ZET6微控芯片,是由意法半导体公司开发的一种基于ARM Cortex-M3架构的32位微处理器[5]。最高工作频率为72 Mhz,内置512 KB的高速Flash存储器以及64 KB的SRAM,拥有丰富的I/O端口和联接到两条APB总线的外设,拥有多达3个12位的ADC、以及11个定时器其中包含4个通用16位定时器和2个PWM定时器,除此之外还包含丰富的标准和先进通信接口,多达2个I2C接口、3个SPI接口、2个I2S接口、1个SDIO接口、5个USART接口、一个USB接口和一个CAN接口。

2.2 电源模块解决方案

电源模块采用Mini-USB接口[6],经由外部的电源适配器与其相连接,从而实现电源的稳定供给。Mini-USB接口具有显著的防误差性能,其体积相比标准USB接口更小巧,目前已被广泛应用于各类移动设备以及相关电子产品中。除此之外还采用了ASM1117正向低压降稳压器,其具有固定输出和可调输出两个版本,固定输出版本有1.5 V、1.8 V、2.5 V、2.85 V、3.0 V、3.3 V、5.0 V等多个型号,且具有较高的精度。ASM1117内部还集成了过热保护和限流电路,本电源模块采用该稳压器实现了3.3 V的电压输出。

2.3 WIFI无线通信模块

WIFI模块采用ESP8266芯片实现无线数据传输,ESP8266是一款由乐鑫ESpressif设计的超低功耗的串口WIFI透传模块,拥有业内极富竞争力的封装尺寸和超低能耗技术,专为移动设备和物联网应用设计,可广泛应用于智能电网、智能交通、智能家具、手持设备、工业控制等领域[7]。ESP8266芯片共有3种工作模式(分别为1.AP模式2.TCP模式3.AP&TCP模式)。本智能开关控制器的无线通信功能通过使用模式1,即将ESP8266芯片配置为AP热点来实现。将整个硬件平台通过该模块与Android客户端实现直接互联,当Android客户端连接至该WIFI热点后,便可以通过APP来实现对该智能开关控制器的相应操作。WIFI模块硬件电路如图3所示

图3 WIFI模块硬件电路

2.4 温、湿度传感器

温、湿度传感器选用DHT11模块,该传感器是一款含有已校准数字信号输出的温湿度复合传感器。传感器本身包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能MCU相连接,每个DHT11模块均在极为精确的湿度校验室中进行过准确度校准,校准系数以及相关参数存储在内置的OTP内存中[8]。在实际运行时,传感器会在检测信号的处理过程中要调用这些校准系数,因此该传感器具有响应速度块,抗干扰能力强等优点,具有良好的可靠稳定性。

2.5 光敏传感器

由于需要分析环境的光线强度等级,进而对照明系统等用电设备进行自适应控制。故采用YL-38光敏电阻传感器模块,经由STM32f103ZET6微控芯片内置的高精度ADC对传感器测得光线强度电信号进行采样,并将采集到的电信号进行A/D模数转换,再根据程序设定的光强等级阈值,将转换后得到的光线强度数字信号与阈值进行比较,从而能够准确的得到环境的光线强度等级。

2.6 人体红外监测传感器

采用HC-SR501热释电人体红外线感应模块,由于人体自身发射出的红外线其波长范围在9~10 μm之间,而热释电探测元件的探测波长范围为0.2~20 μm,故需经由红外滤光片对多余光谱进行滤光,使得最终传感器的探测波长范围被收缩至7~10 μm[9]。因此可以对人体红外线进行实时监测并将其转换成电信号输出,从而实现了对人体活动进行探测的功能。

2.7 TFT显示屏幕

采用3.2寸TFT型LCD液晶显示屏幕。这一类材质的显示屏幕具有低功耗、高响应度、高亮度、高对比度等优点,因而被广泛应用于各类主流电子显示设备上[10]。该屏幕的显示分辨率为320×240,内置ILI9341显示控制芯片以及TSC2046触摸控制芯片,支持16位并行FSMC总线接口驱动。通过借助该液晶显示屏幕来构建用户交互显示终端,在增强用户的直观感受,方便用户使用的同时,进一步提升了用户体验。

2.8 光耦继电器驱动电路

由于需要根据STM32f103ZET6核心控制芯片发出的触发信号,对被控用电设备进行自动响应控制,且触发信号电压值最高为5 V,而被控用电设备的电路电压为市电220 V,故设计采用多路带光耦隔离的继电器驱动电路来实现此功能[11]。其硬件电路如图4所示。

图4 继电器模块硬件电路图

由图可知,由于采用了光耦隔离单元,当高电平控制信号从信号输入端输入后,光电耦合器内部的发光二极体就会因通过电流而发光,光敏元件在受到光照后产生电流,促使光敏三极管导通。从而引发前一级电路进行导通。电磁继电器内部线圈流过电流,使得其可以驱动衔铁的动 静触点进行吸合,从而实现对被控用电设备的自动响应控制功能。由于光电耦合器的输入回路与输出回路之间没有电气联系,也没有共地,故其可起到很好的安全保障作用,即使当外部设备出现故障,甚至输入信号线短接时,也不会损坏仪表。

3 基于ARM和WIFI通信的智能开关控制器的软件系统设计与应用

3.1 软件系统整体设计与应用

本文设计提出的智能开关控制器的软件系统是基于ARM嵌入式平台开发而来的,其配套移动客户端软件基于Android智能操作系统进行开发。

该智能开关控制器的主要应用功能有:

1) 自动电路控制,作为智能开关控制器的核心功能,通过STM32f103ZET6核心控制芯片对继电器驱动电路施加触发信号,再由驱动电路做出响应以此实现对被控设备的自动电路控制功能。

2) 智能无线控制,借助WIFI无线通信技术实现了该智能开关控制器的硬件平台与智能手机或平板电脑等智能移动终端的互通互联,用户仅需要通过移动客户端软件即可对该智能开关控制器进行相关操作;

3) 定时开关,借助STM32f103ZET6核心控制芯片内置的高精度RTC时钟,控制器通过调用RTC中断服务程序获取准确的系统时间,用户可通过移动客户端软件设置被控设备的开启时间以及关闭时间。

4)智能控制模式,基于自动电路控制功能,通过STM32f103ZET6核心控制芯片对环境数据监测模块各个传感器的数据进行采集分析,判断当前情景,并根据程序自动对被控设备进行控制。

当该智能开关控制器系统上电后,首先由核心控制芯片根据系统程序,对各硬件模块依次进行功能初始化,此时用户交互显示模块的TFT液晶显示屏会显示用户欢迎界面,当初始化配置完成后显示屏上会显示运行界面。用户可以在初始化配置完成后,通过Android智能手机等移动终端,与该智能开关控制器的WIFI热点信号进行连接,使用配套的客户端软件对智能开关控制器的功能以及运行模式进行选择,从而实现对被控设备的智能自动控制功能。智能开关控制器主程序流程如图5所示。

3.2 WIFI无线通信

WIFI无线通信,是该智能开关控制器的核心功能即智能无线控制功能实现的技术基础。在本文所提出的硬件平台设计中,WIFI无线通信模块采用的是ESP8266芯片。ESP8266属于串口型WIFI,采用TCP/IP协议进行无线数据传输,其共有3种工作模式(分别为1.AP模式 2.TCP模式 3.AP&TCP模式)。本智能开关控制器的无线通信功能通过使用模式1,即将ESP8266芯片配置为AP热点来实现。其配置核心代码如下:

//将WIFI模块配置为AP模式

ESP8266_Net_Mode_Choose (AP );

//配置AP模式下WIFI模块的IP地址

ESP8266_CIPAP (macUser_ESP8266_TcpServer_IP );

//建立WIFI热点(名称、密钥、加密方式)

ESP8266_BuildAP (macUser_ESP8266_BulitApSsid,macUser_ESP8266_BulitApPwd,macUser_ESP8266_BulitApEcn ) ;

//使能WIFI热点可以由多个设备连接

ESP8266_Enable_MultipleId (ENABLE );

//使能WIFI热点的服务器模式,配置网络端口号、超时时间

ESP8266_StartOrShutServer (ENABLE,macUser_ESP8266_TcpServer_Port,macUser_ESP8266_TcpServer_OverTime );

……

通过配置热点名称、加密方式、密钥、以及开放的IP地址和网络端口号,完成WIFI模块的初始化。STM32f103ZET6核心控制芯片将可通过对与WIFI模块相连接的串口通道进行循环监听,读取接收到由移动客户终端设备发送过来的数据内容,并根据接收到的不同命令语句,选择执行相应的操作。除此之外,各个传感器所测得相关数据参数,以及该智能开关控制器与被控设备的运行状态等相关信息也可以通过对应的串口通道由WIFI热点发送至移动客户端,并在客户端软件上进行实时显示。

图5 智能开关控制器主程序流程图

3.3 智能控制模式程序设计

基于本文设计提出的智能开关控制器其所具有的自动电路控制功能,在实验中对于该控制器实际应用过程中的智能情景拓展方面,设计提出了针对家居灯光照明系统的智能控制模式。该智能控制模式借助光敏传感器、人体红外监测传感器等构成的环境数据监测模块,对被控设备当前所处环境状况进行数据采集。控制器通过分析采集到的环境数据,针对不同的环境光线强度,自动控制照明系统的灯组工作数量,实现灯光亮度的自适应功能。除此之外,当环境光线较为昏暗时,若人体红外监测传感器监测到有用户进入到室内,并在室内活动时,灯光将自动亮起为用户提供照明,若监测到用户离开室内,室内无人活动时,灯光将自动熄灭。

用户可通过使用Android客户移动端软件,点击相应控件来选择开启或关闭该模式。智能开关控制器通过串口通道,读取ESP8266 WIFI模块上接收到的字符串指令,与程序预先设定的指令”CMD_AUTO_”比较是否一致。若一致则进一步检测该条指令的后缀标志位是否为1或0。若为1则使能定时器TIM5,并执行对应中断服务程序,开启该智能控制模式,反之则失能相应定时器,关闭该智能控制模式。

在对应的中断服务程序中,通过调用光敏传感器模块子程序,获取光线强度模拟量,并将模拟量值送入ADC进行模数转换,转换后得到的光线强度AD值其有效范围为0~100,对应不同的光强等级。再将其与45进行比较,若环境光线昏暗,其光强AD值小于45,则使能人体红外监测传感器模块进行感应触发,若环境光线充足,其光强AD值大于45,则失能人体红外监测传感器模块并不再进行感应触发。通过对触发信号进行输入捕获,以此来驱动输出响应电路对灯光照明系统进行自动控制。该智能控制模式程序流程图以及中断服务程序流程分别见图6和图7。

图6 智能控制模式程序流程图

图7 TIM5中断服务流程图

4 实验结果与分析

根据本文提出的方案,成功设计出了一种基于ARM和WIFI通信的智能开关控制器,并在实验中将其应用于家居灯光照明系统中。

将该智能开关控制器与照明系统电路连接配置好以后,用户便可以通过Android智能手机与该智能开关控制器的WIFI热点信号进行连接。在输入正确的密钥,连接成功后,用户便可以通过手机上的移动客户端软件对智能开关控制器的被控设备进行远程无线遥控,包括控制照明系统灯组的开关,控制照明系统灯光亮度,设定定时开关,以及开启智能控制模式等功能。除此之外用户还可以在线下的用户交互显示模块上通过TFT液晶显示屏上显示的数据内容,了解到当前智能开关控制器所在室内的环境状况信息,包括温度、湿度、环境光线强度、以及系统实时时间(由STM32f103ZET6微控芯片内置的RTC时钟实时授时,保证计时精度以及准确度)。除此之外还有智能开关控制器当前开放的WIFI热点网络名称,密钥,服务器端开放的IP地址,以及网络端口号等相关信息,方便用户使用,进一步提高了用户体验度。其应用效果如图8所示。

图8 智能开关控制器应用效果图

实验结果表明,根据本文提出的方案所设计的智能开关控制器实际运行状态稳定,系统响应迅速。借助WIFI热点无线网络,该智能开关控制器的实测最大有效控制距离可以达到50 m以内。在保证智能开关控制器与客户移动终端之间的无线网络稳定连接的前提下,该智能开关控制器能够准确的接收由客户移动终端发出的相关控制命令,并能够根据程序设定,针对不同的命令语句,实现实验中对于家居灯光照明系统的相关控制功能。

5 结束语

本文提出了一种基于ARM和WIFI通信的智能开关控制器的设计与应用实现方法,可以实现对家居灯光照明系统等用电设备的智能自动控制功能,解决了传统开关控制结构在控制过程中存在的功能单一,操作繁琐,缺乏控制精度以及灵活性等弊端。该智能开关控制器以WIFI无线通信技术为基础,用户可以通过Android客户移动端对智能开关控制器的各个功能进行实时无线控制。实验结果表明,该智能开关控制器具有结构简单、操作简便、响应迅速、控制功能多样化等优点,充分满足了新一代智能家居系统对于大量多功能、高精度的自动化控制需求,可以广泛的应用于各类智能自动化控制结构中,尤其是智能家居系统控制结构单元,在下一步研究中,将以该智能开关控制器为基础,拓展其在智能家居控制等相关方向上的智能化应用。

猜你喜欢

被控控制器电路
电路的保护
工商业IC卡控制器改造为物联网控制器实践
港警在“修例风波”中拘捕近万人
PLC可编程控制器相关外置的选择计算研究
巧用立创EDA软件和Altium Designer软件设计电路
基于MATLAB模拟混沌电路
巧用求差法判断电路中物理量大小
模糊PID控制器设计及MATLAB仿真
Freescale公司的可编程电磁阀控制器MC33816