奚宇晗,張從鵬,楊正富
(北方工業大學機械與材料工程學院,北京 100144)
在水體測量方面,通常在所測水體附近設置一個細長豎管,使用連通管將豎管和所測水體連接起來,所測水體的水位與豎管中液位相同,只要測出管中液位即可求出所測水體中的液位。
目前常用的液位測量儀器中,浮子式液位計和壓力感應式液位計屬于接觸式液位計,其測量元件需要直接與被測液體接觸,容易受到水質影響,且不適用于帶有腐蝕的液體;射線式液位計的信號衰減和能量損失較快,且具有一定的輻射;超聲波液位計和雷達液位計一般有5°~10°的發射束角,較大的發射束角限制了其安裝環境。特別是在細長豎管內進行長距離測量時,波束角范圍內的管壁會形成大量雜波信號,如果增大發射功率來保證回波強度,雜波信號也會同樣增強,影響其正常使用[1]。
激光的頻率和不同溫度下的波速較為穩定,基本不會受到不同外界自然氣候氣象條件等環境因素的波動干擾;激光發射頭和激光接收管體積較小,適用于狹窄管道。同時,在管道中進行測量時,環境光對脈沖激光接收影響極小,基本可以忽略其影響,且激光束集中、波束角小,更適合細長豎管內進行較長距離的液位測量。
本系統采用的測液位原理為激光脈沖法,對于脈沖法激光測距而言,距離的測量本質上可以轉化為對時間的測量,最重要的就是對激光往返飛行時間進行精確測量,以保證距離測量的精確性。
測距示意圖如圖1所示。通過連通管保證水位井和渠道中水位相同,激光發射器發射的激光直射反光浮子并反射回到激光接收器,測出激光飛行時間T,根據光速C,可知激光測距系統與反光浮子之間的距離S=CT/2,再根據安裝高度L,即可求出當前水位H=L-S。

圖1 液位測量示意圖
系統總體硬件框圖如圖2所示。系統以STM32F103 CBT6單片機為控制核心,并使用TDC-GP22芯片進行激光飛行時間的測量。TDC電路Fire管腳控制驅動電路發射脈沖激光信號,并由Stop管腳接收回波信號。根據收發信號之間的時間間隔來計算激光的往返時間,再由單片機計算出對應的水位高度。開關驅動電路可以提供足夠的功率,激光在管道中即便有一定的衰減,也有足夠強度的回波信號返回接收端。在將返回的激光信號轉換成電信號后,通過信號處理電路對其進行濾波放大,以此觸發TDC 電路的終止計時。

圖2 系統硬件結構框圖
TDC-GP22芯片的時間測量單元以時間數字轉換器(TDC)為核心,其最大的測量精度由外部的信號通過邏輯門的頻率和時間所決定[2]。TDC-GP22在模式一下時間測量的分辨率可達到45 ps。
在本設計中僅使用Stop1通道對時間間隔進行測量;其中,Stop1引腳連接發射端,Start引腳連接接收端。引腳9至引腳13與單片機相連,其中4個引腳為SPI協議控制,另一個為中斷反饋引腳RSIN。PT1與PT2兩個引腳分別連接2個PT-1000溫度傳感器,用以輔助監測管道內溫度。
在激光信號的發送方面,TDC-GP22芯片自帶的高頻脈沖信號發生器系統可產生200 kHz的脈沖信號,但由于其產生的200 kHz方波信號的電壓峰峰值為3.3 V,驅動電流大約為96 mA,電壓不足以至于不能滿足激光發射器的正常工作條件,驅動能力無法滿足本設計的需求。為此選用了高品質的6引腳SOT23封裝的開關芯片MAX4644,在保證200 kHz方波信號的同時為激光發射器提供所需的工作電壓。
在接收處理方面,由于光電探測器探測轉化得來的電信號幅值較小,其中還夾雜著大量雜波信號,不足以直接被TDC-GP22芯片接收并處理。因此設計帶通濾波電路對信號進行濾波和放大,以供TDC-GP22芯片接收。在本設計中,濾波放大使用的是OPA2350UA型運算放大器。回波信號的處理電路如圖3所示。

圖3 帶通濾波電路原理圖
硬件系統中還包含最小系統模塊、線性電源模塊、輔助溫度檢測模塊和RS485串口通信模塊,由于篇幅限制在此不做贅述。
系統測量過程通過以下步驟實現:首先由STM32主芯片對TDC-GP22芯片進行配置并下達運行指令,TDCGP22接收到測量指令后發出方波信號給發射端,經過開關電路和激光發射器完成激光發射工作;接收端將接收到的光信號轉換成電信號,并進行濾波處理后傳遞給計時芯片,測算出激光在發射和接收之間的飛行時間,完成硬件的測量部分;MCU通過算法計算獲得水位數據,并通過485通信傳遞給上位機。測量程序的流程圖如圖4所示。

圖4 測量程序流程圖
為了對數據進行降噪處理,本設計中采用平均值法濾波的方式進行濾波處理。計時開始時建立一個10位的數組,將每次測量得到的數據給數組中的一個元素賦值。完成10次計時后利用排序法找到這10個數當中的最大值和最小值并將其排除[3],再對剩下的數組求平均值,將該平均值作為處理后的時間數據用以計算液位高度。
由于條件所限,該液位測量系統的測試工作在實驗室內進行,實驗現場如圖5所示。將反光浮子投入不銹鋼豎管內,再將激光液位計的位置固定在管道頂端,激光的測量光斑對準內側的反光浮子。再將不銹鋼豎管嵌套進較粗的外側標定有高度數值的亞克力透明管道內,根據大氣連通原理,亞克力透明管道的水位即為不銹鋼豎管內的水位。

圖5 實驗現場圖
實驗中使用卷尺標定,精確度為1 mm 的管道,水位從0.6 m處開始增加,每次注水使水位上升0.05 m,共測量19組數據,測量得到的數據如表1所示。

表1 水位測量實驗測量數據表 m
標準差公式如式(1)所示。

將測量的數據量n、實測距離xi和實際距離xˉ代入式(1),可得標準差S1=˙0.0080 m;將測量的數據量n、實測間距xi和實際間距xˉ代入式(1),可得標準差S2=˙0.0058 m。
該數據結果表明該型激光液位計的測量穩定性能較高,且絕對誤差<15 mm,量程10 m的情況下相對誤差保持在0.3%以下,符合設計要求。
在系統中,外界環境、硬件電路的性能、傳播過程中的延時、軟件的算法都會對測量產生影響[4]。方波信號從TDC-GP22的FIRE_UP引腳產生后,需要經過開關電路、激光收發電路及濾波電路才能回到計時芯片,得到的時間值略大于激光的飛行時間,這部分誤差僅能通過數據對比盡可能減小,無法徹底消除。
本文利用高性價比、低功耗的STM32作為處理器,結合TDC-GP22數字轉換芯片測量激光飛行時間以測量水位高度。本設計更適用于在地形狹窄、水質較差、懸浮物和氣泡較多的管道內測量激光飛行時間,并通過計算轉換為渠道內水位高度。綜上,該脈沖激光液位計具有較高的環境適應性、精度和穩定性,符合設計要求。