根據(jù)統(tǒng)計,在所有機(jī)械設(shè)備故障中,起重設(shè)備故障占比高達(dá)20 %,是特種設(shè)備中事故發(fā)生率最高的一種,因此,加強(qiáng)對塔機(jī)工況數(shù)據(jù)的實(shí)時采集,實(shí)現(xiàn)塔機(jī)安全監(jiān)控,減少事故的發(fā)生有著重大的意義。目前,有多種方法可以實(shí)現(xiàn)對塔機(jī)的安全監(jiān)控: 采用數(shù)據(jù)總線的方式進(jìn)行數(shù)據(jù)傳輸,但布線復(fù)雜; 采用通用分組無線業(yè)務(wù)( general packet radio service, GPRS) 進(jìn)行通信,但功耗和成本高; 利用單片機(jī)進(jìn)行數(shù)據(jù)處理,當(dāng)數(shù)據(jù)量很大時會出現(xiàn)延時。
本文在已有研究的基礎(chǔ)上,結(jié)合 ARM—STM32 平臺,設(shè)計了基于 ZigBee 無線傳感器網(wǎng)絡(luò)的監(jiān)控方案,即由安裝在塔機(jī)各個關(guān)鍵部位的傳感器,由單片機(jī)進(jìn)行數(shù)據(jù)處理,通過 ZigBee網(wǎng)絡(luò)將數(shù)據(jù)發(fā)送至協(xié)調(diào)器端,在ARM 終端進(jìn)行存儲和顯示。該系統(tǒng)具有實(shí)時監(jiān)控、數(shù)據(jù)存儲、人機(jī)界面交互等功能,能及時有效地監(jiān)控塔機(jī)的工作情況。
系統(tǒng)總體設(shè)計
如圖1,基于ZigBee 的塔機(jī)數(shù)據(jù)采集系統(tǒng)主要分三部 分:采集端、協(xié)調(diào)器和 ARM 監(jiān)控端。采用的傳感器類型為稱重傳感器、起升高度傳感器、回轉(zhuǎn)角度傳感器以及風(fēng)速傳感器。數(shù)據(jù)經(jīng)過采集模塊處理后由 ZigBee 模塊的射頻發(fā)送器發(fā)送。協(xié)調(diào)器是各個終端節(jié)點(diǎn)的匯聚點(diǎn),將各節(jié)點(diǎn)集中,由單片機(jī)進(jìn)行數(shù)據(jù)處理,通過ZigBee 網(wǎng)絡(luò)將數(shù)據(jù)發(fā)送至協(xié)調(diào)器端,在ARM 終端進(jìn)行存儲和顯示。該系統(tǒng)具有實(shí)時監(jiān)控、數(shù)據(jù)存儲、人機(jī)界面交互等功能,能及時有效地監(jiān)控塔機(jī)的工作情況。
硬件設(shè)計
數(shù)據(jù)采集模塊設(shè)計 數(shù)據(jù)采集模塊由數(shù)據(jù)采集單元、信號處理單元以及數(shù)據(jù)發(fā)送單元組成,其硬件結(jié)構(gòu)如圖2 所示。數(shù)據(jù)采集單元 主要為采集塔機(jī)工作參數(shù)的各類型傳感器; 信號處理單元 主要將采集到的信號進(jìn)行 A/D 轉(zhuǎn)換,數(shù)據(jù)臨時存儲和任務(wù)調(diào)度;數(shù)據(jù)發(fā)送單元主要負(fù)責(zé)加入 ZigBee 網(wǎng)絡(luò),將數(shù)據(jù)緩沖、加密發(fā)送給協(xié)調(diào)器。
ZigBee模塊設(shè)計 本文ZigBe節(jié)點(diǎn)采用的芯片為德州儀器( TI) 公司生產(chǎn)的 CC2530F256 芯片能夠以非常低的成本建立強(qiáng)大的網(wǎng)絡(luò)節(jié)點(diǎn),完全滿足本系統(tǒng)設(shè)計對于 ZigBee 的要求。
ARM 監(jiān)控終端設(shè)計
本文選用意法半導(dǎo)體公司生產(chǎn)的 STM32F103 芯片 作為主控制器,能夠很好地滿足嵌入式領(lǐng)域?qū)Ω咝阅?、低?耗、實(shí)時性的要求。系統(tǒng)中,數(shù)據(jù)通過 ZigBee 協(xié)調(diào)器進(jìn)行接收,協(xié)調(diào)器通過 UART 串口與ARM 板進(jìn)行連接,ARM上的LCD 顯示屏實(shí)時顯示采集的工況參數(shù),同時將數(shù)據(jù)存儲 到 SD卡中。監(jiān)控終端的總體結(jié)構(gòu)如圖3 所示。
ZigBee與ARM 板連接時,協(xié)調(diào)器上的 CC2530 的P0 口配置為外設(shè) I/O 模式, P0 口的 2 ~ 5 引腳分別映射為,并分別連接 ARM 板子上UART1 口的 TXD, RXD 引腳。UART 通信參數(shù)設(shè)定為比特率為115200 bit/s,數(shù)據(jù)位為8 bit,停止位為1 bit,校驗(yàn)位為無,硬件流控制為無。
系統(tǒng)抗干擾設(shè)計 ZigBee 工作時會受到工作在該頻段的其他設(shè)備的干擾,其中, WiFi 是最主要的干擾源。因此,在ZigBee工作過程中主要考慮如何避免或者減少WiFi 的干擾。
本文提出了一種基于多信道檢測干擾規(guī)避( multi-channel detection interference avoidance, MDIA) 算法,該算法首先通過誤碼率 ( bit error rate,BER) 和丟包率( packet loss rate,PLR) 來判斷 ZigBee 網(wǎng)絡(luò)受到干擾的程度,設(shè)定門限值,當(dāng)超過這個值時,系統(tǒng)會進(jìn)行多信道的檢測,直到找到合適的信道為止。 干擾檢測流程 針對 ZigBee 設(shè)備在工作中面臨的干擾問題,本文研究了原有的載波監(jiān)聽多路訪問/沖突規(guī)避( carrier sense multiple access/contention avoidance, CSMA/CA) 機(jī)制,并在此基礎(chǔ)上提出 MDIA 算法。圖 4 為 MDIA 算法流程。系統(tǒng)首先 會判斷關(guān)鍵節(jié)點(diǎn)的 BER 值,如果值過高導(dǎo)致節(jié)點(diǎn)無法正常通信,此時設(shè)備會檢查數(shù)據(jù)包的丟包率,然后根據(jù)結(jié)果決定是否開啟鏈路質(zhì)量檢測,若鏈路質(zhì)量不佳,則對信道進(jìn)行進(jìn) 一步掃描,根據(jù)接收信號強(qiáng)度指示( received signal strength indication, RSSI) 的平均值來判斷設(shè)備是否正受到電磁干擾。
多信道檢測 通過研究對比 ZigBee 和 WiFi 子信道分布如圖 5,可以 看到, 802.15.4 下的 ZigBee 設(shè)備可以使用的信道為11 ~26 共16 個信道,每個子信道的帶寬為5 MHz,同時, WiFi 工作 在1.6, 113 個子信道,每個子信道帶寬為22 MHz。可以看到,一個 WiFi 信道與4個 ZigBee 信道重疊,因此,工作在這12 個子信道內(nèi)的 ZigBee 設(shè)備最容易受到WiFi干擾, 丟包率也最為嚴(yán)重。但ZigBee子信道上的 15,20,25 和 26 信道,卻并沒有 WiFi 子信道分布,即這4個ZigBee 子信道上的 WiFi 信號能量將會很弱,受到的干擾也較小。如果ZigBee在檢測到干擾之后能夠優(yōu)先檢測受WiFi 影響最小的15,20,25, 26 信道,如果這4 個信道不滿足條件再掃描其他信道,不但可以快速找到合適的信道,同時降低了干擾的影響。
對于剩余的信道, MDIA 算法采用的是“左右輪詢”的方式, ZigBee的信道為 11~ 26,除去第一步中優(yōu)先檢測的 15,20, 25,264 個信道,然后將信道11,26 相連接,使得剩余 的12 個信道形成循環(huán)。算法會首先檢測當(dāng)前信道左側(cè)的信道,若PLR的值低于門限值,則說明該信道可用,此時系統(tǒng)跳轉(zhuǎn)到該信道繼續(xù)工作。反之,算法會檢測當(dāng)前信道右側(cè)的信道。算法檢測的原則為由近及遠(yuǎn),成對進(jìn)行。系統(tǒng)的跳頻掃描在這個環(huán)上進(jìn)行。假設(shè)當(dāng)前系統(tǒng)使用的是信道13,當(dāng)發(fā)生電磁干擾時,算法會首先掃描信道12,然后掃描信道14,如果信道都不可用,系統(tǒng)會緊接著掃描11, 16 信道( 信道15在第一步中被優(yōu)先掃描) ,假設(shè)此時還沒有合適的信道,系統(tǒng)就會檢測信11左側(cè)的信道24,然后右側(cè)為信道17,以此類推,最后整個信道的檢測順序?yàn)?span lang="EN-US">:12,14; 11,16;24,17;23,18;22,19;21。和傳統(tǒng)依次遞增檢測的方式相比,“左右輪詢”法能夠讓系統(tǒng)更快找到 WiFi 信號干擾較弱的頻段,從而可以快速轉(zhuǎn)換信道,提升系統(tǒng)性能。
模型搭建 在前文分析的基礎(chǔ)上,本文構(gòu)建了系統(tǒng)模型,如圖 6 所示,采用 MATLAB/Simulink 搭建,模擬了1 路 ZigBee 信號, 默認(rèn)信道為13,模擬了2 路 WiFi 干擾信號,占用信道 1 和 信道6,兩者信源都是由伯努利( Bernouli) 信號發(fā)生器隨機(jī)產(chǎn)生。本文中算法主要通過 MATLAB 代碼實(shí)現(xiàn),并通過代碼控制 Simulink 模型得出相應(yīng)的結(jié)果。
實(shí)驗(yàn)結(jié)果分析 圖7 所示為誤碼率的仿真結(jié)果,設(shè)定干擾時間開始于 0.2 s,結(jié)束于0.7 s, ZigBee 數(shù)據(jù)包的個數(shù)為2048,每個數(shù)據(jù)包的大小為1024 bit。通過圖中的對比可以看出,在初始的0.2 s 內(nèi),由于沒有受到干擾,系統(tǒng)均可以正常運(yùn)行。0.2 s 出現(xiàn)干擾時,沒有 MDIA 算法的設(shè)備誤碼率迅速上升到接近為100 %,表明此時系統(tǒng)已經(jīng)無法正常工作。而采用改進(jìn)算法 MDIA 的設(shè)備,在受到干擾的 0.1 s 內(nèi),誤碼率會有上升,達(dá)到門限值之后,設(shè)備檢測到干擾并開始進(jìn)行信道選擇,之后從0.3 s 開始,誤碼率再次降到正常水平,表明此時 設(shè)備已經(jīng)找到合適的信道并實(shí)現(xiàn)轉(zhuǎn)換,繼續(xù)正常工作。
圖8 所示為有無 MDIA 算法的設(shè)備在受到干擾時數(shù)據(jù)吞吐量的對比結(jié)果,干擾時間設(shè)為 0. 2 ~0. 7 s。可以看出, 在WiFi干擾下,沒有 MDIA 算法的的設(shè)備吞吐量幾乎為 0 kbps,此時設(shè)備已經(jīng)不能正常工作。而采用 MDIA 算法的 設(shè)備先進(jìn)行干擾的檢測和信道的轉(zhuǎn)換,因而在一開始吞吐 量也幾乎為0 kbps,在跳轉(zhuǎn)到新的信道之后,設(shè)備吞吐量回 歸正常值。
本文根據(jù)塔機(jī)安全監(jiān)控的需要,設(shè)計了一種基于 ZigBee的數(shù)據(jù)采集系統(tǒng)。針對 ZigBee 設(shè)備在工作中面臨的 WiFi 干擾的問題,本文研究了原有的 CSMA/CA 算法,并在 此基礎(chǔ)上,提出了 MDIA 算法。該系統(tǒng)具有組網(wǎng)方便、抗干 擾能力強(qiáng)、成本低、功耗小的特點(diǎn),具有重要的實(shí)際意義和 一定的運(yùn)用推廣價值。