罗 乐
(成都工业学院 电子工程学院, 成都 611730)
LED照明因其具有低碳环保、能耗低、使用寿命长、响应速度快和颜色丰富等优点,已被人们广泛关注和使用,利用LED来替代当前普遍使用的节能灯是照明系统的必然发展趋势.
然而,现有的大部分LED照明仅采用简单的人工控制和时间控制的照明方式,不具备智能控制功能或仅具备低级的智能控制方式,无法对LED灯进行自检,也不能对其进行本地和远程调控,导致运营成本较高.随着信息技术的不断发展与进步,人们的生产生活迈入了新的时代,开始探索利用新技术来改造现有的照明系统.物联网的出现和普及为解决该问题提供了有效的方法.物联网是在传统互联网的基础上,利用无线通信技术将各种信息敏感器与控制器结合起来,形成一个庞大的网络,极大地方便了人与物、物与物之间的沟通和联系.目前,国内外很多学者都围绕基于物联网来设计LED智能照明系统这个主题开展了相关的研究工作[1-7].
为了使LED路灯照明系统能够按需智能工作和实时监控,从而达到提高用电效率和节约电能的目的,本文设计了一套基于物联网的智能LED照明集中控制系统,以STM32系列的ARM处理器作为微控制器,采用ZigBee无线网络将系统的不同模块联系起来,根据光照度传感器检测到的外部环境明暗度和控制中心的指令来调节LED路灯不同的照明方式,实现LED路灯照明集中化和远程化的智能控制.
在本文系统中,基于物联网的智能LED照明集中控制系统总体框图如图1所示.控制系统由上位机和下位机两部分构成.上位机包含控制中心和相应软件,主要负责显示下位机采集的数据和向下位机发送控制指令;下位机包含ZigBee无线通信组件和LED照明终端,主要负责采集LED照明终端、无线网络的信息和传输上位机的控制指令.
图1 系统总体框图Fig.1 Overall block diagram of system
在控制中心部分采用STM32系列的芯片作为微控制处理器,它是一类内嵌了Cortex-M3内核的ARM处理器,具有非常多的外设可供使用,属于32位的内核处理器,有4GB的寻址空间,具备了存储保护单元.
在STM32F107的架构内部,CM3内核分别通过三条不同的总线与其他组件和部件相连,即连接Flash存储器的I_Code总线、连接总线矩阵的D_Code总线和系统总线.除此之外,STM32F107内部主要还有DHA总线和AHB/APB桥.
ZigBee是一种具有低功耗、低成本、网络拓扑灵活且时间延迟短等特点的无线双向通信技术[8],它的传输距离约为10~75 m,扩展之后能够传输几百米,甚至可以达到几公里,已被应用于传输速率较低的无线通信设备中,在控制领域被广泛应用.
ZigBee的协议栈包含了七层:物理层、MAC层、网络层、应用层、应用支持子层、应用程序框架和设备对象层.ZigBee集中控制网络是一种无线网络,其由一个协调器节点、多个路由器节点以及终端节点构成,每个部分负责不同的功能.ZigBee的网络拓扑结构主要有网状型、树型和星型三种.本文主要采用树型结构,示意图如图2所示.在该结构中,协调器位于整个网络的控制中心,主要负责创建、管理和维护整个ZigBee无线网络,以及作为外部网络与内部网络的通信枢纽;路由器节点用来发现路由,分别向终端节点和协调器节点传递数据;终端节点位于LED路灯终端,主要负责采集LED照明终端的数据、接收控制指令和作出控制响应.在系统正常工作时,上位机可以通过串口或网口向协调器发送控制指令,协调器再经由无线网络和路由器将控制指令发送给终端节点,终端节点收到信息后,将采集到的数据再由相反的路径上传给上位机.
图2 ZigBee网络拓扑结构示意图Fig.2 Schematic topological structure of ZigBee network
LED路灯终端设备示意图如图3所示.该设备主要包含控制模块、恒流驱动模块、时钟模块、光电检测模块和显示模块.
图3 LED路灯终端设备示意图Fig.3 Schematic terminal equipment of LED street lamp
控制处理器的硬件部分是整个智能LED照明集中控制系统的核心,主要负责网络的构建、维护和管理以及数据和指令的发送.本文选用STM32F107VCT6系统电路作为最小系统,晶体振荡器分别设计了HSE和LSE两个外部时钟电路,前者的频率为25 MHz,能为最小系统提供准确的主时钟,后者的频率为32.768 kHz,它是功耗较低的时钟,但具备定时功能.该控制处理器将采集到各端点的数据进行分类处理和打包封装,再通过串口或网线发送给上位机.
根据ZigBee的规范和手册[9-10]为ZigBee网络硬件电路最小系统分别设计两个频率为32 MHz和32.768 kHz的外部晶振时钟.根据系统要求为路由器节点设计硬件电路.由于路由器节点的作用是在协调器与LED终端之间进行中继路由,为了提高无线网络的传输距离和减少数据指令的错误传输,必须增强路由器的功率.CC2530能够传输的最大距离不超过100 m,考虑到阻拦和障碍引起的衰减,本文将CC2530模块和CC2591模块结合起来,确保整个系统能正常工作.
在LED路灯终端设备上,恒流驱动部分选用的LED驱动芯片为MBI1802R-EXT,其具有节能和使用方便的优点,只需要调节外接电阻即可控制其输出电流;在环境光照度检测部分,采用BH1750FVI光照度传感器和CC2530模块,输出端连接AVR控制器的I/O口,能够采集当前环境的光照度数据,通过CC2530发送给协调器节点;在LED照明灯亮度调节部分,选用PT4115调光模块和CC2530模块,通过CC2530模块接收协调器节点的数据,根据照度值改变PWM的脉冲,用恒流来驱动多个LED灯照明;在时钟电路部分,AVR控制器与DS1302通过3线串行连接,用它来控制RST、SCLK和I/O,即可在两者之间传输数据.
系统的软件设计主要分为数据采集、数据发送和网络控制三部分.在数据采集部分,终端节点按照一定的时间周期采集当前的光照度、温度和湿度等数据;在数据发送部分,终端节点通过ZigBee网络中的路由器节点发送给协调器,其中,路由器节点负责中继作用;在网络控制部分,协调器整合接收到的数据发送给上位机,并且上位机生成的控制指令由协调器发送给终端节点.为了实现这三部分的功能,首先要设计正确的通信协议,然后再对路由器和协调器分别进行程序设计.
通信协议分为路由器与协调器之间的通信协议和协调器与上位机之间的通信协议.在路由器与协调器之间,为了确保数据收发的有效性,需要对描述符的输入簇和输出簇进行配置,并根据簇ID来对数据进行分类.簇ID的定义如表1所示.
表1 簇ID定义Tab.1 Definition of cluster ID
协调器与上位机之间的通信协议定义为:协调器通过串口接收到上位机的数据采集控制指令之后转发至路由器,与此同时,协调器将路由器传输来的终端节点的采集数据通过串口发送给上位机;上位机向协调器发送开关等控制指令之后,由协调器来开关与路由器节点相连的终端节点.
路由器的程序设计需要实现以下功能:1)自动加入网络,将自己的网络地址传输给协调器;2)采集敏感器的各类数据,含温度、湿度和光照度等;3)根据控制指令周期性地向协调器发送采集的数据.路由器程序设计流程图如图4所示.
图4 路由器程序设计流程图Fig.4 Flow chart of program design for router
协调器可以在两种模式下工作:直接接收数据和通过串口触发接收数据.在第一种模式下,协调器直接接收路由器节点传输的数据,再由串口发送给上位机;在第二种模式下,协调器在经过串口收到上位机发送的数据传输指令后,将该指令转发至相应的终端节点,由终端节点通过路由器节点发送给协调器,再由协调器经过串口发送给上位机.协调器程序设计流程图如图5所示.
在系统设计完成之后,为了验证系统设计的合理性和有效性,确保其能够正常运行,需要对系统性能进行模拟试验.系统的性能测试分为通信网络测试、终端节点控制测试和系统功能测试.
由上位机通过串口发送指令到协调器,再经过ZigBee网络向路由器节点和终端节点发送相应的数据.将上位机发送的数据与终端节点接收的数据进行比较,测试ZigBee网络的通信性能.
在经过反复测试之后,得到的测试结果如表2所示.从表2可以看出,ZigBee通信网络具有较强的抗干扰性能,节点之间传输的数据较准确,系统比较稳定,能够达到系统的数据通信需求.
图5 协调器程序设计流程图Fig.5 Flow chart of program design for coordinator
测试时间min发送字节数正确接收字节数错误接收字节数误码率%6075007446540.7418022500223621380.6136045000448311690.3848060000597942060.34
终端节点控制测试主要是对LED灯的工作进行测试,包含了对环境亮度变化的测试、故障的测试、恒流的测试和功率调节的测试.
1) 环境亮度变化的测试.在终端节点上,通过模拟改变LED灯所处环境的光照度使得敏感电阻的电压值大小发生变化来控制LED灯的开关.在测试过程中,首先使LED灯处于关闭状态,减小光照度,LED灯亮;然后增大光照度,LED灯灭.因此,LED灯能够响应环境光照度的变化.
2) 故障的测试.将LED灯关闭,使得测量比较器的电压值较低,终端节点能够坚持到该状态,然后将状态发送给路由器,再由路由器将故障状态通过ZigBee网络传输给协调器和上位机.因此,故障的检测具有较高的时效性.
3) 恒流的测试.在终端节点上给LED灯的输出功率设定为500 mW,标准供电电压为5 V,过压保护为8.5 V.当外接电压值由4 V变化到8 V时,任意选取9个点进行测试,计算偏差,得到的测试结果如表3所示.从表3中可以看出,LED灯工作的平均电流为89.78 mA,偏差率的平均值为0.77%,小于给定的偏差1.2%.因此,具有较好的恒流驱动效果.
表3 恒流测试结果Tab.3 Test results of constant current
4) 功率调节的测试.在终端节点上,通过控制可调脉宽信号,将功率按照50 mW等间隔,从300 mW调节到700 mW,并使用万用表测量LED灯的电压和电流,计算出实际功率,结果如表4所示.从表4可以看出,在300~700 mW的范围内,功率调节的偏差小于1%.因此,具有较好的功率调节效果.
在完成硬件部分的测试之后就是对系统的功能进行总体测试.将各部分整合为一个系统,在模拟的真实灯光环境下,分别测试LED灯的远程调光控制和LED灯智能调光控制.测试环境搭建完成之后,在上位机上启动服务器和监控软件,统计4个档位灯光强度下系统的功率、耗电量、省电量和响应延时等参数,在每个档位下重复10次测试,得到的测试结果如表5所示.从表5可以看出,远程控制和智能控制的延时分别在0.5和2 s以内,且档位越低,省电率越高,因此,能够满足工程实际使用的需要.
表4 功率调节测试结果Tab.4 Test results of power regulation
表5 系统性能测试结果Tab.5 Test results of system performance
降低LED路灯的能量消耗,实现LED路灯的自动监控是智慧城市的基本要求.本文设计了一种基于ZigBee的物联网智能LED集中控制系统,系统运行简单、维护方便且智能化的程度较高,可以对LED路灯节点进行自组网,能够实现由环境光照度来自动调整LED路灯光照功率的功能,极大地提升了LED路灯的节能效益并节省了LED路灯管理的人力与物力成本.相对于传统的LED路灯照明系统,本文系统具有更加明显的效能优势和广泛的应用价值.