趙玉榮 方 策
基于ZigBee的井下機車監(jiān)控系統(tǒng)設計
趙玉榮 方 策
針對井下的特殊環(huán)境,文章設計了一種基于ZigBee技術的井下機車監(jiān)控系統(tǒng),通過設計參考節(jié)點、移動節(jié)點和協(xié)調器節(jié)點來構建井下的無線傳感網(wǎng)絡。根據(jù)節(jié)點具體的實際需求和設計特點,對節(jié)點的功能進行軟件設計。
系統(tǒng)結構簡介
整個機車運輸監(jiān)控系統(tǒng)分為井下和井上兩部分,井下部分主要是放置在機車上或軌道上的各節(jié)點組成的無線傳感網(wǎng)絡,包括移動節(jié)點、參考節(jié)點和協(xié)調器節(jié)點。井下運行的機車上都安裝有移動節(jié)點模塊,可以實時跟蹤顯示機車的位置信息 ;參考節(jié)點和協(xié)調器節(jié)點都固定安裝在巷道內(nèi),比如事故多發(fā)區(qū),軌道的進出口、工作人員密集區(qū)和拐彎處。井上的監(jiān)控機房裝有界面化軟件的主機,通過串口線將上位機和協(xié)調器連接起來,以此來接收井下的信息數(shù)據(jù)實現(xiàn)監(jiān)控。
協(xié)調器節(jié)點的硬件結構
協(xié)調器節(jié)點主要負責整個無線網(wǎng)絡的建立與維護,同時將收集到的數(shù)據(jù)信息反饋給上位機它是整個ZigBee網(wǎng)絡的控制中心。
其中LPC2103是支持實時仿真的ARM7TDMI-S CPU,并自帶16kB 和32kB嵌入的高速Flash存儲器,LPC2103包含兩個UART串行接口、2個I2C 總線和SPI到SSP總線,配合片內(nèi)的存儲器一起使用,實現(xiàn)通信網(wǎng)關和協(xié)議轉換。協(xié)調器節(jié)點的結構如圖1所示。
參考節(jié)點硬件設計
參考節(jié)點是由CC3430芯片和一些外圍元器件組成,參考節(jié)點硬件結構如圖2所示。
電路設計過程中為了方便用戶攜帶安裝,盡量減小節(jié)點體積,除了必要的時鐘和程序燒寫接口、調試接口,就沒有設計其他的元器件。具體硬件有:
(1)32MHz系統(tǒng)主時鐘。采用貼片晶體,晶體只有引腳1和引腳3有效,分別通過電容再各自連接到CC2430芯片的引腳21、引腳29;
(2)CC2430片上系統(tǒng)。利用較低的成本就可以建立強大的網(wǎng)絡節(jié)點,性能穩(wěn)定,用戶可以根據(jù)實際需要來選擇芯片;
(3)大功率的參考節(jié)點主要是附加了射頻前端CC2591,通過提高無線通信部分的發(fā)射功率,提高信號強度來改善接收靈敏度,并擴大了通信距離。
移動節(jié)點硬件設計
移動節(jié)點的硬件結構與參考節(jié)點大致相同,因為移動節(jié)點的位置是不斷更新的,為了能及時更新位置,其內(nèi)部采用自帶定位引擎功能的CC2431芯片。通過接收參考節(jié)的RSSI值,來定位計算自身的位置坐標,而其他結構相同。
圖1 協(xié)調器節(jié)點的結構圖
圖2 參考節(jié)點硬件結構圖
參考節(jié)點的軟件設計
為了移動節(jié)點能夠更好定位位置坐標,參考節(jié)點會向其提供位置信息的參考數(shù)據(jù)包,包括參考節(jié)點自身的坐標信息和接收信號強度RSSI均值。首先對參考節(jié)點進行初始化設置,包括設置寄存器、初始化數(shù)據(jù)變量以及引腳的定義等。首次加入網(wǎng)絡時,協(xié)調器節(jié)點需要對參考節(jié)點的配置位置坐標,并將坐標值寫入存儲器,如果參考節(jié)點已經(jīng)連接到網(wǎng)絡,協(xié)調器節(jié)點會直接讀取存儲器內(nèi)的坐標值。
初始化后,參考節(jié)點會反復確認是否有移動節(jié)點向其發(fā)送XY?RSSI請求消息(串ID 0x0012),確認請求后回復(串ID 0x0011),并優(yōu)化計算所收集到的RSSI 值得到其均值。移動節(jié)點將接收到的坐標值和RSSI均值作為參數(shù)來計算本身的位置RSSI信息。除了應答移動節(jié)點的請求,參考節(jié)點還要反復檢測是否接收到來自上層節(jié)點的配置命令。如果有,參考節(jié)點就對(串ID 0x0012)進行判斷分析,并將數(shù)據(jù)包中的坐標信息寫入Flash存儲器。
移動節(jié)點軟件設計
為了更新移動節(jié)點的坐標(X,Y),移動節(jié)點需要向參考節(jié)點廣播位置更新請求(串ID 0x0012),收到Blast 信息廣播后,參考節(jié)點會對接收到的RSSI值進行加權計算,并回復其位置坐標及RSSI平均值。移動節(jié)點再根據(jù)參考節(jié)點發(fā)送來的坐標值,收集其數(shù)據(jù)和RSSI值,并按從小到大的順序排列;通過計算參考節(jié)點坐標值的偏移量,將參考節(jié)點的實際坐標值 (X,Y)轉換成定位運算所需要的邏輯坐標;獲得邏輯坐標后,系統(tǒng)根據(jù)定位算法進行定位運算,并將結果轉換成實際坐標值。
移動節(jié)點完成自己坐標的定位運算后,首先向定位網(wǎng)絡監(jiān)控管理設備發(fā)送請求信息,并將自身計算出的坐標值(X,Y)上傳給網(wǎng)絡。移動節(jié)點參考相鄰參考節(jié)點所發(fā)來的數(shù)據(jù)信息來獲得它們的位置坐標和RSSI值,再將坐標和相應參數(shù)(,)An代入具體的計算公式得出自己的位置坐標(X’,Y’),并發(fā)送給協(xié)調器節(jié)點,上傳給井上的上位機。
協(xié)調器節(jié)點的軟件設計
協(xié)調器節(jié)點初始化設置后,為了確定網(wǎng)絡的連接會反復的檢測是否有來自上位機的控制命令,直到確定收到上位機的控制命令。協(xié)調器節(jié)點在收到控制命令后,首先向各個參考節(jié)點廣播位置請求信息;同時反復確認是否有來自其他節(jié)點的請求信號,如果有就將數(shù)據(jù)通過串口發(fā)送到上位機,協(xié)調器節(jié)點的工作就完成了。
首先對參考節(jié)點進行上電復位,并設置了5個參考節(jié)點,再將移動節(jié)點依次放置臨近參考節(jié)點的位置,不斷調節(jié)移動節(jié)點的A值和N值,來提高節(jié)點的定位精度。多次實驗后確定A值的理想范圍是46~49,N值的理想范圍是15~25。
設置完成后,如果不斷地改變移動節(jié)點的位置,移動節(jié)點坐標會不停的變化,為了測試定位進精度的準確性,系統(tǒng)把監(jiān)控界面上顯示的坐標和實際坐標值進行比較,并對其作出誤差分析。從表中可以看出當N值為16、A值為39.00時的誤差分析。系統(tǒng)布置的參考節(jié)點比較密集,每15米放置一個,可以看出誤差在1.7m左右。誤差分析如表1所示。
表1 誤差分析
通過上述的實驗驗證,實際坐標與監(jiān)測坐標誤差較小,文章設計的監(jiān)控系統(tǒng)對井下機車具有一定的定位效果,節(jié)點組成的無線傳感網(wǎng)絡性能也與實際要求相符,具有一定的可行性。
趙玉榮 方 策
安徽新華學院電子通信工程學趙玉榮(1987-)女,安徽合肥人,安徽新華學院電子通信工程學院助教。
趙玉榮(1987-)女,安徽合肥人,講師,安徽新華學院電子通信工程學院教師。
省級自然科學研究項目(KJ2016A305);省級創(chuàng)新創(chuàng)業(yè)訓練計劃創(chuàng)新訓練項目(AH201412216004)
10.3969/j.issn.1001-8972.2016.09.022