一种基于NRF905的智能家居无线遥控系统的设计

2014-06-30 07:23董设建
关键词:智能家居

董设建

摘要:设计了一种以STC89LE52和NRF905为核心的智能家居无线遥控系统,给出了系统的设计方案和部分硬件电路,阐述了其工作原理及编程实现方法。经验证,该设计具有小巧灵便、工作稳定可靠、易扩展等优点,不仅可用于智能家居无线遥控系统,也可用于其他领域。

关键词:智能家居 STC89LE52 无线遥控 NRF905

1 概述

当代科学技术日新月异,越来越智能化、信息化、高速度及集成化以及网络化,而其中的通信技术又以无线通信最具有发展潜力。无线通信系统由于不需要传输线缆、组网灵活方便、成本低廉,智能设备只需要配上相应的无线通信接口电路,就可以实现各设备之间的无线通信任务,因而比有线通信技术具有更大的优越性。就连商业购物活动也由传统的实体店购物,渐渐转化为有线互联网的虚拟购物,再向无线的移动互联网购物发展。相信不久的将来,无线通信网络技术将会融入到人类社会的生活及生产的各个方面,并且逐渐变为最主要的通信手段之一。

本设计以单片机STC89LE52为核心,采用NRF905无线通信模块,设计了一种适用于智能家居产品的多路无线遥控系统。当然,此系统也适用于其他无线通信的场合。

2 系统方案

本系统的方案框图如图1所示,主要包括发射遥控器与接收控制器两部分。本方案采用宏晶科技公司生产的STC89LE52单片机作为MCU控制器,该款单片机具有高速、高可靠、超强抗静电、超强抗干扰、超低功耗(掉电模式下功耗小于0.1uA,掉电模式可由外部中断唤醒)等优点,采用3V供电,适合于电池供电系统。

其中,发射遥控器作为控制主机,通过按键发送从机的地址以及控制方式,可以对家庭中任意一个装有接收控制器的从机以不同方式进行控制:如亮灯方式可控的客厅吊灯控制、电视机的开关控制、具有预防儿童触电功能的无线智能插座控制等,以便带给你一个安全、低耗、便捷、舒适的居家环境。而从机接收到主机发送过来的控制指令执行控制动作,根据被控对象的特点可选择多达7种控制模式,从机控制采用继电器控制方式。

无线通信模块采用NRF905芯片为核心,该芯片为Nordic VLSI公司设计,具有体积小、CRC校验、抗干扰性强、多通道多频段、通信稳定等特点,特别适合于工业控制场合。

NRF905有四种工作模式,分别由TRX_CE、TX_EN、PWR_UP 3个引脚的状态来决定,如表1所示。

3 硬件设计

MCU采用STC89LE52作为主控制器,采用3V供电,因此NRF905模块的管脚都可以直接和STC89LE52的I/0口相连。而与NRF905的SPI总线通信方式可用单片机的普通I/0口模拟。STC89LE52控制NRF905的无线发射/接收模块的硬件原理设计及相关接线如图2所示。

3.1 发射遥控器设计

发射遥控器电路主要包括从机地址及控制方式拨码键盘、MCU、无线通信模块电路、掉电唤醒电路和LED工作显示电路等部分。其中,MCU选用STC89LE52,NRF905的工作频率为433MHz。MCU通过其I/O口控制NRF905的发射工作,以及收集其相关状态的反馈信息。

另外,由于发射遥控器采用电池工作,因此低功耗是我们在设计时需要考虑的一个重要方面。当NRF905以10dBm的输出功率发射时,其消耗的电流小于20mA;在关机模式下,NRF905的工作电流最小,一般为2.5uA。另外,STC89LE52的正常工作电流为4~7mA;掉电模式下,典型功耗小于0.1uA。因此,当发射控制器不工作时,应当首先让NRF905处于关机模式,然后让STC89LE52处于掉电模式下;而以10dBm的发射功率工作时,发射控制器的最大功耗不超过30mA,且其工作过程非常短暂。这样就大大降低了发射控制器的功耗,延长了电池的使用寿命。

