董力綱,王紅亮,劉 濤
(中北大學 電子測試技術國家重點實驗室,太原 030051)
相比于孔板式、渦街式、渦輪式、電磁式等傳統流量計,超聲波流量計因其具有幾乎無壓損、無阻流部件、非接觸式,高精度、測量范圍廣等優點[1-2],廣泛應用于石油傳輸、流量跟蹤、給水、排水等領域,但其在實際應用中往往存在測量范圍不廣、測量精度不高的問題[3]。外夾式超聲波流量計的測量易受安裝誤差、管道參數、夾具、耦合劑、聲道等因素的影響,通過調研發現,在以前的流量測量儀表的設計中,硬件電路都是采用分立元件來設計,這樣會造成系統結構顯得多余,容易產生較多電路噪聲,對信號產生影響[4-5]。系統采用了高精度計時芯片TDC-GP22來進行時間計量,采用單片機結合FPGA的整體架構大大簡化了系統電路的設計,保證了系統的穩定性和可靠性。針對大管徑或流體情況復雜等造成信號衰減嚴重的情況,設計了DAC電路生成比較器基準電壓,通過靈活調節比較電路的基準電壓保證信號接收的精確性。
綜上所述,文中設計的基于時差法的外夾式液體超聲波流量測量系統具有不損壞管道、精度高、靈敏度高、響應速度快、測量范圍極廣的優點,可以為給水、排水、灌溉、石油傳輸等領域提供方便、快捷、精確的技術支持,從而推動農業,工業等儀表領域的發展。
如圖1所示,基于時差法的外夾式液體超聲流量計使用一對傳感器,它們以固定角度安裝在包含流體的管道軸線的兩側,超聲波的傳播路徑是“發射端—匹配層—管壁—流體—管壁—匹配層—接收端”。

圖1 時差法傳播示意圖
首先,發射端傳感器1發射一個脈沖,順流的流方向。然后接收端傳感器2接收到脈沖,得到順流渡越時間t1。同理,可以得到流體方向上傳感器2到1的逆流時間t2。流速是順流與逆流的時差函數,由式(1)表示:
(1)
(2)
(3)
這里的L表示超聲波傳播聲道的長度,c0表示聲速,θ表示傳感器安裝夾角,t1表示順流傳播時間,t2表示逆流傳播時間,v表示液體流速[6-7]。

圖2 超聲波流量計系統框圖
超聲波液體流量計系統框圖如圖2所示。外夾式液體超聲波流量計硬件電路采用模塊化設計方式,由控制模塊、傳感器驅動模塊、信號調理模塊、數據處理模塊、電源模塊以及計時模塊組成。
系統的工作流程為:首先單片機將測試頻率、增益范圍、門限時間和門限電壓發送給FPGA;接著FPGA將AGC的增益調到最低,將電壓比較器的輸出鎖存;驅動超聲波換能模塊發射超聲波,同時啟動計時模塊開始計時;經過一段時間后,調節AGC的增益到正常范圍,解除對電壓比較器輸出信號的鎖存,等待接收到的信號觸發電壓比較器;最后電壓比較器檢測到信號后,FPGA將計時電路停止,讀出時間信息,發送給單片機,單片機記錄本次渡越時間。
系統使用型號為XC6SLX9-2TQG144的FPGA作為主控芯片,此型號是賽靈思公司設計的一款低成本,高容量的FPGA。其強大的I/O端口和通訊接口大大簡化了外圍電路,為系統的集成和小型化提供了極大的便利。
FPGA的外圍配置電路如圖3所示。在FPGA的每一個電源引腳上面均放置一個0.1 μF的高頻去耦電容,此電容可有效防止高頻噪聲對FPGA的影響,同時,也可以有效濾除FPGA的電源引腳對外圍電路的影響。

