董 萱,李 軒,張 佩
(沈陽航空航天大學電子信息工程學院,沈陽110136)
在人們日常生活和工業生產當中,有大量場合需要對各種液體的流速與流量做出測量,如自來水廠的流量測量與流速控制,石油井下注水系統對注入水量和流速的精確測量等。超聲測量在其中是不可缺少的有力手段。在眾多的超聲波測量算法中,基于時差法的測量算法是最為精確的[1]。由于超聲波傳播速度很快,順逆流的時間差較小,所以需要設計一種擁有高時間分辨率的電路來實現時間差的精確測量[2],同時解決由于超聲波多徑傳播對時差測量造成干擾的問題。
為獲得精確而穩定的時間差,選擇使用TI 公司最新推出的超聲波測量芯片組。芯片組采用TDC1000 和TDC720 這兩款芯片,分別用作超聲波測量的模擬前端(AFE)和時差測量。采用STM32F405 微控制器作為系統的主控制器,來對整個測量系統進行控制。
該測量系統以微控制器(MCU)作為控制和計算核心,由以下幾個模塊構成:電源模塊、MCU 最小系統、超聲波控制與測量模塊、溫度測量模塊、CAN總線模塊以及數據顯示與控制終端。系統的整體結構框圖如圖1 所示。

圖1 系統整體框圖
在系統中,微控制器選用的是STM32F405。該微控制器在工業控制中廣泛使用[3]。超聲波控制與測量模塊作為系統的核心,采用TI 推出的全新超聲波測量芯片組:TDC7200 和TDC1000。其中TDC1000是專門用于超聲波測量的模擬前端;TDC7200 是用于高精度測量時間差的芯片,其精度可達55ps。STM32F405 通過SPI 總線與TDC7200、TDC1000 進行通信,完成配置、測量等的任務。在測量系統中可能需要進行溫度補償,高精度溫度測量方案顯然非常必要,故采用基于MAX31865 的溫度測量方案。該芯片與微控制器也是通過SPI 接口進行通信的。
考慮到在工業現場中使用時,測量系統通常和數據顯示及控制終端是不在一起的,且相距一般較遠,因此測試系統使用CAN 總線來連接數據顯示與控制終端[4]。微控制器通過UART 來與CAN 總線模塊進行通信;CAN 模塊把UART 數據轉換為CAN總線數據傳輸給數據顯示與控制終端,以完成測量數據的顯示和控制命令的傳輸。數據顯示與控制終端初步設計為基于Windows 系統的上位機程序,電腦通過CAN 轉USB 模塊來讀取和發送CAN 總線數據,完成和測量系統的交互。
由于該系統涉及到多個物理量的測量,考慮到系統的魯棒性,采用狀態機來對整個測量系統的軟件進行構建與設計。
系統采用時差法測量流速。時差法是通過超聲波換能器發射的超聲波在順流和逆流中傳播的時間差來間接測得流體的流速。系統采用文獻[5]中的Z型安裝方式進行測量,其原理示意圖如圖2。

圖2 液體流量測量示意圖
在管道的兩側安裝有兩個超聲波換能器。兩換能器與管道不是垂直安裝,超聲波信號在換能器間的傳播路徑就是聲道。與之相關的原理公式如下:

式中,D 為管道直徑;α 為聲道與管道軸線的夾角,也是換能器與管壁的夾角;L 為聲道長度。超聲波實際的傳播速度是聲速和流體軸向平均流速的疊加,因此順、逆流的傳播時間可以表述為:

式中,V 為管道中流體的傳播速度;C 為超聲波在靜止被測流體中的流速;TBA為順流時的傳播時間;TAB為逆流時的傳播時間,因此得出流體流速V 的值:

式中,V 為流體的傳播速度。I 為超聲波換能器在管道方向上的距離,可通過直接測量得出。
在得到液體的流速后,將其乘以管道(圓形)的截面積便可得出瞬時流量體積:

S 為管道的橫截面積,D 為管道的直徑,V 為測出的流速,Qt為瞬時流量體積。設計中暫不考慮在聲道方向上流體速度不均勻的情況,因此并不對該流速值進行修正。后續研究中對流速加以修正,應能進一步提高精度。
在得到瞬時流量體積后,對時間進行積分,便可得出流量的值。由測量得到的瞬時流量體積值為離散值,因此要采用積分的數值計算算法。系統采用辛普森積分算法,積分計算公式如下:

