基于ZigBee 通信技术的单灯控制器设计
2021-03-11俞青松陈友忠
俞青松,陈 晨,陈友忠
(浙江意博高科技术有限公司,浙江 杭州 311100)
0 引言
随着我国城镇化建设的推进,路灯作为城市公共照明的一部分,已成为人们生活中不可缺少的一部分。 但路灯每年消耗的电能也是巨大的,因而对路灯进行高效管理, 实现按需照明具有重要的意义。 路灯控制管理系统使路灯能够被远程监测控制,提高了路灯应对突发天气的灵活性、故障上报的及时性以及节能控制方式的多样性。路灯控制管理系统一般由监控软件平台、远程通信网络、集中控制器、本地通信网络和单灯控制器组成。 单灯控制器作为路灯的直接控制设备,其工作的可靠性和有效性会影响整个控制系统。本文设计了一种基于ZigBee 通信技术的单灯控制器, 通过采用多种机制,在实现其功能完整性和有效性的前提下,保证了其工作的可靠性。
1 基于ZigBee 通信技术的单灯控制器应用方案
目前市面上单灯控制器, 采用的通信方式有ZigBee,PLC,RS485,NB-IoT,LoRa 等。 ZigBee 采用免许可证频段2.4GHz (全球)、915MHz (美国)和868MHz(欧洲),数据传输率可达250kb/s,节点间通信距离100m,加AP 后可以达到1000m,支持大量网上节点,支持星状、片状和网状等多种网络拓扑,具有低复杂度、快速、可靠、安全的特点。
表1 列举了常见单灯控制器的通信方式及优缺点。 采用ZigBee 通信的单灯控制器在安装便捷性、维护成本、网络可靠性、通信实时性、通信距离(扩展后)上具备优势。 本设计通过采用ZigBee 通信、高精度计量芯片、多重故障判断方式、数据包重发机制等方式进行设计优化,在提高设备可靠性同时,提高了网络的安全性和可维护性,同时降低了网络设备的故障误报率。
表1 单灯控制器各通信方式对比Table 1 Comparison of communication methods of single lamp controller
如图1 所示为路灯控制管理系统框图。控制节点也即单灯控制器,安装在灯杆或灯头上,直接对路灯进行控制,并采集路灯状态信息,通过ZigBee通信技术与集中控制器进行数据交互。集中控制器通过4G 网络和远程服务器进行数据通信,接收远程服务器控制命令,通过单灯控制器对路灯进行开关、调光等控制,并上报单灯控制器采集的路灯状态信息。在远程服务器端以可视化界面展示整个控制系统的工作状况,以便工作人员及时了解路灯的工作情况,做出精确判断。
图1 路灯控制管理系统框图Figure 1 Block diagram of street lamp control and management system
2 硬件设计
2.1 硬件原理框图
单灯控制器硬件框图如图2 所示,包含ZigBee控制模块、开关模块、计量模块、调光模块、电源、RTC (Real Time Clock)、EEPROM (Electrically Erasable Programmable read only memory) 、Watchdog 等部分。
图2 单灯控制器硬件框图Figure 2 Hardware block diagram of single lamp controller
2.2 硬件功能模块设计
硬件功能模块主要包括ZigBee 控制模块、开关模块、计量模块、调光模块以及RTC。
ZigBee 控制模块。 ZigBee 控制模块电路如图3所示, 采用TI 的CC2530 作为主控芯片, 外加RFX2401C 作为功放芯片, 通过外接天线阻抗匹配,使ZigBee 模块的有效传输距离不低于300m。
图3 ZigBee 模块电路Figure 3 ZigBee module circuit
ZigBee 控制模块作为主控模块,采用TI 的ZStack 协议栈,是整个控制器的控制中心。 整个ZStack 采用分层的软件结构,包括硬件抽象层、操作系统抽象层等。 硬件抽象层提供各种硬件模块的驱动,包括定时器Timer、通用I/O 口GPIO、通用异步收发传输器UART、 模数转换ADC 的应用程序接口API,提供各种服务的扩展集。 操作系统抽象层实现了一个易用的操作系统平台, 通过时间片轮转函数实现任务调度,提供多任务处理机制。 通过调用操作系统抽象层提供的相关API 进行多任务编程,将应用程序作为一个独立的任务来实现。ZigBee 控制模块在Z-Stack 的基础上实现控制任务、接收控制命令和完成控制任务。 其通过串口与计量模块进行数据通信,配置计量模块参数,读取保存计量数据,并检测计量模块的工作状态;通过I2C 接口与EEPROM 和RTC 进行通信, 实现数据的存储读取和实时时钟的读取与配置; 通过给调光模块提供PWM(Pulse Width Modulation)信号,实现调光0~10V 控制。
开关模块。 采用超小型大功率继电器,实现对负载供电的控制,同时通过提供负载供电电压信号和电流信号给计量模块。
计量模块。 计量模块电路如图4 所示,采用电能计量专用芯片RN8209, 通过实时采集电压信号和电流信号,实现检测出负载电压、电流、功率、功率因数及能耗的值;底层控制软件会对检测数据进行分析、判断,获取灯的状态。数据精度优于1%,符合大部分场景应用。
图4 计量模块电路Figure 4 Metering module circuit
调光模块。通过CJ431 电压基准芯片及阻容滤波,把ZigBee 模块输出的PWM 信号转换为0~10V电平信号,同时采用射极跟随器进行阻抗调整,减小负载对电路输出的影响。
RTC 采用PCF8563,配合超级电容,实现掉电维持时钟的功能。
2.3 硬件可靠性设计
在整机硬件可靠性设计方面, 进行了以下设计:在AC 输出加阻容吸收电路,减少感性负载对单灯控制器的影响; 在调光输出加ESD(Electro-Static Discharge)芯片,进行ESD 保护;外置硬件看门狗,防止干扰引起死机;选用工业级芯片;在电路设计时考虑器件降额设计;选用电压范围比ZigBee模块更大的EEPROM 芯片, 防止掉电时对EEPROM 数据的破坏。
3 软件设计
3.1 软件程序流程
单灯控制器程序流程如图5 所示。 上电后,首先进行相应的初始化操作,接着开启60s 定时器和3s 定时器,然后进入任务循环处理。 程序每隔60s进行失联计数加1 操作, 一旦未收到命令超过5min,单灯控制器进入自动运行模式,比对RTC 时钟和记录的开关灯与调光时间是否一致。若一致则执行相应的动作, 保证单灯控制器在ZigBee 网络异常时也能按照事先设置的策略运行。 同时,程序每隔3s 读取一次负载的电参数, 并和记录的报警阈值比较,若超过阈值,则进行报警处理。处理命令流程对接收的命令进行处理,包括开关、调光、数据上报、策略设置、参数设置等操作。
图5 单灯控制器程序流程图Figure 5 Program flow chart of single lamp controller
3.2 软件功能模块设计
3.2.1 ZigBee 组网
ZigBee 组网流程如图6 所示。一个区域的灯控有许多个ZigBee 网络组成, 为了区分不同的控制网络,不同的网络需要选择不同PANID 和信道。在选择的信道上发送信标请求,扫描该信道上的网络信息,若接收到符合要求的信标,则发送连接请求,等待对方应答,再进行数据请求获取网络地址。 在获取网络地址后,广播本身的地址信息,让处在网络上的节点知道有新的节点加入。
图6 ZigBee 组网流程图Figure 6 ZigBee networking flow chart
3.2.2 命令处理模块
命令处理模块程序流程如图7 所示。首先对接收的命令进行校验和计算:若校验和错误,则返回命令错误;若校验和正确,则进行命令类型判断,进行不同的处理,返回处理结果。
图7 命令处理模块程序流程图Figure 7 Program flow chart of command processing module
3.2.3 报警判断模块
报警判断模块程序流程如图8 所示, 进行电压、电流、功率及控制器故障等报警的判断。把采集的电参数和设置的电参数阈值进行比较,如果连续5 次超过阈值,则设置相应的报警标志,在平台软件来查询时,上报报警信息。
图8 报警判断模块程序流程图Figure 8 Program flow chart of alarm judgment module
3.3 软件可靠性设计
数据存储的可靠性。 对于EEPROM 数据的存储,采用一值多单元存储的方式,在写入和读出时从多个单元获取数据并进行比对,防止或降低读写错误的产生。
报警机制。 对于报警数据,通过连续多次的判断,若结果都超过阈值,则生成报警数据。
异常数据处理。 保存异常数据,并在数据召测时,上报异常数据。
设备死机处理。 在设备出现异常死机时,软件停止清硬件看门狗动作, 硬件看门狗复位设备,设备重启后读取EEPROM 数据,恢复复位前状态。
设备离线(脱网)处理。 设备在离线时,按照设定的策略实现自动开关调光动作,并每隔一定时间尝试入网,直到重新加入网络。
关键数据处理。 采用定时更新的方式,保存到EEPROM,并做备份。
上传数据及状态和下传命令可靠性。数据及命令采用CRC16 校验及重发机制,保障可靠传输。
4 管理平台展示
4.1 非工作时段
如图9 所示,圆点代表装配了单灯控制器的路灯,标签代表集中控制器(集中管理单灯控制器,并与远程服务器进行数据通信),此时路灯未开。
4.2 工作时段
如图10 所示, 圆点代表装配了单灯控制器的路灯,标签代表集中控制器,此时路灯已开。
4.3 异常情况
如图11 所示, 灰色圆点代表装配了单灯控制器的路灯,黑色圆点代表单灯控制器异常或单灯控制器所控制的路灯异常, 标签代表集中控制器,此时路灯已开。
5 结语
随着城市化建设,路灯作为城市基础设施建设的一部分,对其进行高效管理维护,具有重要意义。目前, 越来越多的地方开始部署路灯控制管理系统。 本文设计的基于ZigBee 通信技术的单灯控制器, 在对路灯开关调光控制及状态监测的同时,采用多种方法,提高了其可靠性,为路灯控制管理系统的稳定性提供了前端硬件保证。
图9 非工作时段路灯状态图Figure 9 Street lamp state diagram during nonworking hours
图10 工作时段路灯状态图Figure 10 Street lamp state diagram during working hours
图11 异常情况路灯状态图Figure 11 Street lamp state diagram under abnormal conditions