董 萱,李 軒,張 佩
(沈陽航空航天大學電子信息工程學院,沈陽110136)
在人們日常生活和工業(yè)生產當中,有大量場合需要對各種液體的流速與流量做出測量,如自來水廠的流量測量與流速控制,石油井下注水系統(tǒng)對注入水量和流速的精確測量等。超聲測量在其中是不可缺少的有力手段。在眾多的超聲波測量算法中,基于時差法的測量算法是最為精確的[1]。由于超聲波傳播速度很快,順逆流的時間差較小,所以需要設計一種擁有高時間分辨率的電路來實現(xiàn)時間差的精確測量[2],同時解決由于超聲波多徑傳播對時差測量造成干擾的問題。
為獲得精確而穩(wěn)定的時間差,選擇使用TI 公司最新推出的超聲波測量芯片組。芯片組采用TDC1000 和TDC720 這兩款芯片,分別用作超聲波測量的模擬前端(AFE)和時差測量。采用STM32F405 微控制器作為系統(tǒng)的主控制器,來對整個測量系統(tǒng)進行控制。
該測量系統(tǒng)以微控制器(MCU)作為控制和計算核心,由以下幾個模塊構成:電源模塊、MCU 最小系統(tǒng)、超聲波控制與測量模塊、溫度測量模塊、CAN總線模塊以及數(shù)據顯示與控制終端。系統(tǒng)的整體結構框圖如圖1 所示。
圖1 系統(tǒng)整體框圖
在系統(tǒng)中,微控制器選用的是STM32F405。該微控制器在工業(yè)控制中廣泛使用[3]。超聲波控制與測量模塊作為系統(tǒng)的核心,采用TI 推出的全新超聲波測量芯片組:TDC7200 和TDC1000。其中TDC1000是專門用于超聲波測量的模擬前端;TDC7200 是用于高精度測量時間差的芯片,其精度可達55ps。STM32F405 通過SPI 總線與TDC7200、TDC1000 進行通信,完成配置、測量等的任務。在測量系統(tǒng)中可能需要進行溫度補償,高精度溫度測量方案顯然非常必要,故采用基于MAX31865 的溫度測量方案。該芯片與微控制器也是通過SPI 接口進行通信的。
考慮到在工業(yè)現(xiàn)場中使用時,測量系統(tǒng)通常和數(shù)據顯示及控制終端是不在一起的,且相距一般較遠,因此測試系統(tǒng)使用CAN 總線來連接數(shù)據顯示與控制終端[4]。微控制器通過UART 來與CAN 總線模塊進行通信;CAN 模塊把UART 數(shù)據轉換為CAN總線數(shù)據傳輸給數(shù)據顯示與控制終端,以完成測量數(shù)據的顯示和控制命令的傳輸。數(shù)據顯示與控制終端初步設計為基于Windows 系統(tǒng)的上位機程序,電腦通過CAN 轉USB 模塊來讀取和發(fā)送CAN 總線數(shù)據,完成和測量系統(tǒng)的交互。
由于該系統(tǒng)涉及到多個物理量的測量,考慮到系統(tǒng)的魯棒性,采用狀態(tài)機來對整個測量系統(tǒng)的軟件進行構建與設計。
系統(tǒng)采用時差法測量流速。時差法是通過超聲波換能器發(fā)射的超聲波在順流和逆流中傳播的時間差來間接測得流體的流速。系統(tǒng)采用文獻[5]中的Z型安裝方式進行測量,其原理示意圖如圖2。
圖2 液體流量測量示意圖
在管道的兩側安裝有兩個超聲波換能器。兩換能器與管道不是垂直安裝,超聲波信號在換能器間的傳播路徑就是聲道。與之相關的原理公式如下:
式中,D 為管道直徑;α 為聲道與管道軸線的夾角,也是換能器與管壁的夾角;L 為聲道長度。超聲波實際的傳播速度是聲速和流體軸向平均流速的疊加,因此順、逆流的傳播時間可以表述為:
式中,V 為管道中流體的傳播速度;C 為超聲波在靜止被測流體中的流速;TBA為順流時的傳播時間;TAB為逆流時的傳播時間,因此得出流體流速V 的值:
式中,V 為流體的傳播速度。I 為超聲波換能器在管道方向上的距離,可通過直接測量得出。
在得到液體的流速后,將其乘以管道(圓形)的截面積便可得出瞬時流量體積:
S 為管道的橫截面積,D 為管道的直徑,V 為測出的流速,Qt為瞬時流量體積。設計中暫不考慮在聲道方向上流體速度不均勻的情況,因此并不對該流速值進行修正。后續(xù)研究中對流速加以修正,應能進一步提高精度。
在得到瞬時流量體積后,對時間進行積分,便可得出流量的值。由測量得到的瞬時流量體積值為離散值,因此要采用積分的數(shù)值計算算法。系統(tǒng)采用辛普森積分算法,積分計算公式如下:
經過對瞬時流量的數(shù)值積分, 最后可得出流量Q 的值。
超聲波測量模塊是測量系統(tǒng)的核心,其組成框圖如圖3 所示。
圖3 超聲波測量模塊框圖
TDC1000 負責驅動超聲波信號發(fā)送,以及處理信號接收[6]。TDC1000 和TDC7200 間的連接信號為:開始信號START、停止信號STOP、觸發(fā)信號TRIGGER。TRIGGER 信號由TDC7200 控制發(fā)送。在接收到TRIGGER 信號后,TDC1000 產生超聲波驅動信號,驅動超聲波換能器產生超聲波信號,并同時向TDC7200 發(fā)送START 信號;在接收到超聲波信號后,TDC1000 產生STOP 信號并把該信號發(fā)送給TDC7200,完成一次測量。
TDC7200 用來完成對時間差的精確測量。數(shù)據手冊中給出的測量精度為55 ps,該精度可以完成絕大多數(shù)情況下的超聲波測量任務,測量精度遠高于其他方案。該芯片完成對上述START 信號和STOP信號的時間間隔(即超聲波傳播時間)的測量。
微控制器通過SPI 來對TDC1000 和TDC7200進行配置,并且通過SPI 來對TDC7200 的時間差數(shù)據進行讀取。因此在該模塊中,微控制器是SPI 的主機,而TDC1000 和TDC7200 是從機。為了減少器件數(shù)量,TDC1000、TDC7200 和微控制器STM32 都使用同一個時鐘源,即8MHz 的晶振。
由于采用的是TI 最新的超聲波測量集成芯片組,因此外圍電路比較簡單,電路整體比較緊湊。超聲波測量模塊的電路原理圖如圖4。圖中的接口SP_A 和SP_B 是超聲波換能器的接口。在本系統(tǒng)中采用定制的陶瓷超聲波換能器,可以滿足工業(yè)級的性能要求[7]。
圖4 超聲波測量模塊電路原理圖
TDC1000 為雙通道的超聲波測量模擬前端,可以很方便地實現(xiàn)本系統(tǒng)中的順、逆流流速測量[8-9]。超聲波換能器A 的信號端同時連接超聲波通道1的發(fā)送和通道2 的接收;超聲波換能器B 的信號端同時連接超聲波通道2 的發(fā)送和通道1 的接收。
系統(tǒng)主控芯片采用意法半導體公司STM32F405系列。STM32 系列微控制器是當前工業(yè)電子領域最受歡迎的微控制器之一,在工業(yè)現(xiàn)場中大量使用。STM32 系列芯片具有很好的升級替代特性,無需對電路進行改變,即可更換不同的STM32 系列微控制器;STM32F4 系列的微控制器具有浮點運算單元,可以實現(xiàn)快速浮點運算,比較適合具有數(shù)據計算且要求高速的領域。采用該系列微控制器,也是考慮到未來功能的添加以及潛在的大量的數(shù)據計算。微控制器的最小系統(tǒng)原理圖如圖5。
圖5 微控制器原理圖
系統(tǒng)的電源設計比較簡單,是以7.4 V 的鋰電池組進行供電。電源的電壓包括3.3 V 和5 V 兩種,因此電源電路包括兩路DC-DC。本系統(tǒng)采用的DCDC 芯片為ASM1117。通過兩個ASM1117 芯片來獲得穩(wěn)定的5 V 和3.3 V 電源。
在實際應用中,數(shù)據顯示與控制終端和測量系統(tǒng)可能不在同一個地方,因此考慮采用CAN 總線來連接測量系統(tǒng)和終端系統(tǒng)。由于微控制器可以很方便地使用UART 進行數(shù)據的傳輸,因此考慮使用UART 轉CAN 的芯片進行設計。CAN 總線模塊電路原理圖如圖6。
該模塊采用TJA1059 芯片。此芯片是NXP 公司推出的高速CAN 總線數(shù)據收發(fā)器,具有卓越的EMC 和ESD 特性,能夠適用于有著復雜電磁環(huán)境的工業(yè)現(xiàn)場;同時該芯片還具有無需阻塞電感、功耗超低等特點,完美貼合工業(yè)應用。
圖6 CAN 總線模塊原理圖
在電路設計中,保留了端接電阻的焊接位置,若通信距離比較短,該端接電阻可以不進行焊接;若通信距離較遠,可根據所用電纜的特性阻抗來焊接該電阻。本系統(tǒng)采用雙絞線,其特性阻抗為120 Ω,因此在距離較長的工業(yè)現(xiàn)場進行工作時,可以焊接120 Ω 的電阻。
系統(tǒng)整體程序采用狀態(tài)機來對不同的功能和流程進行構建和組織。本系統(tǒng)共含有以下幾個狀態(tài):故障狀態(tài)、系統(tǒng)初始化、流速測量狀態(tài)、流量測量狀態(tài)、空閑狀態(tài)。狀態(tài)機的轉換示意圖如圖7。
圖7 系統(tǒng)整體狀態(tài)轉換
程序開始運行時,首先進入初始化狀態(tài),對整個測量系統(tǒng)進行初始化,包括對TDC7200 和TDC1000的配置、MAX31865 的配置、微控制器串口的配置以及系統(tǒng)定時器的配置等。若配置正常完成則進入空閑狀態(tài),等待上位機的測量指令;若配置失敗,則進入故障狀態(tài),發(fā)送故障信號并等待上位機的指令。
空閑狀態(tài)是正常初始化后進入的第一個狀態(tài),也是進入其他測量狀態(tài)的基礎。在空閑狀態(tài)中,測量系統(tǒng)并未進行任何測量操作,只是等待上位機發(fā)來相應的測量指令。上位機發(fā)來流速測量指令,則進入流速測量狀態(tài);上位機發(fā)來流量測量指令則進入流量測量狀態(tài)。在進入到相應的測量狀態(tài)后,除非上位機發(fā)來退出指令,否則不會進入到空閑狀態(tài)。
流速測量狀態(tài)和流量測量狀態(tài)相似,只是測量和計算的量不同而已。在進入這兩個狀態(tài)后,會不停地對液體進行相應的測量。在測量中出現(xiàn)故障,會自動進入故障狀態(tài);在上位機發(fā)來退出指令后,會由相應的測量狀態(tài)進入空閑狀態(tài),等待新的指令。
故障狀態(tài)是在系統(tǒng)發(fā)生故障時自動進入的。在故障狀態(tài)中會對故障發(fā)生的一些信息進行上傳來告知上位機軟件,使上位機故障顯示報警;同時,會自動進行故障修復,如成功修復則進入初始化狀態(tài),進行系統(tǒng)的初始化;若故障修復失敗,則等待上位機的指令。上位機可以發(fā)送強制初始化來對系統(tǒng)初始化,初始化成功則進入空閑狀態(tài),等待再次測量;如初始化失敗,則系統(tǒng)故障,需進行檢修。
系統(tǒng)采用時差法來對液體的流速進行測量。該方法要求在順流方向測量一次流速,然后在逆流方向測量一次流速。測量中各信號示意圖如圖8。
圖8 流速測量過程各信號示意圖
在完成測量準備后,微控制器首先發(fā)來第一次測量信號,TDC7200 在接收到該信號后向TDC1000發(fā)送觸發(fā)信號Trigger,在TDC1000 接收到觸發(fā)信號后發(fā)出超聲波驅動信號,驅動超聲波換能器B 發(fā)出超聲波并同時產生START 信號給TDC7200;超聲波信號經過在液體中的傳播后,被超聲波換能器A 接收,這時TDC1000 產生停止信號STOP,TDC7200 接收到該停止信號,隨之TDC7200 就可以測出開始信號和停止信號間的時間間隔,即圖中的TBA。該時間為順流方向上的超聲波傳播時間。
另一個方向上的時間測量與之類似,只是發(fā)出的超聲波驅動信號換成另一個通道,發(fā)送超聲波信號換成超聲波換能器A,接收超聲波信號換成換能器B,同樣測量出一個時間間隔TAB。該時間即為逆流方向上的超聲波傳播時間。
在得出兩個方向上的超聲波傳播時間后,通過前述算法便可計算得出當前的液體流速。在得到流速數(shù)據后需進行低通濾波來對數(shù)據進行平滑處理。為了保證系統(tǒng)的正常運行與故障處理,增加了對接收超時的判斷。流速測量的程序流程圖如圖9 所示。
由流程圖可以看出,在對兩個方向的傳播時間進行測量時,要盡量縮短其測量間隔,以保證流速測量的精確性。并且在測量過程中要關閉所有的中斷,防止中斷流速測量過程而造成測量錯誤。
由前述流量測量算法可知,流量的測量先得到流速值,然后計算出對應的瞬時流量值,再對該值進行數(shù)值積分便可以得出流量值。流量計算程序框圖如圖10 所示。
圖9 流速測量流程圖
圖10 流量測量流程圖
在測量系統(tǒng)中,為了保證測量的精度,采用定時間差測量的方法[10],即每兩次流速的測量間隔為定值,該時間間隔由微控制器的定時器給出。在流量的測量中,要盡量減小該時間間隔,這樣在積分運算時的誤差會減小。但由于系統(tǒng)采用的是鋰電池供電,若測量太過于頻繁,系統(tǒng)的功耗就比較高,因此測量的時間間隔也不是越小越好。為了適應不同場合的要求,測量的時間間隔可以由上位機的系統(tǒng)配置來給出,以適應不同場合下的實際需要。
在超聲波測量系統(tǒng)中,由于超聲波在液體和管壁中傳播的速度不同,會發(fā)生多徑效應的干擾,從而造成測量數(shù)據錯誤。由于超聲波在兩者中的傳播速度相差比較明顯,因此取采用以下方法來避免影響:
首先,由于超聲波在管壁中的傳播屬于非直射傳播,在接收端接收到的信號幅度較小,因此可以從接收信號入手來解決多徑影響。通過對TDC1000 芯片中的接收可編程判決門限的設置來盡可能降低多徑的影響。適當提高該判決門限可使接收到多徑信號時不觸發(fā),而在接收到直射超聲波信號時才觸發(fā)。多徑產生及對其的避免的示意圖如圖11。
圖11 可編程門限對多徑的消除
另外,軟件中的數(shù)據處理部分也對多徑數(shù)據進行了濾除。在可編程判決門限設置完成后,還是有一定的概率測到多徑信號,因此在軟件中也進行了數(shù)據的處理。由于在管壁的傳播速度較液體中快,而且差別較大,因此采用突變檢測濾波的方法對測量的時差數(shù)據進行處理:在每次讀取測量數(shù)據后,把該數(shù)據和歷史數(shù)據進行比較,若大于設定的突變閾值,則視為突變數(shù)據,計算時采用歷史數(shù)據來計算;否則正常采用該讀取數(shù)據進行計算[11]。
通過上述二種方法,在實際的測量系統(tǒng)中幾乎可以完全避免多徑數(shù)據的產生和干擾,保持測量數(shù)據的正確和平滑的特征。
系統(tǒng)初步采用基于Windows 上位機顯示和控制的方案,考慮到將來顯示界面可能用于其他平臺,因此基于Qt 進行程序的開發(fā)。Qt 以其優(yōu)異的跨平臺特性而得到廣泛的使用。設計的顯示和控制界面實際工作界面如圖12 所示。界面包括兩個大部分:數(shù)據顯示部分和控制部分。數(shù)據顯示部分在窗口左側,數(shù)據波形顯示窗口可以實時顯示液體的流速數(shù)據;在該窗口下方對流速和流量的數(shù)值進行動態(tài)實時顯示,并有工作狀態(tài)指示標志,在正常工作時為綠色,發(fā)生故障時為紅色。
圖12 電腦端軟件界面
控制部分包括實時測量、歷史回放和系統(tǒng)設置三個方面。實時測量中有液體測量的一些控制命令按鈕,以完成對液體測量的控制;歷史回放部分完成對歷史保存的流量和流速數(shù)據進行回放,回放采用類似于視頻播放的形式,可以很方便地看到不同時間下液體流速、流量的動態(tài)數(shù)據,而且還可以拖動進度條,來對特定時間的數(shù)據進行觀看。以視頻播放的方式來對歷史測量數(shù)據的回放也是本系統(tǒng)中的一個亮點。系統(tǒng)設置部分完成對整個測量系統(tǒng)和上位機軟件的設置,包括對測量系統(tǒng)中測量參數(shù)、超聲波測量門限值、發(fā)送增益等的參數(shù)進行設置。
上位機軟件把測量數(shù)據以文本文檔的形式進行保存,方便不同設備上的讀取,而且還可以對測量數(shù)據進行整理和歸檔,方便數(shù)據管理。
通過對自來水的流速和流量做出測量來對系統(tǒng)進行測試。檢測系統(tǒng)采用內徑為30 mm 的管道,超聲波換能器在管道上的安裝角度為45°。測量在靜止時的流速以獲得該系統(tǒng)靜態(tài)測量精度。部分測試數(shù)據如表1 所示。
表1 靜止時流速測量數(shù)據
通過對比可以發(fā)現(xiàn),測量數(shù)據有不同程度的跳動,基本穩(wěn)定在小數(shù)點后1 位。因此可以得出結論,該系統(tǒng)的靜態(tài)流速測量精度至少在0.001 m/s 的級別。要得出更準確的測量精度以及動態(tài)測量數(shù)據,還需進行更精確的對照試驗。
在對流量的測量中,采用標定的方法進行測試,其試驗數(shù)據如表2。
表2 流量測量數(shù)據
通過流量測量數(shù)據可以看出,該系統(tǒng)的流量測量的相對精度可達0.01%的數(shù)量級。
通過上述對靜止液體流速的測量以及對標定流量的測量,可以得出結論:該綜合測量系統(tǒng)可以精確地測出液體的流速和流量,并且對比市面上其他的超聲波測量系統(tǒng),其測量精度要更高。
在測試過程中采用200 m 的雙絞線來作為CAN 總線的物理線纜,模擬了工業(yè)現(xiàn)場的長距離應用。將該系統(tǒng)長時間運行在工作狀態(tài)下,并未出現(xiàn)死機或錯誤數(shù)據,驗證了該系統(tǒng)的可靠性。
介紹了基于TDC7200 和TDC1000 的新型高精度超聲波液體流速、流量測量系統(tǒng)的設計。由于采用的是基于TDC7200 和TDC1000 的全新集成方案,使超聲波測量系統(tǒng)的體積更小、測量精度更高,滿足了高精度、小型化的液體流速和流量測量需求。而且該系統(tǒng)采用CAN 總線來連接測量系統(tǒng)和數(shù)據顯示與控制終端,可以滿足復雜的工業(yè)現(xiàn)場的應用。通過實驗得到驗證,該超聲波流量綜合測量系統(tǒng)在工業(yè)現(xiàn)場使用中非常方便,并且其系統(tǒng)的可靠性和精確性達到設計預期,具有很高的工業(yè)實用價值。但系統(tǒng)還有很大的改進的空間,如對流速進行分層補償,以達到更優(yōu)的精度;降低測量系統(tǒng)的功耗;增加溫度補償算法,以進行高精度的液體密度測量,擴展該系統(tǒng)的功能,有待在今后進一步研究中作出完善與提高。