圖3 FPGA配置電路圖
考慮到FPGA程序需要不斷地調試和更新,電路中預留了JTAG下載接口,可以使用此接口對FPGA進行在線調試和程序下載。此外,為了方便調試,設計了重新加載程序按鍵:FPGA-PROG。當此按鍵按下后,FPGA自動重置,LED燈D2亮起,指示當前FPGA內部無程序,然后FPGA重新從FLASH中讀取程序,程序加載完成后,D2熄滅,程序重新運行。
發射的超聲波信號質量是系統測量精度和測量范圍的第一影響要素,而超聲波換能器的固有性能和換能器的驅動電路共同影響了發射的超聲波信號質量。所以,不僅要選擇性能良好的超聲波換能器,更要設計一個合理的驅動電路超聲波換能器。在發射狀態下,需要的瞬態電流較高,需要的發射頻率較高,經過比對分析,系統使用MOSFET驅動器作為驅動芯片,芯片型號為TC4427CE。TC4427CE是一款MOSFET專用驅動器,內置兩路獨立驅動器。峰值輸出電流可以達到1.5 A,供電范圍4.5~18 V。其具有高達1 000 pF的電容負載驅動能力,且上升下降延時典型值為30 ns。
超聲波傳感器驅動電路如圖4所示。系統使用兩片驅動芯片對兩個超聲波換能器進行分時驅動,需要指出的是,在設計驅動模塊電路時,考慮到單個芯片電流的承載能力有限,所以采用兩個芯片交叉驅動,即U9的B通道與U10的B通道組成一對驅動電路用來驅動下方的換能器,U9的A通道與U10的A通道組成一對驅動電路用來驅動上方的換能器。這樣設計的優點是減小了單個芯片的瞬時電流,增加了驅動電路的穩定性,提高了驅動電路的驅動能力。

圖4 超聲波傳感器驅動電路
STM32F103RET6單片機是ST公司的內置 Cortex?-M3微處理器,STM32F1系列單片機的內部集成了很多的功能模塊,實現一片芯片完成多片芯片才能完成的功能,不僅縮小了產品的體積和成本,同時降低了硬件設計的復雜電路。該單片機內核運行速度高達72 MHz。它具備處理能力強、運算速度快、片內資源豐富、方便高效的開發環境等優點[8-10]。

圖5 STM32單片機外圍電路
在超聲波測量系統中,超聲波會以流體為承載體在管道中傳播。流體一方面會改變超聲波的流速,另一方面會嚴重衰減超聲波的能量,甚至在超聲波到達接收端之前將其衰弱至調理電路無法處理的程度。除了超聲波質量會影響系統整體的性能之外,超聲波接收調理電路同樣是決定系統性能的關鍵。接收調理電路要做的是將有效的超聲波信號從環境噪聲中提取出來并放大,以供后續的比較電路和計時電路進行處理。
系統采用兩級放大電路對超聲波信號進行放大。第一級使用可控增益電壓運算放大器,其具有高輸入阻抗、高共模抑制比的特點。第一級放大電路圖如圖6所示。

圖6 一級放大電路
一級放大電路的核心為MC1350放大芯片,該芯片可實現接收信號的初步放大。系統中的初級放大電路放大倍數由AGC控制電路產生的增益控制信號決定。為了減小噪聲對回波信號的影響,在放大電路輸入端特別地設計了截止頻率為100 kHz的差分高通濾波電路。第一級放大電路的輸入信號為SIG1+、SIG1-,此信號由信號切換電路提供。輸出信號為:SIG1。
AGC增益控制信號產生電路如圖7所示。在此電路中,以運算放大器LMV822為核心構成了雙路積分運算放大器,使用了三路獨立的模擬單刀雙擲開關中的兩路來控制積分電路的反相輸入端接地或者接VCC,剩余的一路開關用來同時控制兩個同向輸入端,以達到及時關斷積分過程。三路獨立的單刀雙擲開關的控制信號分別為SW1-S0、SW1-S1、SW1-S2。這三個信號由邏輯控制電路中的FPGA進行控制。

圖7 AGC控制電路
兩路積分電路的輸出分別接到一個模擬單刀雙擲開關的NC(常關)、NO(常開)上,COM(公共端)輸入到LM358的同向輸入端,由LM358將積分信號放大至足以推動MC1350的增益控制端。COM同時輸出至ADC芯片TLV2541,用來監視增益控制信號的幅度,構成閉環控制,有利于系統的穩定與溫度適應性。此電路中的MAX6064是一款電壓基準芯片,用于向ADC提供電壓采樣基準。
電流反饋運算放大器與電壓反饋運算放大器在結構上差別較大,因電流反饋運算放大器沒有基礎增益帶寬積的限制,更適用于高速信號[12]。電流反饋運算放大器與電壓反饋運算放大器具有相同的外部配置電路。系統使用了同向放大電路,為了隔絕第一級放大電路的直流信號使用了高通濾波電路。在輸入級和輸出級均放置了高通RC濾波電路,截止頻率分別為37 kHz,100 kHz。
第二級放大電路的作用是將信號放大至電壓比較器可以接受的電壓范圍,電路結構如圖8所示,其輸入信號為SIG1,由第一級放大電路提供,輸出信號為SIG2。

