王衍龙,章 杰,林培杰,赖松林,陈金伙,程树英
(福州大学 物理与信息工程学院 微纳器件与太阳能电池研究所,福建 福州 350108)
在城市现代化高速发展的大背景下,人们对城市道路照明系统的要求越来越高,道路照明系统的发展不再仅仅是围绕道路交通安全和城市美化两个方面,而更需要在高效节能、低碳环保方面有更多突破[1]。面对节能环保方面的紧迫问题,太阳能LED路灯渐渐得到了世界各国的高度关注,也逐渐在道路照明领域得到认可和广泛应用。然而,随着太阳能LED路灯数量的不断增多,对路灯的集中管理、监控和维护成为了一个急需解决的问题[2-3]。本文提出将ZigBee技术和RS-485总线应用在太阳能LED路灯中,实现对路灯的远程控制与管理。
本文所提出的远程控制系统使用ZigBee技术作为主要通信方式,实现路灯自组网;并支持将RS-485总线网络作为备用通信方式。在供电方面,以太阳能蓄电池供电为主;同时也留出市电供电接口,在蓄电池电量不足时直接切换至市电供电。因此,本文提出的是一个兼顾低功耗、高稳定性、低复杂度的系统设计。
ZigBee是基于IEEE 802.15.4标准制定的一种短距离、低功耗的无线个人网络通信协议,具有近距离、低复杂度、自组网、低功耗、低数据速率及低成本等特点。ZigBee协议栈由4个层组成,分别为物理层、MAC层、网络层和应用层,如图1所示。相比于常见的无线通信标准,ZigBee协议实现起来紧凑而简单,无需人为操作就能实现设备的自组网。基于以上ZigBee的各种技术优势,本文将采用该技术作为路灯组网的主要技术[4]。另外,在路灯端和上位机端都加入RS-485接口,使用可长距离、多点通信的RS-485总线网络作为该系统的一种备用通信方式。
图1 ZigBee体系结构模型
本文设计的太阳能LED路灯远程控制系统采用了ZigBee和RS-485两种通信方式,实现了无线控制为主、有线控制为辅的控制方法,总体设计如图2所示。在上位机部分,用户可以通过PC上的主控界面与ZigBee网络或RS-485网络进行数据通信,达到控制路灯和反馈数据的目的。在路灯节点部分,ZigBee节点同样与ZigBee网络或RS 485总线网络进行通信,处理收到的命令或数据,继而控制太阳能LED路灯控制器,最终达到控制路灯开关、功率和采集路灯状态的目的。
图2 总体设计框图
在路灯节点部分,主控芯片需要实现4个功能,即与ZigBee网络和RS-485总线通信、处理各种数据与命令、通过控制器控制太阳能LED路灯和采集路灯状态。对此,本设计采用TI公司的CC2430芯片作为节点的主控芯片。CC2430是一颗真正的片上系统芯片(SoC)CMOS解决方案,这种解决方案能够提高性能,并满足以ZigBee为基础的2.4 GHz ISM波段应用,以及对低成本、低功耗的要求。它结合了一个高性能2.4 GHz DSSS(直接序列扩频)射频收发器核心和一颗工业级小巧高效的8051控制器[5]。节点硬件设计框图如图3所示。
图3 节点硬件框图
在图3中,无线信号通过天线收发,天线连接至CC2430的RF收发端;RS-485有线信号通过RS-232/RS-485转换器后直接与CC2430的串口0相连;在输出控制信号部分,通过芯片的通用I/O口输出控制信号至太阳能LED路灯控制器;而电压的状态采集将使用CC2430的片内ADC通道,对电压进行A/D转换。
控制电路部分由太阳能/市电供电模块、控制模块和恒流源3大部分组成,设计框图如图4所示。
图4 控制电路设计框图
太阳能LED路灯的开关和功率调节是通过恒流源控制的,如见图5所示,图中A+端接电源正极时,L输出100%功率;A+端接电源负极时,L输出30%功率。
图5 LED恒流源
图6为控制模块电路,主控芯片的I/O口在模块中通过两个开关三极管S8050驱动继电器,进而控制两路输出电压,最终通过恒流源控制LED路灯的开关和功率。
图6 路灯控制电路
在节点的硬件电路中,由于需要给主控芯片CC2430和RS-232/RS-485转换器供电,因此还需要提供5 V和3.3 V的供电接口。图7为芯片供电电路。在12 V转5 V部分,为了提高效率,减少发热,设计中使用LM2596T-5.0开关稳压芯片输出5 V电压;在5 V转3.3 V部分,使用一块三端稳压芯片LM1084T-3.3,通过线性稳压的方式输出3.3 V电压。
图7 芯片供电电路
对于ZigBee软件部分,应用程序在Z-Stack协议栈基础上开发。Z-Stack是TI公司推出的ZigBee协议栈,其符合ZigBee 2006规范,支持多种平台,包括基于CC2420收发器和TI MSP430超低功耗MCU的平台、CC2430 SoC平台等[6]。Z-Stack是一种包含了网状网络拓扑的几近于全功能的协议栈,在竞争激烈的ZigBee领域占有十分重要的地位。进行应用开发时,只需在ZStack的应用层上添加自己的事件处理任务,方便高效。图8为Z-Stack的协议栈架构图。
图8 Z-Stack协议栈架构
本设计中,软件部分包含了ZigBee协调器软件和ZigBee终端节点软件,它们共同实现串口收发、数据传输和控制管理的功能。在Z-Stack开发中,首先要在osalAddTasks()函数中加入自己的任务,再在该任务的初始化函数和处理函数中写入相应的处理代码。由于在程序中需用到串口功能,因此需打开并配置串口0,在这里是以中断的方式完成串口收发的。终端设备和协调器的程序流程图分别如图9和图10所示。
图9 终端节点程序流程图
图10 协调器程序流程图
在上位机控制界面部分,使用基于C++的MFC库,开发基于对话框的控制界面,实现串口命令发送和数据接收显示的功能。本设计中开发的路灯远程控制系统界面如图11所示。
图11 路灯远程控制管理系统界面
本设计在实际应用中进行了通信测试,测试中使用该系统对并排的6盏太阳能LED路灯进行远程监控,每两盏路灯间距约20 m,具体测试环境如图12所示。
图12 系统测试环境
在监控中心可以方便地测试RS-485总线通信方式的稳定性,并通过移动ZigBee协调器的位置,测试ZigBee网络通信的稳定性、组网距离以及障碍物对其通信的影响,具体测试结果如表1所示。
表1 通信测试结果
由表1通信测试结果发现,ZigBee网络在一定的范围内组网是稳定的,本设计所使用的模块在80 m范围内能够正常组网;在ZigBee网络中以单播的形式发送数据,该系统丢包率在可接受范围内,但是受障碍物影响较大;在测试中,RS-485有线通信方式最为稳定,未出现丢包的现象。
本系统在太阳能LED路灯中加入远程控制和管理的功能,易于实现,成本低且能可靠工作。系统在远程通信上采用ZigBee技术和RS-485技术相结合的方式,一方面以ZigBee作为主要通信技术能方便地实现路灯节点大面积无线自组网;另一方面又能选择性地加入RS-485有线通信,保证重要通信链路的可靠性。在远程监控方面,CC2430主控芯片完成数据通信和I/O控制,并通过设计的控制电路和上位机软件,最终实现对太阳能LED路灯的远程控制与管理。
[1]史兆培,王玉爽,严登俊.城市路灯照明节能技术现状与发展趋势[J].中国照明电器,2009(10):11-16.
[2]连永圣,程树英.基于ZigBee的新型太阳能 LED路灯控制器设计[J].智能电网,2012(2):10-15.
[3]段现星,郑安平.光伏太阳能LED路灯照明系统设计[J].机电一体化,2011(7):77-79.
[4]龙兴民,周静.太阳能LED路灯的远程监控系统设计与实现[J].照明工程学报,2011(12):105-109.
[5]Texas Instruments.CC2430 datasheet[Z].
[6]Jennic.ZigBee stack advanced user guide[Z].2008.