杨 琳,李 媛,王 咪,乔成芳,陈 俊
(1.商洛学院 电子信息与电气工程学院,商洛726000;2.西安工程大学 电子信息学院,西安710048;3.商洛学院 化学工程与现代材料学院,商洛726000;4.山阳中学,山阳726400)
伴随着社会的进步和科技的发展,家电的智能化已经成为科技化社会生活的重要发展趋势之一。家电智能化离不开智能插座的应用。 国外市场上出现的定时智能插座[1]、计量型智能插座[2],以及具备无线通信、 存储和计算能力的手持设备等智能产品,较早地被少部分外国人所使用,但由于受当时技术发展的限制,产品功能较为单一,很难实现网络化和智能化, 所以并不能被大多数外国人接受。因此这类智能产品在国内使用得也很少[3-5]。
近几年来智能家居在国内外都得到了飞跃式的发展[6-9]。 在当今社会,无线路由器及智能手机、平板电脑等手持设备己经得到了广泛的普及,WiFi[10]覆盖范围更广,传输速率更快,更重要的是WiFi 直接与互联网连接,不再需要通过网关实现与互联网的通信,无线WiFi 成为办公室、餐厅、酒店、商场等公众场合的必要设备[11-12]。 将智能插座与Wifi 网络相结合,成为当今社会一个主流方向[13-14]。 在此所设计的智能插座通过WiFi 与智能手机、 平板电脑等移动终端连接, 从而实现Web 对智能家居机器人、家用电器等设备的智能控制。
该系统包括主芯片、电源模块、WiFi 模块、按键模块、继电器模块和显示模块等6 个部分,系统架构如图1 所示。
图1 系统架构框图Fig.1 Block diagram of system architecture
其中,主芯片选用STC89C52RC,采用7805 稳压模块供电,采用WiFi 模块实现无线互联,采用LCD1602模块实现数据显示,采用继电器模块完成开关功能。
STC89C52RC 型单片机芯片及其外围电路如图2 所示,其封装方式为DIP。 当系统收到相应的信号时,单片机芯片就会根据接收到的信号指令做出相应的反应,达到所需目的。
1)复位电路 单片机在启动时和在重新调整之后,都需要先复位以使得MCU 恢复。 在此,电路的复位方式为手动复位,可以便捷高效地实现按键复位。 复位电路如图3 所示。
图2 STC89C52RC 外围电路Fig.2 Peripheral circuit of STC89C52RC
图3 复位电路Fig.3 Reset circuit
2)时钟电路 由于51 系列的单片机没有自己的内部系统时钟, 需要使用其19 引脚(XTAL1)与18 引脚(XTAL2)2 个特定为时钟准备的电路来制作1 个时钟。 所设计的时钟电路如图4 所示。
图4 时钟电路Fig.4 Clock circuit
时钟产生一组固定的振荡波形,单片机内部的定时器和中断在该节拍下有效地工作,使整个工作有序进行, 提高了编程的效果和软件的执行速度。晶振的频率决定着产生波形的频率, 晶振频率越大,整个电路的一个周期产生的波就越多,波特率就越高。 在此,由于对时间的要求不很高,一般采用6 MHz 的晶振就可以满足上传数据和计时的要求。
在此选用ESP8266 模块作为WiFi 模块。 所使用的UART 接口的无线WiFi 网络模块,不仅安全,而且可以方便地修改和设置密码,也可以通过开发的App 修改密码,使用安全、方便。ESP-12 与单片机的串口通信引脚图如图5 所示。
图5 ESP-12 与单片机接线图Fig.5 Connection diagram between ESP-12 and MCU
选用SRS-05VDC-SL 型继电器。 它不仅可以控制其他电路,而且也能被控制,常被用于工业自动控制电路之中。 其实质上是一种用过电流来控制的自动开关,在日常使用中处于关闭状态,当电流激励到来时开关闭合,因此在控制电路中具有电路保护和自动调节等功能。 该继电器在此主要起开关闭合与断开的作用。使用手机可以通过连接无线WiFi向单片机芯片发送信号, 以控制继电器的工作状态。 继电器的驱动电路如图6 所示。
显示模块内部包括主显示屏LED 显示模块、控制器以及段选择器。
LCD 显示屏是一种液晶模块,超薄轻巧。 实现振荡和帧的输出是通过列驱动器的控制来接收信号, 再通过交流扫描驱动信号进行相应的处理,得到所需的信号数据。
控制器在接收到来自STC89C52 单片机的信号之后,控制LED 模块进行显示。 其内置的CGROM,CGRAM 和DDRAM 等字符储存信息早在内部储存好, 然后再由控制器的控制器信号进行读写操作,如图7 所示。
图6 继电器驱动电路Fig.6 Driving circuit diagram of relay
图7 内部电路框图Fig.7 Block diagram of internal circuit
图8 主程序流程Fig.8 Flow chart of main program
软件设计主要分为主函数模块设计、驱动电路以及其子程序设计、显示模块子程序设计、按键模块设计等5 个模块的设计。 软件的设计必须与硬件的设计一一对应,按照模块化的设计思路,利于日后对软件的更改与优化,增强程序的可移植性。主程序流程如图8 所示。
1602 显示流程如图9 所示。其显示操作软件控制流程如下:①初始化,使得所用的引脚和内部储存都处于最初的状态; ②读取来自单片机的信号,其主要功能包括读取输入高低字节的状态字;③写状态,输入不同的指令代码,然后高脉冲输出;④读数据,对输入不同的高状态数据进行读取;⑤写数据,输入不同的数据,高脉冲输出然后显示。
所设计的插座开关通过与继电器相连接,继电器驱动控制插座的开关,进而利用手机App 操作达到控制插座开关的功能,这样就能很方便地操作。插座开关的设计流程如图10 所示。
图9 1602 显示流程Fig.9 Flow chart of 1602
图10 插座开关流程Fig.10 Flow chart of socket switch
设计了基于WiFi 物联网的智能家电插座,采用STC89C52RC 低功耗单片机作为主控芯片,结合无线WiFi,LCD1602 液晶屏显示、继电器控制开关及手机接收和发送等外围的功能模块电路构成系统的硬件电路,用C 语言进行软件编程,实现了通过手机控制各个模块等基本功能以及显示、掉电保存及无线等功能。 该插座具有成本低廉、稳定可靠、易于开发、操作简单方便等优点,可应用于住宅、办公室等场所,保密性强,灵活性高。