基于ZigBee的現場安全溫度在線監控系統
3.4 應用程序的設計
無線傳感器網絡一般需要解決數據碰撞及網絡地址分配等問題,這樣才能使整個ZigBee網絡穩定工作,數據信息準確傳輸。特別是以ZC為終點的無線通信,很可能因在同一時間內接收多個ZR或ZED的數據而造成數據丟幀。為了使數據信息準確無丟失地在ZC、ZR和ZED之間相互傳輸,系統采用了“時間片輪轉法”使各ZigBee設備分時發送數據。整個網絡中共有11個ZigBee設備,其中ZC除了短暫的發送監控命令外,大部分時間是接收4個ZR轉發的LQI值和來自6個ZED的溫度采集數據。系統設定1 s為整個網絡的工作周期,期間ZC需接收來自ZR和ZED共10個設備的數據來實現溫度監控與空間定位的功能。因此,每個ZR或ZED各有100 ms的發送時間,均須在預定的100 ms內完成數據成功發送任務。
網絡地址的分配一般以通信便捷和節省字節開銷為佳。在溫度監控的Star網絡中,ZC須同時能夠與6個ZED的任意一個或多個進行雙向通信;而在空間定位的Mesh網絡中,ZC采取主動的廣播通信方式向各ZR發送提取LQI命令,隨后4個ZR輪流在各自的100 ms內完成發送LQI的工作。針對這種情況,系統采用了以1個char(8位)類型的字節來制定網絡中各設備的地址:由于各ZED需可同時工作,故用Bit0~Bit5分別對應ZEDl~ZED6;而4個ZR是輪流在各自100 ms內工作,所以采取Bit6、Bit7兩位的組合0O、01、10及11來對應ZRl~ZR4。
3.5 上位機VB程序的設計
系統利用MCl3213的兩組SCI接口分別設計了經SP3220E轉換的RS-232真實串口和經FT232BL轉換的虛擬串口(此時已不是真實意義上的USB接口了),所以兩者都需以RS-232串口通信協議與PC上位機程序進行雙向通信。具體實現功能如下:
①時間同步功能。使用Timer控件來給系統運行提供時間刻度,以便記錄事件發生的實時時間。在監控軟件上,既可選擇PC機的時間,也可自主設定起始運行時間。
②空間定位功能。主要是基于定位公式編寫程序,使各ZED的空間坐標能夠實時地在上位機監控界面上顯示。
③溫度監控功能。實現ZED的溫度信息傳送至ZC,被上位機提取與運算并在監控界面上顯示;同時,通過監控軟件配置各類控制參數,并反向發送給ZED。
④事件發生的信息記錄功能。為了保存溫度事件發生的現場信息,監控軟件利用了CommonDiatog控件將相關信息寫入一個txt文件中,并能自主選擇tXt保存的目錄。本文引用地址:http://www.104case.com/article/157108.htm
4 實驗數據分析及總結
為了驗證性能及參數指標,選擇了一棟58 m×26 m×23.5 m的生產廠房作為實驗基地,將4個ZR分別放置在A(55,O,O)、B(0,25,O)、C(O,O,20)及D(O,0,O)從而建立空間坐標系,而將6個ZED移動地分別放在各個車間里進行測試采集數據。
4.1 溫度監測
為了驗證溫度監控的準確性及有效精度,在相應車間內放置了一個精度為O.1℃的工業溫度計,測量到的實際溫度來作為ZED測溫的參考。測量溫度和實際溫度的比較如表2所列。
由表2可知:溫度監控系統誤差小、精度高,最大絕對誤差為+O.175℃,最大相對誤差為O.738%,符合現場安全溫度監控的要求。
表2的溫度絕對誤差都是正數,說明測量溫度均偏高。其主要原因是,LM75A是焊接在PCB板上的,芯片要正常工作就需消耗電能,內部產生的熱量難以散失;同時,板上元器件布局不合理,使得其他器件產生的熱量也傳向LM75A,所以實測溫度比現場室溫偏高。
4.2 空間定位
在監控軟件上獲得的各ZED坐標位置數據的同時,利用皮尺等工具測量對應的坐標長度作為空問定位的對比。空間定位與實際位置的關系如圖6所示。
可見,空間定位的誤差較小,最大的定位誤差為ZED3的1.1045m,在工程的允許范圍內,達到了系統對溫度事件的定位目標。利用LQI進行空間定位,從本質上講是基于能量法的。圖5的LQI-d曲線數據是在戶外理想狀態下測得的,而生產現場環境惡劣,無線通信常受到障礙物影響,因此難免有所誤差。另外,由于RF收發天線不是嚴格意義上的全向,因此在相同距離而位于不同方向時所接收的LQI值也有所差別。
結語
本文設計了基于ZigBee的生產現場安全溫度在線監控系統,提出了三要素(溫度監測、時間記錄及空間定位)全方位設計理念,介紹了系統的硬件、軟件及上位機監控程序的設計方法。測試表明,該監控系統具有精度高、功能完善、運行穩定及性價比高等優點,有一定的實用價值。若將本系統的RS-232/USB進一步擴展到GPRS或Internet,并與生產現場總控制室相連,則系統的功能和使用范圍都將得到很大的拓寬。
評論