陳吉輝 邱玲
摘? 要:機場油庫輸油管燃油泄漏探測是機場油庫安全保障的重要環(huán)節(jié),如發(fā)生泄漏或出現(xiàn)其他不安全情況,會嚴重影響營運安全。文章采用無線單片機為主控MCU、分布式高聚物傳感電纜為傳感單元,采用電池供電,結(jié)合LoRa無線技術(shù)、高精度AD采樣、極低功耗的軟硬件技術(shù),設(shè)計出了無線航油泄漏傳感器,不僅能夠檢測、報告泄漏,還能探測并識別航油泄漏的位置。
關(guān)鍵詞:航油泄漏;無線單片機;高聚物電纜;低功耗
中圖分類號:TP368? ? ? ?文獻標識碼:A文章編號:2096-4706(2022)04-0196-03
Design of Wireless Aviation Oil Leakage Sensor
CHEN Jihui, QIU Ling
(Chengdu College of University of Electronic Science and Technology of China, Chengdu? 611731, China)
Abstract: The detection of fuel leakage in the oil pipeline of the airport oil depot is an important part of the safety guarantee of the airport oil depot. If there is leakage or other unsafe conditions, it will seriously affect the operation safety. This paper uses the wireless single chip microcomputer as the main control MCU, the distributed high polymer sensing cable as the sensing unit, uses the batteries to supply power, combines with Lora wireless technology, high-precision AD sampling and very low-power dissipation software and hardware technology, then it designs the wireless aviation oil leakage sensor, which can not only detect and report the leakage, but also detect and identify the location of aviation oil leakage.
Keywords: aviation oil leakage; wireless single chip microcomputer; high polymer cable; low power consumption
0? 引? 言
航空油料具有易燃、易爆、易揮發(fā)和流動性等特點,具有較高的危險性,機場油庫油料泄漏會嚴重影響運營安全,如2009年8月重慶江北機場的供油管道泄漏事故、2012年5月深圳機場一個核載2 000噸的汽油油罐的漏油事故,均給機場營運帶來重大損失。因此,對機場油庫油品泄漏的監(jiān)測是機場油庫安全保障的重要環(huán)節(jié)。本文采用無線單片機、高聚物電纜設(shè)計的電池供電的低功耗無線航油泄漏傳感器,其無線通信距離可達3 000米,不僅能夠報告泄漏,還能確定航油泄漏的位置。
1? 硬件設(shè)計
傳感器由傳感單元、信號處理單元、電池管理單元和射頻通信單元組成,其結(jié)構(gòu)如圖1所示。
1.1? 傳感單元
泄漏傳感檢測需要準確可靠地判斷泄漏的發(fā)生和泄漏程度,能對較小量的泄漏做出判斷,并能夠在較短的時間內(nèi)判斷出泄漏點的具體位置;目前的管道燃油泄漏主要的檢測方法有負壓波檢測法、光纖檢測法和次聲波檢測法,但這些方法對較小量的泄漏檢測效果不理想,并且也難以應(yīng)用于加油撬裝設(shè)備、加油車移動設(shè)備漏油檢測。
本設(shè)計采用檢漏電纜作為傳感檢測單元,其原理是泄漏的油料滲入電纜后,會引起電纜特性的變化,通過檢測這種變化,可迅速地檢測到漏油的發(fā)生。應(yīng)用于燃油泄漏的檢測電纜主要有三種:油溶性電纜、滲透性電纜和分布式傳感電纜,油溶性電纜和滲透性電纜檢測法需從電纜的一端發(fā)送電脈沖信號,并通過檢測反射的脈沖信號來確定位置,而分布式傳感電纜主通過測量傳感導線回路電阻來檢測燃油泄漏和確定泄漏的位置[1],其原理是當泄漏的燃油接觸到電纜內(nèi)的高聚物材料時,高聚物材料產(chǎn)生膨脹,并和電纜內(nèi)的金屬傳感線接觸構(gòu)成導電回路,只需要簡單地測量電纜電阻的變化,就可以實現(xiàn)泄漏檢測與定位。
從功耗的角度考慮,電阻測量法也比發(fā)送電脈沖信號并檢測反射信號的方法功耗更低,更適用于電池供電傳感器,因此,綜合考慮,本設(shè)計采用高聚物分布式傳感電纜漏油感應(yīng)線作為傳感檢測元件。
1.2? 數(shù)據(jù)處理與通信
傳感器MCU采用STM32WL微控制器,其在同一芯片上集成了通用微控制器和sub-GHz無線電,基于ArmCortex-M4和Cortex-M0+核心,支持復合調(diào)制-LoRa、(G)FSK、(G)MSK、BPSK,以完全開放的方式通過LoRaWAN和無線基站通信,STM32W微控制器采用基于Semtech SX126x的sub-GHz無線電,以滿足工業(yè)和消費物聯(lián)網(wǎng)(IoT)中各種低功耗廣域網(wǎng)(LPWAN)無線應(yīng)用的需求[2]。SX126x采用符合中國的監(jiān)管要求的ISM頻段,非常適合遠距離無線應(yīng)用,并且其接收電流僅4.2毫安,最大的發(fā)射功率可以高達22 dBm,也非常適合要求長電池壽命的應(yīng)用,具有傳輸距離遠、抗干擾性強等特點[3]。
利用MCU內(nèi)部自帶的12位A/D轉(zhuǎn)換,可以定時采集傳感單元的阻抗變化信息和電池的電壓信息,通過數(shù)據(jù)處理和通信協(xié)議處理,由MCU內(nèi)部集成的LoRa單元發(fā)送至無線網(wǎng)關(guān)。
1.3? 電池管理單元
傳感器采用電池供電,因此整個設(shè)計除需充分考慮設(shè)備功耗外,還需定時檢測電池電壓,并將該電壓換算成電池電量值,當電池電量小于20%時,傳感器需上報電量告警信息,以便用戶及時替換傳感器電池。
本設(shè)計采用MCU定時喚醒,并打開外圍電路供電開關(guān),同時采集電池電壓與高聚物電纜阻抗,采集完成后,關(guān)閉供電,打開射頻發(fā)送,發(fā)送完畢休眠,等待下次喚醒的方式,可充分節(jié)省功耗,電池供電開關(guān)與電壓采集電路設(shè)計如圖2所示。
2? 傳感器軟件設(shè)計
2.1? 軟件流程圖
軟件由AD采樣、數(shù)據(jù)處理、數(shù)據(jù)收發(fā)和功耗管理等部分組成,流程圖如圖3所示。
2.2? AD采樣
使用電池直接供電的無線傳感器,電池供電電壓會隨著電量的減少產(chǎn)生一定范圍內(nèi)的降低,此時ADC模塊的參考電壓已經(jīng)改變,那么經(jīng)過AD轉(zhuǎn)換求出來的電壓值也就不準確了;因此為了更精確的體現(xiàn)ADC對管腳采樣的電壓值,需要對當前的供電電壓的變化也進行參考計算,涉及MCU內(nèi)部參考電壓(VREFINT)的應(yīng)用。
MCU在出廠時,基于特定的芯片供電電壓,將對VREFINT的采樣值,存放在系統(tǒng)存儲區(qū)域,可以讀取出來使用。VREFINT實際上是一個內(nèi)部穩(wěn)壓低電壓值,也就是芯片供電在一定范圍(譬如1.65 V~3.6 V)應(yīng)用時,這個電壓不變;VREFINT內(nèi)部連接到ADC_IN17輸入通道,因此我們可以在每次采樣管腳前,基于對VREFINT的采樣讀取,與ST出廠時配置的VREFINT值對比,獲得當前的芯片ADC供電校正電壓,從而對管腳電壓采樣時,用此實時校正的電壓作為參考,得到對應(yīng)的管腳電壓值,AD通道采樣計算公式[4]:
VCHANNELX=(3V x VREFINT_CAL x ADC_DATAX)/(VREFINT_DATA x FULL_SCALE)
其中:
VREFINT_CAL是VREFINT校準值;
ADC_DATAx是由ADC在通道x上沒得的值;
VREFINT_DATA是由ADC轉(zhuǎn)換得到的實際VREFINT;
FULL_SCALE是由ADC輸出的最大數(shù)字值,例如采樣分辨率為12位時,該值為212-1=4095;
從上面公式我們看到,要準確測量某通道電壓,其實是需要進行兩次AD,第一步先采集內(nèi)部參考電壓ADC_IN17,得到VREFINT對應(yīng)的實際值VREFINT_DATA,然后再采集通道X的值A(chǔ)DC_DATAX,代碼實現(xiàn)舉例如下:
//*****************************************************************************
//name:? ? ? ? ? ? ?GET_ADC
//introduce:? ? ? ? 單通道采集ADC的值
//parameter:? ? ? ? ?CH:ADC采集通道
//return:? ? ? ? ? ? ?ADC采集值
//*****************************************************************************
uint32_t GET_ADC(uint32_t CH)
{
uint32_t adc_conv_var=0;
uint32_tadcv=0 ;
uint32_t vref_data=0x00;
__IO uint16_t vref_cal = *(__IO uint16_t *)(0x1FF80078U);
ADC_ChannelConfTypeDefsConfig = {0};
HAL_ADCEx_EnableVREFINT();
HAL_ADC_Stop(&hadc);
hadc.Instance->CHSELR=0;
sConfig.Channel = ADC_CHANNEL_VREFINT;? ? ? ? ?//通道17專門測內(nèi)部電壓值
sConfig.Rank = ADC_RANK_CHANNEL_NUMBER;
HAL_ADC_ConfigChannel(&hadc, &sConfig);
HAL_ADC_Start(&hadc);
HAL_ADC_PollForConversion(&hadc, 20);
if((HAL_ADC_GetState(&hadc) & HAL_ADC_STATE_REG_EOC) == HAL_ADC_STATE_REG_EOC)
{
vref_data = HAL_ADC_GetValue(&hadc);
}
HAL_ADCEx_DisableVREFINT();
HAL_ADC_Stop(&hadc);
hadc.Instance->CHSELR=0;
sConfig.Channel = CH;
sConfig.Rank = ADC_RANK_CHANNEL_NUMBER; // 設(shè)置通道
HAL_ADC_ConfigChannel(&hadc, &sConfig);
HAL_ADC_Start(&hadc);// 啟動轉(zhuǎn)換
HAL_ADC_PollForConversion(&hadc,20);// // 等待轉(zhuǎn)換結(jié)束超時20ms
if ((HAL_ADC_GetState(&hadc) & HAL_ADC_STATE_REG_EOC)==HAL_ADC_STATE_REG_EOC)
{
adcv= HAL_ADC_GetValue(&hadc);// 讀取結(jié)果
}
adc_conv_var=((300 * vref_cal * adcv) / (vref_data * 4095))*10; //放大
sConfig.Rank = ADC_RANK_NONE; // 清除通道
HAL_ADC_ConfigChannel(&hadc, &sConfig);
HAL_ADC_Stop(&hadc);
return adc_conv_var;? //返回通道測量值
}
2.3? 低功耗設(shè)計
低功耗設(shè)計,除了電路設(shè)計外,軟件的低功耗設(shè)計也是非常重要的環(huán)節(jié),對于燃油泄漏探測這類緩變量信號,可以每10秒為一個周期來檢測和上報,這個周期時間也可以通過控制終端靈活設(shè)定。
在系統(tǒng)或者電源復位后,微控制器處于運行狀態(tài)之下,HCLK為CPU提供時鐘,內(nèi)核執(zhí)行代碼;當CPU不需要繼續(xù)運行時,可以利用MCU的睡眠模式、停止模式或者待機模式來節(jié)省功耗,雖然待機模式在三種模式下可以實現(xiàn)最低功耗,但由于傳感器在低功耗模式下仍然需要保留寄存器和SRAM內(nèi)容,因此本設(shè)計采用MCU的STOP和RUN兩種模式切換[5],每10秒為一個周期,其中9 950毫秒處于STOP模式,其功耗<10 μA,50毫秒處于RUN模式,完成采集信息、數(shù)據(jù)處理與通信,其功耗<20 mA。
MCU的STOP和RUN兩種模式切換,采用RTC時鐘喚醒的方式,在軟件設(shè)計上,需要注意以下幾點:
(1)正確配置RTC,啟動外部低速32.768 kHz外掛晶振用來啟用定時;
(2)進入STOP模式前預處理,對外設(shè)進行設(shè)置,GPIO要設(shè)置成模擬輸入狀態(tài),并關(guān)閉中斷/ADC/I2C等開啟的外設(shè);
(3)設(shè)置RTC的喚醒時間;
(4)進入STOP模式;
(5)退出STOP模式,并恢復時鐘和各外設(shè)狀態(tài),如GPIO的設(shè)置、恢復預處理時關(guān)閉的中斷/ADC/I2C等。
實現(xiàn)代碼例子:
voidenter_stop_rtc_mode(uint8_t times)
{
//1. 配置stop之前各外設(shè)
system_config_before_stop();
//2.設(shè)置rtc喚醒時間,單位:秒
stop_rtc_config(times);
//3. 進入stop
HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI);
//4.退出stop后恢復時鐘
config_after_stop();
}
3? 結(jié)? 論
本設(shè)計采用無線單片機、高聚物電纜傳感、低功耗電池供電的無線漏油檢測傳感器,可設(shè)置在混凝土地板上或日用油箱下方的淺集油盤中,軟管和燃油濾清器下方,泵墊上和閥組下方等各個容易發(fā)生泄漏的部位,當油庫中某處漏油被檢測到時,可迅速通知管理人員及時處理,最大限度地防止泄漏事故的發(fā)生。
參考文獻:
[1] 楊軍.油(氣)管道泄漏監(jiān)測方法的研究 [D].北京:清華大學,1994.
[2] STM32WL55xx STM32WL54xx DataSheet [EB/OL].(2021-12-06).https://www.st.com/content/ccc/resource/technical/document/datasheet/group3/51/9a/c9/0e/14/05/4d/fc/DM00697314/files/DM00697314.pdf/jcr:content/translations/en.DM00697314.pdf.
[3] SX1261/SX1262 Datasheet,Rev.2.1 .[EB/OL].(2021-12-06).https://semtech.my.salesforce.com/sfc/p/#E0000000JelG/a/2R000000HT7B/4cQ1B3JG0iKRo9DGRkjVuxclfwB.3tfSUcGr.S_dPd4.
[4] STMicroelectronics.STM32 Cortex?-M4 MCUs and MPUs programming manual [EB/OL].[2021-12-11]. https://www.st.com/content/ccc/resource/technical/document/programming_manual/6c/3a/cb/e7/e4/ea/44/9b/DM00046982.pdf/files/DM00046982.pdf/jcr:content/translations/en.DM00046982.pdf.
[5] 沈建華,郝立平.STM32W無線射頻ZigBee單片機原理與應(yīng)用 [M].北京:北京航空航天大學出版社,2010.
作者簡介:邱玲(1968—),女,漢族,四川德陽人,講師,碩士研究生,研究方向:航空機電;陳吉輝(1966—),女,漢族,四川自貢人,高級工程師,本科,研究方向:航空電子。