摘要:對于電力系統,在線監測的困難在于絕緣和強電磁噪聲。ZigBee無線通信技術為電氣監測提供了新思路。根據協議棧應用層的工作原理構造相應的原語結構,實現協調器網絡建立和終端設備的網絡連接。協調器建立的終端設備綁定表,能夠間接地將收發設備聯系在一起。在通過ZENA網絡分析儀器的綁定測試和電壓有效值、頻率采樣電路proteus仿真后,將硬件電路與ZigBee網絡結合起來,實現了電氣參數的在線監測。
引言
ZigBee是一種專注于低功耗、低成本、低復雜度、低速率的近程無線網絡通信技術。ZigBee的組網能力強,廣泛應用于無線傳感網、嵌入式的自動控制和遠程控制領域。ZigBee的協議棧由一組子層構成,由下至上依次是物理層、介質接人控制子層(MAC)、網絡層、應用層,并與單片機配合完成數據包裝收發、校驗、各種網絡拓撲、路由計算等復雜功能。
隨著用戶對電器智能化的要求越來越高,ZigBee技術需要傳輸更多的電氣參量和現場參量,其中電壓有效值和頻率是確保電氣系統穩定運行的重要參數。有線傳輸布線麻煩,會使電器結構復雜、成本增加、使用不方便,而采用ZigBee技術能夠很好地解決這方面問題。
本文以Microchip公司的PIC18LF4620為核心,硬件收發電路采用MRF24J40芯片,結合ZENA網絡分析儀器對ZigBee設備間的綁定和數據請求進行監控,測試終端將電氣參數發往其他設備。
1 ZigBee協議棧結構和原理
ZigBee協議棧的分層結構中,最下面的兩層是介質接入控制子層(MAC)和物理層,這兩層是由IEEE 802.15.4定義的,而上面的網絡層和應用層才是由ZigBee聯盟定義的。網絡層(NWK)負責設備到設備的通信,并負責網絡中設備初始化、消息路由和網絡發現;而應用支持子層(APS)可使用NWK提供的服務,實現數據傳送和安全等服務。此外應用層還可以通過ZigBee設備對象(ZDO)進行網絡層配置和訪問,提供設備發現、服務發現和綁定管理服務。用戶程序則通過240個端點與APS對接,實現用戶功能。實現ZigBee任務的關鍵就是在應用層或者ZDO層中配置原語,單片機的任務就是不斷地執行各種ZigBee協議棧任務。
2 ZigBee硬件和軟件設計
2.1 ZigBee硬件設計
ZigBee相關的硬件設計包括兩方面:一是以MRF24J40和PIC18LF4620為核心的射頻電路;二是提供ZigBee網絡分析的ZENA電路板。
MRF24J40的硬件電路包含去耦電路、平衡-不平衡變換電路和時鐘振蕩電路。與單片機相連的則是4線的串行SPI接口,它有中斷、喚醒和復位功能。用戶應用程序通過端點服務接口傳到APS,再依次往下傳至物理層,最后通過SPI控制MRF24J40將數據通過天線以電磁波形式發送出去,接收方的天線收到數據后則將數據逐層向上傳遞,請求應用層處理。在進行組網時至少需要3個這樣的最小系統板,其中一個作為協調器,另兩個作為終端設備或路由器。
ZENA電路板的核心是PIC18LF2550和MRF24J40,MRF24J40用于接收空氣中的電磁波并傳給單片機處理,最終通過USB傳輸到計算機中。而ZENA網絡監視窗口就是該USB對接的界面,這樣通過天線接收到的數據被還原成幀的形式顯示出來,由此就可以判斷ZigBee設備發送的數據是否正確。
2.2 ZigBee軟件設計
ZigBee協議棧是通過下層的服務完成自己的功能,同時對上層提供服務。網絡通信是在對等的層次上進行的,而這些服務是設備中的實體通過發送服務原語來實現的。原語中又包含很多參數,構造應用層的程序其實也就是對該服務相關的原語參數進行賦值。綁定的原語為:APSME-BIND.request{SrcAddr,SrcEndpoint,Clusterld,DstAddrMode,DstAddr,DstEndpoint}。
該原語最前面的APSME表示這是一個APS服務原語,因此在執行ZigBee任務時將被送到APS.c文件執行。原語里的參數依次表示發送該原語設備的源地址、哪個端點發送該原語的、哪個簇標識符與目的設備綁定、目的地址模式是64位物理地址還是16位網絡短地址、目的設備的地址值,以及將被送到目的設備的哪個端點執行。因此要向某設備發送綁定請求,首先要定義好使用哪個端點和簇ID來執行,并且要知道自己和對方的地址,對各參數賦值完畢后就令currentPremitive=APSME_BIND_request,設備就成功發送綁定請求了,并等待后續響應。
3 電壓采樣電路和測頻電路
由于電力線路是高電壓的交流電,而PIC18LF4620只能采樣小于3.3V的直流電壓,因此線路的電壓都要經過變壓器或互感器降壓后再經過絕對值線路整流。本文選用電流型的精密微型電壓互感器HPT304,互感器應用電路如圖1所示。通過運算放大器輸出,二次負載基本為0。被測的輸入電壓VIN通過限流電阻RIN限流,產生的0~2mA電流通過微型電壓互感器。HPT304感應出相同的0~2mA。通過運算放大器可以調節反饋電阻R值在輸出端得到所要求的電壓輸出,而電容C及電阻r是用來補償相位差的。限流電阻RIN要有足夠大的功率。