經過對瞬時流量的數值積分, 最后可得出流量Q 的值。
超聲波測量模塊是測量系統的核心,其組成框圖如圖3 所示。

圖3 超聲波測量模塊框圖
TDC1000 負責驅動超聲波信號發送,以及處理信號接收[6]。TDC1000 和TDC7200 間的連接信號為:開始信號START、停止信號STOP、觸發信號TRIGGER。TRIGGER 信號由TDC7200 控制發送。在接收到TRIGGER 信號后,TDC1000 產生超聲波驅動信號,驅動超聲波換能器產生超聲波信號,并同時向TDC7200 發送START 信號;在接收到超聲波信號后,TDC1000 產生STOP 信號并把該信號發送給TDC7200,完成一次測量。
TDC7200 用來完成對時間差的精確測量。數據手冊中給出的測量精度為55 ps,該精度可以完成絕大多數情況下的超聲波測量任務,測量精度遠高于其他方案。該芯片完成對上述START 信號和STOP信號的時間間隔(即超聲波傳播時間)的測量。
微控制器通過SPI 來對TDC1000 和TDC7200進行配置,并且通過SPI 來對TDC7200 的時間差數據進行讀取。因此在該模塊中,微控制器是SPI 的主機,而TDC1000 和TDC7200 是從機。為了減少器件數量,TDC1000、TDC7200 和微控制器STM32 都使用同一個時鐘源,即8MHz 的晶振。
由于采用的是TI 最新的超聲波測量集成芯片組,因此外圍電路比較簡單,電路整體比較緊湊。超聲波測量模塊的電路原理圖如圖4。圖中的接口SP_A 和SP_B 是超聲波換能器的接口。在本系統中采用定制的陶瓷超聲波換能器,可以滿足工業級的性能要求[7]。

圖4 超聲波測量模塊電路原理圖
TDC1000 為雙通道的超聲波測量模擬前端,可以很方便地實現本系統中的順、逆流流速測量[8-9]。超聲波換能器A 的信號端同時連接超聲波通道1的發送和通道2 的接收;超聲波換能器B 的信號端同時連接超聲波通道2 的發送和通道1 的接收。
系統主控芯片采用意法半導體公司STM32F405系列。STM32 系列微控制器是當前工業電子領域最受歡迎的微控制器之一,在工業現場中大量使用。STM32 系列芯片具有很好的升級替代特性,無需對電路進行改變,即可更換不同的STM32 系列微控制器;STM32F4 系列的微控制器具有浮點運算單元,可以實現快速浮點運算,比較適合具有數據計算且要求高速的領域。采用該系列微控制器,也是考慮到未來功能的添加以及潛在的大量的數據計算。微控制器的最小系統原理圖如圖5。

圖5 微控制器原理圖
系統的電源設計比較簡單,是以7.4 V 的鋰電池組進行供電。電源的電壓包括3.3 V 和5 V 兩種,因此電源電路包括兩路DC-DC。本系統采用的DCDC 芯片為ASM1117。通過兩個ASM1117 芯片來獲得穩定的5 V 和3.3 V 電源。
在實際應用中,數據顯示與控制終端和測量系統可能不在同一個地方,因此考慮采用CAN 總線來連接測量系統和終端系統。由于微控制器可以很方便地使用UART 進行數據的傳輸,因此考慮使用UART 轉CAN 的芯片進行設計。CAN 總線模塊電路原理圖如圖6。
該模塊采用TJA1059 芯片。此芯片是NXP 公司推出的高速CAN 總線數據收發器,具有卓越的EMC 和ESD 特性,能夠適用于有著復雜電磁環境的工業現場;同時該芯片還具有無需阻塞電感、功耗超低等特點,完美貼合工業應用。

圖6 CAN 總線模塊原理圖
在電路設計中,保留了端接電阻的焊接位置,若通信距離比較短,該端接電阻可以不進行焊接;若通信距離較遠,可根據所用電纜的特性阻抗來焊接該電阻。本系統采用雙絞線,其特性阻抗為120 Ω,因此在距離較長的工業現場進行工作時,可以焊接120 Ω 的電阻。
系統整體程序采用狀態機來對不同的功能和流程進行構建和組織。本系統共含有以下幾個狀態:故障狀態、系統初始化、流速測量狀態、流量測量狀態、空閑狀態。狀態機的轉換示意圖如圖7。

