張 敏, 海博奇, 鄒 鵬
(哈爾濱工業大學(威海),山東 威海 264209)
傳統電源監控系統多采用有線連接方式。當監控節點較多時,就存在著安裝困難、布線繁瑣及維護不便等問題。采用基于ZigBee技術的無線傳感器網絡來組建這種電源監控系統,即可解決上述種種問題。現介紹ZigBee技術的工作原理及實時監控系統的設計。
ZigBee協議棧結構由物理層、MAC層、網絡層和應用層組成。ZigBee標準規定,所有的ZigBee網絡節點分為Coordinator、Route、End Device這3種類型。不論ZigBee網絡采用何種拓撲方式,網絡會自動按照ZigBee協議算法選擇較好的路由路徑作為數據傳輸通道,以提高通訊效率[1]。
基于ZigBee無線網絡的電源電壓監控系統框圖如圖1所示。

終端節點通過采集/保護模塊采集電源設備0~30 V的電壓數據,通過路由器節點發送給協調器節點,同時還要接收協調器的控制命令并作相應處理;路由器節點在系統中的主要任務是數據中轉,確保協調器節點與終端節點間的數據交換正確,增加了ZigBee網絡的覆蓋范圍;協調器節點一方面接收終端節點采集到的電源電壓數據,并把該數據通過串口發送給上位機,另一方面接收上位機的命令信息,然后發送給對應的終端節點;上位機實現對監控設備狀態信息的管理,包括系統配置、實時狀態顯示、節點控制、數據處理及數據查詢等[2]。
ZigBee網絡具有3種拓撲形式:星形拓撲、樹形拓撲、網狀拓撲。文中設計的監控系統選擇網狀拓撲作為系統拓撲結構。
監控系統主要由路由器節點和終端節點組成。終端節點的硬件結構框圖如圖2所示。
終端節點模塊由采集和控制兩部分組成。電源采用DH1718G-4型直流穩壓電源。將電源電壓0~30 V使用1/10電阻分壓變為CC2430片內AD采集0~3 V電壓;保護模塊又包括繼電器和蜂鳴器電路兩部分,繼電器用于切斷或恢復電源與負載設備的連接,起到過壓保護的作用,蜂鳴器在電源過壓時響起,起報警作用。其中,在繼電器驅動電路里加入二極管用于在繼電器斷電瞬間將繼電器線圈產生的較大的反向電動勢釋放掉,起到保護三極管的作用[3]。

ZigBee無線網絡節點的軟件開發平臺采用IAR Embedded Workbench V7.30B for 8051 ( IAR EW)集成開發環境。ZigBee無線模塊的軟件系統協議棧采用操作系統的思想來構建,采用“事件輪詢”機制,當各層初始化之后,系統進入低功耗模式。當事件發生時,喚醒系統,開始進入中斷處理事件,結束后繼續進入低功耗模式。如果同時有幾個事件發生,判斷優先級,逐次處理事件。整個Z-Stack的主要工作流程大致分為:系統啟動,驅動初始化,OSAL初始化和啟動,進入事件輪詢階段[4]。
協調器在系統中的作用是,建立并管理ZigBee網絡,自動允許其他節點加入網絡的請求,收集終端節點傳來的電壓數據,并通過串口將數據發送給上位機,同時接收上位機的控制命令,再將命令發送給終端節點控制其采取相應的處理措施。協調器建立網絡并處理節點請求的程序流程如圖3所示。

路由器節點在系統中的作用是路由選擇和數據轉發。ZigBee設備有兩種類型的地址。一種是 64位IEEE地址(也稱為MAC地址或擴展地址);另一種是16位網絡地址(也稱為邏輯地址或短地址)。ZigBee使用一個分布式的編址方案來分配網絡地址。該方案確保了所有被分配的網絡地址在整個網絡中是唯一的[5-6]。路由器建立網絡的程序流程如圖4所示。

終端節點在系統中的作用是采集電源電壓數據,并通過與協調器建立“綁定”將電壓數據發送給協調器,同時接收協調器發來的控制命令,控制采集/保護模塊中的繼電器和蜂鳴器做出相應的操作。在終端節點以終端的身份啟動并加入網絡后,即開始與協調器建立綁定。一旦一個綁定被創建,終端節點就可以在不需要知道明確的目的地址的情況下發送數據。其與協調器建立綁定及電壓數據傳遞的完整程序流程如圖5所示。

本系統的上位機軟件采用 NI公司推出的面向測控領域的LabWindows/CVI軟件作為開發平臺[7]。它實現的主要功能有:通過串口接收ZigBee無線網絡傳來的被監控電源的電壓數據,將該數據分別以文本及波形圖的方式實時顯示出來;設置電壓警戒值及控制方式等,實現電源電壓無線監控系統的自動或手動控制;通過連接后臺數據庫,將電壓及報警信息儲存在數據庫中,方便在上位機界面上對報警記錄的查詢和日后對監控數據信息的管理等[8]。界面的總體設計如圖6所示。

圖6 上位機界面總體效果
本系統為上位機軟件加入數據庫功能。這里采用微軟的Access數據庫作為后臺數據庫,對監測數據進行記錄和管理。LabWindows/CVI提供了數據庫的工具包LabWindows/CVI SQL Toolkit。工具包里包含了一個用來完成一般數據庫任務的高級函數集。
將各個模塊連接好,分別間隔10 m放置好后,首先打開電源設備,隨后終端節點開始采集電源電壓數據,并每隔1 s將數據經ZigBee網絡發給上位機軟件。當電壓低于10 V時,界面顯示如圖7所示。
此時監測數據已實時地存入后臺數據庫中,當需要查詢以往保存過的報警記錄時,點擊界面上的“數據庫記錄查詢”標簽,在下方輸入想查詢數據的日期,點擊確定后,查詢結果即會以表格形式顯示出來。

圖7 電壓安全狀態時界面顯示
文中給出了一種針對電源監控系統的ZigBee無線傳感器網絡的軟硬件設計方案,解決了有線網絡存在的布線、維護和擴展性等眾多問題。系統把以CC2430芯片為核心的ZigBee無線模塊作為節點,具有協議簡單、成本低、功耗小、組網容易等優點。經試驗證明,系統可以很好的完成電源數據的采集、傳輸、處理和記錄任務,并完成對電源的斷電保護工作,具有很高的應用價值。
[1] 王權,王莉. ZigBee技術及其應用[J].現代電信科技,2004(01):33-37.
[2] 屈明佑,雷航,郭文生.基于ZigBee的現場數據采集系統設計與實現[J].電訊技術,2008(02):34-38.
[3] CHAKERES I D, KLEIN-BERNDT L.AODVjr, AODV Simplified[J]. Mobile Computing and Communications Review, 2002,6(03): 100-101.
[4] 蔡雨楠,王福豹,嚴國強.基于數服務和能量控制的ZigBee路由策略研究[J].微型電腦應用,2008,24(06): 4-7.
[5] Texas Incorporate. CC2420 Datasheet SWRS041B[Z].USA:Texas Instrum entsIncorporated, 2007.
[6] 林瑤瑤.基于 ZigBee的現場參數無線檢測裝置的研究與設計[D].大連:大連理工大學,2009:43-45.
[7] 黃雙華, 趙志宏, 郭志. ZigBee無線傳感器網絡路由研究與實現[J]. 電子測量技術, 2007,30(02):59-61.
[8] 張毅剛,喬立巖.虛擬儀器軟件開發環境 LabWindows/CVI 6.0編程指南[S].北京:機械工業出版社,2002:185-207.