引言
光伏發(fā)電作為利用太陽能的主要方式,,已經(jīng)得到廣泛的應(yīng)用,。光伏照明是一種獨(dú)立的光伏發(fā)電系統(tǒng),主要用于城市和建筑物照明系統(tǒng)的建設(shè)和改造,。目前,,照明控制系統(tǒng)中多采用有線網(wǎng)絡(luò)方式,維護(hù)起來比較復(fù)雜,,如何簡化施工,、降低成本并實(shí)現(xiàn)遠(yuǎn)距離控制是一個(gè)值得探討的問題。本文介紹了一種利用ZigBee無線傳感器網(wǎng)絡(luò)技術(shù)實(shí)現(xiàn)光伏照明系統(tǒng)遠(yuǎn)程監(jiān)控的方案,,并給出了詳細(xì)的軟硬件設(shè)計(jì),。
1 光伏照明控制系統(tǒng)組成及工作原理
光伏照明控制系統(tǒng)由光伏發(fā)電系統(tǒng)、無線通信系統(tǒng)和監(jiān)控計(jì)算機(jī)3個(gè)部分組成,。
光伏發(fā)電系統(tǒng)由建筑頂部的太陽能電池板,、鉛酸蓄電池組和光伏充電機(jī)構(gòu)成,。太陽能電池是照明系統(tǒng)的輸入電源,為照明系統(tǒng)提供照明和控制所需電能,。白天,,在光照充足的條件下將所接收的光能轉(zhuǎn)換為電能,經(jīng)光伏充電機(jī)對(duì)蓄電池組充電,;夜晚,,蓄電池組將儲(chǔ)存的電能經(jīng)光伏充電機(jī)切換輸出到路燈負(fù)載。當(dāng)光伏充電機(jī)對(duì)蓄電池組進(jìn)行充電時(shí),,為延長蓄電池壽命,,必須避免蓄電池處于過充電或者過放電的狀態(tài)。因此,,需要對(duì)光伏充電機(jī)充電電流,、電壓和發(fā)電量等數(shù)據(jù)進(jìn)行實(shí)時(shí)監(jiān)控和保存,還要求能對(duì)路燈進(jìn)行獨(dú)立的開關(guān)控制,。
由于本系統(tǒng)中太陽能電池板位于圖書館頂部,,監(jiān)控計(jì)算機(jī)處于相隔200 m的另外一個(gè)建筑物中,中間相隔了水池,,如果采用有線通信方式則需要重新進(jìn)行布線,,施工復(fù)雜且成本較高,因此,,采用無線通信網(wǎng)絡(luò),。無線通信方式不僅簡單靈活,無需考慮布線問題,,還可以通過和其他總線通信方式的結(jié)合,,實(shí)現(xiàn)遠(yuǎn)距離數(shù)據(jù)傳輸和路燈控制。采用ZigBee無線傳感器網(wǎng)絡(luò)技術(shù)可實(shí)現(xiàn)對(duì)充電機(jī)狀態(tài)數(shù)據(jù)的傳輸,;同時(shí),,監(jiān)控計(jì)算機(jī)可以通過無線網(wǎng)絡(luò)控制路燈的開關(guān)狀態(tài),實(shí)現(xiàn)了對(duì)充電機(jī)狀態(tài)的實(shí)時(shí)監(jiān)控和燈光控制效果,??刂品秶?00 m以內(nèi),如果增加路由器,,還可擴(kuò)展到更遠(yuǎn)的范圍,。
ZigBee是一種短距離、低速率,、低功耗,、低成本和低復(fù)雜度的無線傳輸技術(shù),非常適合于低功耗和低數(shù)據(jù)量的短距離無線傳輸,。ZigBee的低功耗特點(diǎn)限制了節(jié)點(diǎn)之間的通信距離(一般為70 m),。本系統(tǒng)中,,節(jié)點(diǎn)之間的距離超過了其正常通信距離。有2種解決辦法:一種是通過增
加路由器節(jié)點(diǎn)來擴(kuò)大覆蓋范圍,,缺點(diǎn)是增加硬件成本,;另一種是利用PA(Power Amplification,功率放大)提高發(fā)射功率,,該方法較為簡單且成本較低,。本設(shè)計(jì)中采用后者來擴(kuò)大網(wǎng)絡(luò)覆蓋范圍。
ZigBee設(shè)備可分為全功能設(shè)備(FFD)和精簡功能設(shè)備(RFD),。FFD可以與RFD或者FFD通信,,而RFD只能和FFD通信;FFD可作為網(wǎng)絡(luò)協(xié)調(diào)器,、路由器或終端設(shè)備,,RFD只能作為終端設(shè)備,。本系統(tǒng)中網(wǎng)絡(luò)協(xié)調(diào)器和監(jiān)控計(jì)算機(jī)通過RS485總線相連,,負(fù)責(zé)建立、管理和維護(hù)網(wǎng)絡(luò),,控制其他節(jié)點(diǎn)接收數(shù)據(jù)等功能,。路由器通過RS485總線和光伏充電機(jī)相連,實(shí)現(xiàn)對(duì)其數(shù)據(jù)的采集和控制,,終端節(jié)點(diǎn)接收監(jiān)控計(jì)算機(jī)的命令控制路燈電源的開關(guān),。ZigBee網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)支持星形(Star)、樹形(Clustetree)和網(wǎng)狀(Mesh),。為簡化設(shè)計(jì),,無線網(wǎng)絡(luò)采用樹形網(wǎng)絡(luò)拓?fù)洌到y(tǒng)組成如圖1所示,。
監(jiān)控計(jì)算機(jī)負(fù)責(zé)光伏數(shù)據(jù)采集和系統(tǒng)管理,,通過RS485總線和安裝在戶外的網(wǎng)絡(luò)協(xié)調(diào)器進(jìn)行通信。光伏充電機(jī)數(shù)據(jù)通過RS485總線傳送到路由器節(jié)點(diǎn),,再由協(xié)調(diào)器轉(zhuǎn)發(fā)到監(jiān)控計(jì)算機(jī),。路由器還起到延長ZigBee網(wǎng)絡(luò)傳輸距離的作用。監(jiān)控計(jì)算機(jī)通過網(wǎng)絡(luò)協(xié)調(diào)器發(fā)送命令給路由器,,實(shí)現(xiàn)對(duì)充電機(jī)電源開關(guān)的切換控制,。路燈供電線纜通電后,終端節(jié)點(diǎn)加入ZigBee網(wǎng)絡(luò),。網(wǎng)絡(luò)協(xié)調(diào)器對(duì)終端節(jié)點(diǎn)進(jìn)行檢查,,并將節(jié)點(diǎn)狀態(tài)傳輸給監(jiān)控計(jì)算機(jī)。監(jiān)控計(jì)算機(jī)通過網(wǎng)絡(luò)協(xié)調(diào)器發(fā)送命令給各個(gè)終端節(jié)點(diǎn),,控制各個(gè)節(jié)點(diǎn)路燈電源開關(guān)導(dǎo)通或者斷開,,從而實(shí)現(xiàn)路燈的單獨(dú)或者分段照明控制,。當(dāng)需要實(shí)現(xiàn)景觀燈效果時(shí),可通過監(jiān)控軟件設(shè)計(jì)向各個(gè)終端節(jié)點(diǎn)發(fā)送相應(yīng)的控制命令,。
2 硬件節(jié)點(diǎn)設(shè)計(jì)
考慮到無線通信系統(tǒng)中各個(gè)節(jié)點(diǎn)的功能不完全相同,,為了方便硬件設(shè)計(jì)和降低成本,對(duì)硬件部分進(jìn)行了模塊化處理,。節(jié)點(diǎn)的核心部分為ZigBee通信模塊,,設(shè)計(jì)成只負(fù)責(zé)RF收發(fā),其他部分由路燈開關(guān)模塊,、電源和RS485通信模塊等構(gòu)成,。無線通信模塊采用支持ZigBee協(xié)議的超
低功耗SoC芯片CC2430。該芯片集成ZigBee射頻RF前端,、內(nèi)存和微控制器,,具有8位增強(qiáng)型8051 MCU、128KB可編程閃存和8 KB的RAM,,另外還包含A/D轉(zhuǎn)換器,、定時(shí)器、AESl28協(xié)處理器,、看門狗定時(shí)器,、休眠模式定時(shí)器、上電復(fù)位電路,、掉電檢測(cè)電路以及21個(gè)可編程I/O引腳,。TI公司提供免費(fèi)的ZigBee協(xié)議棧,可以方便地完成系統(tǒng)的硬件和軟件設(shè)計(jì),。
2.1 ZigBee通信模塊硬件設(shè)計(jì)
圖2為ZigBee通信模塊原理圖,。經(jīng)過現(xiàn)場(chǎng)試驗(yàn)發(fā)現(xiàn),由于網(wǎng)絡(luò)協(xié)調(diào)器和其他節(jié)點(diǎn)之間距離較遠(yuǎn),,只采用CC2430時(shí)網(wǎng)絡(luò)數(shù)據(jù)傳輸不穩(wěn)定,。為延長無線通信模塊的通信距離,又采用了TI公司的高性能射頻前端CC2591,。CC2591可提供22 dBm的輸出功率,,能夠與CC2430無縫連接,射頻輸入/輸出之間不需要增加額外的匹配網(wǎng)絡(luò),。簡單起見,,圖中沒有給出電源和退耦電路、GPIO,、JTAG等部分,,空余引腳通過排座引出以便與其他模塊連接。
CC2591的HGM引腳為增益控制,當(dāng)它為高電平時(shí)處于高增益模式,;EN和PAEN為高電平時(shí)CC2591工作在正常模式,,為低電平時(shí)進(jìn)入低功耗模式。R1,、R2為偏置電阻,,為晶體振蕩器提供合適的工作電流。天線采用50 Ω鞭狀天線,。由于ZigBee模塊工作在2.4 GHz頻段,,對(duì)PCB設(shè)計(jì)要求很高,PCB板材,、元件封裝,、布局和布線必須參照TI公司的參考設(shè)計(jì)。特別是天線阻抗匹配部分,,在布線中應(yīng)直接采用TI公司提供的GERBER文件,,復(fù)制其PCB布線方式才能保證CC2591的高性能和穩(wěn)定性。另外,,PCB的電源退耦和地線處理也非常重要,,退耦電容應(yīng)盡可能接近電源引腳,PCB空余的部分需進(jìn)行覆銅接地處理,,在頂層和底層覆銅之間按照一定的間隔用過孔相連,。
2.2 協(xié)調(diào)器和路由器硬件設(shè)計(jì)
由于協(xié)調(diào)器和路由器都需要通過RS485總線和其他設(shè)備進(jìn)行遠(yuǎn)距離通信,,因此需要設(shè)計(jì)RS485通信模塊與ZigBee通信模塊相連,。通信模塊采用MAX485和光耦實(shí)現(xiàn),MAX485通過CC2430的PO.5腳完成RS485收發(fā)控制,。CC2430電源采用LTlll7-3.3等芯片供電,。在ZigBee協(xié)議中,網(wǎng)絡(luò)協(xié)調(diào)器負(fù)責(zé)建立網(wǎng)絡(luò)和實(shí)現(xiàn)路由控制等功能,,因此必須保持工作狀態(tài),,保證數(shù)據(jù)采集的可靠性和穩(wěn)定性。本系統(tǒng)中,,網(wǎng)絡(luò)協(xié)調(diào)器和路由器正常工作時(shí)采用外部交流電源供電,。當(dāng)外部交流電源掉電時(shí),通過微處理器監(jiān)控芯片ADM690實(shí)現(xiàn)電源切換,,利用電池組對(duì)其供電,,以保證網(wǎng)絡(luò)的穩(wěn)定工作。ADM690具有低功耗,、低導(dǎo)通電阻和大電流輸出等特性,,非常適合實(shí)現(xiàn)微處理器的電池后備功能。該電路設(shè)計(jì)如圖3所示。其中,,R1為充電限流電阻,,在外部電源正常時(shí)可以對(duì)電池涓流充電。
2.3 終端節(jié)點(diǎn)硬件設(shè)計(jì)
終端節(jié)點(diǎn)的功能是接收協(xié)調(diào)器發(fā)送的指令控制路燈開關(guān),。其電源是在監(jiān)控計(jì)算機(jī)發(fā)送命令到光伏充電機(jī)對(duì)路燈供電線纜供電之后提供,,因此硬件部分不需要電池后備功能、光伏照明系統(tǒng)中供電電壓為直流220 V,,終端節(jié)點(diǎn)電源部分采用DC-DC開關(guān)電源產(chǎn)生5 V直流供電,,路燈開關(guān)控制則通過CC2430的GPIO和三極管控制繼電器實(shí)現(xiàn)。由于CC2430只有引腳P1.O和P1.1具有20 mA的驅(qū)動(dòng)能力,,而其他引腳最大驅(qū)動(dòng)電流為4 mA,,所以使用SN74HC04D作為輸出緩沖。其原理圖如圖4所示,。
3 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件主要包括ZigBee協(xié)調(diào)器節(jié)點(diǎn)程序,、路由器節(jié)點(diǎn)程序、終端節(jié)點(diǎn)程序和監(jiān)控計(jì)算機(jī)程序,。監(jiān)控計(jì)算機(jī)程序?qū)崿F(xiàn)對(duì)光伏照明系統(tǒng)的監(jiān)控和數(shù)據(jù)處理,,LED路燈通斷控制,以及與之相連的另外一套光伏發(fā)電系統(tǒng)和環(huán)境監(jiān)測(cè)系統(tǒng)的數(shù)據(jù)采集和監(jiān)控,。監(jiān)控計(jì)算機(jī)與協(xié)調(diào)器節(jié)點(diǎn)通信通過二進(jìn)制編碼的方式進(jìn)行通信,,每隔5 s發(fā)送1次采集命令。其數(shù)據(jù)包格式如下:
其中,,數(shù)據(jù)包包頭(HEADER)占2字節(jié),,可設(shè)置為0x81、Ox82,,用于區(qū)分是計(jì)算機(jī)數(shù)據(jù)包輸出還是數(shù)據(jù)包輸入,;數(shù)據(jù)長度(LENGTH)為1字節(jié);命令類型包括充電機(jī)數(shù)據(jù)采集,、路燈開關(guān)狀態(tài)采集,、環(huán)境參數(shù)采集等;數(shù)據(jù)字節(jié)數(shù)由LENGTH指定,;數(shù)據(jù)CRC校驗(yàn)占1字節(jié),。
ZigBee節(jié)點(diǎn)程序是在TI公司提供的ZStack-1.4.3-1.2.1協(xié)議棧的基礎(chǔ)上編寫的,可以實(shí)現(xiàn)網(wǎng)絡(luò)建立,、節(jié)點(diǎn)加入和退出,、數(shù)據(jù)傳輸?shù)裙δ堋T搮f(xié)議棧將應(yīng)用層和堆棧層進(jìn)行了分離,,提供了類似于操作系統(tǒng)的運(yùn)行機(jī)制(OSAL)(主要包括任務(wù)的注冊(cè),、初始化,、啟動(dòng),任務(wù)間的消息交換,,任務(wù)同步,,中斷處理,以及時(shí)間管理和內(nèi)存分配等),,具有很好的可移植性,。
節(jié)點(diǎn)程序流程如圖5所示。當(dāng)對(duì)硬件和協(xié)議棧各層初始化后,,采用有限狀態(tài)機(jī)以事件輪詢方式對(duì)事件進(jìn)行處理,。如果同時(shí)有幾個(gè)事件發(fā)生,則判斷事件優(yōu)先級(jí)后逐次處理,。該協(xié)議棧提供了豐富的API函數(shù)供用戶調(diào)用,,這種軟件構(gòu)架可方便地構(gòu)造用戶應(yīng)用程序。由于對(duì)終端節(jié)點(diǎn)的供電是由光伏充電機(jī)根據(jù)監(jiān)控計(jì)算機(jī)的命令來控制,,因此在正常情況下終端節(jié)點(diǎn)每天都會(huì)加人和退出網(wǎng)絡(luò),。
ZigBee節(jié)點(diǎn)之間的通信有兩種尋址方式,分別通過固定的64位IEEE地址和16位網(wǎng)絡(luò)地址來尋找網(wǎng)絡(luò)設(shè)備,。當(dāng)節(jié)點(diǎn)加入ZigBee網(wǎng)絡(luò)時(shí),,它可以通過協(xié)調(diào)器隨機(jī)獲取唯一的l6位網(wǎng)絡(luò)地址。光伏照明系統(tǒng)要求能按照路燈的編號(hào)任意控制其點(diǎn)亮或者關(guān)閉,,而要與特定節(jié)點(diǎn)通信必須采用IEEE地址,,故利用TI公司提供的SmartRF軟件對(duì)ZigBee節(jié)點(diǎn)的64位IEEE地址進(jìn)行人工分配。協(xié)調(diào)器向終端節(jié)點(diǎn)傳送數(shù)據(jù)使用AF_DataReqt-lest()函數(shù)實(shí)現(xiàn),,該函數(shù)需要節(jié)點(diǎn)的網(wǎng)絡(luò)地址作為參數(shù),,通過IEEE地址獲取16位網(wǎng)絡(luò)地址的功能由NLME_GetShortAddr()函數(shù)實(shí)現(xiàn)。程序設(shè)計(jì)中,,在應(yīng)用層添加用戶所需要的任務(wù),,對(duì)接收到的事件進(jìn)行處理,。節(jié)點(diǎn)在啟動(dòng)時(shí)需完成以下工作:初始化CC2430和協(xié)議棧,;幫助協(xié)調(diào)器節(jié)點(diǎn)建立ZigBee網(wǎng)絡(luò),設(shè)置網(wǎng)絡(luò)PAN ID,,等待其他節(jié)點(diǎn)加入網(wǎng)絡(luò),;對(duì)監(jiān)控計(jì)算機(jī)傳送的命令進(jìn)行解析和轉(zhuǎn)發(fā);讀取路由器和各個(gè)終端節(jié)點(diǎn)發(fā)送的狀態(tài)數(shù)據(jù),,并轉(zhuǎn)發(fā)給監(jiān)控計(jì)算機(jī)處理,。
配置ZigBee設(shè)備對(duì)象(ZD0)端點(diǎn)時(shí),網(wǎng)內(nèi)的所有節(jié)點(diǎn)其端點(diǎn)ID和端點(diǎn)描述符必須相同,,否則節(jié)點(diǎn)之間不能進(jìn)行通信,。圖5的程序流程主要是針對(duì)用戶事件處理(包括串口事件、數(shù)據(jù)傳送事件、定時(shí)器事件等),,路由器和終端節(jié)點(diǎn)的程序設(shè)計(jì)流程類似,,分別在用戶事件中根據(jù)協(xié)調(diào)
器發(fā)送的命令類型完成充電機(jī)狀態(tài)數(shù)據(jù)采集、回傳,,以及路燈開關(guān)控制,。
結(jié)語
將ZigBee無線網(wǎng)絡(luò)用于光伏照明系統(tǒng)控制,具有通信距離遠(yuǎn),、成本低,,維護(hù)方便等優(yōu)點(diǎn),控制路燈總數(shù)可達(dá)64盞,,覆蓋范圍大于300 m,,并可以進(jìn)一步擴(kuò)展。該系統(tǒng)已經(jīng)成功應(yīng)用于建設(shè)部太陽能建筑應(yīng)用示范工程,,且通過建設(shè)部驗(yàn)收,。