圖7 系統整體狀態轉換
程序開始運行時,首先進入初始化狀態,對整個測量系統進行初始化,包括對TDC7200 和TDC1000的配置、MAX31865 的配置、微控制器串口的配置以及系統定時器的配置等。若配置正常完成則進入空閑狀態,等待上位機的測量指令;若配置失敗,則進入故障狀態,發送故障信號并等待上位機的指令。
空閑狀態是正常初始化后進入的第一個狀態,也是進入其他測量狀態的基礎。在空閑狀態中,測量系統并未進行任何測量操作,只是等待上位機發來相應的測量指令。上位機發來流速測量指令,則進入流速測量狀態;上位機發來流量測量指令則進入流量測量狀態。在進入到相應的測量狀態后,除非上位機發來退出指令,否則不會進入到空閑狀態。
流速測量狀態和流量測量狀態相似,只是測量和計算的量不同而已。在進入這兩個狀態后,會不停地對液體進行相應的測量。在測量中出現故障,會自動進入故障狀態;在上位機發來退出指令后,會由相應的測量狀態進入空閑狀態,等待新的指令。
故障狀態是在系統發生故障時自動進入的。在故障狀態中會對故障發生的一些信息進行上傳來告知上位機軟件,使上位機故障顯示報警;同時,會自動進行故障修復,如成功修復則進入初始化狀態,進行系統的初始化;若故障修復失敗,則等待上位機的指令。上位機可以發送強制初始化來對系統初始化,初始化成功則進入空閑狀態,等待再次測量;如初始化失敗,則系統故障,需進行檢修。
系統采用時差法來對液體的流速進行測量。該方法要求在順流方向測量一次流速,然后在逆流方向測量一次流速。測量中各信號示意圖如圖8。

圖8 流速測量過程各信號示意圖
在完成測量準備后,微控制器首先發來第一次測量信號,TDC7200 在接收到該信號后向TDC1000發送觸發信號Trigger,在TDC1000 接收到觸發信號后發出超聲波驅動信號,驅動超聲波換能器B 發出超聲波并同時產生START 信號給TDC7200;超聲波信號經過在液體中的傳播后,被超聲波換能器A 接收,這時TDC1000 產生停止信號STOP,TDC7200 接收到該停止信號,隨之TDC7200 就可以測出開始信號和停止信號間的時間間隔,即圖中的TBA。該時間為順流方向上的超聲波傳播時間。
另一個方向上的時間測量與之類似,只是發出的超聲波驅動信號換成另一個通道,發送超聲波信號換成超聲波換能器A,接收超聲波信號換成換能器B,同樣測量出一個時間間隔TAB。該時間即為逆流方向上的超聲波傳播時間。
在得出兩個方向上的超聲波傳播時間后,通過前述算法便可計算得出當前的液體流速。在得到流速數據后需進行低通濾波來對數據進行平滑處理。為了保證系統的正常運行與故障處理,增加了對接收超時的判斷。流速測量的程序流程圖如圖9 所示。
由流程圖可以看出,在對兩個方向的傳播時間進行測量時,要盡量縮短其測量間隔,以保證流速測量的精確性。并且在測量過程中要關閉所有的中斷,防止中斷流速測量過程而造成測量錯誤。
由前述流量測量算法可知,流量的測量先得到流速值,然后計算出對應的瞬時流量值,再對該值進行數值積分便可以得出流量值。流量計算程序框圖如圖10 所示。

圖9 流速測量流程圖

圖10 流量測量流程圖
在測量系統中,為了保證測量的精度,采用定時間差測量的方法[10],即每兩次流速的測量間隔為定值,該時間間隔由微控制器的定時器給出。在流量的測量中,要盡量減小該時間間隔,這樣在積分運算時的誤差會減小。但由于系統采用的是鋰電池供電,若測量太過于頻繁,系統的功耗就比較高,因此測量的時間間隔也不是越小越好。為了適應不同場合的要求,測量的時間間隔可以由上位機的系統配置來給出,以適應不同場合下的實際需要。
在超聲波測量系統中,由于超聲波在液體和管壁中傳播的速度不同,會發生多徑效應的干擾,從而造成測量數據錯誤。由于超聲波在兩者中的傳播速度相差比較明顯,因此取采用以下方法來避免影響:
首先,由于超聲波在管壁中的傳播屬于非直射傳播,在接收端接收到的信號幅度較小,因此可以從接收信號入手來解決多徑影響。通過對TDC1000 芯片中的接收可編程判決門限的設置來盡可能降低多徑的影響。適當提高該判決門限可使接收到多徑信號時不觸發,而在接收到直射超聲波信號時才觸發。多徑產生及對其的避免的示意圖如圖11。

