刘 健,李思颖
(1.华北理工大学 人工智能学院,河北 唐山 063210;2.河北唐山一中,河北 唐山 063000)
流体流量的计量方法很多,常用的包括压差法、热式法、多普勒法、时差法等。利用超声波测量液体和气体的流量有很多优点,如几乎不影响流速,对管径的适应性强等[1]。时差法超声波流量计通过测量超声波在流体中顺流、逆流传播的时差来计算流量。目前,时差法超声波流量计多采用在发射超声波后检测接收信号某个过零点的出现时刻,进而计算时差及流量,但由于接收信号被利用到的信息量过少,因而计量精度低,且抗干扰能力差[2]。本文给出了一种时差法超声波流量计的实现方法,利用数字信号处理技术提高了时差的计算精度,从而提高了流量计量的精度。
时差法超声波流量计量即把超声波传感器相对安装在流体的上游和下游,如图1。上游传感器UP发射超声波,下游传感器DN接收,算出传播时间t1;再切换成DN发射,UP接收,算出t2;则可求出时差Δt。由于时差和流速成正比,故可算出流速,进而得到流量[3]。时差法超声波流量计量可用于液体、气体流量计量,本文限于对液体计量进行讨论。
图1 时差法超声波流量计传感器安装图Fig.1 Installation of TDOA ultrasonic flowmeter sensor
设管道的内径为D,流体中超声波的声速为v0,流体流速为v,超声波传感器轴线与流体流速的夹角为α,超声波传播路径为L(L = D/ sinα),由此可得
由式(1)、式(2)可得
因此,时差法流量计量核心在于精确算出Δt。精度的高低决定于超声波发射/接收电路的设计以及算法。
本文所述的超声波流量计型号为KH-5,电路结构如图2。MCU(微控制器)作为控制/计算中心,采用ARM7TDMI体系结构的LPC2214。上游传感器UP和下游传感器DN在MCU的控制下交替发射/接收,接收到的信号的幅值被增益调节电路放大到适当的范围,再经偏置放大电路调理到ADC(模数转换器)的信号输入范围。信号由LPC2214内置的ADC采集后,通过时差数字算法可以得到精确时差,后再算出流速。除最小系统外,为MCU扩展了256K的16位外部RAM,可利用按键阵列和LCD显示器进行人机交互,并外接了RS485接口及电流环接口以进行数据传输。
图2 KH-5型超声波流量计电路结构图Fig.2 Circuit structure of KH-5 ultrasonic flowmeter
为上/下游传感器各配备了一套发射/接收电路,超声波传感器的谐振频率为1MHz,如图3。当上游发射/下游接收时,MCU发出1MHz脉冲信号(脉冲数量可设定)至功率MOSFET驱动器TC4427的输入端,输出经场效应管IRFZ44N放大电路后,利用变压器及二极管(D7、D10)/(D9、D2)的交替导通,把单向脉冲转换为正负交变的脉冲加到发射传感器UP上[4]。震荡产生的超声波在液体内正程传播,被接收传感器DN接收后转换成电信号,由D8等二极管实现电压保护,信号经电压跟随器后输出。当下游发射/上游接收时,过程相反,信号在液体内逆程传播。接收电路输出的为微弱电信号,需经过进一步的放大处理。
图3 上游传感器发射/接收电路Fig.3 Upstream sensor transmitting/receiving circuit
由MCU控制多路模拟开关把接收到的信号传递至增益调节电路,如图4。模拟开关采用DG411,内置4路独立可设置的开关,UP_OUT+、UP_OUT-由UP_EN控制,DN_OUT+、DN_OUT-由DN_EN控制。输出信号经滤波电路后接到MC1350D的输入端,MC1350D为增益可调的放大器,差分输入/输出,放大倍数由5号引脚Agc的模拟电压值来控制。由于当管径等参数变化时,接收到的信号强弱会发生变化,故需调整MC1350D的放大倍数,以保证当接收信号幅值变化时输出信号的幅值基本不变,这样便于后续算法中的阈值设定等操作[5]。运行时,MCU根据ADC采集信号的幅值,控制数模转换器TLC5613输出模拟信号,动态地调整Agc的模拟电压,以保持输出信号的稳定。MC1350D的输出经放大及偏置处理后变化范围在(0~3.3)V,由LPC2214内置的ADC转换后得到接收信号的数字量以进行运算。
图4 增益调节电路Fig.4 Gain adjustment circuit
接收到的信号为幅值变化的正弦波,把正、逆程信号的数字量数据集记为x+、x-。理论上应把数据集x+中第1峰的起振点作为接收信号波形的起点,但由于第1峰过于微弱且传输存在干扰,故难以确定。应用上一般先找到某个幅值稳定的波峰,根据传播路径进行估算,把该峰定义为第几峰。x+中的数据波形图如图5(a)所示,通过适当设定阈值电平,把超过此电平的第1波峰定义为接收信号的第2峰,由此可依次定义第3、4、5……峰,并可推算出t1。如何确定x-中峰值的序列是计算精确时差的关键,因为正、逆波形可能存在差异,所以直接取与x+中第2峰差值最小的峰定位为第2峰是不行的,必须有效利用整个数据集,可以算出x+中各峰值记为序列D1,x-中各峰值记为序列D2,利用D1、D2做相关运算,找出相关度最大值对应的移位步长。由此,即可确定x-中的峰值序列并算出t2。上述方法可能存在误差,利用两路数据实现算法可缩小误差。
图5 接收信号波形图Fig.5 Waveform of received signal
但直接用此法求Δt不行,由式(1)可知,Δt的精度直接决定流速v的精度。因此,Δt需采用高精度的算法。由于峰值会波动,过零点则非常稳定,故可求出x+和x-中对应第N峰前的过零点时刻,从而得到时差。通过插值可求出过零点,单只利用单一过零点误差会过大。本设计中采用了算出接收信号的共轭信号,再精确算出过零点的算法。算法原理描述如下:
接收信号可以理解为:经幅度调制的正弦波,载波频率即为1MHz。在讨论相位时,载波包络基本可以不考虑。因此,为便于表述,把信号简化为正弦波讨论。采样频率为20MHz,设接收信号为x= sin(k),利用希尔伯特变换得到 h= -cos(k),则可得
根据式(4)可构造反正切函数,令
则只需算出y=0时的k值,即可精确算出各过零点的值。编写程序时,可利用x+的数据进行希尔伯特变换,得到结果数据集记为h+,如图5(b)中的虚线;再用x+中的数依次除以h+中的数据的相反数,计算结果作反正切运算,所得值的数据集记为y+,如图5(c);y+中过零点上下的数据作差值,依次算出各个过零点的k值,即可得到x+中的各个过零点的时刻;接下来再求出x-中的各个过零点的时刻,进而求出各峰的Δt,再取平均值即可得到精确的Δt。
算出Δt后,可由式(3)求出流速v。但需说明,此流速v为超声波传输线路上的流场的平均流速,而计算流量需算出整个管道内流场的平均流速v'。算v'的值需用到流场的雷诺数的值,雷诺数的计算公式为
式(6)中:Re为雷诺数,v'为平均流速,D为管道内径,η为液体运动粘滞系数。
算Re需用到平均流速v',而v'为待求的值。解决方法为:开机时算Re值用的v'取经验值,以后算Re时用上一轮算出的v'即可。算出Re后,一般根据Re的范围而采用相应的公式。当Re<2320时,可用公式v'= 0.7v算出平均流速,乘以πD2/4即为流量[6]。
上述电路设计及算法亦可适用于气体流量计量,考虑超声波在气体中传播的特性,可采用125KHz的传感器。此外,为进一步提高计量精度,可采用多声道超声波计量,各声道的传感器可布置在高斯节点相应位置,轮换算出各声道的流速,乘以系数相加后即可得到管道平均流速[7]。
超声波时差法是流量计量的重要方法,本文讨论了一种时差法超声波流量计KH-5的设计方法,给出了KH-5的电路结构及工作原理,描述了高精度时差算法及流量的计算方法。经计量标定,表1为DN100管道标定测量的结果,KH-5在(0.5~12)m/s流速范围内可以达到0.5级的精度。在计量应用中,可以在热力站、工厂车间等场景的工况下正常工作,计量稳定可靠。KH-5的设计具有通用性,可推广至气体流量计量等应用,通过改变声场布局,改进信号测量及算法,计量精度还可进一步提高。
表1 KH-5标定测量结果Table 1 KH-5 Calibration measurement results