基于ZigBee煤礦井下無(wú)線傳感器節(jié)點(diǎn)設(shè)計(jì)
摘要:針對(duì)目前煤礦井下有線監(jiān)控系統(tǒng)存在的問(wèn)題,在此設(shè)計(jì)了一種無(wú)線傳感器節(jié)點(diǎn),其特點(diǎn)是無(wú)線的、移動(dòng)性強(qiáng)、可靠性高、低功耗、實(shí)時(shí)性強(qiáng)等,能夠?qū)崟r(shí)監(jiān)測(cè)煤礦井下的環(huán)境參數(shù),包括溫度、濕度和瓦斯?jié)舛?,并將采集到的信息通過(guò)ZigBee無(wú)線傳輸方式進(jìn)行發(fā)送。以CC24 30作為無(wú)線網(wǎng)絡(luò)處理器,負(fù)責(zé)建立網(wǎng)絡(luò)和傳輸數(shù)據(jù),采用SHT11溫濕度傳感器和MJC4/3.0L瓦斯?jié)舛葌鞲衅鞑杉旱V井下數(shù)據(jù),用CC2591芯片作為無(wú)線發(fā)送前端,增強(qiáng)無(wú)線發(fā)送功率;軟件架構(gòu)采用Z-Stack協(xié)議棧,它是基于一個(gè)輪轉(zhuǎn)查詢式操作系統(tǒng)。最后通過(guò)實(shí)驗(yàn)測(cè)試表明,該無(wú)線傳感器節(jié)點(diǎn)能實(shí)時(shí)準(zhǔn)確地采集環(huán)境參數(shù),有效地實(shí)現(xiàn)實(shí)時(shí)監(jiān)測(cè)煤礦井下的環(huán)境情況。
本文引用地址:http://butianyuan.cn/article/201610/306470.htm0 引言
隨著國(guó)家對(duì)煤礦安全生產(chǎn)工作的日益重視,煤礦現(xiàn)代化管理的需求,煤礦安全監(jiān)測(cè)系統(tǒng)越來(lái)越體現(xiàn)出其重要性。目前,我國(guó)很多礦山生產(chǎn)現(xiàn)場(chǎng)還處于有線傳感器接到一個(gè)終端進(jìn)行監(jiān)測(cè)和控制,不僅增加了成本而且不利于整體的檢測(cè)和控制,有些地方由于環(huán)境因素?zé)o法鋪設(shè)有線傳感器和控制終端,因此容易出現(xiàn)監(jiān)控盲點(diǎn)。所以大多的礦山生產(chǎn)現(xiàn)場(chǎng)需要一個(gè)無(wú)線的、移動(dòng)性強(qiáng)、可靠性高、低功耗、實(shí)時(shí)性強(qiáng)的監(jiān)控裝置。因此,本文設(shè)計(jì)了一種基于ZigBee無(wú)線傳感器節(jié)點(diǎn),能實(shí)時(shí)監(jiān)測(cè)煤礦井下的環(huán)境參數(shù),主要監(jiān)測(cè)井下的溫度、濕度和瓦斯?jié)舛?,并通過(guò)ZigBee無(wú)線傳輸方式進(jìn)行發(fā)送。
1 傳感器節(jié)點(diǎn)的硬件設(shè)計(jì)
無(wú)線傳感器節(jié)點(diǎn)的硬件總體框圖如圖1所示,該系統(tǒng)由數(shù)據(jù)采集模塊、CC2430處理器模塊和CC2591無(wú)線模塊及其電源模塊組成。
其中采集模塊由溫濕度傳感器SHT11、瓦斯?jié)舛葌鞲衅鱉JC4/3.0L和功率放大器組成。溫濕度傳感器SHT11將濕度傳感器、A/D轉(zhuǎn)換電路、信號(hào)放大電路、I2C總線接口全部集成于一個(gè)芯片,可以給出全校準(zhǔn)相對(duì)濕度和溫度值輸出,帶有工業(yè)標(biāo)準(zhǔn)的I2C總線數(shù)字輸出接口,具有可靠的CRC數(shù)據(jù)傳輸校驗(yàn)功能,監(jiān)測(cè)得到溫濕度信息,并轉(zhuǎn)化為數(shù)字信號(hào),傳輸?shù)?a class="contentlabel" href="http://butianyuan.cn/news/listbylabel/label/CC2430">CC2430 I/O口。MJC4/3.0L屬于熱效式瓦斯傳感器,精度高,抗干擾能力強(qiáng),適合用于煤礦井下特殊環(huán)境。MJC4/3.0L是經(jīng)過(guò)橋路后輸出模擬電壓信號(hào),并且為毫伏級(jí)的電壓信號(hào),因此必須經(jīng)過(guò)放大電路放大后再進(jìn)行A/D轉(zhuǎn)換。為了提高系統(tǒng)的精度,放大器應(yīng)該選擇具有差動(dòng)輸入,且性能比較穩(wěn)定的器件。這里選用ANALOG DEVICES公司生產(chǎn)的AD623放大芯片。本設(shè)計(jì)選用P0.0口作為A/D轉(zhuǎn)換的接口。
CC2430處理器模塊由CC2430處理器和相關(guān)外圍電路組成。該模塊主要包括3.3 V和1.8 V電源電路、晶振電路、復(fù)位電路。電源電路采用TP63001直流降壓芯片,把鋰電池的電源轉(zhuǎn)換為3.3 V電壓給系統(tǒng)供電。
晶振電路的本振時(shí)鐘信號(hào)選擇內(nèi)部電路提供,外圍電路由晶體振蕩器和2個(gè)負(fù)載電容組成。系統(tǒng)由2個(gè)時(shí)鐘信號(hào),分別為32 MHz和32.768 kHz。32 MHz的晶振電路由1個(gè)32 MHz的石英諧振器XTAL1和2只電容構(gòu)成,32.768 kHz的晶振電路由1個(gè)32.768 kHz的石英諧振器XTAL2和2個(gè)電容構(gòu)成。
雖然CC2430內(nèi)部集成無(wú)線收發(fā)器和8051內(nèi)核,但容易受到干擾,而且通信距離有限。因此在CC2430器件與天線之間加一級(jí)接口電路即CC 2591無(wú)線模塊,用來(lái)放大接收和發(fā)送信息的功率,確保數(shù)據(jù)傳送的距離。
2 傳感器節(jié)點(diǎn)的軟件設(shè)計(jì)
2.1 Z-Stack協(xié)議棧
系統(tǒng)的軟件結(jié)構(gòu)采用TI的Z-Stack協(xié)議棧Z-Stack在硬件上支持CC2430芯片,并采用了操作系統(tǒng)的概念,包含了信息管理、任務(wù)同步、定時(shí)器管理、中斷管理、任務(wù)管理等功能,無(wú)線模塊上電后,Z-Stack執(zhí)行對(duì)應(yīng)的初始化操作,根據(jù)節(jié)點(diǎn)的角色組建/加入ZigBee網(wǎng)絡(luò),并進(jìn)入OSAL事件輪詢,根據(jù)消息響應(yīng)轉(zhuǎn)到對(duì)應(yīng)的結(jié)構(gòu)層執(zhí)行具體操作,具體過(guò)程如圖2所示。
2.2 協(xié)調(diào)器的設(shè)計(jì)
協(xié)調(diào)器主要負(fù)責(zé)無(wú)線網(wǎng)絡(luò)的創(chuàng)建,數(shù)據(jù)的接收、處理以及發(fā)送控制指令。協(xié)調(diào)器最初發(fā)動(dòng)并創(chuàng)建ZigBee無(wú)線網(wǎng)絡(luò)。首先由協(xié)調(diào)器的API層通過(guò)NIME-NET-WORK-FORMATION.request原語(yǔ)啟動(dòng)新的網(wǎng)絡(luò);NWK層向MAC層請(qǐng)求進(jìn)行信道能量掃描,具體通過(guò)原語(yǔ)MLME-SCAN.request進(jìn)行,在獲得信道干擾情況后MAC層通過(guò)MLME-SCAN.request原語(yǔ)返回;NWK層根據(jù)信道能量檢測(cè)值的大小對(duì)信道進(jìn)行排序,通過(guò)修改MLME-SCA N.request原語(yǔ)參數(shù),再次對(duì)信道進(jìn)行掃描,記錄可利用的信道列表,掃描結(jié)果由MAC層通過(guò)MLME-SCAN.request原語(yǔ)返回;NMK層在選擇一個(gè)合適的信道后,根據(jù)掃描結(jié)果選擇PANID,并且將自己的短地址設(shè)為0x0000,并通過(guò)MLME-SET.Request原語(yǔ)完成MAC層中的相關(guān)設(shè)置,完成后通過(guò)MLME-SET.confirm原語(yǔ)返回;設(shè)置好相關(guān)網(wǎng)絡(luò)參數(shù)后,NWK層向MAC層發(fā)送原語(yǔ)MLME-START.request正式啟動(dòng)運(yùn)行ZigBee網(wǎng)絡(luò),MAC層通過(guò)MLME-START.confirm原語(yǔ)反饋網(wǎng)絡(luò)的啟動(dòng)狀況;NWK層將獲得的網(wǎng)絡(luò)啟動(dòng)狀況向API層報(bào)告,通過(guò)原語(yǔ)NIME-NETWORK-FORMATION.con firm完成,最后完成網(wǎng)絡(luò)的建立。
協(xié)調(diào)器節(jié)點(diǎn)在創(chuàng)建ZigBee無(wú)線網(wǎng)絡(luò)后,開(kāi)始收發(fā)數(shù)據(jù)及發(fā)送各種操作指令。首先協(xié)調(diào)器判斷當(dāng)前是否有新的節(jié)點(diǎn)加入自己建立的網(wǎng)絡(luò),如果有則主動(dòng)分配一個(gè)短地址給新加入的節(jié)點(diǎn);然后接收節(jié)點(diǎn)發(fā)送過(guò)來(lái)的數(shù)據(jù)信號(hào),并通過(guò)串口傳給上位機(jī)顯示和處理。其程序流程如圖3所示。
2.3 傳感器的設(shè)計(jì)
傳感器節(jié)點(diǎn)的主要任務(wù)是采集溫濕度、瓦斯?jié)舛鹊葦?shù)據(jù)且發(fā)送給協(xié)調(diào)器,同時(shí)接收?qǐng)?zhí)行控制指令。首先傳感器節(jié)點(diǎn)開(kāi)啟初始化,接著主動(dòng)掃描有效的網(wǎng)絡(luò)信道,尋址最佳的的父節(jié)點(diǎn),NWK層向MAC層發(fā)送MLME-ASSOCIATION.request,由MAC層實(shí)現(xiàn)網(wǎng)絡(luò)的物理連接,MAC層將返回MLME-ASSOCIATION.confirm原語(yǔ),報(bào)告連接狀態(tài),若連接成功,NWK層將記錄父節(jié)點(diǎn)分配的16位短地址,設(shè)置鄰接表信息,并向API層發(fā)送確認(rèn)原語(yǔ)NLME-JOIN.confirm。
設(shè)備在加入網(wǎng)絡(luò)后,調(diào)用osal_start_timerEx()函數(shù)啟動(dòng)定時(shí)器,周期觸發(fā)APP_SEND_PERIODIC_MSG_EVT事件的發(fā)生,相當(dāng)于周期采集煤礦井下的環(huán)境參數(shù),如果定時(shí)器沒(méi)溢出,事件沒(méi)有被觸發(fā),則節(jié)點(diǎn)進(jìn)入休眠狀態(tài),以便節(jié)省能源。如果節(jié)點(diǎn)在休眠期間,外部中斷或定時(shí)器中斷發(fā)生,節(jié)點(diǎn)會(huì)恢復(fù)到工作狀態(tài),開(kāi)始執(zhí)行任務(wù)。其程序流程如圖4所示。
2.4 節(jié)點(diǎn)的通信
Z-Statck協(xié)議棧中,都是通過(guò)調(diào)用ProcessEvent()函數(shù)來(lái)處理每一個(gè)應(yīng)用層的任務(wù)事件,在ProcessEvent()函數(shù)中有一個(gè)定時(shí)器事件處理循環(huán)檢測(cè)事件的發(fā)生。其中傳感器節(jié)點(diǎn)(發(fā)送端)直接調(diào)用AF_DataRequest()函數(shù)來(lái)發(fā)送數(shù)據(jù),而接收端(協(xié)調(diào)器)則是通過(guò)調(diào)用AF_INCOMING _MSG_CMD消息事件來(lái)判斷是否收到傳感器發(fā)送過(guò)來(lái)的數(shù)據(jù)。
傳感器節(jié)點(diǎn)首先將測(cè)量的溫濕度、瓦斯?jié)舛鹊葦?shù)據(jù)轉(zhuǎn)化為ZigBee協(xié)議包,然后通過(guò)多跳方式將數(shù)據(jù)包傳送給協(xié)調(diào)器。當(dāng)協(xié)調(diào)器接收到傳感器發(fā)送過(guò)來(lái)的數(shù)據(jù)包之后,解析出數(shù)據(jù)源的短地址,將溫濕度、瓦斯?jié)舛鹊刃盘?hào)值上傳給上位機(jī),上位機(jī)實(shí)時(shí)顯示當(dāng)前節(jié)點(diǎn)的采集到的數(shù)據(jù),同時(shí)協(xié)調(diào)器按原路徑返回確認(rèn)信息給傳感器節(jié)點(diǎn)。具體的數(shù)據(jù)通信流程如圖5所示。
2.5 數(shù)據(jù)傳輸協(xié)議
本系統(tǒng)涉及數(shù)據(jù)在井下無(wú)線傳感器網(wǎng)絡(luò)中的傳輸,以及井下數(shù)據(jù)到地面監(jiān)控系統(tǒng)的傳輸。需要傳輸?shù)臄?shù)據(jù)包括有通過(guò)ZigBee網(wǎng)絡(luò)計(jì)算的環(huán)境參數(shù)監(jiān)控?cái)?shù)據(jù)(如溫度、濕度、瓦斯?jié)舛鹊?。
數(shù)據(jù)以字節(jié)為單位,根據(jù)不同節(jié)點(diǎn)承擔(dān)的具體任務(wù)覺(jué)得實(shí)際數(shù)據(jù)包的內(nèi)容和長(zhǎng)度,用表1所示格式表示。
其中數(shù)據(jù)類型以及其對(duì)應(yīng)數(shù)據(jù)長(zhǎng)度如表2所定義。
Z-Stack協(xié)議棧采用分層的結(jié)構(gòu),以事件為驅(qū)動(dòng),符合操作系統(tǒng)的消息機(jī)制,ZigBee節(jié)點(diǎn)間的數(shù)據(jù)傳輸,首先需要確定接收數(shù)據(jù)所處的結(jié)構(gòu)層以及所屬的事件ID,OSAL才能將數(shù)據(jù)傳送到正確的位置。
本系統(tǒng)ZigBee節(jié)點(diǎn)的嵌入式代碼在Z-Stack的基礎(chǔ)上進(jìn)行編寫,每一結(jié)構(gòu)層的操作中看作一個(gè)任務(wù),定義任務(wù)ID;每一層中分為不同的事件,定義事件ID,系統(tǒng)任務(wù)ID的定義以及應(yīng)用層中的事件ID如表3和表4所示。
3 實(shí)驗(yàn)研究與分析
在實(shí)驗(yàn)中,將設(shè)計(jì)的節(jié)點(diǎn)組成測(cè)試網(wǎng)絡(luò),在實(shí)驗(yàn)室的不同位置放置了協(xié)調(diào)器節(jié)點(diǎn)和傳感器節(jié)點(diǎn),協(xié)調(diào)器通過(guò)串口與PC機(jī)相連,將接收到的數(shù)據(jù)在串口中顯示出來(lái)。首先打開(kāi)協(xié)調(diào)器的開(kāi)關(guān),幾秒鐘后,綠色LED燈點(diǎn)亮,表明協(xié)調(diào)器建立無(wú)線網(wǎng)絡(luò)成功。然后打開(kāi)傳感器節(jié)點(diǎn)的開(kāi)關(guān),幾秒鐘后,綠色LED燈點(diǎn)亮,表明協(xié)調(diào)器節(jié)點(diǎn)加入網(wǎng)絡(luò)成功,傳感器節(jié)點(diǎn)加入網(wǎng)絡(luò)后將自己的短地址和采集到的數(shù)據(jù)發(fā)送給協(xié)調(diào)器,協(xié)調(diào)器通過(guò)串口上傳到上位機(jī)。圖7是通過(guò)串口調(diào)試工具查看采集數(shù)據(jù)。
通過(guò)以上實(shí)驗(yàn)測(cè)試分析,得到無(wú)線傳感器節(jié)點(diǎn)的性能指標(biāo)如表5所示。
4 結(jié)語(yǔ)
本文設(shè)計(jì)了一種煤礦井下無(wú)線傳感器節(jié)點(diǎn),采用CC2430芯片為核心處理器,采集模塊采用高集成度的溫濕度傳感器SHT11和瓦斯傳感器MJC4/3.0L,能實(shí)時(shí)監(jiān)測(cè)煤礦井下的環(huán)境參數(shù)。ZigBee網(wǎng)絡(luò)具有組網(wǎng)簡(jiǎn)單、開(kāi)銷小、自組織能力強(qiáng),非常適合于煤礦井下特殊的環(huán)境。因此煤礦井下無(wú)線傳感器節(jié)點(diǎn)的應(yīng)用將使得煤礦井下的安全監(jiān)控更加的自動(dòng)化、網(wǎng)絡(luò)化和智能化,進(jìn)一步有效地保障井下工作人員的安全。
評(píng)論