圖11 可編程門限對多徑的消除
另外,軟件中的數據處理部分也對多徑數據進行了濾除。在可編程判決門限設置完成后,還是有一定的概率測到多徑信號,因此在軟件中也進行了數據的處理。由于在管壁的傳播速度較液體中快,而且差別較大,因此采用突變檢測濾波的方法對測量的時差數據進行處理:在每次讀取測量數據后,把該數據和歷史數據進行比較,若大于設定的突變閾值,則視為突變數據,計算時采用歷史數據來計算;否則正常采用該讀取數據進行計算[11]。
通過上述二種方法,在實際的測量系統中幾乎可以完全避免多徑數據的產生和干擾,保持測量數據的正確和平滑的特征。
系統初步采用基于Windows 上位機顯示和控制的方案,考慮到將來顯示界面可能用于其他平臺,因此基于Qt 進行程序的開發。Qt 以其優異的跨平臺特性而得到廣泛的使用。設計的顯示和控制界面實際工作界面如圖12 所示。界面包括兩個大部分:數據顯示部分和控制部分。數據顯示部分在窗口左側,數據波形顯示窗口可以實時顯示液體的流速數據;在該窗口下方對流速和流量的數值進行動態實時顯示,并有工作狀態指示標志,在正常工作時為綠色,發生故障時為紅色。

圖12 電腦端軟件界面
控制部分包括實時測量、歷史回放和系統設置三個方面。實時測量中有液體測量的一些控制命令按鈕,以完成對液體測量的控制;歷史回放部分完成對歷史保存的流量和流速數據進行回放,回放采用類似于視頻播放的形式,可以很方便地看到不同時間下液體流速、流量的動態數據,而且還可以拖動進度條,來對特定時間的數據進行觀看。以視頻播放的方式來對歷史測量數據的回放也是本系統中的一個亮點。系統設置部分完成對整個測量系統和上位機軟件的設置,包括對測量系統中測量參數、超聲波測量門限值、發送增益等的參數進行設置。
上位機軟件把測量數據以文本文檔的形式進行保存,方便不同設備上的讀取,而且還可以對測量數據進行整理和歸檔,方便數據管理。
通過對自來水的流速和流量做出測量來對系統進行測試。檢測系統采用內徑為30 mm 的管道,超聲波換能器在管道上的安裝角度為45°。測量在靜止時的流速以獲得該系統靜態測量精度。部分測試數據如表1 所示。

表1 靜止時流速測量數據
通過對比可以發現,測量數據有不同程度的跳動,基本穩定在小數點后1 位。因此可以得出結論,該系統的靜態流速測量精度至少在0.001 m/s 的級別。要得出更準確的測量精度以及動態測量數據,還需進行更精確的對照試驗。
在對流量的測量中,采用標定的方法進行測試,其試驗數據如表2。

表2 流量測量數據
通過流量測量數據可以看出,該系統的流量測量的相對精度可達0.01%的數量級。
通過上述對靜止液體流速的測量以及對標定流量的測量,可以得出結論:該綜合測量系統可以精確地測出液體的流速和流量,并且對比市面上其他的超聲波測量系統,其測量精度要更高。
在測試過程中采用200 m 的雙絞線來作為CAN 總線的物理線纜,模擬了工業現場的長距離應用。將該系統長時間運行在工作狀態下,并未出現死機或錯誤數據,驗證了該系統的可靠性。
介紹了基于TDC7200 和TDC1000 的新型高精度超聲波液體流速、流量測量系統的設計。由于采用的是基于TDC7200 和TDC1000 的全新集成方案,使超聲波測量系統的體積更小、測量精度更高,滿足了高精度、小型化的液體流速和流量測量需求。而且該系統采用CAN 總線來連接測量系統和數據顯示與控制終端,可以滿足復雜的工業現場的應用。通過實驗得到驗證,該超聲波流量綜合測量系統在工業現場使用中非常方便,并且其系統的可靠性和精確性達到設計預期,具有很高的工業實用價值。但系統還有很大的改進的空間,如對流速進行分層補償,以達到更優的精度;降低測量系統的功耗;增加溫度補償算法,以進行高精度的液體密度測量,擴展該系統的功能,有待在今后進一步研究中作出完善與提高。