jlinkcn

ZigBee无线遥控系统

引言

随着高科技和信息技术的广泛应用,安全、舒适、便利的生活环境已不再是一个梦想,智能家电已成为家居生活的必需品。但智能家电的普及,导致遥控器种类的多样性,这就迫切需要一个功能更为强大的遥控器对其进行整合。

    家中许多的电器产品只要有遥控的功能,例如电视机、空调以及音响等家电产品,都是以红外线遥控的方式来控制。但是,由于红外遥控的局限性,无法在一个地方,通过一个遥控器来控制多种类型的家电产品。设计了基于ZigBee模块传输协议的遥控器,通过远距离控制开发板上的Led 灯,来模拟实现对智能家电的遥控。ZigBee 数传相比红外传输的距离远,并且,不必像红外遥控需要严格的角度控制。所以,目前很多智能家居都是采用ZigBee数传模块传输数据,而智能家电无线遥控系统是在智能家居的基础上实现的。

1 无线遥控系统整体模型

无线遥控系统主要由开发板模块、遥控器和智能家电3 部分组成,如图1 所示。

clip_image002

1 系统整体结构图

1)开发板模块:本模块采用RF2530A 开发板,板上集成了TI 公司的CC2530 芯片,能对来自遥控器的信号进行分析处理后通过ZigBee模块把控制信息发送给智能家电。CC2530 芯片具有优质链路性能、芯片的内部空间小、低功耗等特性,使其成为智能家居控制的首选。

2)遥控器:采用RemoTI R遥控器,其内部虽然集成有高性能的射频收发器,但对于有阻隔物或距离较远时,信号会受影响。因此为RemoTI R 外接功放芯片CC2590,遥控器上控制家电的信号通过功放芯片CC2590 发送给开发板,达到控制智能家电的目的。

    3)智能家电:ZigBee数传网络拓扑结构有对等和星型两种结构,智能家居中一般采用星型网络结构是由于星型网络中协调器有且只有一个,终端设备节点可以有多个且可以被协调器自动识别,符合智能家居的特性。家庭生活中的电视、空调、冰箱等家电与ZigBee数传模块节点连接,组成网络的终端设备节点;开发板设置为网络中的协调器,与家电设备组成星型无线网络。

2 硬件设计

2.1 开发板模块

RF2530A 开发板包括天线接口、电源接口、内存、I/O 扩展接口、4 Led 灯和CC2530 芯片等,CC2530 芯片是开发板的核心。该芯片采用8051MCU内核,支持IEEE 802.15.4/ZigBee协议,有21 个扩展口,允许5 种工作模式,电流损耗小,在无线短距离传输领域得到了广泛应用,具体硬件结构如图2 所示。

clip_image004

2 开发板结构图

开发板通过USB 接口对CC2530 芯片进行烧录程序,同时把接受到的程序保存在内存中。芯片在供电后,由晶振产生时钟脉冲驱动主控芯片运行,读取内存程序,并对无线接受设备进行监听。当无线接受设备收到来自遥控器的信号时,主控芯片对信息进行处理分析,并进行相应的操作。

2.2 遥控器

遥控器RemoTI R集成CC2530 芯片,是在无线接收方面的一个拓展。但芯片自身的接收灵敏度较固定、发射频率较小、传输距离仅几百米,这难于满足庭院式、复式家庭中对智能家电的控制需求,因此在遥控器中为CC2530 芯片连接一个射频前端芯片CC2590,大大提高了接收的灵敏度,扩展了通信距离,连接如图3 所示。

clip_image006

3 连接线路图

CC2590 芯片内集成了功率放大器、收发器、巴伦、低噪声放大器等电子元件,通过功率放大器可以输出较高的功率,巴伦电子元件可以和CC2530 实现无缝连接,低噪声放大器可以改善灵敏度,从而可以改善链路的估算,在无线网络中获得了极大的应用。

3 软件实现过程

3.1 平台构建

系统软件部分利用的是IAR Embedded Workbench开发,协议方面的代码由TI 官方提供,所以需要对Z-Stack_lighting文件进行安装获得协议代码。

    IAR Embedded Workbench 搭建,按照软件说明对IAR820 进行安装,然后把iar.c c++.complier.v8.20.2.4.1139.for.8051 -patch 复制到安装目录下,即完成主要控件的搭建。

3.2遥控器按键控制函数

无线遥控系统主要通过遥控器上的按键控制RF2530A 开发板上的4 Led 灯模拟实现对智能家居的控制,实现按键响应需要设置以下几个主要函数。

    1HalKeyInit()函数:当按键被启动后,首先调用此函数,完成必须的或可选参数的初始化操作。

    2HalKeyConfig()函数:此函数对按键配置中断或轮询服务。若无中断,调用中断服务程序(ISR)来处理,轮询在100 ms 后自动开始;若中断发生,将会有一个25 ms的延时来消除回跳。

    3HalKeyRead()函数:此函数的返回值为按键的当期状态。若按键被设置为轮询,此函数每100 msHAL驱动任务调用一次;若按键被设置为中断驱动,此函数会在中断发生后每25 ms HAL 驱动任务调用一次。

3.3 驱动Led灯控制函数

分析开发板上的Led 灯支持ONOFF FLASH 操作,驱动Led 灯需配置以下几个函数:(1HalLedInit():当启动Led 灯服务时,首先调用此函数来配置所必须的、可选参数的初始化操作。

    2HalLedSet():此函数用来设置Led 灯的工作模式,想完成函数中参数的设置,必须调用HalLed-Blink()函数。

    3HalLedBlink():此函数可以根据提供的参数控制特定的Led 灯工作。

    4HalLedEnterSleep():本函数存储Led 灯的当期状态,还可以通过设置全局状态变量,控制Led 灯进入睡眠模式,达到节能的目的。

4 功能测试

实验时硬件开发板一块,接口连接如图4 所示。

clip_image008

4 开发板连接图

与开发板配对的遥控器一个,接口连接如图5 所示。

clip_image010

5 遥控器连接图

    通过按动遥控器上的按键远距离控制开发板上的Led 灯的亮灭来验证无线遥控系统的可行。

    分别给遥控器和开发板模块供电,RF2530A 开发板在供电之后,若所有的Led 灯闪烁一下后灭掉,说明线路连接成功。若不成功,应首选检查开发板与遥控器的跳冒连接是否正确、连接两者的杜邦线是否紧密等硬件问题;其次再检查烧录协议、函数设置等软件问题。

    在实验验证之前,遥控器模块和开发板首先距离保持在30 cm 左右;然后ON OFF键同时按一下,建立网络连接;最后等待5 s,可以看到开发板上的4Led 灯闪烁一下,说明遥控器和开发板连接成功。

遥控器和开发板的距离能扩展到几百米范围,通过遥控器上的按键可以打开/ 关闭开发板上的Led 灯,测试结果达到了预期的效果。

5 结束语

随着物联网技术的出现,为住宅智能化提供了技术基础,给智能家居带来了新的春天,方便人们享受舒适的生活。本文针对智能家居中出现遥控器种类过多的问题,以RF2530A 开发板为数据处理中心,利用ZigBee无模块设计了一个灵敏度好、低功耗的遥控器,利用ZigBee数传模块短距离无线传输协议,把家庭中的智能家电、开发板构建成星型结构的网络,通过设计好的遥控器来管理家庭中的所有家电,方便了用户,美化了家居环境。

    此遥控器硬件成本低、操作简单,易于工业化生产,具有广泛的应用前景。

   

posted on 2015-05-09 23:16 小王王 阅读(107) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航: