发布时间:2018/8/27 9:20:37 来源:本站
光伏照明作为新能源、新光源领域的新兴产业,能提供夜间道路照明,其不消耗电网电能、不架设输电线路、不污染环境、产品附加值高.在稳定国际市场的同时,大力开拓国内市场,光伏照明发展的前景广阔.
光伏照明的主要应用就是太阳能路灯.现有的太阳能路灯控制器一般为单机版和网络版.单机版通常按照独立光伏系统设计.控制器只监测本路灯的太阳能电池板、蓄电池电压,采用电流控制路灯的开启、关闭,多采用恒流模式充电.这种单机版的控制器不能实时监测太阳能路灯的状况,例如灯具损坏、太阳能电池板损坏等故障,要由巡视人员进行定期检查,提高了太阳能路灯的维护成本.网络版太阳能路灯控制器利用Internet网络或手机网络对路灯系统工作状况进行远程监控和汇总.由于Internet网络需要铺设网络线路,应用场合受限制.手机网络需配置的无线通信设备及通信费用的成本较高,实用性不好.杨超等提出利用无线自组网来控制太阳能路灯系统,通过分离的控制器与无线透传自组网节点实现路灯系统的自动控制.在系统实现过程中,每个太阳能路灯配备1个控制器和1个无线节点.控制器仅仅作为1个多节点控制终端,成本较高,而且控制器与无线自组网节点间的串口通信干扰较大,通信效果不好.
近年来,一种短距离、低功耗的无线通信网络模块——ZigBee模块在自动控制领域得到了迅速的应用.本文基于美国德州仪器公司CC2530F256微控制器设计了无线自组网太阳能路灯控制系统,具有数据采集、终端控制和自组网功能,能实时监控太阳能路灯系统的工作,同时降低了硬件成本,提高了通信质量.
无线自组网太阳能路灯控制系统结构如图1所示.系统由上位机与ZigBee无线路灯网络组成.上位机与ZigBee无线路灯网络通过协调器相连;协调器通过ZigBee协议接收无线路灯网络上传的数据,然后通过RS–232与上位机通信,并接收上位机控制命令下发给无线路灯网络.
图2 太阳能路灯控制器节点结构框图
Fig. 2 Structure diagram of the solar energy streetlight control unit
上位机监控系统具有路灯监控、控制参数设置、ZigBee无线数据通信等功能;此外,可根据需要打开或关闭单灯、组灯,可通过控制单灯电流,达到节能目的;可对路灯模块数据通信超时、状态出错、灯具故障等进行报警,可报告故障路灯的位置,以便及时维修,保证灯亮率.
协调器负责网络的建立及参数配置.组建网络包括网络初始化及节点加入网络2个主要步骤.
图1 无线自组网太阳能路灯控制系统结构框图
Fig. 1Structure diagram of the solar energy streetlight control system based on wireless Ad Hoc network
太阳能路灯控制器节点是无线路灯网络的重要组成部分.节点由太阳能电池板、太阳能路灯控制器、蓄电池和灯具等组成,如图2所示.
太阳能路灯控制器在无线自组网太阳能路灯系统中起重要作用,其控制功能有:(1)当外界光照条件符合要求时,控制太阳能电池板向蓄电池充电,当光照条件变化时,如黑夜或自然照明条件差时,控制蓄电池向负载供电;(2)通过对太阳能电池板和蓄电池电量进行精确检测,防止蓄电池过充与过放,延长蓄电池使用寿命;(3)通过时控与人工控制确定路灯负载情况,使路灯工作更加人性化,从而延长系统的使用寿命,节约能源;(4)控制路灯节点稳定运行、自动加入无线网络、接收并执行上位机的控制命令、上传节点数据.
无线自组网太阳能路灯控制系统的控制器采用CC2530F256.它提供了1个真正的片上系统(SoC)解决方案,能够以较低的成本建立强大的网络节点,其整合了领先的RF收发器、增强型8051CPU、强大的AES-128安全加密功能、2个可支持多种串行通信协议的USART、具有12位分辨率可配置的ADC和8路输入,并且具有不同的运行模式,使得此控制器尤其适应超低功耗要求的系统.由于具有高集成度和强大的功能,使得CC2530F256只需很少的外围设备,就可搭建无线自组网络系统.
系统采用阀控密封式铅酸(valve-regulated lead acid,VRLA)蓄电池,整体密封,不存在普通铅酸蓄电池的气胀、电解液渗漏等现象,安全可靠、使用寿命长.但是,过充电会引起VRLA蓄电池正极析氧,促使活性物质与板栅结合力变坏,导致蓄电池容量下降.过放电还会导致VRLA蓄电池表面生成PbSO4结晶,降低极板活性物质的孔率,缩短使用寿命.所以,控制器必须具有良好的防过充、过放电功能.
2.1 VRLA蓄电池阈值电压温度补偿
图3 VRLA蓄电池充、放电电路
Fig. 3 Circuit of charge and discharge of the VRLA
VRLA蓄电池的阈值电压与温度有很大关系,充电器的输出电压必须随VRLA蓄电池的电压温度系数改变.系统采用DS18B20数字温度传感器,将DS18B20通过液态硅胶紧贴在VRLA蓄电池表面采集VRLA蓄电池外壳的表面温度.VRLA蓄电池的充电阈值电压补偿系数a为-4mV/(℃·单体),补偿后阈值电压为Uh=U+an(t-25),其中U为25℃时的标准阈值电压,t为VRLA蓄电池外壳的表面温度,n为串联单体数.
2.2 VRLA蓄电池充、放电电路
VRLA蓄电池充电电路工作在浮充、均充、停止充电状态,并在浮充、均充、停止充电间自动切换.VRLA蓄电池放电电路工作在稳流放电、停止放电状态,并当蓄电池低于放电电压时自动切换到停止放电状态. VRLA蓄电池充、放电电路如图3所示.
运算放大器U2A、U2B、U2C,U2D,大功率达林顿三极管Q1,三极管Q2、Q3、Q4等组成蓄电池充电电路.其中Q4由程序控制,从而控制充电电路是否工作:当K1输入高电平,Q4饱和导通,充电电路正常工作;当K1输入低电平,Q4截至,关闭充电电路.
运算放大器U2C用来消除电流取样电阻R11上的压降对蓄电池电压测量的影响,它与R6、R7组成负阻转换器(NIC),以提高蓄电池电压采样精度.R11上的压降为正,U2C与R5、R6、R7组成反向差动放大器,输出电压为负,目的是在AD1的取样信号中减去R11上的压降,采集到真实的蓄电池电压值.输出电压经R3、R4组成的分压电路由AD1输出做相应处理,同时送入U2A反向输入端,完成充电电压调节.
充电电路中电压调整三极管Q1的输出电压为
R11上的电压为
蓄电池电压为
将式(1)、式(2)代入式(3)得
式中:Iout是流经VRLA蓄电池的电流;Upwma为运算放大器U2A输入端的电压.当满足
时,能够消除蓄电池电流取样电阻上的压降对蓄电池电压采样的影响,得到
设Uh为VRLA蓄电池温度补偿后浮充电压值,Iq为蓄电池均充电流值.设置Upwma=Uh,当UBat>Upwma时,U2A工作在比较器状态,U1A输出低电平,截止,充电停止,实现防过充功能;当UBat<Upwma时,U2A工作在线性放大器状态,此时U2A输出控制Q2实现浮充功能;当UBat≪Upwma时,U2A工作在比较器状态,U1A输出高电平,饱和导通,此时由Upwmb(运算放大器U2B输入端的电压)控制Q3,实现均充.
U2B、U2D与三极管Q3等组成稳流电路.取样电阻R11上流过的电流与U2D组成跨阻放大器,输出电压送入由U2B组成的反向放大器,完成电流调节和均流充电,电流值由式(4)得出.
充电电路工作在浮充、均充是由微控制器通过AD4端口测量运放U2A输出电压进行控制的,当U2A输出电压>11V,Q2工作在饱和导通状态,充电模式为由Upwmb控制的均充.当U2A输出电压<1V时,充电模式为由Upwma控制的浮充模式.
由U1A、U1B、Q5、Q6、Q7、Q8等组成的放电电路可工作在稳流放电、停止放电状态.当蓄电池低于放电电压时,自动切换到停止放电状态,工作原理与充电电路原理相同.
软件设计包括上位机监控软件与下位机软件.下位机软件包括路灯控制器节点软件和协调器软件,路灯控制器节点软件实现数据采集、接收并转发数据的路由功能;协调器软件实现组网,按照ZigBee协议接收无线网络中节点数据并通过RS–232与上位机监控软件进行数据交互.
3.1 下位机软件
下位机软件基于Z-STACK协议栈进行开发,ZSTACK协议栈提供名为操作系统抽象层OSAL的协议栈调度程序,其库代码封装了ZigBee协议栈的实现细节,向开发人员提供ZigBee协议描述的各层功能组件模块的API接口.开发人员在协议栈调度程序中调用API接口进行应用程序开发,Z-STACK底层封装了自动组建网络、加入节点、数据收发等功能,其应用程序开发包括为3个步骤:(1)应用程序涉及的软、硬件初始化编码;(2)在Z-STACK协议栈中注册该事件编码;(3)在合适的地方调用功能函数编码.在协议栈中,每个任务都是1个事件,且有相应的标志位.协议栈以任务轮询方式工作,轮流查询所有标志位,若标志位有效,则调度程序执行该任务事件处理函数;若同时有多个事件发生,则调度程序根据优先级顺序执行相应事件处理函数.图4为ZSTACK协议栈工作流程.
图4 Z-STACK 协议栈工作流程
Fig. 4 Working process of the Z-Stack
应用软件是在Z-STACK提供的示例工程SampleApp.eww基础上开发的.首先在APP文件夹中SampleApp.c与SampleApp.h中用户添加事件初始化函数,包括定时器、I/O口、ADC、PWM初始化和事件处理函数;其次在SampleApp_Init()函数中调用应用程序初始化函数与注册任务号,进行功能初始化并把相应的事件号添加到协议栈的事件数组中;最后根据要求触发该事件来调用用户功能函数,把采集到的数据通过void SampleApp_ SendPeriodicMessage(void)函数发送出去,或者将通过void SampleApp_ MessageMSGCB(afIncoming MSGPacket_t *pkt)函数接收到的数据进行解析、处理.
在事件处理函数中,对电压、电流数据采集应用过采样技术.过采样是牺牲速度来换取分辨率的软件手段,在软件中将1个和采样频率相关的PWM白噪声叠加到输入端,按照过采样理论,增加4倍采样可提高1位分辨率,增加256倍采样,理论上可提高4位分辨率,此时ADC每秒采样4,000次,能够满足系统需要.采用过采样技术使CC2530片上ADC的分辨率由12位提高到16位,大大提高了数据采集的精度.
编译SampleApp工程后,通过CoodinatorEB-Pro下载程序到协调器中.协调器运行软件后,能够自动加入无线网络,收发无线自组网络中数据,也能够通过串口与上位机进行数据交互.
3.2 上位机软件
在上位机软件中主要实现了以下3个功能:
(1)协调器与上位机监控软件通过RS–232串口通信.首先把SerialPort控件添加到主窗口中,选择DtaReceived事件生成SerialPort1_DataReceived()函数,初始化串口属性.DataReceived事件是在辅线程被触发的,当接收到1条完整的数据返回主线程中处理时,需要进行跨线程处理.程序采用同步委托方法Invoke.首先声明委托delegate void mydelegate1 (StringBuilder sb),其次定义1个委托实例并实例化委托对象mydelegate1mydelegate=new mydelegate1 (updateReceiveSB),然后定义1个实例方法private void updateReceiveSB(StringBuilder sb),最后进行调用this.Invoke(mydelegate,sb).
(2)协调器与上位机监控软件之间传输数据的编码与解码,解析出控制命令与数据.监控软件处理协议数据时采用有限状态机模式,把复杂的协议数据分解成有限个稳定的状态,在每个状态上判断事件,将连续处理变为离散数字处理,符合计算机的工作特点,同时因为有限状态机具有有限个状态,所以在实际的工程中更容易实现.
(3)实时对上传的数据进行解析,并根据解析的控制命令字和数据进行快速响应处理,程序采用事件触发方式对采集到的数据进行实时处理.以上传模块控制测试数据事件为例:
首先定义委托public delegate void delegateRequestUploadModuleTstData(string recStr);
定义事件public event delegateRequestUpload-ModuleTestData eventRequestUploadModuleTestData;
定义事件触发函数public void requestUpload-ModuleTestDataFun(){
eventRequestUploadModuleTestData(_recStr);}.
然后,在可能有该事件产生的窗口中注册该事件mainform.eventRequestUploadModuleTestData+=ret-SuccessRequestUploadModuleTestData. 其中retSuccessRequestUploadModuleTestData为该事件处理函数.
最后,在产生该事件的地方调用事件触发函数requestUploadModuleTestDataFun().
基于CC2530无线自组网太阳能路灯系统方案已在常州某太阳能电池板公司的厂区道路进行了性能测试,包括无线自组网测试和远程控制测试.厂区铺设太阳能路灯的道路宽约10m,两路灯间距约40m,共50盏路灯、1台上位机与1个协调器组成测试系统.
无线自组网测试分别在晴天、雾天、阴天和雨天4种天气条件下进行.为了简化测试,在测试自组网络成功率时屏蔽了传感器数据发送环节.测试表明,在实验条件下节点的组网成功率均达到100%.
进行远程控制测试实验时,厂区的车辆较少,基本上没有障碍物,在上位机操作界面对太阳能路灯的平均响应时间进行测试.将50个路灯节点平均分为5组,进行了全开、全闭、组开、组闭、单灯控制和上传数据6项控制,结果见表1.
表1 太阳能路灯远程控制测试结果
Tab. 1Result of remote control test of the solar energy streetlight control system
测试结果表明:该设计性能组网稳定,在有效距离内,能准确控制路灯的亮与灭;电路设计和通信方式的改进,使得控制器的利用率较高,降低了硬件成本,也明显改善了组网、数据传输通信质量;系统实现了数据采集、控制等功能,提高了设备的智能化控制程度,方便对照明系统进行管理.
本文以ZigBee模块CC2530为控制核心,实现了无线自组网太阳能路灯系统设计,实现了过充、过放保护和温度补偿功能,并进行了测试.设计中利用电流采样电阻分压技术进行补偿,使得测量值更接近蓄电池端电压.利用过采样技术,进一步提高了电压测量精度.由于硬件结构和通信方式的改进,控制器的利用率较高,降低了硬件成本,也明显改善了通信质量.
该无线自组网系统不仅可以应用在太阳能路灯控制,还可以推广应用到农业节水灌溉、池塘水产养殖等无人值守现场的监测和控制.
![]() |
||
|
||