四川交通职业技术学院信息工程系 唐俊涛 刘谦
随物联网发展,越来越多的物品都能连接无线网络,功能单一的传统开关已经不能够满足人们的需求,智能开关不但有利于对家庭电器的掌控,而且还提高了家庭开关电路的安全性。为此开发设计了无线局域网智能开关。主控部分采用单片机STM8S,传输部分采用ESP8266WiFi模块,传感部分采用光敏传感器收集环境信息,采用PWM模块和固态继电器作为控制部分,采用NE555芯片作为触控部分。
目前,大部分家庭仍在使用传统机械式开关,在不断使用过程中开关很容易损坏,而且传统的机械开关采用直接接通220V的方式,一旦漏电,人体将会直接接触220V,同时机械开关接通时容易产生电火花。智能开关开关电路时不存在机械操作,延长了开关的使用寿命,接通电路时不会产生电火花,减少了发生火灾的可能性,智能开关采用的弱电压、弱电流控制强电压、强电流,大大降低触电的风险。
智能开关采用一体式面板,没有缝隙,可以有效的防止水进入开关,所以可以湿手开关灯,这个开关面板材料在夜间时会发出夜光,方便人们定位开关位置。采用交流PWM调节器,通过触摸开关按钮改变灯的开关状态,也可以通过长按开关按钮实现实时自动调节灯亮度,开关通过WiFi模块连接路由器,实现远程控制。智能开关硬件结构图如图1所示。
图1 智能开关硬件结构图Fig.1 Hardware structure of intelligent switch
智能开关的主控部分是一个STM8S105K4T6单片机(简称STM8S),通过这个单片机来实现智能开关的控制,数据通讯部分是采用一个ESP8266WiFi模块进行数据收发,触摸模块采用NE555定时器构成一个电容式触摸电路进行检测触摸操作,控制部分是采用PWM模块和固态继电器控制开关的工作状态,光敏传感器部分采用一个PCF8591收集环境信息,电源部分采用一个220V转9V的变压器和一个9V转3.3V的LDO元器件转换电压,为整个系统提供电压。
当人体触摸开关时,人体感应的杂波信号电压由一个电容加至555的触发端,使555的输出管脚由低电平变为高电平,连接单片机STM8S的引脚就会收到高电平信号,从而做出开关操作。当开关处于关闭状态时,触碰一下感应面板,开关由关闭状态改变为打开状态;当开关处于关闭时,触碰感应面板超过一秒钟,开关先打开,再进入自动模式,根据环境输出相应的电压,若是开关处于打开状态,则会直接进入自动模式。
当单片机的WiFi模块部分收到信息时,单片机就会产生一个中断去接收WiFi模块,然后单片机就会处理收到的信号,判断出是哪个指令,并在完成操作后回馈信息给WiFi模块,并由WiFi模块将信息发送出去。在手机App上点击一个开关切换按钮,就可以远程切换开关状态,打开自动模式开关就可以远程控制开关进入自动模式。
智能开关主要由五个部分组成:主控部分、传输部分、传感部分、控制部分、触控部分。主控部分采用单片机STM8S,传输部分采用ESP8266WiFi模块,传感部分采用光敏传感器收集环境信息,采用PWM模块和固态继电器作为控制部分,采用NE555芯片作为触控部分。以下从主控部分、传输部分、控制部分进行硬件设计说明。
STM8S单片机电路图设计如图2所示。
图2 STM8S单片机电路图Fig.2 Circuit diagram of STM8S single chip microcomputer
图2左上角是单片机STM8S的复位电路,当产品上电时,NRST为低电平单片机复位,此时电容C7开始充电,当电容充满电后,NRST变为高电平。左下角为单片机STM8S的晶振电路,X1为一个8MHz的晶振,与之相连的是两个20pF的瓷片电容,这两个瓷片电容是为了减少晶振与单片机的OSCIN和OSOUT引脚构成的振荡电路中会产生谐波。右上角为单片机STM8S芯片,该芯片处理并输出相应的信息,30和31引脚连接ESP8266芯片进行数据的接收和发送,28引脚连接光敏传感器电路,用于接收光敏传感器收集到的环境信息,27引脚连接触控电路,当开关被触碰时,单片机就能收到相应的信号从而做出相应的操作,26引脚连接PWM模块,通过该引脚输出相应的信号可以使PWM模块输出占空比不同的波形,从而达到控制电压的目的,25引脚连接开关电路,通过一个三极管控制固态继电器的开关,20和19引脚连接右下角的LED灯指示单片机的工作模式。
ESP8266是一款超低功耗的UART-WiFi透传模块,具有封装尺寸小和超低能耗等特点,专为移动设备和物联网应用设计。可将用户的物理设备连接到WiFi无线网络上,进行互联网或局域网通信,实现联网功能。ESP8266封装方式多样,天线可支持板载PCB天线,IPEX接口和邮票孔接口三种形式。ESP8266可广泛应用于智能电网、智能交通、智能家具、手持设备、工业控制等领域。
本设计选用的ESP8266支持无线802.11b/g/n标准,支持STA/AP/STA+AP三种工作模式,内置TCP/IP协议栈,支持多路TCP Client连接,支持丰富的Socket AT指令。TXD和RXD为ESP8266的数据传输引脚,TXD连接STM8S的RXD引脚,RXD连接STM8S的TXD引脚,这样就ESP8266和STM8S才能相互传输数据。ESP8266WIFI模块电路图如图3所示。
图3 ESP8266WiFi模块电路图Fig.3 Circuit diagram of ESP8266WiFi module
该模块有一个板载天线,模块可以通过板载天线连接路由器进行远程数据的发送和接收。该模块需要与STM8S单片机共地,如果不共地传输数据的波特率可能会受到影响,导致ESP8266WiFi模组和单片机STM8S波特率不同导致两者之间不能传输数据。
控制部分的开关电路图如图4所示。
图4 开关电路图Fig.4 Switch circuit diagram
图4上面部分为控制部分,下面部分为调节部分。当控制部分的PD0收到高电平时,三极管3904的基极拉高,三极管处于导通状态,继电器引脚1电压超过设定的阈值,继电器的4、5引脚导通,灯泡就可以发亮了。当工作模式处于自动调节模式时,单片机STM8S对PWM模块输入PWM调节信号,PWM模块根据接收到的信号输出相应的方波达到调节电压的功能。
主程序的流程图如图5所示。
图5 主程序流程图Fig.5 Main program flow chart
主程序代码:
}
将串口初始化过后,进行URAT收发数据的初始化,再进行WiFi模块的初始化,就进入触摸检测的While循环,直到收到WiFi数据产生中断。
无线局域网技术的出现满足了人们对智能家居的向往,而以后智慧城市的建设将为智能开关更快的普及打下厚实的基础,运用计算机、无线通讯数据传输等技术,完成家庭照明遥测、遥控、遥讯的控制系统,能够实现对照明设备的智能化控制,具备灯光亮度的强弱调节、灯光软启动、定时控制、场景设置等功能。智能开关因为移动性强等特点,打破了时空的限制,通过远程或者集中控制,轻松实现全家庭的家居设备的控制,成为助力无线智能家居发展的重要设备。可以说,智能开关作为智能家居的重要组成部分,可以预见到将来会有更大的发展。