圖8 二級放大電路
當管徑較大、管壁較厚或者管內物質對超聲波衰減較大時,會導致接收到的信號極其微弱,而前級放大電路放大倍數不足以將原始信號達到預設的電壓,在目標電壓一定的情況下,這將導致系統測量不準確甚至測量失敗。為了使系統能夠適應大范圍管徑,設計了可調基準電壓電路,如圖9所示。其電壓基準信號由DAC提供給電壓比較器。

圖9 可調基準電壓比較電路
在系統上電后,FPGA首先讀取已設定好的管徑大小。其會根據管徑的大小來選擇合適的目標電壓基準,然后進行10次測量。在測量過程中,如果檢測到超過兩次以上沒有接收到有用信號,那么FPGA會控制DAC以1 mV的步進值增加基準電壓,直到連續十次測量均能得到準確結果為止。

圖10 計時模塊電路
當管徑較小、環境噪聲較大時,系統預設的基準電壓值遠小于經過放大后的超聲回波信號或者環境噪聲,這將會使電壓比較器提前觸發或者反復觸發,導致測量不準確或者測量失敗。在控制超聲波發射模塊不工作的情況下,FPGA會檢測電壓比較器的當前狀態,如果出現狀態翻轉或者一直處于被觸發狀態,則增大目標基準電壓,直至電壓比較器處于未觸發狀態。
傳統的超聲波流量計都是使用FPGA作為時間計量器件,通過計算系統時鐘脈沖數來獲得超聲波的渡越時間。FPGA的系統時鐘頻率一般為50 MHz或者100 MHz,這種計時方法導致了獲得的渡越時間是20 ns或者10 ns的倍數,嚴重地降低了測到的渡越時間的準確性。
為了提高對渡越時間的測量精度,系統使用專用計時芯片TDC-GP22對渡越時間進行測量。TDC-GP22與FPGA計時原理不同的地方在于,此芯片運用了門電路具有傳播延遲的特性對時間進行計量。計時開始時,觸發第一個門電路翻轉,第一個門電路的翻轉會觸發下一級的門電路翻轉,以此至級聯在一起的門電路依次有序地翻轉。當停止信號有效時,會立即停止級聯在一起的門電路翻轉,通過訪問寄存器即可得知從開始至結束已經翻轉了的門數量,進而得知測量到的時間大小。
此芯片具有兩種測量模式,模式一測量范圍3.5 ns 至2.5 μs,在單通道、數據格式為雙精度的情況下,測量精度可達±45 ps;模式二測量范圍500 ns至4 ms,在單通道、數據格式為四精度的條件下,精度可達22 ps。
計時電路模塊與FPGA之間采用四線SPI協議進行通信,此外,TDC-GP22使用一個中斷引腳來觸發FPGA訪問其內部寄存器。計時模塊電路圖如圖10所示。
計時模塊電路的開始計時信號由FPGA提供。當FPGA控制驅動模塊發射超聲波時,給計時芯片提供一個開始計時信號,計時芯片開始計時。停止信號由信號調理模塊中的電壓比較器提供,當電壓比較器識別到了有效的超聲波信號時,電壓比較器的輸出端電平翻轉,這個電平翻轉過程被計時芯片識別后,停止內部的門電路翻轉,中斷引腳觸發FPGA讀取內部寄存器。至此,一次流速測量完成,FPGA清空計時芯片內部寄存器,計時芯片等待下次觸發。
電路板使用Altium Designer設計,采用四層板結構,其中頂層和底層布設信號線,第二層是地層,第三層是電源層,電源層進行電源分割設置,分別分割為5 V、3.3 V、1.2 V、12 V。整體電路板尺寸為10 cm*10 cm。四個角上放置內徑為3 mm的定位孔供機械固定。
高精度流量計除了要具有精度高、性能穩定的硬件系統外,還需要有其配套的軟件系統。軟件系統需要處理TDC-GP22計時芯片的時間數據并轉換成流速、流量等信息,除此以外,還要完成人機交互界面、通訊等功能。主程序和數據處理程序流程如圖11所示。