絕對值線路的作用是將交流變成直流,線路簡單、容易實現。絕對值線路和絕對值線路仿真波形如圖2和圖3所示。圖2放大倍數是R2/R1=5,選用的兩個運算放大器最好是同在一個芯片上,這樣出來的半波才會對稱。

用單片機算出交流電壓的有效值,也必須先測出交流電壓的頻率,再根據頻率確定每一個點的采樣周期。這樣計算的有效值才不會隨頻率的變化而變化。測頻電路和測頻電路輸出波形如圖4和圖5所示。

電壓有效值表達式為:

式中:N為每個電源周期采樣點數,uk為電壓第k點的采樣值。本文N為64。輸入波形與采樣脈沖如圖6所示。

4 測試結果
本文的綁定實驗采用間接綁定的方法,即由協調器來建立綁定表,兩終端節點分別向協調器請求綁定。請求綁定的終端設備要給協調器發送數據請求,不過請求的簇為0x20,且端點為ZDO(0x00),因此該請求到達協調器后會進入ZDO處理綁定請求任務。從節點綁定的ZENA分析圖可以看到,應用層最后面的AF數據幀包含了終端節點請求綁定的所有信息,如果兩設備的輸入簇和輸出簇對應,模板標識符也一樣,就能在協調器中建立綁定表。這里的輸入簇和輸出簇都是Test模板的緩沖請求簇(0x1C)。需要說明的是,當兩個終端設備分別向協調器請求綁定后,協調器還要分別發送UnBind_req和Bind_req給各終端,并根據給出的響應設置標志位,當所有的工作完成后才能給請求綁定的設備發送簇(ID為end_device_bind_rsp)完成綁定。由于篇幅所限這里直接給出綁定的結果,協調器串口輸出如圖7所示。

綁定成功后,終端設備只需標明簇標識符就可以將數據通過協調器發送給綁定表中對應輸入簇的設備。協調器收到終端采樣數據,該數據為電網頻率和有效值,在下一個工作周期內,協調器就會將數據根據綁定表傳遞給目的設備,目的設備收到數據后就能進行分析和處理,實現對現場的監控。值得一提的是,由于ZigBee協議棧本身的限制,數據最快也只能0.5s更新一次。
結語
本文組建了ZigBee無線網絡,并由協調器統一管理綁定表,實現了電壓有效值和頻率的遠程監控,經過ZENA分析測試,網絡運行穩定。以PIC18LF4620為核心的單片機系統功能強大、性價比高,適合用于電氣監測系統。
本文的創新點在于深入分析協議棧應用層原理,提供了使用Microchip ZigBee協議棧進行網絡綁定的方法,并將電氣在線監測和無線網絡結合在一起,具有一定的推廣應用價值。