馬瑞峰, 張丕狀
(中北大學 信息探測與處理山西省重點實驗室, 山西 太原 030051)
水力壓裂是石油開采領域重要的技術環節, 其可以有效對石油開采進行增產. 然而要使用水力壓裂技術, 需要大量存放水和胍爾膠的液罐[1]. 在作業期間, 需要現場工作人員對各個液罐的液位進行實時監測, 確保液位保持在合理范圍內, 既不缺水, 也不冒罐.
由于施工現場全部是上下兩層罐, 每層罐高2 m, 現場工作人員需要爬到罐頂, 才可以通過肉眼來觀測液位變化情況. 該作業方式存在一些問題: 首先是人員安全問題, 尤其冬天, 液罐上極易結冰, 而罐邊沿很狹窄, 只有十幾厘米, 很容易踩空; 另外, 當作業規模較大時, 例如大慶油田松原油區開采隊最多使用過56套液罐, 現場工作人員需要實時觀測每個液罐的液位狀況, 工作量極大, 而且無法做到同時監測, 經常會發生冒罐問題. 故迫切需要設計一套實時液位測量系統.
在系統實現方式上, 浮體式液位測量雖然價格低廉[2], 但是在石油勘探現場, 液罐中會存放水或者胍爾膠, 而且經常有大量泡沫浮在液面上, 無法保證長時間工作的穩定性; 雷達和激光測量雖然測量精度較高, 但是價格高昂. 超聲波液位測量具有工作可靠, 安裝簡單、 功耗較低, 傳感器小型化, 成本低, 適用范圍廣等特點, 最滿足設計需求. 使用超聲波對液位進行測量, 測量后通過無線模塊將數據發送到上位機, 上位機將數據處理后通過軟件進行展示.
通過對環境及需求的論證分析, 液位監測系統由液位監測節點和液位監測上位機界面兩部分組成. 液位監測節點實現對液位等數據的實時監測, 上位機完成對節點參數配置, 接收節點液位等實時數據, 上位機完成對節點參數的配置、 接收節點液位等監測信息, 并進行處理、 展示和報警.

圖 1 系統總體設計結構Fig.1 System overall design structure
液位監測節點主要由圖 2 所示的4個模塊構成, 分別是MCU主控模塊、 無線通信模塊、 超聲波模塊、 供電模塊.
液位監測節點首先通過MCU上電喚醒后進行初始化配置, 然后根據上位機的要求, 分為自動定時液位監測和上位機; 進行各種具體運行參數配置或者進行液位測量程序; 液位測量程序由超聲波模塊進行測量, 并由主控模塊對數據進行處理, 將有效數據通過無線通信模塊發送到上位機.

圖 2 液位監測節點框架圖Fig.2 Liquid level monitoring node frame diagram
上位機監測系統將從節點收集到的數據進行展示, 對異常值進行報警. 同時上位機可以對節點進行參數配置. 整體框架如圖 3 所示.
框架圖中參數配置包括對不同工作模式的自動喚醒時間, 目的是根據液位變化情況, 設置不同喚醒時間, 起到低功耗的目的; 通過配置液位上下線報警液位值, 實現根據不同的液位高度, 自動切換不同的工作模式, 起到提高測量效率、 降低功耗的目的; 通過配置取消上下線標志位, 完成配置不同的工作模式. 在節點數據反饋中通過無線通信模塊得到節點的地址號, 確定數據來源于哪個節點; 通過對接收數據解析得到指令類型, 判斷接收到的是哪種類型的數據; 當得到液位和電量測量類型數據時, 會在軟件界面展示具體數值, 當液位高度和電池電量異常時, 發出報警.

