張帝,權(quán)悅,國海,周小杰,董飛,趙端
(1.安徽科技學(xué)院 電氣與電子工程學(xué)院, 安徽 蚌埠 233100;2.安徽大學(xué) 互聯(lián)網(wǎng)學(xué)院, 安徽 合肥 230039;3.中國礦業(yè)大學(xué) 物聯(lián)網(wǎng)(感知礦山)研究中心, 江蘇 徐州 221008)
采礦設(shè)備智能化、環(huán)境安全狀態(tài)感知和井下無線通信技術(shù)的快速發(fā)展對提高煤礦開采效率,降低煤礦安全生產(chǎn)事故發(fā)生率,保障礦工生命和礦井財產(chǎn)安全具有重大意義[1-2]。礦燈作為煤礦井下最常用的設(shè)備之一,在發(fā)揮其照明功能之外,還能夠在井下環(huán)境狀態(tài)感知、煤礦井下報警、井下人員定位等方面發(fā)揮重要作用。劉朝陽等[1]在對礦用無線通信網(wǎng)絡(luò)研究的基礎(chǔ)上,結(jié)合礦用智能終端的應(yīng)用需求及關(guān)鍵技術(shù)研究,將TD-LTE技術(shù)與礦燈相融合,設(shè)計(jì)了一種礦用通信礦燈,該礦燈可將礦燈的檢測信息和礦工的位置信息實(shí)時傳輸至地面,但其未能檢測井下環(huán)境安全狀態(tài),且未考慮礦燈的低功耗設(shè)計(jì)。戴劍波[2]為獲取井下人員定位信息,提高礦燈的安全可靠性,設(shè)計(jì)了一種低功耗多模定位礦燈標(biāo)識卡,標(biāo)識卡具有過壓、過流自診斷及保護(hù)功能,但該礦燈功能單一,未基于礦燈載體進(jìn)行煤礦井下環(huán)境狀態(tài)檢測以及安全預(yù)警等。常云澤[3]針對只有照明功能的傳統(tǒng)礦燈,研發(fā)了一款信息化礦燈,具有定位、無線通信和語音調(diào)度等功能,但該礦燈采用WiFi通信,其在遠(yuǎn)距離通信和低功耗方面存在一定的不足。劉江霞等[4]設(shè)計(jì)了一種基于ZigBee的智能瓦斯報警礦燈,實(shí)現(xiàn)了對礦井某些重點(diǎn)位置進(jìn)行不間斷瓦斯?jié)舛缺O(jiān)測,但該礦燈采用ZigBee通信,存在通信距離短的問題。張帝等[5]設(shè)計(jì)了一種基于嵌入式實(shí)時操作系統(tǒng)的智能礦燈,該礦燈具有瓦斯?jié)舛缺O(jiān)測、人員定位與狀態(tài)監(jiān)測、安全報警等功能,但存在功耗較高且無線通信距離較短等問題。針對上述問題,本文設(shè)計(jì)了一種基于LoRa與RT-Thread的多功能礦燈,該礦燈除照明功能外,還具有井下環(huán)境感知、人員狀態(tài)監(jiān)測與定位、無線通信以及安全報警功能,采用遠(yuǎn)距離LoRa無線通信方式,結(jié)合低功耗硬件設(shè)計(jì),能夠在實(shí)現(xiàn)理想功能情況下盡可能降低功耗,延長礦燈使用時間。該礦燈將獲取到的環(huán)境與人員狀態(tài)數(shù)據(jù)遠(yuǎn)程上傳到地面服務(wù)器,供地面人員遠(yuǎn)程監(jiān)控井下環(huán)境、人員狀態(tài)和物資裝備的使用情況,為井下工作人員的安全管理和物資分配提供遠(yuǎn)程決策服務(wù)[6]。
基于LoRa與RT-Thread的多功能礦燈的功能:
(1) 環(huán)境參數(shù)與人員狀態(tài)感知功能:實(shí)時采集井下環(huán)境和人員狀態(tài)數(shù)據(jù),監(jiān)測異常狀態(tài)。
(2) 液晶顯示功能:能夠本地顯示環(huán)境狀態(tài)參數(shù)和礦燈基本信息。
(3) 無線通信功能:可將獲取的環(huán)境與人員狀態(tài)數(shù)據(jù)通過無線通信網(wǎng)絡(luò)上報地面服務(wù)器,也可接收和處理服務(wù)器下發(fā)指令數(shù)據(jù)。
(4) 人機(jī)交互功能:提供按鍵實(shí)現(xiàn)人機(jī)交互,可手動設(shè)置礦燈基本信息及上報井下異常情況報警信息到地面服務(wù)器。
基于上述功能確定了礦燈硬件總體設(shè)計(jì)方案,如圖1所示。
圖1 礦燈硬件結(jié)構(gòu)Fig.1 Hardware structure of miner lamp
礦燈硬件設(shè)計(jì)選用性能穩(wěn)定的STM32L151VET6作為主控芯片,STM32L151VET6是基于ARM Cortex-M3內(nèi)核的32位低功耗處理器[7-8],能滿足礦燈的低功耗設(shè)計(jì)要求。
STM32L151VET6單片機(jī)低功耗核心電路主要由STM32單片機(jī)最小系統(tǒng)、時鐘電路、Flash電路、電量檢測電路、聲光報警電路及狀態(tài)指示電路構(gòu)成。其中Flash電路基于AT45DB041芯片設(shè)計(jì),能夠存儲信息顯示所用到的漢字字模數(shù)據(jù)以及服務(wù)器監(jiān)控端發(fā)送到礦燈的指令信息。電量檢測電路用于礦燈的實(shí)時電量檢測,報警電路通過蜂鳴器實(shí)現(xiàn)環(huán)境檢測參數(shù)異常時的自動報警,報警時狀態(tài)指示燈會變成紅色。
傳感器電路主要用于對井下環(huán)境中的溫度、瓦斯?jié)舛燃叭藛T狀態(tài)進(jìn)行實(shí)時監(jiān)測。溫度檢測主要采用SHT11溫濕度傳感器,與單片機(jī)通過I2C串行通信實(shí)現(xiàn)數(shù)據(jù)傳輸,與主控電路GPIO_PB端口通過DATA數(shù)據(jù)線和SCK時鐘線連接,測溫范圍為-40~+123.8 ℃,溫濕度傳感器電路原理如圖2所示。人員狀態(tài)檢測采用空間運(yùn)動加速度傳感器MPU6050,可精確跟蹤快速和慢速的運(yùn)動來檢測人體姿態(tài),從而判斷礦工是否處于安全狀態(tài)[9]。主控模塊通過配置GPIO端口模擬I2C通信驅(qū)動該傳感器實(shí)現(xiàn)數(shù)據(jù)采集,加速度傳感器電路原理如圖3所示。瓦斯?jié)舛葯z測采用催化燃燒式甲烷傳感器,電路原理如圖4所示。
圖2 溫濕度傳感器電路原理Fig.2 Circuit principle of temperature and humidity sensors
圖3 加速度傳感器電路原理Fig.3 Circuit principle of acceleration sensor
(a) 甲烷傳感器電路
(b) 電壓信號放大電路
礦燈的電源主要采用3.7 V的磷酸鐵鋰電池供電,并通過電平轉(zhuǎn)換電路,以滿足礦燈對3.3、-3.3、2.8 V電壓的需求。其中3.7 V轉(zhuǎn)3.3 V采用TPL720-3.3 V芯片實(shí)現(xiàn),-3.3 V采用MAX828芯片實(shí)現(xiàn),2.8 V電壓采用TPL710-2.8 V芯片實(shí)現(xiàn),TPL720與TPL710電源芯片具有優(yōu)秀的低功耗性能,其靜態(tài)電流僅為1 μA,TPL720和TPL710的輸出電流分別可達(dá)400 mA和200 mA[10]。為降低甲烷傳感器的工作功耗,該模塊以提供不同頻率及占空比的脈沖電流對其供電[11],此方式可使其平均供電電流由100 mA降低到60 mA。結(jié)合采用的超低功耗主控單片機(jī),整個礦燈可達(dá)到低功耗的工作狀態(tài),滿足設(shè)計(jì)要求。電源管理模塊結(jié)構(gòu)如圖5所示。
圖5 電源管理模塊結(jié)構(gòu)Fig.5 Structure of power management module
礦燈設(shè)計(jì)的無線通信模塊主要采用超低功耗LoRa無線通信模塊ASR6505,支持工作頻段范圍為150~960 MHz,芯片內(nèi)部集成了高性能、低功耗的STM8L MCU,支持透傳模式,最大通信距離為7 km,供電電壓為2.5~3.7 V,集成LoraWAN/LinkWAN及AliOS,可適用于多種物聯(lián)網(wǎng)應(yīng)用場景[12]。
為實(shí)現(xiàn)礦燈數(shù)據(jù)上報地面服務(wù)器,需搭配LoRa網(wǎng)關(guān)將礦燈采集到的數(shù)據(jù)進(jìn)行轉(zhuǎn)發(fā)上報。LoRa智能網(wǎng)關(guān)能夠?qū)⒕W(wǎng)絡(luò)數(shù)據(jù)轉(zhuǎn)發(fā)為以太網(wǎng)數(shù)據(jù)、RS232數(shù)據(jù)、RS485數(shù)據(jù)來靈活適配不同網(wǎng)絡(luò)環(huán)境。對此,LoRa智能網(wǎng)關(guān)的設(shè)計(jì)采用集成方案,利用LoRa無線網(wǎng)關(guān)USR-LG210-L將LoRa網(wǎng)絡(luò)數(shù)據(jù)轉(zhuǎn)換為RS485和RS232數(shù)據(jù),再利用串口通信服務(wù)器USR-TCP232-410s將RS485/RS232數(shù)據(jù)轉(zhuǎn)換為以太網(wǎng)數(shù)據(jù),最終實(shí)現(xiàn)數(shù)據(jù)從LoRa上報至地面服務(wù)器。
人機(jī)交互模塊主要由OLED液晶顯示電路和多路按鍵組成,礦工通過按鍵操控礦燈,實(shí)現(xiàn)地面服務(wù)器數(shù)據(jù)下發(fā)和環(huán)境參數(shù)的查看。獨(dú)立按鍵與單片機(jī)IO口連接,通過檢測端口高低電平狀態(tài)判斷是否有按鍵按下。OLED液晶顯示電路與單片機(jī)通過串行通信完成信息顯示。通過多個獨(dú)立按鍵進(jìn)行功能選擇,可查看環(huán)境參數(shù),進(jìn)行手動報警和查看地面服務(wù)器下發(fā)的信息。
礦燈軟件設(shè)計(jì)主要選擇Keil MDK5集成開發(fā)環(huán)境,軟件設(shè)計(jì)方法基于STM32自帶庫函數(shù)編程,同時搭載嵌入式實(shí)時操作系統(tǒng)RT-Thread進(jìn)行多任務(wù)函數(shù)管理。整個開發(fā)過程采用模塊化編程思路,分別編寫并調(diào)試完成了礦燈主程序、數(shù)據(jù)采集程序、無線網(wǎng)絡(luò)通信程序、人機(jī)交互程序。
RT-Thread是以操作系統(tǒng)內(nèi)核(可以是RTOS、Linux等)為基礎(chǔ),包括如文件系統(tǒng)、圖形庫等較為完整的中間件組件,具備低功耗、信息加密、通信協(xié)議支持和云端連接能力的軟件平臺[12]。該系統(tǒng)具有實(shí)時性高、占用資源少、功耗低等特點(diǎn),特別適用于成本和功耗受到限制的場合,因此,基于低功耗和物聯(lián)網(wǎng)應(yīng)用場景,本文選用該系統(tǒng)。
首先對底層硬件模塊進(jìn)行初始化,包括系統(tǒng)時鐘、GPIO口配置、傳感器及液晶顯示等外設(shè)硬件的初始化。然后對RT-Thread操作系統(tǒng)進(jìn)行初始化,根據(jù)總體功能劃分創(chuàng)建多任務(wù)線程,同時配置獨(dú)立看門狗。最后啟動操作系統(tǒng)實(shí)現(xiàn)多任務(wù)并發(fā)運(yùn)行。操作系統(tǒng)運(yùn)行過程中CPU內(nèi)核會根據(jù)任務(wù)優(yōu)先級實(shí)現(xiàn)任務(wù)調(diào)度,滿足實(shí)時響應(yīng)的要求。礦燈總體功能主要細(xì)分為數(shù)據(jù)采集任務(wù)、數(shù)據(jù)異常報警任務(wù)、數(shù)據(jù)上傳任務(wù)、界面顯示任務(wù)、功能選擇設(shè)置任務(wù)、中斷處理任務(wù)等。啟動操作系統(tǒng)并將任務(wù)托管在RT-Thread中并發(fā)實(shí)時運(yùn)行。礦燈主程序流程如圖6所示。
圖6 礦燈主程序流程Fig.6 Main program flowchart of miner lamp
傳感器數(shù)據(jù)采集程序基于RT-Thread操作系統(tǒng)創(chuàng)建任務(wù)函數(shù),通過賦予任務(wù)不同優(yōu)先級依次完成對瓦斯?jié)舛?、溫度和加速度傳感器的?shí)時數(shù)據(jù)采集。以瓦斯?jié)舛葦?shù)據(jù)采集程序設(shè)計(jì)為例,首先對主控STM32單元進(jìn)行初始化,配置ADC外設(shè),然后在操作系統(tǒng)中建立瓦斯?jié)舛葯z測任務(wù),最后在該任務(wù)中對瓦斯數(shù)據(jù)進(jìn)行處理并判斷是否超限,若監(jiān)測到異常數(shù)據(jù),則通過提交信號量使得內(nèi)核調(diào)度啟動報警任務(wù)運(yùn)行,在異常數(shù)據(jù)報警并上傳后釋放信號量。
LoRa智能網(wǎng)關(guān)是LoRa自組網(wǎng)絡(luò)的核心部分,用于實(shí)現(xiàn)傳感器節(jié)點(diǎn)和地面服務(wù)器終端的無線網(wǎng)絡(luò)通信。該網(wǎng)關(guān)基于UDP(User Datagram Protocol)通信協(xié)議將傳感器節(jié)點(diǎn)采集到的井下環(huán)境數(shù)據(jù)、人員位置信息、物資設(shè)備信息及礦燈報警信息等定時轉(zhuǎn)發(fā)上傳。工作模式設(shè)定為節(jié)點(diǎn)主動上報和輪詢喚醒2種模式。主動上報模式下采集節(jié)點(diǎn)會在通電并接入網(wǎng)絡(luò)后自動定時發(fā)送數(shù)據(jù),網(wǎng)關(guān)接收到數(shù)據(jù)后會自動回復(fù)并將數(shù)據(jù)上傳到地面服務(wù)器;輪詢喚醒工作模式下由網(wǎng)關(guān)發(fā)送指令喚醒采集節(jié)點(diǎn)實(shí)現(xiàn)數(shù)據(jù)上傳,當(dāng)接收到節(jié)點(diǎn)數(shù)據(jù)后,網(wǎng)關(guān)會立即實(shí)現(xiàn)數(shù)據(jù)上傳,否則處于等待狀態(tài)。
智能網(wǎng)關(guān)通過UDP Socket通信連接上位機(jī),上位機(jī)將根據(jù)通信協(xié)議對接收到的數(shù)據(jù)進(jìn)行解析并顯示,分字段存入數(shù)據(jù)庫。上位機(jī)管理程序開發(fā)使用C#語言,在Visual Studio 2013集成開發(fā)環(huán)境下,基于WPF(Windows Presentation Foundation)技術(shù)進(jìn)行B/S端開發(fā),數(shù)據(jù)庫采用Mysql數(shù)據(jù)庫[12]。
多功能礦燈在3.7 V,10 A·H鋰電池供電下,能夠穩(wěn)定工作12 h以上,在此基礎(chǔ)上,分別進(jìn)行傳感器數(shù)據(jù)采集測試、無線通信性能測試和系統(tǒng)功耗測試。
礦燈可通過采集溫濕度傳感器、加速度傳感器和瓦斯傳感器的數(shù)據(jù)來獲得井下溫度、濕度、瓦斯?jié)舛纫约暗V工運(yùn)動狀態(tài),這些數(shù)據(jù)均可通過礦燈上的按鍵實(shí)現(xiàn)本地查看。另外,遠(yuǎn)程服務(wù)監(jiān)控平臺也可接收并顯示數(shù)據(jù),監(jiān)控平臺界面如圖7所示。試驗(yàn)設(shè)置不同溫濕度環(huán)境和不同濃度瓦斯氣體來測試溫濕度傳感器與瓦斯傳感器的性能,溫濕度傳感器的平均測量誤差在1%以內(nèi),瓦斯傳感器的平均測量誤差為0.5%~1%。試驗(yàn)還安排礦工佩戴礦燈模擬行走、靜止及打鬧狀態(tài),測試加速度傳感器獲取礦工運(yùn)動狀態(tài)的性能。礦工在上述3種不同狀態(tài)下,加速度傳感器數(shù)據(jù)區(qū)分明顯,表征運(yùn)動狀態(tài)準(zhǔn)確。
圖7 監(jiān)控平臺軟件顯示數(shù)據(jù)Fig.7 Display data of monitoring platform software
無線通信性能測試包括數(shù)據(jù)丟包率與數(shù)據(jù)上報時延測試。礦燈在特定隧道環(huán)境下,布置不同數(shù)量的采集節(jié)點(diǎn)進(jìn)行數(shù)據(jù)采集,測試數(shù)據(jù)丟包率和數(shù)據(jù)上報時延。該部分測試工作選在類似煤礦巷道環(huán)境的某隧道開展,分別配置1,10,20,50個多功能礦燈進(jìn)行無線通信性能測試。在隧道環(huán)境中,選取中段600 m范圍,安裝1套LoRa智能網(wǎng)關(guān),分別測試1,10,20,50個多功能礦燈向地面服務(wù)器上報數(shù)據(jù)的丟包率與時延,數(shù)據(jù)丟包率與數(shù)據(jù)上報時延結(jié)果見表1—表4。根據(jù)表1—表4實(shí)驗(yàn)數(shù)據(jù)可知,通過LoRa網(wǎng)絡(luò)和結(jié)合智能網(wǎng)關(guān),該礦燈采集的傳感器數(shù)據(jù)傳輸時延在100 ms以內(nèi),丟包率低于4%。
表1 特定隧道環(huán)境下1個礦燈無線傳輸丟包率與時延Table 1 Packet loss rate and delay of wireless transmission of 1 miner lamp in specific tunnel environment
表2 特定隧道環(huán)境下10個礦燈無線傳輸丟包率與時延Table 2 Packet loss rate and delay of wireless transmission of 10 miner lamps in specific tunnel environment
表3 特定隧道環(huán)境下20個礦燈無線傳輸丟包率與時延Table 3 Packet loss rate and delay of wireless transmission of 20 miner lamps in specific tunnel environment
表4 特定隧道環(huán)境下50個礦燈無線傳輸丟包率與時延Table 4 Packet loss rate and delay of wireless transmission of 50 miner lamps in specific tunnel environment
對于礦燈功耗性能測試,進(jìn)行了4種使用情況下的實(shí)時功耗測量。
(1) 礦燈僅使用照明功能,其他功能模塊均不工作,在此情況下,燈頭的平均消耗電流約為300 mA,在10 A·H鋰電池供電下,理論穩(wěn)定工作時間為30 h以上。
(2) 所有功能模塊同時工作(無線通信模塊無數(shù)據(jù)收發(fā)),在該工作情況下,礦燈平均消耗電流約為400 mA,在10 A·H鋰電池供電下,理論穩(wěn)定工作時間為24 h以上。
(3) 礦燈中所有功能模塊同時工作(無線通信模塊有數(shù)據(jù)收發(fā)),在該工作情況下,礦燈平均消耗電流約為500 mA,在10 A·H鋰電池供電下,理論穩(wěn)定工作時間為20 h以上。
(4) 礦燈中所有功能模塊處于待機(jī)工作狀態(tài)(無線通信模塊無數(shù)據(jù)收發(fā),LoRa模塊休眠,燈頭熄滅,其他各功能模塊斷電待機(jī),單片機(jī)進(jìn)入待機(jī)模式),在該工作情況下,礦燈平均消耗電流小于10 μA。
經(jīng)過上述功耗測試,表明該礦燈具有較低功耗,能夠滿足礦工在煤礦井下1個班次的使用時長需求。
(1) 基于LoRa與RT-Thread的多功能礦燈以超低功耗STM32單片機(jī)為硬件核心,采用多種傳感器實(shí)現(xiàn)井下環(huán)境溫濕度、瓦斯?jié)舛群腿藛T運(yùn)動狀態(tài)信息的實(shí)時感知;利用遠(yuǎn)距離低功耗的LoRa無線通信技術(shù),結(jié)合LoRa智能網(wǎng)關(guān),與地面遠(yuǎn)程監(jiān)控平臺進(jìn)行信息交互,實(shí)現(xiàn)了本地異常狀態(tài)預(yù)警與上報。
(2) 分別從傳感器數(shù)據(jù)采集,無線通信性能和系統(tǒng)功耗3個方面開展了礦燈實(shí)驗(yàn)測試,測試結(jié)果表明:① 該礦燈能夠通過多種傳感器有效測量環(huán)境參數(shù),測量誤差不超過1%。② 該礦燈具有較高的無線通信性能,礦燈數(shù)量分別為1,10,20,50的情況下,通過智能網(wǎng)關(guān)與監(jiān)控平臺進(jìn)行數(shù)據(jù)交互,最大丟包率均不超過4%,最大時延低于100 ms。③ 在實(shí)現(xiàn)礦燈多功能的情況下,礦燈具有較低的功耗,當(dāng)?shù)V燈處于待機(jī)工作狀態(tài)時,最低平均消耗電流小于10 μA,能夠有效延長其使用時間。該多功能礦燈較好地彌補(bǔ)了傳統(tǒng)礦燈存在的缺陷,實(shí)現(xiàn)了井下照明、環(huán)境狀態(tài)感知、人員狀態(tài)監(jiān)測與定位、無線通信、安全報警等功能,對于煤礦環(huán)境災(zāi)害事故預(yù)警及煤礦安全管理具有重要意義。