張帝,權悅,國海,周小杰,董飛,趙端
(1.安徽科技學院 電氣與電子工程學院, 安徽 蚌埠 233100;2.安徽大學 互聯網學院, 安徽 合肥 230039;3.中國礦業大學 物聯網(感知礦山)研究中心, 江蘇 徐州 221008)
采礦設備智能化、環境安全狀態感知和井下無線通信技術的快速發展對提高煤礦開采效率,降低煤礦安全生產事故發生率,保障礦工生命和礦井財產安全具有重大意義[1-2]。礦燈作為煤礦井下最常用的設備之一,在發揮其照明功能之外,還能夠在井下環境狀態感知、煤礦井下報警、井下人員定位等方面發揮重要作用。劉朝陽等[1]在對礦用無線通信網絡研究的基礎上,結合礦用智能終端的應用需求及關鍵技術研究,將TD-LTE技術與礦燈相融合,設計了一種礦用通信礦燈,該礦燈可將礦燈的檢測信息和礦工的位置信息實時傳輸至地面,但其未能檢測井下環境安全狀態,且未考慮礦燈的低功耗設計。戴劍波[2]為獲取井下人員定位信息,提高礦燈的安全可靠性,設計了一種低功耗多模定位礦燈標識卡,標識卡具有過壓、過流自診斷及保護功能,但該礦燈功能單一,未基于礦燈載體進行煤礦井下環境狀態檢測以及安全預警等。常云澤[3]針對只有照明功能的傳統礦燈,研發了一款信息化礦燈,具有定位、無線通信和語音調度等功能,但該礦燈采用WiFi通信,其在遠距離通信和低功耗方面存在一定的不足。劉江霞等[4]設計了一種基于ZigBee的智能瓦斯報警礦燈,實現了對礦井某些重點位置進行不間斷瓦斯濃度監測,但該礦燈采用ZigBee通信,存在通信距離短的問題。張帝等[5]設計了一種基于嵌入式實時操作系統的智能礦燈,該礦燈具有瓦斯濃度監測、人員定位與狀態監測、安全報警等功能,但存在功耗較高且無線通信距離較短等問題。針對上述問題,本文設計了一種基于LoRa與RT-Thread的多功能礦燈,該礦燈除照明功能外,還具有井下環境感知、人員狀態監測與定位、無線通信以及安全報警功能,采用遠距離LoRa無線通信方式,結合低功耗硬件設計,能夠在實現理想功能情況下盡可能降低功耗,延長礦燈使用時間。該礦燈將獲取到的環境與人員狀態數據遠程上傳到地面服務器,供地面人員遠程監控井下環境、人員狀態和物資裝備的使用情況,為井下工作人員的安全管理和物資分配提供遠程決策服務[6]。
基于LoRa與RT-Thread的多功能礦燈的功能:
(1) 環境參數與人員狀態感知功能:實時采集井下環境和人員狀態數據,監測異常狀態。
(2) 液晶顯示功能:能夠本地顯示環境狀態參數和礦燈基本信息。
(3) 無線通信功能:可將獲取的環境與人員狀態數據通過無線通信網絡上報地面服務器,也可接收和處理服務器下發指令數據。
(4) 人機交互功能:提供按鍵實現人機交互,可手動設置礦燈基本信息及上報井下異常情況報警信息到地面服務器。
基于上述功能確定了礦燈硬件總體設計方案,如圖1所示。

