馬瑞峰, 張丕狀
(中北大學(xué) 信息探測(cè)與處理山西省重點(diǎn)實(shí)驗(yàn)室, 山西 太原 030051)
水力壓裂是石油開(kāi)采領(lǐng)域重要的技術(shù)環(huán)節(jié), 其可以有效對(duì)石油開(kāi)采進(jìn)行增產(chǎn). 然而要使用水力壓裂技術(shù), 需要大量存放水和胍爾膠的液罐[1]. 在作業(yè)期間, 需要現(xiàn)場(chǎng)工作人員對(duì)各個(gè)液罐的液位進(jìn)行實(shí)時(shí)監(jiān)測(cè), 確保液位保持在合理范圍內(nèi), 既不缺水, 也不冒罐.
由于施工現(xiàn)場(chǎng)全部是上下兩層罐, 每層罐高2 m, 現(xiàn)場(chǎng)工作人員需要爬到罐頂, 才可以通過(guò)肉眼來(lái)觀測(cè)液位變化情況. 該作業(yè)方式存在一些問(wèn)題: 首先是人員安全問(wèn)題, 尤其冬天, 液罐上極易結(jié)冰, 而罐邊沿很狹窄, 只有十幾厘米, 很容易踩空; 另外, 當(dāng)作業(yè)規(guī)模較大時(shí), 例如大慶油田松原油區(qū)開(kāi)采隊(duì)最多使用過(guò)56套液罐, 現(xiàn)場(chǎng)工作人員需要實(shí)時(shí)觀測(cè)每個(gè)液罐的液位狀況, 工作量極大, 而且無(wú)法做到同時(shí)監(jiān)測(cè), 經(jīng)常會(huì)發(fā)生冒罐問(wèn)題. 故迫切需要設(shè)計(jì)一套實(shí)時(shí)液位測(cè)量系統(tǒng).
在系統(tǒng)實(shí)現(xiàn)方式上, 浮體式液位測(cè)量雖然價(jià)格低廉[2], 但是在石油勘探現(xiàn)場(chǎng), 液罐中會(huì)存放水或者胍爾膠, 而且經(jīng)常有大量泡沫浮在液面上, 無(wú)法保證長(zhǎng)時(shí)間工作的穩(wěn)定性; 雷達(dá)和激光測(cè)量雖然測(cè)量精度較高, 但是價(jià)格高昂. 超聲波液位測(cè)量具有工作可靠, 安裝簡(jiǎn)單、 功耗較低, 傳感器小型化, 成本低, 適用范圍廣等特點(diǎn), 最滿(mǎn)足設(shè)計(jì)需求. 使用超聲波對(duì)液位進(jìn)行測(cè)量, 測(cè)量后通過(guò)無(wú)線模塊將數(shù)據(jù)發(fā)送到上位機(jī), 上位機(jī)將數(shù)據(jù)處理后通過(guò)軟件進(jìn)行展示.
通過(guò)對(duì)環(huán)境及需求的論證分析, 液位監(jiān)測(cè)系統(tǒng)由液位監(jiān)測(cè)節(jié)點(diǎn)和液位監(jiān)測(cè)上位機(jī)界面兩部分組成. 液位監(jiān)測(cè)節(jié)點(diǎn)實(shí)現(xiàn)對(duì)液位等數(shù)據(jù)的實(shí)時(shí)監(jiān)測(cè), 上位機(jī)完成對(duì)節(jié)點(diǎn)參數(shù)配置, 接收節(jié)點(diǎn)液位等實(shí)時(shí)數(shù)據(jù), 上位機(jī)完成對(duì)節(jié)點(diǎn)參數(shù)的配置、 接收節(jié)點(diǎn)液位等監(jiān)測(cè)信息, 并進(jìn)行處理、 展示和報(bào)警.
圖 1 系統(tǒng)總體設(shè)計(jì)結(jié)構(gòu)Fig.1 System overall design structure
液位監(jiān)測(cè)節(jié)點(diǎn)主要由圖 2 所示的4個(gè)模塊構(gòu)成, 分別是MCU主控模塊、 無(wú)線通信模塊、 超聲波模塊、 供電模塊.
液位監(jiān)測(cè)節(jié)點(diǎn)首先通過(guò)MCU上電喚醒后進(jìn)行初始化配置, 然后根據(jù)上位機(jī)的要求, 分為自動(dòng)定時(shí)液位監(jiān)測(cè)和上位機(jī); 進(jìn)行各種具體運(yùn)行參數(shù)配置或者進(jìn)行液位測(cè)量程序; 液位測(cè)量程序由超聲波模塊進(jìn)行測(cè)量, 并由主控模塊對(duì)數(shù)據(jù)進(jìn)行處理, 將有效數(shù)據(jù)通過(guò)無(wú)線通信模塊發(fā)送到上位機(jī).
圖 2 液位監(jiān)測(cè)節(jié)點(diǎn)框架圖Fig.2 Liquid level monitoring node frame diagram
上位機(jī)監(jiān)測(cè)系統(tǒng)將從節(jié)點(diǎn)收集到的數(shù)據(jù)進(jìn)行展示, 對(duì)異常值進(jìn)行報(bào)警. 同時(shí)上位機(jī)可以對(duì)節(jié)點(diǎn)進(jìn)行參數(shù)配置. 整體框架如圖 3 所示.
框架圖中參數(shù)配置包括對(duì)不同工作模式的自動(dòng)喚醒時(shí)間, 目的是根據(jù)液位變化情況, 設(shè)置不同喚醒時(shí)間, 起到低功耗的目的; 通過(guò)配置液位上下線報(bào)警液位值, 實(shí)現(xiàn)根據(jù)不同的液位高度, 自動(dòng)切換不同的工作模式, 起到提高測(cè)量效率、 降低功耗的目的; 通過(guò)配置取消上下線標(biāo)志位, 完成配置不同的工作模式. 在節(jié)點(diǎn)數(shù)據(jù)反饋中通過(guò)無(wú)線通信模塊得到節(jié)點(diǎn)的地址號(hào), 確定數(shù)據(jù)來(lái)源于哪個(gè)節(jié)點(diǎn); 通過(guò)對(duì)接收數(shù)據(jù)解析得到指令類(lèi)型, 判斷接收到的是哪種類(lèi)型的數(shù)據(jù); 當(dāng)?shù)玫揭何缓碗娏繙y(cè)量類(lèi)型數(shù)據(jù)時(shí), 會(huì)在軟件界面展示具體數(shù)值, 當(dāng)液位高度和電池電量異常時(shí), 發(fā)出報(bào)警.
圖 3 上位機(jī)監(jiān)測(cè)框架圖Fig.3 Host computer monitoring framework
微控制單元(MCU)作為液位監(jiān)測(cè)節(jié)點(diǎn)的中樞, 對(duì)各個(gè)模塊進(jìn)行控制, 而此工程的核心是低功耗, 所以經(jīng)過(guò)對(duì)比選擇了基于ARM Cortex-M3的STM32L152芯片. 相比51單片機(jī), STM32外圍接口豐富, 功能更加強(qiáng)大, 后期擴(kuò)展空間大. 而在STM32眾多系列中, L系列是針對(duì)超低功耗的設(shè)計(jì). STM32 F103在待機(jī)模式下功耗為2.1 μA. 而STM32 L152在待機(jī)模式下, 功耗只有0.29 μA. 所以根據(jù)工程需求, 選擇了STM32L152作為液位測(cè)量系統(tǒng)的微控制單元.
MCU在待機(jī)模式下, 可以實(shí)現(xiàn)最低功耗. 它依靠于Cortex-M3的深度睡眠模式. 在此模式下, 其禁用了電壓調(diào)節(jié)器. 除RTC(實(shí)時(shí)時(shí)鐘)寄存器、 RTC備份寄存器和待機(jī)電路保持供電外, 其他區(qū)域全部斷電, SRAM和寄存器內(nèi)容都會(huì)丟失[3-9].
超聲波發(fā)射是由微控制單元(MCU)控制, 其通過(guò)兩個(gè)GPIO口產(chǎn)生兩路40 kHz的高低電平給單電源電平轉(zhuǎn)換芯片, 以增大超聲發(fā)射換能器的發(fā)射驅(qū)動(dòng)電壓, 提高壓電轉(zhuǎn)換效率, 然后將輸出電平輸出到超聲波發(fā)射探頭, 產(chǎn)生超聲波.
超聲波接收電路由一個(gè)4相放大器和外圍電路組成, 實(shí)現(xiàn)對(duì)回波信號(hào)的放大、 濾波、 跟隨、 閾值比較功能. 其中第4級(jí)為閾值比較電路, 將回波信號(hào)與計(jì)算好的閾值進(jìn)行比較, 把目標(biāo)信號(hào)回傳到MCU的定時(shí)器中斷引腳, 來(lái)確定回波時(shí)間, 根據(jù)已知的聲速計(jì)算出被測(cè)液面距離. 其中閾值電壓是通過(guò)MCU中的DAC(數(shù)字模擬轉(zhuǎn)換器)管腳產(chǎn)生的.
圖 4 接收模塊示意圖Fig.4 Receiver module schematic
為了實(shí)現(xiàn)低功耗的目標(biāo), 在保證其他模塊正常工作的同時(shí)取消了3.3 V穩(wěn)壓芯片. 當(dāng)電源電壓變化時(shí), 首先影響到芯片的參考電壓, 這時(shí)MCU中DAC管腳輸出穩(wěn)定性無(wú)法保證, 所以通過(guò)以下方法解決此問(wèn)題.
因?yàn)槿∠朔€(wěn)壓源, 3.7 V電源直接為MCU供電, 所以該芯片VDD與VCC相等. MCU內(nèi)部參考電壓(VREFINT)為ADC提供穩(wěn)定的電壓輸出, VREFINT 內(nèi)部連接到ADC的第17號(hào)輸入通道, 它可以精確監(jiān)控VDD值.
閾值輸出通過(guò)STM32中的DAC輸出管腳輸出精確的電壓值. DAC根據(jù)ADC的17通道測(cè)得VREFINT(1.2V)對(duì)應(yīng)的計(jì)數(shù)值, 調(diào)整DAC的輸出計(jì)數(shù)值D, 達(dá)到比較閾值不隨電源電壓改變的目的.
DAC的輸出公式為
(1)
設(shè)DAC的輸出電壓為VO; 電源電壓為VCC; DAC輸出閾值電壓為VT; ADC測(cè)得電源電壓計(jì)數(shù)值為DREF; 芯片內(nèi)部參考電壓為VREFINT, 穩(wěn)定在1.2 V. 因?yàn)闆](méi)有穩(wěn)壓源,VREF在芯片內(nèi)部與VCC信號(hào)線相連, 所以VREF=VCC
(2)
由式(1), 式(2)得
(3)
按照此算法進(jìn)行編程, 驗(yàn)證可穩(wěn)定DAC電壓輸出值.
同時(shí)因?yàn)锳DC可測(cè)得電源電壓計(jì)數(shù)值, 因此可算出電源電壓值, 去掉原來(lái)的電池測(cè)量電路.
本設(shè)計(jì)減少了芯片的同時(shí)也取消了電池測(cè)量電路, 達(dá)到了低功耗的目的.
通過(guò)現(xiàn)場(chǎng)測(cè)試, 發(fā)現(xiàn)環(huán)境較為復(fù)雜, 液罐擺放位置和放置上位機(jī)的儀表車(chē)位置不確定, 導(dǎo)致無(wú)線信號(hào)影響較大. 2.4 GHz無(wú)線模塊無(wú)法滿(mǎn)足現(xiàn)場(chǎng)要求, 故采用了中心頻率為433 MHz的無(wú)線模塊, 它與2.4 GHz相比, 有較強(qiáng)的穿透繞射能力, 不易受到復(fù)雜環(huán)境的干擾. 雖然傳輸速率不如2.4 GHz, 但完全可以滿(mǎn)足現(xiàn)場(chǎng)要求[10]. 在選用無(wú)線模塊型號(hào)時(shí), 選擇超低功耗433 MHz無(wú)線模塊. MCU通過(guò)串口與其相連接, 將液位數(shù)據(jù)和電量數(shù)據(jù)發(fā)送至上位機(jī), 使得上位機(jī)可以統(tǒng)一展示.
上位機(jī)由433 M數(shù)傳電臺(tái)與其連接后進(jìn)行數(shù)據(jù)發(fā)送接收.
在無(wú)線組網(wǎng)方面, 設(shè)計(jì)每個(gè)節(jié)點(diǎn)使用一個(gè)固定的模塊地址. 整個(gè)網(wǎng)絡(luò)無(wú)線傳輸使用相同的頻率信道. 在無(wú)線傳輸方式中, 選擇了定點(diǎn)傳輸. 在定點(diǎn)傳輸?shù)哪J较拢?發(fā)射模塊能將傳輸數(shù)據(jù)發(fā)送
給指定地址、 指定信道的無(wú)線模塊, 方便組網(wǎng)要求. 而且僅有在信號(hào)和地址都匹配的情況下, 才能接受到指定傳輸數(shù)據(jù). 接受到的傳輸數(shù)據(jù)是透明的, 不包含信道和地址位. 這樣的好處是, 上位機(jī)可以具體配置節(jié)點(diǎn)設(shè)備, 而不需要將其他設(shè)備同時(shí)喚醒, 從而達(dá)到低功耗的目的. 同時(shí)可以根據(jù)不同環(huán)境的需求, 對(duì)指定節(jié)點(diǎn)進(jìn)行指定工作模式配置, 提高工作效率.
圖 5 組網(wǎng)示意圖Fig.5 Network diagram
為了滿(mǎn)足設(shè)計(jì)要求, 實(shí)現(xiàn)在極低溫度下正常工作并便攜的目的, 選用耐低溫鋰電池供電. 因?yàn)殡姵毓╇姙?.7 V, 超聲波發(fā)送和接收電路需要5 V供電, 所以采用電荷泵, 將3.7 V升壓至5 V.
圖 6 電源模塊電路圖Fig.6 Power module circuit diagram
為了符合項(xiàng)目需求, 設(shè)計(jì)了5種工作模式, 系統(tǒng)可以根據(jù)不同配置信息和液位情況自動(dòng)切換. 這樣, 在提高工作效率的同時(shí), 還能極大地降低功耗. 系統(tǒng)可以及時(shí)反饋液位數(shù)據(jù), 防止出現(xiàn)冒罐和缺水風(fēng)險(xiǎn).
該系統(tǒng)5種工作模式分別是: 參數(shù)設(shè)置模式、 單次查詢(xún)模式、 自動(dòng)連續(xù)測(cè)試模式、 報(bào)警通知模式和長(zhǎng)時(shí)間待機(jī)模式.
為了實(shí)現(xiàn)工作模式滿(mǎn)足實(shí)際工作需求, 設(shè)計(jì)了取消上限報(bào)警標(biāo)志位和取消下限報(bào)警標(biāo)志位, 上位機(jī)可通過(guò)實(shí)際情況對(duì)其進(jìn)行配置. 同時(shí)上位機(jī)可以對(duì)自動(dòng)連續(xù)測(cè)量模式的喚醒時(shí)間、 報(bào)警通知模式下的喚醒時(shí)間和長(zhǎng)時(shí)間待機(jī)模式下的喚醒時(shí)間進(jìn)行配置. 以上默認(rèn)喚醒時(shí)間分別為90 s, 30 s, 5 min.
液罐液位情況如圖 7 所示.
圖 7 液罐示意圖Fig.7 Liquid tank schematic
1) 當(dāng)標(biāo)志位配置為“取消上限報(bào)警標(biāo)志位=1”“取消下限報(bào)警標(biāo)志位=1”時(shí), 相當(dāng)于“取消報(bào)警”. 由上位機(jī)主動(dòng)定時(shí)喚醒后進(jìn)行測(cè)量并發(fā)送數(shù)據(jù), 即單次測(cè)量模式.
2) 當(dāng)標(biāo)志位配置為“取消上限報(bào)警標(biāo)志位=0”或“取消下限報(bào)警標(biāo)志位=0”時(shí), 如果M在正常水位區(qū)域, (自動(dòng)連續(xù)測(cè)量模式)測(cè)量后發(fā)送數(shù)據(jù), 并對(duì)重要參數(shù)和水位數(shù)據(jù)進(jìn)行備份, 如果液位變化較小, 則不發(fā)送, 加長(zhǎng)下次喚醒時(shí)間到固定值; 如果M在報(bào)警區(qū)域(M>H或M 3) 當(dāng)測(cè)量值小于L線, 且計(jì)數(shù)值>10時(shí), 進(jìn)入長(zhǎng)時(shí)間待機(jī)模式. 計(jì)數(shù)值根據(jù)以下4種情況進(jìn)行變化: ① 當(dāng)前測(cè)量值小于L線, 且液位靜止時(shí), 計(jì)數(shù)值加1(權(quán)重為+1); ② 當(dāng)前測(cè)量值小于L線, 且液位小于上次值時(shí), 計(jì)數(shù)值-5(權(quán)重為-5); ③ 當(dāng)前測(cè)量值小于L線, 且液位大于上次值時(shí), 計(jì)數(shù)值-1(權(quán)重為-1); ④ 當(dāng)前測(cè)量值大于L線時(shí), 計(jì)數(shù)值清零. 工作流程如圖 8 所示. 根據(jù)實(shí)際測(cè)試使用, 達(dá)到設(shè)計(jì)要求, 實(shí)現(xiàn)了提高工作效率, 降低功耗的目的. 圖 8 工作流程圖Fig.8 Work flow chart 終端監(jiān)控是一個(gè)進(jìn)行實(shí)時(shí)液位監(jiān)測(cè)的軟件. 這款液位監(jiān)測(cè)軟件是基于LabWindows/CVI平臺(tái)實(shí)現(xiàn)的, 使用C語(yǔ)言進(jìn)行開(kāi)發(fā), 具有入門(mén)快, 操作簡(jiǎn)潔等特點(diǎn). 圖 9 終端監(jiān)控設(shè)計(jì)流程圖Fig.9 Terminal monitoring design flow chart 終端監(jiān)控通過(guò)無(wú)線通信與多個(gè)節(jié)點(diǎn)進(jìn)行連接, 可以對(duì)節(jié)點(diǎn)進(jìn)行參數(shù)配置, 同時(shí)也可接收節(jié)點(diǎn)回傳的液位數(shù)據(jù), 流程圖如圖 9 所示. 在參數(shù)配置上, 為了便于管理, 可以根據(jù)實(shí)際情況, 對(duì)指定節(jié)點(diǎn)進(jìn)行單獨(dú)參數(shù)配置, 使其工作在特定工作模式. 上位機(jī)在接收節(jié)點(diǎn)數(shù)據(jù)后, 可以對(duì)數(shù)據(jù)信息進(jìn)行實(shí)時(shí)保存、 處理和報(bào)警反饋等操作. 在實(shí)驗(yàn)現(xiàn)場(chǎng), 對(duì)液位測(cè)量系統(tǒng)進(jìn)行測(cè)試. 首先打開(kāi)上位機(jī)串口, 通過(guò)上位機(jī)界面對(duì)節(jié)點(diǎn)進(jìn)行參數(shù)配置, 設(shè)置在連續(xù)測(cè)量模式下喚醒時(shí)間為60 s, 在報(bào)警通知模式下喚醒時(shí)間為30 s, 長(zhǎng)時(shí)間待機(jī)模式喚醒時(shí)間為300 s. 取消上限報(bào)警標(biāo)志位和取消下限報(bào)警標(biāo)志位都為0, 選擇上位機(jī)定時(shí)喚醒節(jié)點(diǎn), 開(kāi)始進(jìn)行液位測(cè)量. 在液罐中液位不斷變化時(shí), 工作模式自動(dòng)切換, 實(shí)現(xiàn)喚醒時(shí)間隨液位變化而改變. 表 1 為開(kāi)啟測(cè)量第10 min液位記錄值,A為上層罐,B為下層罐. 表 1 為工作30 min的液位記錄值. 表 1 罐體液位值Tab.1 Tank level value 通過(guò)實(shí)際工作測(cè)試, 節(jié)點(diǎn)可在現(xiàn)場(chǎng)工作環(huán)境使用一周以上. 滿(mǎn)足石油勘探作業(yè)周期要求. 在復(fù)雜的現(xiàn)場(chǎng)環(huán)境中, 無(wú)線傳輸正常, 沒(méi)有出現(xiàn)數(shù)據(jù)丟失現(xiàn)象. 經(jīng)試驗(yàn)獲得監(jiān)測(cè)數(shù)據(jù)表明, 此系統(tǒng)液位監(jiān)測(cè)結(jié)果正常, 測(cè)量精度達(dá)到1 cm, 實(shí)現(xiàn)了實(shí)時(shí)連續(xù)監(jiān)測(cè)功能, 完成系統(tǒng)設(shè)計(jì). 圖 10 測(cè)距終端及測(cè)試現(xiàn)場(chǎng)Fig.10 Ranging terminal and test site 針對(duì)目前石油勘探現(xiàn)場(chǎng)對(duì)液位實(shí)時(shí)監(jiān)測(cè)不便問(wèn)題, 完成基于ARM的液位實(shí)時(shí)監(jiān)測(cè)系統(tǒng)設(shè)計(jì),實(shí)現(xiàn)對(duì)液位的實(shí)時(shí)智能監(jiān)控功能,達(dá)到低功耗、 耐低溫、 長(zhǎng)時(shí)間連續(xù)測(cè)量指標(biāo),能夠應(yīng)用于石油壓裂勘探領(lǐng)域. 本設(shè)計(jì)還存在極寒天氣液罐上層可能存在冰層的問(wèn)題, 會(huì)影響測(cè)量結(jié)果,下一步將繼續(xù)研究和開(kāi)發(fā).3 上位機(jī)終端監(jiān)控
4 系統(tǒng)實(shí)驗(yàn)結(jié)果與分析
5 結(jié) 論