圖 3 上位機監測框架圖Fig.3 Host computer monitoring framework
微控制單元(MCU)作為液位監測節點的中樞, 對各個模塊進行控制, 而此工程的核心是低功耗, 所以經過對比選擇了基于ARM Cortex-M3的STM32L152芯片. 相比51單片機, STM32外圍接口豐富, 功能更加強大, 后期擴展空間大. 而在STM32眾多系列中, L系列是針對超低功耗的設計. STM32 F103在待機模式下功耗為2.1 μA. 而STM32 L152在待機模式下, 功耗只有0.29 μA. 所以根據工程需求, 選擇了STM32L152作為液位測量系統的微控制單元.
MCU在待機模式下, 可以實現最低功耗. 它依靠于Cortex-M3的深度睡眠模式. 在此模式下, 其禁用了電壓調節器. 除RTC(實時時鐘)寄存器、 RTC備份寄存器和待機電路保持供電外, 其他區域全部斷電, SRAM和寄存器內容都會丟失[3-9].
超聲波發射是由微控制單元(MCU)控制, 其通過兩個GPIO口產生兩路40 kHz的高低電平給單電源電平轉換芯片, 以增大超聲發射換能器的發射驅動電壓, 提高壓電轉換效率, 然后將輸出電平輸出到超聲波發射探頭, 產生超聲波.
超聲波接收電路由一個4相放大器和外圍電路組成, 實現對回波信號的放大、 濾波、 跟隨、 閾值比較功能. 其中第4級為閾值比較電路, 將回波信號與計算好的閾值進行比較, 把目標信號回傳到MCU的定時器中斷引腳, 來確定回波時間, 根據已知的聲速計算出被測液面距離. 其中閾值電壓是通過MCU中的DAC(數字模擬轉換器)管腳產生的.

圖 4 接收模塊示意圖Fig.4 Receiver module schematic
為了實現低功耗的目標, 在保證其他模塊正常工作的同時取消了3.3 V穩壓芯片. 當電源電壓變化時, 首先影響到芯片的參考電壓, 這時MCU中DAC管腳輸出穩定性無法保證, 所以通過以下方法解決此問題.
因為取消了穩壓源, 3.7 V電源直接為MCU供電, 所以該芯片VDD與VCC相等. MCU內部參考電壓(VREFINT)為ADC提供穩定的電壓輸出, VREFINT 內部連接到ADC的第17號輸入通道, 它可以精確監控VDD值.
閾值輸出通過STM32中的DAC輸出管腳輸出精確的電壓值. DAC根據ADC的17通道測得VREFINT(1.2V)對應的計數值, 調整DAC的輸出計數值D, 達到比較閾值不隨電源電壓改變的目的.
DAC的輸出公式為
(1)
設DAC的輸出電壓為VO; 電源電壓為VCC; DAC輸出閾值電壓為VT; ADC測得電源電壓計數值為DREF; 芯片內部參考電壓為VREFINT, 穩定在1.2 V. 因為沒有穩壓源,VREF在芯片內部與VCC信號線相連, 所以VREF=VCC
(2)
由式(1), 式(2)得

(3)
按照此算法進行編程, 驗證可穩定DAC電壓輸出值.
同時因為ADC可測得電源電壓計數值, 因此可算出電源電壓值, 去掉原來的電池測量電路.
本設計減少了芯片的同時也取消了電池測量電路, 達到了低功耗的目的.
通過現場測試, 發現環境較為復雜, 液罐擺放位置和放置上位機的儀表車位置不確定, 導致無線信號影響較大. 2.4 GHz無線模塊無法滿足現場要求, 故采用了中心頻率為433 MHz的無線模塊, 它與2.4 GHz相比, 有較強的穿透繞射能力, 不易受到復雜環境的干擾. 雖然傳輸速率不如2.4 GHz, 但完全可以滿足現場要求[10]. 在選用無線模塊型號時, 選擇超低功耗433 MHz無線模塊. MCU通過串口與其相連接, 將液位數據和電量數據發送至上位機, 使得上位機可以統一展示.
上位機由433 M數傳電臺與其連接后進行數據發送接收.
在無線組網方面, 設計每個節點使用一個固定的模塊地址. 整個網絡無線傳輸使用相同的頻率信道. 在無線傳輸方式中, 選擇了定點傳輸. 在定點傳輸的模式下, 發射模塊能將傳輸數據發送
給指定地址、 指定信道的無線模塊, 方便組網要求. 而且僅有在信號和地址都匹配的情況下, 才能接受到指定傳輸數據. 接受到的傳輸數據是透明的, 不包含信道和地址位. 這樣的好處是, 上位機可以具體配置節點設備, 而不需要將其他設備同時喚醒, 從而達到低功耗的目的. 同時可以根據不同環境的需求, 對指定節點進行指定工作模式配置, 提高工作效率.

圖 5 組網示意圖Fig.5 Network diagram
為了滿足設計要求, 實現在極低溫度下正常工作并便攜的目的, 選用耐低溫鋰電池供電. 因為電池供電為3.7 V, 超聲波發送和接收電路需要5 V供電, 所以采用電荷泵, 將3.7 V升壓至5 V.