圖1 礦燈硬件結構Fig.1 Hardware structure of miner lamp
礦燈硬件設計選用性能穩定的STM32L151VET6作為主控芯片,STM32L151VET6是基于ARM Cortex-M3內核的32位低功耗處理器[7-8],能滿足礦燈的低功耗設計要求。
STM32L151VET6單片機低功耗核心電路主要由STM32單片機最小系統、時鐘電路、Flash電路、電量檢測電路、聲光報警電路及狀態指示電路構成。其中Flash電路基于AT45DB041芯片設計,能夠存儲信息顯示所用到的漢字字模數據以及服務器監控端發送到礦燈的指令信息。電量檢測電路用于礦燈的實時電量檢測,報警電路通過蜂鳴器實現環境檢測參數異常時的自動報警,報警時狀態指示燈會變成紅色。
傳感器電路主要用于對井下環境中的溫度、瓦斯濃度及人員狀態進行實時監測。溫度檢測主要采用SHT11溫濕度傳感器,與單片機通過I2C串行通信實現數據傳輸,與主控電路GPIO_PB端口通過DATA數據線和SCK時鐘線連接,測溫范圍為-40~+123.8 ℃,溫濕度傳感器電路原理如圖2所示。人員狀態檢測采用空間運動加速度傳感器MPU6050,可精確跟蹤快速和慢速的運動來檢測人體姿態,從而判斷礦工是否處于安全狀態[9]。主控模塊通過配置GPIO端口模擬I2C通信驅動該傳感器實現數據采集,加速度傳感器電路原理如圖3所示。瓦斯濃度檢測采用催化燃燒式甲烷傳感器,電路原理如圖4所示。

圖2 溫濕度傳感器電路原理Fig.2 Circuit principle of temperature and humidity sensors

圖3 加速度傳感器電路原理Fig.3 Circuit principle of acceleration sensor

(a) 甲烷傳感器電路

(b) 電壓信號放大電路
礦燈的電源主要采用3.7 V的磷酸鐵鋰電池供電,并通過電平轉換電路,以滿足礦燈對3.3、-3.3、2.8 V電壓的需求。其中3.7 V轉3.3 V采用TPL720-3.3 V芯片實現,-3.3 V采用MAX828芯片實現,2.8 V電壓采用TPL710-2.8 V芯片實現,TPL720與TPL710電源芯片具有優秀的低功耗性能,其靜態電流僅為1 μA,TPL720和TPL710的輸出電流分別可達400 mA和200 mA[10]。為降低甲烷傳感器的工作功耗,該模塊以提供不同頻率及占空比的脈沖電流對其供電[11],此方式可使其平均供電電流由100 mA降低到60 mA。結合采用的超低功耗主控單片機,整個礦燈可達到低功耗的工作狀態,滿足設計要求。電源管理模塊結構如圖5所示。

圖5 電源管理模塊結構Fig.5 Structure of power management module
礦燈設計的無線通信模塊主要采用超低功耗LoRa無線通信模塊ASR6505,支持工作頻段范圍為150~960 MHz,芯片內部集成了高性能、低功耗的STM8L MCU,支持透傳模式,最大通信距離為7 km,供電電壓為2.5~3.7 V,集成LoraWAN/LinkWAN及AliOS,可適用于多種物聯網應用場景[12]。
為實現礦燈數據上報地面服務器,需搭配LoRa網關將礦燈采集到的數據進行轉發上報。LoRa智能網關能夠將網絡數據轉發為以太網數據、RS232數據、RS485數據來靈活適配不同網絡環境。對此,LoRa智能網關的設計采用集成方案,利用LoRa無線網關USR-LG210-L將LoRa網絡數據轉換為RS485和RS232數據,再利用串口通信服務器USR-TCP232-410s將RS485/RS232數據轉換為以太網數據,最終實現數據從LoRa上報至地面服務器。
人機交互模塊主要由OLED液晶顯示電路和多路按鍵組成,礦工通過按鍵操控礦燈,實現地面服務器數據下發和環境參數的查看。獨立按鍵與單片機IO口連接,通過檢測端口高低電平狀態判斷是否有按鍵按下。OLED液晶顯示電路與單片機通過串行通信完成信息顯示。通過多個獨立按鍵進行功能選擇,可查看環境參數,進行手動報警和查看地面服務器下發的信息。
礦燈軟件設計主要選擇Keil MDK5集成開發環境,軟件設計方法基于STM32自帶庫函數編程,同時搭載嵌入式實時操作系統RT-Thread進行多任務函數管理。整個開發過程采用模塊化編程思路,分別編寫并調試完成了礦燈主程序、數據采集程序、無線網絡通信程序、人機交互程序。
RT-Thread是以操作系統內核(可以是RTOS、Linux等)為基礎,包括如文件系統、圖形庫等較為完整的中間件組件,具備低功耗、信息加密、通信協議支持和云端連接能力的軟件平臺[12]。該系統具有實時性高、占用資源少、功耗低等特點,特別適用于成本和功耗受到限制的場合,因此,基于低功耗和物聯網應用場景,本文選用該系統。
首先對底層硬件模塊進行初始化,包括系統時鐘、GPIO口配置、傳感器及液晶顯示等外設硬件的初始化。然后對RT-Thread操作系統進行初始化,根據總體功能劃分創建多任務線程,同時配置獨立看門狗。最后啟動操作系統實現多任務并發運行。操作系統運行過程中CPU內核會根據任務優先級實現任務調度,滿足實時響應的要求。礦燈總體功能主要細分為數據采集任務、數據異常報警任務、數據上傳任務、界面顯示任務、功能選擇設置任務、中斷處理任務等。啟動操作系統并將任務托管在RT-Thread中并發實時運行。礦燈主程序流程如圖6所示。

