劉 健,李思穎
(1.華北理工大學(xué) 人工智能學(xué)院,河北 唐山 063210;2.河北唐山一中,河北 唐山 063000)
流體流量的計(jì)量方法很多,常用的包括壓差法、熱式法、多普勒法、時(shí)差法等。利用超聲波測(cè)量液體和氣體的流量有很多優(yōu)點(diǎn),如幾乎不影響流速,對(duì)管徑的適應(yīng)性強(qiáng)等[1]。時(shí)差法超聲波流量計(jì)通過測(cè)量超聲波在流體中順流、逆流傳播的時(shí)差來計(jì)算流量。目前,時(shí)差法超聲波流量計(jì)多采用在發(fā)射超聲波后檢測(cè)接收信號(hào)某個(gè)過零點(diǎn)的出現(xiàn)時(shí)刻,進(jìn)而計(jì)算時(shí)差及流量,但由于接收信號(hào)被利用到的信息量過少,因而計(jì)量精度低,且抗干擾能力差[2]。本文給出了一種時(shí)差法超聲波流量計(jì)的實(shí)現(xiàn)方法,利用數(shù)字信號(hào)處理技術(shù)提高了時(shí)差的計(jì)算精度,從而提高了流量計(jì)量的精度。
時(shí)差法超聲波流量計(jì)量即把超聲波傳感器相對(duì)安裝在流體的上游和下游,如圖1。上游傳感器UP發(fā)射超聲波,下游傳感器DN接收,算出傳播時(shí)間t1;再切換成DN發(fā)射,UP接收,算出t2;則可求出時(shí)差Δt。由于時(shí)差和流速成正比,故可算出流速,進(jìn)而得到流量[3]。時(shí)差法超聲波流量計(jì)量可用于液體、氣體流量計(jì)量,本文限于對(duì)液體計(jì)量進(jìn)行討論。
圖1 時(shí)差法超聲波流量計(jì)傳感器安裝圖Fig.1 Installation of TDOA ultrasonic flowmeter sensor
設(shè)管道的內(nèi)徑為D,流體中超聲波的聲速為v0,流體流速為v,超聲波傳感器軸線與流體流速的夾角為α,超聲波傳播路徑為L(zhǎng)(L = D/ sinα),由此可得
由式(1)、式(2)可得
因此,時(shí)差法流量計(jì)量核心在于精確算出Δt。精度的高低決定于超聲波發(fā)射/接收電路的設(shè)計(jì)以及算法。
本文所述的超聲波流量計(jì)型號(hào)為KH-5,電路結(jié)構(gòu)如圖2。MCU(微控制器)作為控制/計(jì)算中心,采用ARM7TDMI體系結(jié)構(gòu)的LPC2214。上游傳感器UP和下游傳感器DN在MCU的控制下交替發(fā)射/接收,接收到的信號(hào)的幅值被增益調(diào)節(jié)電路放大到適當(dāng)?shù)姆秶?,再?jīng)偏置放大電路調(diào)理到ADC(模數(shù)轉(zhuǎn)換器)的信號(hào)輸入范圍。信號(hào)由LPC2214內(nèi)置的ADC采集后,通過時(shí)差數(shù)字算法可以得到精確時(shí)差,后再算出流速。除最小系統(tǒng)外,為MCU擴(kuò)展了256K的16位外部RAM,可利用按鍵陣列和LCD顯示器進(jìn)行人機(jī)交互,并外接了RS485接口及電流環(huán)接口以進(jìn)行數(shù)據(jù)傳輸。
圖2 KH-5型超聲波流量計(jì)電路結(jié)構(gòu)圖Fig.2 Circuit structure of KH-5 ultrasonic flowmeter
為上/下游傳感器各配備了一套發(fā)射/接收電路,超聲波傳感器的諧振頻率為1MHz,如圖3。當(dāng)上游發(fā)射/下游接收時(shí),MCU發(fā)出1MHz脈沖信號(hào)(脈沖數(shù)量可設(shè)定)至功率MOSFET驅(qū)動(dòng)器TC4427的輸入端,輸出經(jīng)場(chǎng)效應(yīng)管IRFZ44N放大電路后,利用變壓器及二極管(D7、D10)/(D9、D2)的交替導(dǎo)通,把單向脈沖轉(zhuǎn)換為正負(fù)交變的脈沖加到發(fā)射傳感器UP上[4]。震蕩產(chǎn)生的超聲波在液體內(nèi)正程傳播,被接收傳感器DN接收后轉(zhuǎn)換成電信號(hào),由D8等二極管實(shí)現(xiàn)電壓保護(hù),信號(hào)經(jīng)電壓跟隨器后輸出。當(dāng)下游發(fā)射/上游接收時(shí),過程相反,信號(hào)在液體內(nèi)逆程傳播。接收電路輸出的為微弱電信號(hào),需經(jīng)過進(jìn)一步的放大處理。
圖3 上游傳感器發(fā)射/接收電路Fig.3 Upstream sensor transmitting/receiving circuit
由MCU控制多路模擬開關(guān)把接收到的信號(hào)傳遞至增益調(diào)節(jié)電路,如圖4。模擬開關(guān)采用DG411,內(nèi)置4路獨(dú)立可設(shè)置的開關(guān),UP_OUT+、UP_OUT-由UP_EN控制,DN_OUT+、DN_OUT-由DN_EN控制。輸出信號(hào)經(jīng)濾波電路后接到MC1350D的輸入端,MC1350D為增益可調(diào)的放大器,差分輸入/輸出,放大倍數(shù)由5號(hào)引腳Agc的模擬電壓值來控制。由于當(dāng)管徑等參數(shù)變化時(shí),接收到的信號(hào)強(qiáng)弱會(huì)發(fā)生變化,故需調(diào)整MC1350D的放大倍數(shù),以保證當(dāng)接收信號(hào)幅值變化時(shí)輸出信號(hào)的幅值基本不變,這樣便于后續(xù)算法中的閾值設(shè)定等操作[5]。運(yùn)行時(shí),MCU根據(jù)ADC采集信號(hào)的幅值,控制數(shù)模轉(zhuǎn)換器TLC5613輸出模擬信號(hào),動(dòng)態(tài)地調(diào)整Agc的模擬電壓,以保持輸出信號(hào)的穩(wěn)定。MC1350D的輸出經(jīng)放大及偏置處理后變化范圍在(0~3.3)V,由LPC2214內(nèi)置的ADC轉(zhuǎn)換后得到接收信號(hào)的數(shù)字量以進(jìn)行運(yùn)算。
圖4 增益調(diào)節(jié)電路Fig.4 Gain adjustment circuit
接收到的信號(hào)為幅值變化的正弦波,把正、逆程信號(hào)的數(shù)字量數(shù)據(jù)集記為x+、x-。理論上應(yīng)把數(shù)據(jù)集x+中第1峰的起振點(diǎn)作為接收信號(hào)波形的起點(diǎn),但由于第1峰過于微弱且傳輸存在干擾,故難以確定。應(yīng)用上一般先找到某個(gè)幅值穩(wěn)定的波峰,根據(jù)傳播路徑進(jìn)行估算,把該峰定義為第幾峰。x+中的數(shù)據(jù)波形圖如圖5(a)所示,通過適當(dāng)設(shè)定閾值電平,把超過此電平的第1波峰定義為接收信號(hào)的第2峰,由此可依次定義第3、4、5……峰,并可推算出t1。如何確定x-中峰值的序列是計(jì)算精確時(shí)差的關(guān)鍵,因?yàn)檎⒛娌ㄐ慰赡艽嬖诓町?,所以直接取與x+中第2峰差值最小的峰定位為第2峰是不行的,必須有效利用整個(gè)數(shù)據(jù)集,可以算出x+中各峰值記為序列D1,x-中各峰值記為序列D2,利用D1、D2做相關(guān)運(yùn)算,找出相關(guān)度最大值對(duì)應(yīng)的移位步長(zhǎng)。由此,即可確定x-中的峰值序列并算出t2。上述方法可能存在誤差,利用兩路數(shù)據(jù)實(shí)現(xiàn)算法可縮小誤差。
圖5 接收信號(hào)波形圖Fig.5 Waveform of received signal
但直接用此法求Δt不行,由式(1)可知,Δt的精度直接決定流速v的精度。因此,Δt需采用高精度的算法。由于峰值會(huì)波動(dòng),過零點(diǎn)則非常穩(wěn)定,故可求出x+和x-中對(duì)應(yīng)第N峰前的過零點(diǎn)時(shí)刻,從而得到時(shí)差。通過插值可求出過零點(diǎn),單只利用單一過零點(diǎn)誤差會(huì)過大。本設(shè)計(jì)中采用了算出接收信號(hào)的共軛信號(hào),再精確算出過零點(diǎn)的算法。算法原理描述如下:
接收信號(hào)可以理解為:經(jīng)幅度調(diào)制的正弦波,載波頻率即為1MHz。在討論相位時(shí),載波包絡(luò)基本可以不考慮。因此,為便于表述,把信號(hào)簡(jiǎn)化為正弦波討論。采樣頻率為20MHz,設(shè)接收信號(hào)為x= sin(k),利用希爾伯特變換得到 h= -cos(k),則可得
根據(jù)式(4)可構(gòu)造反正切函數(shù),令
則只需算出y=0時(shí)的k值,即可精確算出各過零點(diǎn)的值。編寫程序時(shí),可利用x+的數(shù)據(jù)進(jìn)行希爾伯特變換,得到結(jié)果數(shù)據(jù)集記為h+,如圖5(b)中的虛線;再用x+中的數(shù)依次除以h+中的數(shù)據(jù)的相反數(shù),計(jì)算結(jié)果作反正切運(yùn)算,所得值的數(shù)據(jù)集記為y+,如圖5(c);y+中過零點(diǎn)上下的數(shù)據(jù)作差值,依次算出各個(gè)過零點(diǎn)的k值,即可得到x+中的各個(gè)過零點(diǎn)的時(shí)刻;接下來再求出x-中的各個(gè)過零點(diǎn)的時(shí)刻,進(jìn)而求出各峰的Δt,再取平均值即可得到精確的Δt。
算出Δt后,可由式(3)求出流速v。但需說明,此流速v為超聲波傳輸線路上的流場(chǎng)的平均流速,而計(jì)算流量需算出整個(gè)管道內(nèi)流場(chǎng)的平均流速v'。算v'的值需用到流場(chǎng)的雷諾數(shù)的值,雷諾數(shù)的計(jì)算公式為
式(6)中:Re為雷諾數(shù),v'為平均流速,D為管道內(nèi)徑,η為液體運(yùn)動(dòng)粘滯系數(shù)。
算Re需用到平均流速v',而v'為待求的值。解決方法為:開機(jī)時(shí)算Re值用的v'取經(jīng)驗(yàn)值,以后算Re時(shí)用上一輪算出的v'即可。算出Re后,一般根據(jù)Re的范圍而采用相應(yīng)的公式。當(dāng)Re<2320時(shí),可用公式v'= 0.7v算出平均流速,乘以πD2/4即為流量[6]。
上述電路設(shè)計(jì)及算法亦可適用于氣體流量計(jì)量,考慮超聲波在氣體中傳播的特性,可采用125KHz的傳感器。此外,為進(jìn)一步提高計(jì)量精度,可采用多聲道超聲波計(jì)量,各聲道的傳感器可布置在高斯節(jié)點(diǎn)相應(yīng)位置,輪換算出各聲道的流速,乘以系數(shù)相加后即可得到管道平均流速[7]。
超聲波時(shí)差法是流量計(jì)量的重要方法,本文討論了一種時(shí)差法超聲波流量計(jì)KH-5的設(shè)計(jì)方法,給出了KH-5的電路結(jié)構(gòu)及工作原理,描述了高精度時(shí)差算法及流量的計(jì)算方法。經(jīng)計(jì)量標(biāo)定,表1為DN100管道標(biāo)定測(cè)量的結(jié)果,KH-5在(0.5~12)m/s流速范圍內(nèi)可以達(dá)到0.5級(jí)的精度。在計(jì)量應(yīng)用中,可以在熱力站、工廠車間等場(chǎng)景的工況下正常工作,計(jì)量穩(wěn)定可靠。KH-5的設(shè)計(jì)具有通用性,可推廣至氣體流量計(jì)量等應(yīng)用,通過改變聲場(chǎng)布局,改進(jìn)信號(hào)測(cè)量及算法,計(jì)量精度還可進(jìn)一步提高。
表1 KH-5標(biāo)定測(cè)量結(jié)果Table 1 KH-5 Calibration measurement results