基于Zigbee的太阳能电池环境监测系统的研究与开发
2018-02-28徐国保黄清文
徐国保 黄清文
摘要
根据太阳能电池环境监测具有分散、灵活、偏远等特点以及传统有线网络布线繁琐、维护困难等问题,本设计提出一种基于CC2530-Zigbee的由太阳能电池进行供电的无线网络电池环境监测系统。本系统由数据采集终端节点和上位机实时监测平台组成,两个数据采集节点均采用太阳能电池和钮电池组合供电的方式,可以实时监测和记录温度、太阳能电池电压等参数信息,并可将采集到的数据经Zigbee网络无线传输到监测平台,实现数据的即时显示和存储功能。
【关键词】Zigbee CC2530 温度 太阳能电池无线网络
1 引言
太阳能电池在其运行和操作过程中可能会因部分遮阴和老化而出现热斑现象,从而可能会严重影响太阳能电池的发电供电能力,又或者太阳能电池可能在某种情况下失去供电能力而在远处的用户又不能知晓。为了确保太阳能电池供电系统能够正常的运行和工作,以及为了了解太阳能电池的周边环境,使人们能够更加高效地利用太阳能,我们需要对太阳能电池供电系统的各项周边环境参数和太阳能电池的实时供电电量进行测量和监控。
早在2003年,美国国家自然科学基金委员会就开始了一系列的无线传感器网络研究计划的实施,并联合一些大学开展了嵌入式智能传感器项目的研究,旨在构建一个关于太阳能电池无线动态的监测系统。而国内的一些大学如武汉理工大学、湖南大学和华中科技大学等高校也陆续开始了对类似问题的研究,分别提出有线和无线的太阳能发电监测系统。上诉研究虽然对太阳能电池环境方面作出了详细的研究,但是很多关键细节往往不公开而且这些系统往往存在成本高、功耗大的缺陷。所以有必要设计一款基于成本比较低、功耗比较少的Zigbee无线传感器技术、GPRS技术的太阳能电池环境监测系统。本次研究结合公众需求,基于无线网络、联合传感器,从而进行对数据的实时监测,这次实验具有一定的实际意义,也可满足公众对环境监测方面的要求。
2 Zigbee无线技术的发展现状
无线传感器网络技术源于20世纪70年代,这种技术最早是应用于军事科技领域,但是由于技术能力限制,该网络只能获取单一数据信号,两个节点之间只能进行简单的点对点的数据通信,并不能实现广播和组播。无线网络技术可以分为WPAN、VVLAN、WMAN和WWAN四种。Zigbee通信技术从2002年的Zigbee联盟成立到2006年该联盟推出了一种比较成熟协议—Zigbee-2006标准协议己走过了多个年头,而Zigbee技术也得到了快速的发展。
Zigbee通信技术有良好的应用前景,比如智能家居、智能商业大楼、智能仪表控制。在智能的商业大楼中可以使用Zigbee完成智能设备的自动控制,其大楼管理人员可以对于灯光、空调、火灾系统等各项重要开关进行远程智能控制,以此实现减少能源费用,降低人力资源管理成本的目的。对于消费者来说,若家中安装有Zigbee管理系统,可以远程地监控家里各种开关、水利电力、煤气是否泄漏、是否有外来人进入等安全隐患,如若监测到异样可自动对户主发出警报信号。作为全球经济总量排名第二的中国市场,Zigbee产品链的应用有良好的发展前景,虽然本土的芯片供应商的参与度有限,但是Zigbee应用的成熟不需要很长时间。
3 总体设计
传统的太阳能环境监测系统是以单片机和射频技术模块组合设计而成的,其特点是编程简单、容易实现和移植,但功耗比较高,成本也相对比较高,实用性较差;另外,用到的元器件比较多,不易于系统的长时间的运行且不能进行休眠或休眠的功能不容易实现。因此本设计采用Zigbee无线通信技术进行开发和研究,通过采集子节点和协调器的通信实现数据在两个节点之间的通信。位于PC的上位机能实时显示各项数据的情况,且增加高温、高压预警功能,保护系统的正常运行工作,在满足大众需求的情况下符合人性化、性价比比较高、功能容易实现。本设计主要分为两部分制作:硬件设计和软件设计。硬件设计方面:采用现成Zigbee核心板和底板结合温湿度传感器和川)模块实现温湿度和电量的测量;软件设计方面:利用IAR集成开发环境进行软件程序的编辑、编译和采用C#编程语言在VS2012开发环境下进行上位机程序的编写,系统总体框图如图1所示。
4 硬件设计
本设计主要分为四个部分:第一部分是由Zigbee芯片和传感器模块构成的数据采集子节点;第二部分是由Zigbee芯片和GPRS模块构成协调器模块;第三部分为太阳能电池供电模块;第四部分为信息收集模块。
4.1 CC2530 Zigbee芯片
Zigbee通信技术要应用于功耗比较低、成本比较低以及运行速率要求的低的监控系统中。本设计采用的主控芯片为CC2530-Zigbee。CC2530芯片结合了强大的RE技术,以及业界标准的增强型8051CPU。CC2530芯片有四种不同的闪存版本:CC2530F32/64/128/256,分别具有32/64/128/256KB的闪存。本设计采用的是CC2530F256,其具有几种不同的运行模式,使得它可以適应超低功耗要求的系统,非常适合用作以环境监测系统的主控芯片。同时,CC2530F256结合了业界领先的黄金单元Z-Stack协议栈,提供了一个强大而完整的Zigbec解决方案。
同时为了便于设备的维护以及日后的拓展使用,将Zigbee芯片的硬件分为两部分,即是CC2530核心板和底板。核心板集射频收发及MCU控制功能于一体,也集成了CC2530芯片正常工作的所有外部电路,满足监测系统开发的需要。同时模块引出CC2530所有IO口,便于功能评估与二次开发。CC2530底板连接着CH340G芯片,该信芯片与串口0相接,方便使用USB线进行调试。同时,底板有CC_Debugger接口,可与仿真器连接直接下载或调试程序。由于CC2530芯片是3.3V供电的,所以底板连接着AMS1117-
3.3 芯片,实现5V到3.3V的转变。
4.2 Zigbee协议栈
由于传统的无线传感器网路协议很难适应某些系统对低成本、低功耗、低容错性的要求,而无线传感器网络节点之间进行数据信息传输又以无线网路通信协议为基础,于是就出现了以IEEE802.15.4协议为基础的Zigbee协议来支持于Zigbee技术的发展。Zigbee协议栈由物理层、介质接入控制层、应用层、网络层构成。其中Zigbee应用层包括应用支持子层APS、应用框架AF、Zigbee设备象ZDO等。其中设备之间的绑定是在协议栈的APS层实现的,应用支持子层APS在NWK层和APL层之间,并提供了两个接口:APSDE-SAP、APSME-SAP,两个接口的功能如下:前者提供在无线传感器网络内两个或多个节点之间的数据通信;后者提供多种服务给应用对象ZDO。EEEE802.15.4标准规定了物理层和MAC层的协议规范,而Zigbee联盟中的Zigbec标准定义了NWK层以及APL层的协议标准,让用户可在这个应用层上开发实现自己应用的开发,其中Zigbee无线网络协议如图2所示。
太阳能电池模块是太阳能发电系统中价值最高的部分,其作用是将太阳能转化为电能,或送往电池中存储起来,或推动负载工作。在硅晶类的太阳能电池板中,当吸收了太阳光中0.4μm~1.1μm波长的光时,就能把光能转化为电能输出。本设计采用的是9V3W的单晶太阳能板,其开路电压可达到10.5V、短路电流可达400MA,并且该电池板可以直接加在6AV的锂电池上而不需要添加稳压模块。本设计配备一个发光二极管,可知道电池板是否正常。
本设计温湿度测量采用的模块是DHT11,DHT11传感器模块是一款在市面上应用很广泛的数字温湿度传感器。湿度测量范围为20%-95%RH测量误差为+5%RH;温度测量范围为0℃-50℃和测量误差为±2℃。DHT11传感器模块采用一根总线通信的方式,也就是说数据的传输和控制都是通过一根总线完成的,这在一定程度上节省了单片机IO端口的使用,同时该传感的整体的体积很小、功耗也很低,使其受到了很多用户的青睐,因此适合本设计中对太阳能环境中温湿度的测量,它的单总线通讯过程流程图如图3所示。
本设计电池电压的测量方案采用的是内部ADC功能实现的,其主要步骤如下:首先是确定ADC用要几位进制表示,它的最大数值是多少。例如一个8位的ADC,最大值是0xFF,就是255.本设计中Zigbee的IO口ADC是12位的,故最大值是4095。然后确定最大值对应的参考电压。一般而言最大值对应的参考电压是加在芯片上的电压,为3.3V。接着计算10电压值。就是把你ADC数值除以刚才确定的最大数值再乘以参考电压。最后计算实际的电压。因为IO口最大的输入电压不超过3.3V,故需要电阻分压测量。本设计采用了两个电阻:502欧姆和2K欧姆的电阻。故输入电压不超过3V,符合ADC电压输入的要求,所以电压计算如式1所示。
其中Va表示AD转换的值,V表示最终的电压值。
本设计使用到GPRS模块的功能是发送短消息,故采用的是模块是果云GA6mini。该模块的供电电压为5V,并支持GSM/GPRS的四个频段,包括850、900、1800和1900MHZ。正常的工作温度范围是-30℃-+80℃,并且支持移动和联通2G,支持GSM 07.10协议,使用的AT指令支持标准AT指令集。该模块具有尺寸较小、功耗较低和宽工位温度范围的特点,适合环境监测系统的要求。当发生高温、高压警报时,由协调器和GPRS模块通信发送警报短信到预设的手机号码。短信信息包括:节点序号和何种预警信号,其流程图如图4所示。
5 系统工作流程
在协调器主控程序中,首先进行了设备的初始化,当无线网络建好后开始等待终端设备的加入。当设备加入网络后开始向协调器发送数据,协调器收到数据后,通过串口。把收到的数据发送到PC上位机显示。若协调器接收的数据为警报数据,协调器会判断是哪个节点发出的何种警报,然后調用警报函数通过GPRS模块把警报短信发送到预设的手机号码上。若协调器收到上位机发送的数据,则会把数据广播到终端子节点上,其流程图如图5所示。
在终端节点主控程序中,首先进行设备的初始化,然后根据Zigbee协议栈搜索附近的无线网络并请求加入,加入网络后会根据设置定时采集温湿度和电压数据并判断是否超过预设值,然后把数据发送到协调器。若该终端收到了协调器发送出来的数据,则会判断数据的类型,然后根据数据作出修改,修改后返回成功标志,其流程图如图6所示。
6 上位机设计
本设计采用C#语言来编写上位机软件程序。该语言是一门稳定、简单、安全的,是由C语言和C++语言衍变出来的编程语言,故其很好地继承了C与C++语言的强大功能,同时又剔除了C与C++语言的一些特性。其可视化的界面、高运行效率、便捷的面向组件编程的支持受到了许多用户的青睐。上位机的功能是与协调器进行通信,完成温湿度、电压数据的实时显示、保存等功能,并且用户可在上位机上进行操作,例如改变数据的定时发送的时间、获取节点的实时数据以及停止/开始节点的数据采集功能,方便用户对数据的分析和处理,其中上位机效果图如图7所示。本文设计的系统采集实时数据效果图如图8所示,电压警报的效果图如图9所示,上位机高温高压警报如图10所示。
7 结语
本设计是基于Zigbee技术的一项应用,通过终端、协调器和上位机之间的通信,形成一个功能强大的太阳能电池环境监测系统,系统不仅可以采集各个节点的温湿度、电池电压数据,也可以通过控制GPRS模块实现远程短信报警。同时位于PC端的上位机可以改变终端节点的状态,以实现更加智能化的效果。这类监测系统应用前景是很广泛的,比如太阳能路灯、共享单车供电系统、森林、海岛、沙漠供电系统中都使用了大量的太阳能电池板,而Zigbee无线网络传输技术功耗低、制作成本低、数据传输性能好,故太阳能电池环境监测系统很适合应用于这些场合。
参考文献
[1]W. Hoffman. PV Solar Electricity:One Among the New MillenniumIndustries[C].17th EuropeanPhotovoltaic Solar EnergyConference,2001:851-861.
[2]李俊峰,刘颖,王斯成等.中国两岸光伏产业发展报告(2008/2009普及版)[R].北京:中国可再生能源企业家俱乐部,2010:23-24.
[3]孙利民,李建中.无线传感器网络[M].北京:清华大学出版社,2005.
[4]贺文.基于IEEE802.15.4/Zig Bee的无线网络技术和应用[D].浙江大学硕士学位论文,2006.
[5]张杰,涂巧玲,杨文刚.传感器网络节点通信模块的低功耗研究[J].传感器与微系统,2009,8(09):28-30.
[6]李文仲,段朝玉.Zigbee无线网络技术入门与实战[M].北京:北京航空航天大学出版社,2007.
[7]潘伟,黄东.基于Zigbee技术的无线传感网络研究[J].计算机技术与发展,2008,18(09):244-245.
[8]虞志飞,邬家炜.Zigbee技术及其安全性研究[J].计算机技术与发展,2008,18(08):144-145.
[9]熊雄,陈建勇,郭新奇等.基于GSM短消息的测试数据远程传输技术研究[J].国外电子测量技术.2010(10):34-38.
[10]WY Chen,JLC Wu,LL Lu.PerformanceComparisons of Dynamic ResourceAllocation with/without ChannelDe-allocationin GSM/GPRSNetworks[J].Communications LettersIEEE,2004,7(01):10-12.