圖6 礦燈主程序流程Fig.6 Main program flowchart of miner lamp
傳感器數據采集程序基于RT-Thread操作系統創建任務函數,通過賦予任務不同優先級依次完成對瓦斯濃度、溫度和加速度傳感器的實時數據采集。以瓦斯濃度數據采集程序設計為例,首先對主控STM32單元進行初始化,配置ADC外設,然后在操作系統中建立瓦斯濃度檢測任務,最后在該任務中對瓦斯數據進行處理并判斷是否超限,若監測到異常數據,則通過提交信號量使得內核調度啟動報警任務運行,在異常數據報警并上傳后釋放信號量。
LoRa智能網關是LoRa自組網絡的核心部分,用于實現傳感器節點和地面服務器終端的無線網絡通信。該網關基于UDP(User Datagram Protocol)通信協議將傳感器節點采集到的井下環境數據、人員位置信息、物資設備信息及礦燈報警信息等定時轉發上傳。工作模式設定為節點主動上報和輪詢喚醒2種模式。主動上報模式下采集節點會在通電并接入網絡后自動定時發送數據,網關接收到數據后會自動回復并將數據上傳到地面服務器;輪詢喚醒工作模式下由網關發送指令喚醒采集節點實現數據上傳,當接收到節點數據后,網關會立即實現數據上傳,否則處于等待狀態。
智能網關通過UDP Socket通信連接上位機,上位機將根據通信協議對接收到的數據進行解析并顯示,分字段存入數據庫。上位機管理程序開發使用C#語言,在Visual Studio 2013集成開發環境下,基于WPF(Windows Presentation Foundation)技術進行B/S端開發,數據庫采用Mysql數據庫[12]。
多功能礦燈在3.7 V,10 A·H鋰電池供電下,能夠穩定工作12 h以上,在此基礎上,分別進行傳感器數據采集測試、無線通信性能測試和系統功耗測試。
礦燈可通過采集溫濕度傳感器、加速度傳感器和瓦斯傳感器的數據來獲得井下溫度、濕度、瓦斯濃度以及礦工運動狀態,這些數據均可通過礦燈上的按鍵實現本地查看。另外,遠程服務監控平臺也可接收并顯示數據,監控平臺界面如圖7所示。試驗設置不同溫濕度環境和不同濃度瓦斯氣體來測試溫濕度傳感器與瓦斯傳感器的性能,溫濕度傳感器的平均測量誤差在1%以內,瓦斯傳感器的平均測量誤差為0.5%~1%。試驗還安排礦工佩戴礦燈模擬行走、靜止及打鬧狀態,測試加速度傳感器獲取礦工運動狀態的性能。礦工在上述3種不同狀態下,加速度傳感器數據區分明顯,表征運動狀態準確。

