付 屾,周 嚴
(南京理工大學(xué)機械工程學(xué)院,江蘇南京 210094)
近年來,環(huán)境監(jiān)測系統(tǒng)廣泛應(yīng)用于各種受限空間作業(yè)過程中的環(huán)境信息檢測,但普遍功能單一,只限于對環(huán)境參數(shù)進行采集,無法依據(jù)信息對人員分布情況做出判斷,同時傳統(tǒng)的有線數(shù)據(jù)傳輸線路復(fù)雜,維護困難[1-4]?;谝陨鲜芟蘅臻g環(huán)境監(jiān)測系統(tǒng)的不足,設(shè)計了一種包括氣壓、氧含量檢測和報警功能的手持式數(shù)據(jù)采集終端。通過差分氣壓法檢測相對海拔高度實現(xiàn)人員定位功能。氧含量數(shù)據(jù)作為系統(tǒng)報警的判斷依據(jù)。手持終端通過按鍵實現(xiàn)人工報警[5-6]。針對數(shù)據(jù)傳輸遠距離、阻隔多的特點,設(shè)計基于 LoRa通信技術(shù)的無線通信網(wǎng)絡(luò),充分發(fā)揮 LoRa技術(shù)的優(yōu)勢,在信號阻隔嚴重的情況下將信息匯聚至中繼設(shè)備,并再次發(fā)送至監(jiān)測中心。這種監(jiān)測系統(tǒng)的優(yōu)點在于人員定位穩(wěn)定精確,需要考慮的干擾條件較少;氧含量檢測儀器體積小,精確度高,對受限空間作業(yè)影響小;在數(shù)據(jù)傳輸中,充分發(fā)揮LoRa技術(shù)傳輸距離遠、穿透性強的優(yōu)勢,將數(shù)據(jù)及時可靠地傳輸至監(jiān)測中心,并降低了系統(tǒng)成本。
系統(tǒng)硬件構(gòu)成見圖1,由MCU單元,氧含量檢測單元、大氣壓力測量單元、無線通訊單元、顯示單元、手動報警單元組成。
系統(tǒng)核心單元是MCU主控單元,選用STM32F103ZET6作為系統(tǒng)的微控制器,運行內(nèi)嵌監(jiān)控
圖1 嵌入式系統(tǒng)硬件構(gòu)成圖
軟件實現(xiàn)如下功能:控制內(nèi)置ADC實施氧含量數(shù)據(jù)采集,實現(xiàn)氧含量檢測;控制I2C接口獲取大氣壓力測量單元輸出的串行數(shù)據(jù),經(jīng)解析換算,得到人員定位信息;通過USART與無線通訊單元通信,實現(xiàn)報警和檢測數(shù)據(jù)的遠程上傳。
系統(tǒng)監(jiān)控軟件是MCU核心單元的重要組成部分,監(jiān)控軟件架構(gòu)見圖 2。
圖2 嵌入式監(jiān)控軟件架構(gòu)
內(nèi)嵌軟件基于C語言編程。依據(jù)報警監(jiān)測系統(tǒng)的功能要求,監(jiān)控軟件由氧含量檢測模塊、基于大氣壓力測量的相對海拔高度檢測模塊、無線通訊模塊、報警模塊以及顯示模塊構(gòu)成。
氧含量檢測采用電化學(xué)氧傳感器 O2-M2,該傳感器通過電解質(zhì)與氧氣的反應(yīng)判定對氧含量進行測量,靈敏度高,響應(yīng)和恢復(fù)時間短。一般氧含量在 20.9%附近波動[7],傳感器輸出在80~120 μA之間,根據(jù)輸出電流確定負載電阻為100 Ω,放大電路放大倍數(shù)為206,輸出電流經(jīng)過負載電阻和放大電路放大后得到氧含量檢測電路輸出電壓。STM32內(nèi)部集成ADC采集輸出電壓,經(jīng)過A/D轉(zhuǎn)換后得到12位的數(shù)字電壓,之后通過A/D采樣的電壓計算公式,如式(1)所示:
Voltage=(Voltage×3 300)/4 096
(1)
由式(1)計算得到以mV為單位的模擬電壓輸出,通過軟件程序提取出其前三位數(shù)字,這三位數(shù)字就是最終需要的氧含量的百分比值的十位、個位和十分位的數(shù)字,再將其通過顯示單元顯示。氧含量檢測電路如圖 3所示。
圖3 氧含量檢測電路
大氣壓力測量單元采用數(shù)字氣壓傳感器 lps22hb。lps22hb是超小體積壓阻式絕對壓力傳感器,使用I2C或者SPI接口通信,壓力測量范圍為260~1 260 hPa。能在65 ℃的擴展溫度范圍內(nèi)保持 ±0.1 hPa的最高精度。大氣壓力測量電路如圖 4所示。
圖4 大氣壓力測量電路
傳感器輸出為數(shù)字量,測得的氣壓數(shù)據(jù)存儲在 3個連續(xù)寄存器中,讀取時連續(xù)讀取 3個字節(jié)數(shù)據(jù),此時氣壓值是由3個寄存器各自8 bit的數(shù)字量組成,然后將3個數(shù)據(jù)合成一個24 bit氣壓數(shù)據(jù),之后解析得到以hPa為單位的氣壓數(shù)據(jù)。解析過程如下:
tmp=buf[2]<<16 | buf[1] << 8 | buf[0];
if(tmp & 0x00800000)tmp|=0xFF000000;
pressure=tmp/4096.00;
得到氣壓數(shù)據(jù)后,利用下面公式換算成對應(yīng)的海拔高度。
式中:p為某高度以hPa為單位的氣壓;p0為15 ℃海平面標準大氣壓(1 013.25 hPa);Altitude是以m為單位的海拔高度[8-9]。
換算出的是根據(jù)測得氣壓值確定的絕對海拔高度。將一層的絕對海拔高度作為測量基準,計算后續(xù)測量高度與基準的差值,利用相對高度值得到人員所處樓層定位信息。
無線通訊單元基于無線LoRa模塊 F8L10D-N模塊實現(xiàn)。F8L10D-N模塊是一種基于 LoRa擴頻技術(shù)的嵌入式無線數(shù)據(jù)傳輸模塊,工作頻段為433 MHz,可以完成中遠距離無線數(shù)據(jù)傳輸??梢酝ㄟ^ AT命令對模塊信息進行配置。LoRa模塊與STM32之間通過USART口相連接。無線通訊單元電路如圖5所示。
報警定位等數(shù)據(jù)整合完畢后,STM32按照設(shè)定好的時間間隔將數(shù)據(jù)通過串口發(fā)送給 LoRa模塊,由其發(fā)送上傳。無線通訊單元發(fā)送的數(shù)據(jù)遵循 LoRa模塊發(fā)送數(shù)據(jù)的格式,包括幀頭、長度域、數(shù)據(jù)域和異或和信息等,其中數(shù)據(jù)域內(nèi)包括了設(shè)備編號、氧含量數(shù)據(jù)、高度數(shù)據(jù)、采集次數(shù)等信息。
圖5 無線通訊單元電路
報警包括手動按鈕報警和氧含量超標自動報警,當施工人員自感不適時按下報警按鈕進行手動觸發(fā)報警,當氧含量超標時自動觸發(fā)報警[10]。為精簡編程,手動觸發(fā)報警和氧含量超標觸發(fā)報警,均觸發(fā)報警中斷,通過執(zhí)行報警中斷服務(wù)程序向監(jiān)測中心工作站發(fā)送報警信息,工作站收到報警信息后返回確認信息,終端收到確認信息后,退出中斷報警服務(wù)程序。如果在設(shè)定的時間內(nèi)未收到返回的確認信息,終端將重新發(fā)送報警信息。發(fā)送的報警信息格式如表1所示。報警信息是16進制ASCII碼的形式,以一次報警發(fā)送的一包信息為例進行說明,信息如下: FE 1D 44 5F 0A 0D 34 36 47 02 36 35 36 30 3A 00 22 00 0D 0A 57 30 30 31 30 61 6C 61 72 6D 31 58 0A 0D 2B。
表1 報警信息格式
表1所示報警信息格式中,LoRa中繼12位識別碼是每臺 LoRa中繼器所特有的,與受限空間信息對應(yīng),通過它來確認報警信息來自于哪處受限空間,加入這一信息能夠有效防止誤報警等情況。手動報警標識是手動報警信息里面特有標識位,說明本條信息來自于手動按鍵報警。異或和是校驗位,確保通信過程中沒有發(fā)生丟失、錯誤等問題。
監(jiān)測報警中心上位機軟件是系統(tǒng)重要組成部分,作為系統(tǒng)實時監(jiān)控平臺,軟件具有以下功能:數(shù)據(jù)采集終端與所在位置對應(yīng)關(guān)系設(shè)置;LoRa中繼與所在位置對應(yīng)關(guān)系設(shè)置;氧含量、溫濕度和定位高度信息的實時顯示;數(shù)據(jù)采集終端報警狀態(tài)的實時顯示;對報警信息的處理以及回復(fù)。
根據(jù)計量部門對氧含量檢測儀器的檢定標準,氧含量檢測檢定方案如下:將待檢定的終端開機,待其穩(wěn)定后,進行標定,示值誤差,響應(yīng)和恢復(fù)時間檢定試驗。
(1)標定:通入零點標定氣體,記錄此時示值為0%,通入含氧量為21%的標定氣,記錄此時的示值為21%,標定完成。
(2)示值誤差檢定:示值誤差為標準氣濃度與示值之間的差值。將氧含量為5%、10%、15%、18%、21%、25%的標準氣通入待測儀器,記錄待測數(shù)據(jù)采集終端在各不同濃度的標準氣下的氧含量示值,在每種濃度標準氣環(huán)境下測試3次,計算出示值誤差,誤差最大者即為示值誤差,記錄結(jié)果如表 2。
表2 示值誤差檢定記錄表 %
根據(jù)記錄結(jié)果數(shù)據(jù)看出,氧含量檢測在不同氧氣濃度的標準氣檢定下的示值誤差最大值為0.3%,滿足氧含量檢測儀器性能要求中示值誤差低于0.7%的要求。
(3)響應(yīng)時間和恢復(fù)時間檢定:通入21%含氧量標準氣,穩(wěn)定后開始計時,到示值降低到10%標準氣濃度為止。再通入純氮氣,穩(wěn)定后通入21%含氧量標準氣,到示值提高到90%標準氣濃度為止,分別進行3次測試,取3次測試的響應(yīng)和恢復(fù)時間的算數(shù)平均數(shù)。記錄結(jié)果如表3。
表3 響應(yīng)時間和恢復(fù)時間檢定記錄表 s
根據(jù)檢定結(jié)果顯示,響應(yīng)時間和恢復(fù)時間分別為10.3 s和14.3 s,達到低于30 s的性能指標要求。
報警測試是測試當滿足報警條件時,終端是否發(fā)出報警信息,監(jiān)測中心是否收到報警信息,是否誤報警。手動報警和氧含量超標報警的軟件處理方法相同。測試在終端和監(jiān)測中心處于運行狀態(tài)下進行,終端與監(jiān)測中心相距1 km,氧傳感器感知面通入可調(diào)節(jié)濃度的氧氣源,按照先手動報警,后自動報警的順序測試。根據(jù)相關(guān)部門的安全氧含量規(guī)范,受限空間氧含量正常范圍為19.5%~23%,超過該范圍要求報警。參考氧含量檢測儀器檢定流程,采用 5%、10%、15%、20%、25%氧含量氣體測試。結(jié)果如表4。
表4 報警測試記錄表
測試結(jié)果表明,氧含量超標觸發(fā)報警運行正常,但手動觸發(fā)報警測試當中存在重復(fù)報警現(xiàn)象,重復(fù)報警現(xiàn)象是指按下一次按鈕,監(jiān)測中心工作站會持續(xù)收到報警信息的現(xiàn)象。重復(fù)報警現(xiàn)象出現(xiàn)的主要原因在于手動觸發(fā)報警并且監(jiān)測中心收到報警信息后應(yīng)當向終端返回一條處理信息,而在設(shè)定的時間間隔內(nèi)終端沒有收到處理信息,就會出現(xiàn)重復(fù)報警。針對重復(fù)報警現(xiàn)象的原因,分別從終端和監(jiān)測中心軟件采取改進措施進行處理。終端方面,增加了報警信息發(fā)送的時間間隔,以減輕無線通信鏈路的負擔;在發(fā)送的報警信息當中加入報警次數(shù),當系統(tǒng)發(fā)生重復(fù)報警時,次數(shù)信息會遞增,如果確實有人員再次報警,那么次數(shù)信息會重新從 1開始計數(shù)。監(jiān)測中心軟件方面,將發(fā)送返回信息的次數(shù)增加,確保處理信息能夠成功發(fā)送回終端;采取屏蔽措施,收到報警信息后,一定時間內(nèi)只顯示一次報警信息,過了這個時間之后,若還有報警信息收到,則再次顯示。在進行屏蔽的同時,每次收到報警信息依然會返回處理信息,確保收到的都是真實有效的報警信息,而不是由于重復(fù)報警所導(dǎo)致。加入處理措施之后對系統(tǒng)報警重新進行測試,測試中沒有再次出現(xiàn)重復(fù)報警現(xiàn)象,說明處理辦法有效避免了重復(fù)報警的出現(xiàn)。
人員定位測試是測試氣壓傳感器確定人員所在的高度,并通過高度確定人員位于的樓層編號的準確性。選取一座受限空間建筑物,對該建筑物各層的實際高度首先進行人工測量,并記錄下人工測量的真實樓層高度值。之后通過氣壓與海拔高度轉(zhuǎn)換的方法再次測量,并將二者測量結(jié)果進行對比。在實際測量過程中,環(huán)境因素會導(dǎo)致氣壓發(fā)生變化,以標準大氣壓為基準測量絕對海拔高度的方法會出現(xiàn)誤差,所以采用比較相對海拔高度的方法,測試中取同一時間被測建筑物一層的氣壓值為基準,通過測量相對高度差得到所在樓層高度信息,測試數(shù)據(jù)列于表5,給出了同一時間同一環(huán)境下的一層基準氣壓,各個樓層的實測氣壓,換算后的海拔高度以及與基準高度之間的相對高度差。
表5 定位測試數(shù)據(jù)
得到相對高度差后,與直接測量好的樓層高度真實值進行對比,得到樓層高度測量值與實際值之間的關(guān)系曲線,見圖 6。
圖6 樓層高度真實值與測量值的關(guān)系曲線
分析曲線可知:樓層高度與實際氣壓值基本成線性變化關(guān)系,樓層高度人工測量值與氣壓換算得到的高度值非常近似,誤差平均值為0.05 m,低于傳感器給出的允許測量誤差范圍,滿足人員樓層定位的要求。
本文研究了受限空間環(huán)境監(jiān)測系統(tǒng)的關(guān)鍵技術(shù),并進行相關(guān)測試。實現(xiàn)氧含量準確檢測及基于氧含量檢測的報警功能?;诖髿鈮毫εc海拔高度的關(guān)系,通過氣壓測量換算實現(xiàn)受限空間樓層定位。無線通信網(wǎng)絡(luò)運行穩(wěn)定可靠?;谏鲜龀晒?,設(shè)計的環(huán)境監(jiān)測系統(tǒng),在報警的同時能夠定位樓層,為及時救援提供精準信息。該系統(tǒng)已應(yīng)用于中石化某公司受限空間作業(yè)現(xiàn)場,提升了受限空間施工安全技術(shù)保障水平。