3.2 接收控制器设计

接收控制器电路主要包括MCU、无线通信模块电路、直流稳压电源、继电器控制输出等部分。其中MCU采用STC89LE52,无线通信模块电路与发射遥控器的一样。由于接收控制器安装在交流220V的灯具、开关机插座等上,因此采用+3V的直流稳压电源对其进行供电,不必要考虑其功耗问题。

4 软件设计

发射遥控器的软件编程主要包括初始化、唤醒程序、发送程序以及低功耗程序几个部分,接收控制器的软件编程主要包括初始化和接收程序两个部分。

发射遥控器的掉电唤醒程序为:当发射遥控器接收到需要发射数据的指令时,首先需要使用INT0下降沿中断程序唤醒单片机进入工作模式,点亮工作指示灯,然后用MCU唤醒NRF905从关机模式进入待机模式,接着保存按键过程中留下的从机地址及控制方式等数据。发射遥控器的低功耗程序为:MCU先将NRF905转到掉电模式,然后MCU将自己转到掉电模式。

上述发射遥控器的两个程序较简单,此处不做详细阐述,下面只介绍初始化、发送和接收三个程序的编程过程。其中,发射遥控器与接收控制器的初始化程序大致相同,只不过接收控制器的初始化程序中没有中断程序的初始化。

4.1 初始化

首先初始化NRF905的射频配置寄存器:CH_NO配置频段在433MHz,输出功率为10db,不重发,节电为空闲模式,地址有效宽度设为1字节,有效数据长度为1字节,接收地址预设,CRC允许,8位CRC效验,外部时钟信号不使能,采用外部16M时钟晶振。然后初始化掉电唤醒的INT0配置:开总中断,开INT0中断,INT0中断下降沿触发。

4.2 发送程序

发送数据时,MCU首先通过SPI总线方式将需要发送的地址和数据都写入NRF905相应的寄存器中,然后将NRF905切换到发送模式,这个过程中需要延时650ns,再后就是启动NRF905发送一次(TRX_CE跳变一次)数据,接着等待发送结束。发送过程程序的流程如图3所示。

4.3 接收程序

接收控制器初始化之后,大部分时间均是捕捉发射遥控器的信号,并按指定的控制方式进行工作。因此,在其初始化后,就直接切换到接收模式(PWR_UP=1、TX_EN=0、TRX_CE=1),这个过程中需要延时650ns,接着就是MCU等待并检测NRF905的相关管脚的变更情况。首先查看AM管脚,如果AM=1,则表示地址匹配正确,然后判断DR管脚,如果DR=1,则表示数据接收对而且CRC校验正确。至此,即可将NRF905切换到待机模式读取数据,并按接收到的控制方式改变MCU的控制输出。然后,再次切换到接收模式,重新捕捉发射遥控器的信号。接收数据程序的流程图如图4所示。

5 小结

经过实验证明,本设计小巧灵便,工作稳定可靠,在室内3层以内能实现可靠通信,抗干扰性能力较强,完全可以满足智能家居的使用。而其低成本、易扩展、操作简单等特点,使之非常容易扩展到其他领域。

参考文献:

[1]王娟.基于ZigBee无线传感网络的智能家居系统设计与实现[D].东华理工大学,2013.

[2]孙国新.基于ZigBee技术的智能家居系统研究[D].天津科技大学,2011.

[3]王正丰.智能家居远程控制安全通信研究[D].华南理工大学,2013.

猜你喜欢
智能家居
基于PLC的智能家居控制系统研究
NeST智能家居控制系统的设计与应用
基于wifi的智能家居设计
基于Zigbee的无线通信技术在智能家居中的应用
基于STM32的智能家居控制系统设计
智能家居发展或将实现弯道超车
智能家居未来感初体验
关于智能家居真正需求的探讨
基于ARM cortexTM-A8与Android的智能家居系统
基于LD3320的智能家居控制