圖 6 電源模塊電路圖Fig.6 Power module circuit diagram
為了符合項目需求, 設計了5種工作模式, 系統可以根據不同配置信息和液位情況自動切換. 這樣, 在提高工作效率的同時, 還能極大地降低功耗. 系統可以及時反饋液位數據, 防止出現冒罐和缺水風險.
該系統5種工作模式分別是: 參數設置模式、 單次查詢模式、 自動連續測試模式、 報警通知模式和長時間待機模式.
為了實現工作模式滿足實際工作需求, 設計了取消上限報警標志位和取消下限報警標志位, 上位機可通過實際情況對其進行配置. 同時上位機可以對自動連續測量模式的喚醒時間、 報警通知模式下的喚醒時間和長時間待機模式下的喚醒時間進行配置. 以上默認喚醒時間分別為90 s, 30 s, 5 min.
液罐液位情況如圖 7 所示.

圖 7 液罐示意圖Fig.7 Liquid tank schematic
1) 當標志位配置為“取消上限報警標志位=1”“取消下限報警標志位=1”時, 相當于“取消報警”. 由上位機主動定時喚醒后進行測量并發送數據, 即單次測量模式.
2) 當標志位配置為“取消上限報警標志位=0”或“取消下限報警標志位=0”時, 如果M在正常水位區域, (自動連續測量模式)測量后發送數據, 并對重要參數和水位數據進行備份, 如果液位變化較小, 則不發送, 加長下次喚醒時間到固定值; 如果M在報警區域(M>H或M 3) 當測量值小于L線, 且計數值>10時, 進入長時間待機模式. 計數值根據以下4種情況進行變化: ① 當前測量值小于L線, 且液位靜止時, 計數值加1(權重為+1); ② 當前測量值小于L線, 且液位小于上次值時, 計數值-5(權重為-5); ③ 當前測量值小于L線, 且液位大于上次值時, 計數值-1(權重為-1); ④ 當前測量值大于L線時, 計數值清零. 工作流程如圖 8 所示. 根據實際測試使用, 達到設計要求, 實現了提高工作效率, 降低功耗的目的. 圖 8 工作流程圖Fig.8 Work flow chart 終端監控是一個進行實時液位監測的軟件. 這款液位監測軟件是基于LabWindows/CVI平臺實現的, 使用C語言進行開發, 具有入門快, 操作簡潔等特點. 圖 9 終端監控設計流程圖Fig.9 Terminal monitoring design flow chart 終端監控通過無線通信與多個節點進行連接, 可以對節點進行參數配置, 同時也可接收節點回傳的液位數據, 流程圖如圖 9 所示. 在參數配置上, 為了便于管理, 可以根據實際情況, 對指定節點進行單獨參數配置, 使其工作在特定工作模式. 上位機在接收節點數據后, 可以對數據信息進行實時保存、 處理和報警反饋等操作. 在實驗現場, 對液位測量系統進行測試. 首先打開上位機串口, 通過上位機界面對節點進行參數配置, 設置在連續測量模式下喚醒時間為60 s, 在報警通知模式下喚醒時間為30 s, 長時間待機模式喚醒時間為300 s. 取消上限報警標志位和取消下限報警標志位都為0, 選擇上位機定時喚醒節點, 開始進行液位測量. 在液罐中液位不斷變化時, 工作模式自動切換, 實現喚醒時間隨液位變化而改變. 表 1 為開啟測量第10 min液位記錄值,A為上層罐,B為下層罐. 表 1 為工作30 min的液位記錄值. 表 1 罐體液位值Tab.1 Tank level value 通過實際工作測試, 節點可在現場工作環境使用一周以上. 滿足石油勘探作業周期要求. 在復雜的現場環境中, 無線傳輸正常, 沒有出現數據丟失現象. 經試驗獲得監測數據表明, 此系統液位監測結果正常, 測量精度達到1 cm, 實現了實時連續監測功能, 完成系統設計. 圖 10 測距終端及測試現場Fig.10 Ranging terminal and test site 針對目前石油勘探現場對液位實時監測不便問題, 完成基于ARM的液位實時監測系統設計,實現對液位的實時智能監控功能,達到低功耗、 耐低溫、 長時間連續測量指標,能夠應用于石油壓裂勘探領域. 本設計還存在極寒天氣液罐上層可能存在冰層的問題, 會影響測量結果,下一步將繼續研究和開發.
3 上位機終端監控

4 系統實驗結果與分析


5 結 論