基于ZigBee無線網(wǎng)絡的電源電壓監(jiān)控系統(tǒng)
傳統(tǒng)電源監(jiān)控系統(tǒng)多采用有線連接方式。當監(jiān)控節(jié)點較多時,就存在著安裝困難、布線繁瑣及維護不便等問題。采用基于ZigBee 技術的無線傳感器網(wǎng)絡來組建這種電源監(jiān)控系統(tǒng),即可解決上述種種問題?,F(xiàn)介紹ZigBee 技術的工作原理及實時監(jiān)控系統(tǒng)的設計。
ZigBee 協(xié)議棧結構由物理層、MAC 層、網(wǎng)絡層和應用層組成。ZigBee 標準規(guī)定,所有的ZigBee網(wǎng)絡節(jié)點分為Coordinator、Route、End Device 這3種類型。不論ZigBee 網(wǎng)絡采用何種拓撲方式,網(wǎng)絡會自動按照ZigBee 協(xié)議算法選擇較好的路由路徑作為數(shù)據(jù)傳輸通道,以提高通訊效率。
1 監(jiān)控系統(tǒng)設計
1.1 系統(tǒng)結構設計
基于ZigBee 無線網(wǎng)絡的電源電壓監(jiān)控系統(tǒng)框圖如圖1 所示。
圖1 系統(tǒng)結構框
終端節(jié)點通過采集/保護模塊采集電源設備0~30 V 的電壓數(shù)據(jù),通過路由器節(jié)點發(fā)送給協(xié)調器節(jié)點,同時還要接收協(xié)調器的控制命令并作相應處理;路由器節(jié)點在系統(tǒng)中的主要任務是數(shù)據(jù)中轉,確保協(xié)調器節(jié)點與終端節(jié)點間的數(shù)據(jù)交換正確,增加了ZigBee 網(wǎng)絡的覆蓋范圍;協(xié)調器節(jié)點一方面接收終端節(jié)點采集到的電源電壓數(shù)據(jù),并把該數(shù)據(jù)通過串口發(fā)送給上位機,另一方面接收上位機的命令信息,然后發(fā)送給對應的終端節(jié)點;上位機實現(xiàn)對監(jiān)控設備狀態(tài)信息的管理,包括系統(tǒng)配置、實時狀態(tài)顯示、節(jié)點控制、數(shù)據(jù)處理及數(shù)據(jù)查詢等。
1.2 網(wǎng)絡拓撲選擇
ZigBee 網(wǎng)絡具有3 種拓撲形式:星形拓撲、樹形拓撲、網(wǎng)狀拓撲。文中設計的監(jiān)控系統(tǒng)選擇網(wǎng)狀拓撲作為系統(tǒng)拓撲結構。
2 ZigBee 監(jiān)控系統(tǒng)的硬件設計
監(jiān)控系統(tǒng)主要由路由器節(jié)點和終端節(jié)點組成。
終端節(jié)點的硬件結構框圖如圖2 所示。
終端節(jié)點模塊由采集和控制兩部分組成。電源采用DH1718G-4 型直流穩(wěn)壓電源。將電源電壓0~30 V使用1/10 電阻分壓變?yōu)镃C2430 片內AD 采集0~3 V電壓;保護模塊又包括繼電器和蜂鳴器電路兩部分,繼電器用于切斷或恢復電源與負載設備的連接,起到過壓保護的作用,蜂鳴器在電源過壓時響起,起報警作用。其中,在繼電器驅動電路里加入二極管用于在繼電器斷電瞬間將繼電器線圈產(chǎn)生的較大的反向電動勢釋放掉,起到保護三極管的作用。
圖2 終端節(jié)點的硬件結構框
3 ZigBee 監(jiān)控系統(tǒng)的軟件設計
3.1 Z-Stack 的軟件架構及定制
ZigBee 無線網(wǎng)絡節(jié)點的軟件開發(fā)平臺采用IAREmbedded Workbench V7.30B for 8051 ( IAR EW)集成開發(fā)環(huán)境。ZigBee 無線模塊的軟件系統(tǒng)協(xié)議棧采用操作系統(tǒng)的思想來構建,采用"事件輪詢"機制,當各層初始化之后,系統(tǒng)進入低功耗模式。當事件發(fā)生時,喚醒系統(tǒng),開始進入中斷處理事件,結束后繼續(xù)進入低功耗模式。如果同時有幾個事件發(fā)生,判斷優(yōu)先級,逐次處理事件。整個Z-Stack 的主要工作流程大致分為:系統(tǒng)啟動,驅動初始化,OSAL初始化和啟動,進入事件輪詢階段。
3.2 協(xié)調器節(jié)點的軟件設計
協(xié)調器在系統(tǒng)中的作用是,建立并管理ZigBee網(wǎng)絡,自動允許其他節(jié)點加入網(wǎng)絡的請求,收集終端節(jié)點傳來的電壓數(shù)據(jù),并通過串口將數(shù)據(jù)發(fā)送給上位機,同時接收上位機的控制命令,再將命令發(fā)送給終端節(jié)點控制其采取相應的處理措施。協(xié)調器建立網(wǎng)絡并處理節(jié)點請求的程序流程如圖3 所示。
圖3 協(xié)調器建立網(wǎng)絡流程
3.3 路由器節(jié)點軟件設計
路由器節(jié)點在系統(tǒng)中的作用是路由選擇和數(shù)據(jù)轉發(fā)。ZigBee 設備有兩種類型的地址。一種是64位IEEE 地址(也稱為MAC 地址或擴展地址);另一種是16 位網(wǎng)絡地址(也稱為邏輯地址或短地址)。
ZigBee 使用一個分布式的編址方案來分配網(wǎng)絡地址。該方案確保了所有被分配的網(wǎng)絡地址在整個網(wǎng)絡中是唯一的。路由器建立網(wǎng)絡的程序流程如圖4 所示。
圖4 路由器建立網(wǎng)絡流程
3.4 終端節(jié)點軟件設計
終端節(jié)點在系統(tǒng)中的作用是采集電源電壓數(shù)據(jù),并通過與協(xié)調器建立"綁定"將電壓數(shù)據(jù)發(fā)送給協(xié)調器,同時接收協(xié)調器發(fā)來的控制命令,控制采集/保護模塊中的繼電器和蜂鳴器做出相應的操作。在終端節(jié)點以終端的身份啟動并加入網(wǎng)絡后,即開始與協(xié)調器建立綁定。一旦一個綁定被創(chuàng)建,終端節(jié)點就可以在不需要知道明確的目的地址的情況下發(fā)送數(shù)據(jù)。其與協(xié)調器建立綁定及電壓數(shù)據(jù)傳遞的完整程序流程如圖5 所示。
圖5 建立綁定及電壓數(shù)據(jù)傳遞流程
4 上位機的軟件設計
4.1 界面總體設計
本系統(tǒng)的上位機軟件采用 NI 公司推出的面向測控領域的LabWindows/CVI 軟件作為開發(fā)平臺。
它實現(xiàn)的主要功能有:通過串口接收ZigBee 無線網(wǎng)絡傳來的被監(jiān)控電源的電壓數(shù)據(jù),將該數(shù)據(jù)分別以文本及波形圖的方式實時顯示出來;設置電壓警戒值及控制方式等,實現(xiàn)電源電壓無線監(jiān)控系統(tǒng)的自動或手動控制;通過連接后臺數(shù)據(jù)庫,將電壓及報警信息儲存在數(shù)據(jù)庫中,方便在上位機界面上對報警記錄的查詢和日后對監(jiān)控數(shù)據(jù)信息的管理等[8].
界面的總體設計如圖6 所示。
圖6 上位機界面總體效果
4.2 界面數(shù)據(jù)庫功能的設計
本系統(tǒng)為上位機軟件加入數(shù)據(jù)庫功能。這里采用微軟的Access 數(shù)據(jù)庫作為后臺數(shù)據(jù)庫,對監(jiān)測數(shù)據(jù)進行記錄和管理。LabWindows/CVI 提供了數(shù)據(jù)庫的工具包LabWindows/CVI SQL Toolkit.工具包里包含了一個用來完成一般數(shù)據(jù)庫任務的高級函數(shù)集。
5 系統(tǒng)運行測試
將各個模塊連接好,分別間隔10 m 放置好后,首先打開電源設備,隨后終端節(jié)點開始采集電源電壓數(shù)據(jù),并每隔1 s 將數(shù)據(jù)經(jīng)ZigBee 網(wǎng)絡發(fā)給上位機軟件。當電壓低于10 V 時,界面顯示如圖7 所示。
此時監(jiān)測數(shù)據(jù)已實時地存入后臺數(shù)據(jù)庫中,當需要查詢以往保存過的報警記錄時,點擊界面上的"數(shù)據(jù)庫記錄查詢"標簽,在下方輸入想查詢數(shù)據(jù)的日期,點擊確定后,查詢結果即會以表格形式顯示出來。
圖7 電壓安全狀態(tài)時界面顯示
6 結語
文中給出了一種針對電源監(jiān)控系統(tǒng)的ZigBee 無線傳感器網(wǎng)絡的軟硬件設計方案,解決了有線網(wǎng)絡存在的布線、維護和擴展性等眾多問題。系統(tǒng)把以CC2430 芯片為核心的ZigBee 無線模塊作為節(jié)點,具有協(xié)議簡單、成本低、功耗小、組網(wǎng)容易等優(yōu)點。
經(jīng)試驗證明,系統(tǒng)可以很好的完成電源數(shù)據(jù)的采集、傳輸
評論