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