圖7 監控平臺軟件顯示數據Fig.7 Display data of monitoring platform software
無線通信性能測試包括數據丟包率與數據上報時延測試。礦燈在特定隧道環境下,布置不同數量的采集節點進行數據采集,測試數據丟包率和數據上報時延。該部分測試工作選在類似煤礦巷道環境的某隧道開展,分別配置1,10,20,50個多功能礦燈進行無線通信性能測試。在隧道環境中,選取中段600 m范圍,安裝1套LoRa智能網關,分別測試1,10,20,50個多功能礦燈向地面服務器上報數據的丟包率與時延,數據丟包率與數據上報時延結果見表1—表4。根據表1—表4實驗數據可知,通過LoRa網絡和結合智能網關,該礦燈采集的傳感器數據傳輸時延在100 ms以內,丟包率低于4%。

表1 特定隧道環境下1個礦燈無線傳輸丟包率與時延Table 1 Packet loss rate and delay of wireless transmission of 1 miner lamp in specific tunnel environment

表2 特定隧道環境下10個礦燈無線傳輸丟包率與時延Table 2 Packet loss rate and delay of wireless transmission of 10 miner lamps in specific tunnel environment

表3 特定隧道環境下20個礦燈無線傳輸丟包率與時延Table 3 Packet loss rate and delay of wireless transmission of 20 miner lamps in specific tunnel environment

表4 特定隧道環境下50個礦燈無線傳輸丟包率與時延Table 4 Packet loss rate and delay of wireless transmission of 50 miner lamps in specific tunnel environment
對于礦燈功耗性能測試,進行了4種使用情況下的實時功耗測量。
(1) 礦燈僅使用照明功能,其他功能模塊均不工作,在此情況下,燈頭的平均消耗電流約為300 mA,在10 A·H鋰電池供電下,理論穩定工作時間為30 h以上。
(2) 所有功能模塊同時工作(無線通信模塊無數據收發),在該工作情況下,礦燈平均消耗電流約為400 mA,在10 A·H鋰電池供電下,理論穩定工作時間為24 h以上。
(3) 礦燈中所有功能模塊同時工作(無線通信模塊有數據收發),在該工作情況下,礦燈平均消耗電流約為500 mA,在10 A·H鋰電池供電下,理論穩定工作時間為20 h以上。
(4) 礦燈中所有功能模塊處于待機工作狀態(無線通信模塊無數據收發,LoRa模塊休眠,燈頭熄滅,其他各功能模塊斷電待機,單片機進入待機模式),在該工作情況下,礦燈平均消耗電流小于10 μA。
經過上述功耗測試,表明該礦燈具有較低功耗,能夠滿足礦工在煤礦井下1個班次的使用時長需求。
(1) 基于LoRa與RT-Thread的多功能礦燈以超低功耗STM32單片機為硬件核心,采用多種傳感器實現井下環境溫濕度、瓦斯濃度和人員運動狀態信息的實時感知;利用遠距離低功耗的LoRa無線通信技術,結合LoRa智能網關,與地面遠程監控平臺進行信息交互,實現了本地異常狀態預警與上報。
(2) 分別從傳感器數據采集,無線通信性能和系統功耗3個方面開展了礦燈實驗測試,測試結果表明:① 該礦燈能夠通過多種傳感器有效測量環境參數,測量誤差不超過1%。② 該礦燈具有較高的無線通信性能,礦燈數量分別為1,10,20,50的情況下,通過智能網關與監控平臺進行數據交互,最大丟包率均不超過4%,最大時延低于100 ms。③ 在實現礦燈多功能的情況下,礦燈具有較低的功耗,當礦燈處于待機工作狀態時,最低平均消耗電流小于10 μA,能夠有效延長其使用時間。該多功能礦燈較好地彌補了傳統礦燈存在的缺陷,實現了井下照明、環境狀態感知、人員狀態監測與定位、無線通信、安全報警等功能,對于煤礦環境災害事故預警及煤礦安全管理具有重要意義。