圖11 主程序和數據處理流程圖
系統上電之后,首先進行初始化,然后讀取并解析相關配置信息,解析完成之后,向FPGA分別發送AGC控制信息、計時芯片配置信息以及測量周期T,其次將配置信息更新至屏幕,硬件的控制命令發送完畢,系統等待進入中斷。中斷觸發后,開始接收順流時間t1和逆流時間t2,從而計算出流速和流量,數據處理程序使用中斷進行,此中斷為內核最高優先級,可及時接收數據并運算,有利于提高系統的實時性。計算結果更新至屏幕并通過串口發送之后,清除中斷標志位,繼續等待下一個中斷。
系統使用按鍵編碼器實現管徑和測量周期的設定,編碼器檢測程序框圖如圖12所示。如果檢測到編碼器A相提前B相,則管徑S加1,否則管徑S減1;若此時有按鍵被按下,判斷編碼器A相是否提前B相,如果提前,則測量頻率H加1,否則測量頻率減1,最后將相關配置信息發送至FPGA。

圖12 編碼器輸入系統信息程序流程圖
搭建液體超聲波流量測試平臺對系統樣機進行測試,經過對多組測量數據的分析,得出超聲波流量計的使用特性,通過改進系統參數,從而提高樣機的測量精度。
實驗環境溫度約為20.3 ℃,壓強101 kPa,聲速約為1 483.2 m/s,流量計樣機和標準表的安裝角度為45°,超聲波聲道長大約為175 mm。單聲道液體超聲波流量測試平臺如圖13所示,樣機實驗測量的流體為水,平臺主要有液體輸入部分、樣機、標準表三部分組成。該裝置的運作原理為:將液體泵和整流器安裝在距離樣機10D(D為管道內徑)的位置,在液體泵的作用下將流體傳送至待測管道。液體泵工作穩定后,讀取多組標準表與樣機的測量結果。

圖13 超聲波流量測試平臺示意圖
通過靜態與動態兩種測量方式來驗證系統的測量精度。
靜態流量測量實驗是指當管道內的液體流速為零時,測量結果的離散性,是驗證超聲波流量計基礎性能的重要方法之一。在環境溫度為20.3 ℃,水中聲速約為1 483.2 m/s時,進行測量,得到結果如圖14所示。10次測量數據中的最大偏差為0.001 67 m/s,樣機測量狀態基本穩定。

圖14 靜態流速測試結果
動態流量測量實驗是指當管道內的液體具有一定的流速時,測量結果的準確性。動態測量分為層流環境和湍流環境,均在環境溫度為20.3℃,水中聲速約為1 483.2時,標準表與樣機同時進行測量,通過數據分析得出相對誤差。
由表1所示的測量結果可知,層流流速測量的相對誤差均在4%以內,相對誤差較大,系統穩定運行。分析數據可知主要有以下兩方面原因,一方面由于層流流速區的參考流速較小,相同的絕對誤差會大大的影響相對誤差,另一方面是由于層流流速區,流速在管道截面的分布很不均勻,單聲道超聲波流量計不能充分地反應管道內流體實際的流動狀態,最終導致測量誤差偏大。

表1 層流流速相對誤差
由表2的測量結果可知,在湍流流速范圍,測量結果的相對誤差均小于1%,遠小于層流流速區的相對誤差4%。通過分析可知存在兩個原因:首先,湍流區間內的流體相比于層流流體擁有更加均勻的流速分布;其次,相對誤差在求解時,湍流流速的基數較大,因此與層流相比,其相對誤差更小。

表2 湍流流速相對誤差
在上述測量環境的基礎上,更換待測管道以達到測量不同管徑的目的。使用整流器將管道內的流速固定在2 m/s。表3所示為不同管徑下的測量結果。
對表3的數據分析可知,在管徑5~100 cm時,系統均可將流速測量精度控制在3%以內。同時,隨著管徑的增加,系統測量流速精度不斷降低。通過論證與分析后得知,造成精度下降的主要原因是:1)隨著管道的增粗,管道內徑制造精度下降,管徑信息有誤差;2)隨著管徑的增加,液體中的氣泡、雜質等增多,這些因素會導致超聲波在氣泡或者雜質的表面形成雜亂的折射或者反射,影響了信號調理電路的處理與判別;3)整流器對于大管徑管道的流速控制精度下降。

表3 不同管徑下的流速測量
本文采用單片機結合FPGA的整體架構設計了基于時差法的外夾式超聲波流量檢測系統。通過搭建流量測試平臺對樣機進行多次測試,層流流速測量相對誤差在4%以內,湍流流速測量在2%以內,驗證了其獨特的DAC流量測量系統可以適應大范圍管徑的管道。該系統有較高的可靠性和精度,具有廣泛深遠的應用和研究價值。