用于微弯型科氏质量流量计的数字变送器研制
摘 要:针对微弯型科里奥利质量流量计固有频率高且相位差小等特点,将带通滤波器和二次Lagrange插值的数字式过零检测方法相结合应用于传感器的信号处理。以TMS320F28335为核心,研制科氏质量流量变送器,实时实现整套算法。给出了变送器系统软、硬件设计方案,并对变送器进行了系统测试和现场标定实验,在40:1量程比范围内,标定精度优于0.1%。测试数据表明,整套算法简单、有效,所研制的变送器具有较高的测量精度。
关键字:微弯型科里奥利质量流量计;IIR带通滤波器;过零检测;TMS320F28335
1 引言
科里奥利质量流量计(以下简称为科氏质量流量计)是一种基于被测流体在振动测量管内产生与质量流量成正比的科氏力的一种直接式质量流量仪表。目前市场上成熟的科氏质量流量计的流量管多为U形管、S形管、Ω形管、∆形管、B形管等弯曲型形状。这些弯曲型科氏质量流量计的特点是传感器信号频率较低,一般为70~150Hz,且检测管振幅较大,产生的相位差较大,信号处理相对容易。但是,这种形状的流量管易积存气体和残渣,从而引起附加误差,且整机的重量和尺寸大。相比之下,微弯型科氏质量流量计则不易积存残渣,信号频率较高,一般在300Hz以上,便于和一些低频的管道振动、电机干扰等噪声区分;同时,具有较小的体积,受到广大用户的青睐。
但是,微弯型科氏质量流量计在信号处理方面存在难点。一方面,传感器信号的频率较高,需要用较高的采样频率采集信号,在采用数字信号处理方法时,如何实现实时处理是关键。国外的研究对象是B形管(信号频率约80Hz),且变送器系统是基于FPGA实现;而国内学者在研究科氏流量计数字信号处理方法时,也多数是对低频信号做仿真,如信号仿真频率为103Hz,信号仿真频率为80Hz。基于DSP研制了数字式科氏变送器,实时实现算法,并且具有较高的测量精度。但是,这种变送器主要是针对U、Ω型等低频信号流量计:传感器信号频率70~150Hz,AD采样频率2kHz(500µs),DSP指令执行速度150MIPS,算法平均每点运算所需时间450µs(包括预处理、格型算法、DTFT算法以及后续平均)。当用于处理微弯型科氏质量流量传感器信号时,由于微弯管的固有频率较高,为了获得较好的计算精度,就必须提高AD采样频率;为了实时地反映流量的变化,必须在相邻两个数据的采样间隔之间,完成算法的运算任务;而目前的DSP芯片由于资源限制,整套算法已经无法实时完成。若简化目前的算法,减少计算量,势必降低计算精度。另一方面,微弯型科氏质量流量计的相位差更小,以太原太航流量工程有限公司的20mm口径微弯型科氏质量流量计为例,其相位差范围为0.01°~0.5°,更加难以测量。所以,必须提出新的、既满足计算精度要求、又能够在DSP上实时实现的算法,解决微弯型科氏质量流量计输出信号的处理问题。
将带通滤波器和基于Lagrange插值的数字式过零检测方法相结合,应用于微弯型科氏质量流量计的信号处理,以TMS320F28335为核心研制了数字式变送器,并进行了电信号测试和水流量标定实验。实验结果表明,算法和研制的变送器是可行的。
2 信号处理方法
为消除噪声的影响,两路传感器信号由AD采样后,先经过一个滤波深度和宽度可调的带通滤波器进行预处理;再采用基于Lagrange插值的过零检测方法处理滤波后的信号,计算信号的频率、相位差。
2.1 带通滤波器
实际工业现场存在多种噪声,如随机噪声、工频干扰、电机和管道振动等引起的某一固定频率干扰,此外,在流体流量大时,流体的冲击力还会引入很大的谐波干扰。这些噪声的频带分布很宽,为此,本文采用了一种具有陷波器结构的IIR带通滤波器对传感器信号进行滤波。
滤波器传递函数为:
(1)
式中:α=−2cosω,ω为陷阱频率,0<ρ1<1,0<ρ2<1。将z=ejω=cosω+jsinω和α=−2cosω代入式(1),可得其在陷阱频率处的增益为:
当ρ1、ρ2非常接近于1,而ω不在0、π、2π附近时,式(2)可以简化为:
(3)
可见,当ρ1>ρ2时,陷阱处为衰减;当ρ1<ρ2时,陷阱处为放大。陷阱深度由ρ1、ρ2决定,而受ω影响很小。
该带通滤波器通带较窄,而实际中,科氏流量计传感器信号频率基本固定,所以用这种滤波器对科氏传感器信号进行预处理是可行的。
2.2 过零检测
过零检测方法是一种经典的时域分析方法,通过记录信号过零点的时刻,得到过零点间的时间间隔,进而求取信号频率、相位差。由图1可得,信号频率为f=1/(R3−R1),两路信号时间差为TimeDiff=(R2−L2),相位差为PhaDiff=360∗TimeDiff∗f。
实际运算中,单片机处理的是采样后的离散信号。AD不可能恰好采样到信号的过零点,这就需要对采样数据进行曲线拟合,求出信号过零点,本文采用Lagrange二次插值拟合。
为了满足系统的实时性,系统必须在两次采样时间间隔内完成两路数据的滤波、曲线拟和以及过零点、频率和相位差的计算。过零点检测算法的结构如图2所示。
软件内实时检测滤波后数据,当出现x(n−1)∗x(n)<0,即表明在[n−1,n]时刻之间存在一个零点,将x(n−2)、x(n−1)、x(n)3个点存储到指定的存储单元,为Lagrange插值提供原始数据。由Lagrange计算公式,生成二次插值多项式x=at2+bt+c,其中:
因此,通过解方程即可求出x=0时对应的时刻t,即过零点。在实际应用中要舍弃方程中在[n−1,n]之外的那个根。
3 数字变送器
3.1 硬件设计
以TMS320F28335为核心研制了科氏质量流量变送器。TMS320F28335是TI公司推出的一款新的浮点运算DSP芯片,内部含一个C28x定点CPU和一个32位单精度浮点运算单元FPU,片内有512KB的FLASH和68KB的SARAM,以及McBSP、SPI、DMA、SCI、ePWM等丰富的外设资源,这些性能对算法实现和系统开发提供了非常便利的条件。系统硬件框图如图3所示,主要由模拟驱动、输入调理、外扩存储器、掉电保护、人机接口、测量结果输出等模块组成。
图2 过零检测相位差算法结构
图3 硬件结构框图
3.2 软件设计
系统软件设计采用模块化设计,主要包括初始化、算法、中断、人机接口、测量结果输出、FRAM、看门狗等模块,这些模块由主监控程序统一调用,软件结构框图如图4所示。
图4 软件结构框图
系统主监控流程图如图5所示。系统上电开始后,主监控程序调用各模块初始化程序,之后开启AD转换采样数据,然后便进入不断调用算法、计算流量的循环中,其中还包括LCD显示、键盘处理、串行通信等子程序。
图5 系统软件流程图
3.3 关键技术
本文提出的方法原理简单,计算量小,其关键在于如何保证算法实现的实时性和计算的准确性,采取了下面几种有效的措施:
1)由于AD以较高的采样频率采样信号,短时间内要求传送大量的数据,一点一点传送显然不能满足实时性要求。
为此,利用TMS320F28335的多通道缓冲串口McBSP与AD通讯,运用DMA传输大量数据而不降低CPU的使用效率,并将数据放于外扩SARAM中,克服内存有限的问题;为保证两路AD转换结果被同步读取,初始化时,DSP要先初始化DMA模块,使DMA先做好传递数据准备,再初始化McBSP模块、AD外设,最后同步启动两路AD。
2)过零检测方法在DSP上实现时,会受到DSP运算有效位数有限的影响,所以必须采取相关措施保证算法的实现精度。
使用32位的float类型变量在进行插值运算时,由式(4)~(6)得到的系数有效位数少,计算误差大。为此,在插值运算时中间变量必须使用64位的double变量类型。
由于AD采样频率较高,过零点附近的3个值x(n−2)、x(n−1)、x(n) 非常接近于0,且x(n−2)与x(n)符号相反,为了保证后续算法变量计算的有效位数,在进行插值运算前,先将采样数据放大100倍。
由主监控流程可知,程序以500点数组的形式调用算法模块, 如果直接利用式(4)~式(6)进行插值计算,在解二次多项式方程时,随着n的增大,由式(4)~式(6)解出方程的根的误差会越来越大,这些是DSP运算有效位数有限而导致的截断误差。解决的方法是将Lagrange插值用到的采样数据的时刻下标统一由(n-2)、(n-1)、n归一到0、1、2进行插值计算。
综上,式(4)~(6)变为:
3)在实现过程中发现,无论是Lagrange插值的3点拟合还是最小二乘法的5点拟合都会出现通过解方程得到的两个根都不在[n-1,n]之间,这是实际系统的AD位数和计算精度有限造成的。当出现这种情况时,则用线性插值的方法重新求解零点位置,求解流程如图6所示。
图6 零点判断流程图
4)在根据信号零点求解信号相位差时,应防止零点的错位相减。如图1所示,若计算得到的左路信号零点zeroL:L2,L3,L4…,右路信号零点zeroR:R1,R2,R3,R4…,即500点数据中恰好没有包括L1,则直接零点对相减就会产生(L2−R1)这样的错位,因此,需要进行判断;假设两路信号各算出nL、nR个零点,由于微弯型科氏质量流量计的相位差范围不超过±10°,所以:
a.若360f(ZeroL(0)−ZeroR(0))<−10°,则说明L路信号滞后且直接相减会发生错位,修正方法:应为min((nL−1),nR)对零点,时间差由ZeroL(n+1)−ZeroR(n)求得;
b.若360f(ZeroL(0)−ZeroR(0))>10°,则说明R路信号滞后且直接相减会发生错位,修正方法:应为min(nL,(nR−1))对零点,时间差由ZeroL(n)−ZeroR(n+1)求得;
c.若−10°<360f(ZeroL(0)−ZeroR(0))<10°,说明两路信号零点没有发生错位,可以直接相减,且有min(nL,nR)对零点,时间差直接由ZeroR(n)求得。
4 测试与标定
为了考核所研究的算法和所研制的变送器的可行性,对整个系统进行了电信号测试和水流量标定实验。
4.1 信号发生器测试
为了验证算法的精度,利用Fluke282信号发生器对变送器系统进行了电信号测试。由于Fluke282信号发生器产生相位差的最小分辨率只有0.1°,因此,利用信号发生器的任意波形发生功能来产生信号。
先用MATLAB产生两路信号频率相同、并具有一定相位差的正弦信号,信号频率为326Hz(太原太航流量工程有限公司生产的20mm口径微弯科氏质量流量计满管时固有频率),并根据现场信号特征,叠加上了信号频率附近的窄带噪声、整个频带的随机干扰,信噪比约为34dB。将产生的信号数据导入至Fluke282信号发生器中;Fluke282发出的信号接至变送器,变送器将60s内的计算均值作为测量结果。测试数据结果如表1所示。
表1 信号发生器测试数据
由表1可见,在模拟实际情况叠加噪声情况下,相位差从0.012°~3.24°变化时,测量的相对误差优于0.09%,优于“相位差从0.09°~1.8°变化,最大测量误差达0.18%”的报道,也优于“仿真误差优于0.2%”的报道。
4.2 水流量标定
将研制的科氏质量流量变送器与太原太航流量工程有限公司研制的20mm口径微弯型科氏质量流量传感器相配合,在太原太航流量工程有限公司进行了水流量标定实验,以考察整套科氏质量流量计的测量精度、重复性和量程比。
按照该公司的标定流程对变送器进行标定。先对传感器进行零点校准:使传感器充满流体,关闭管道上游阀门和下游阀门,待所测零点稳定后,通过键盘将零点设置到内部程序。零点校准后,即开始流量标定。每个流量点测试三组数据,以考察重复性。整个标定装置精度为0.05%。水标定实验结果如表2所示。其中,流量80kg/min对应的相位差约为0.5°,2kg/min对应的相位差约为0.013°。
表2 标定实验数据
由实验数据可见,对20mm口径微弯型传感器,在40︰1量程比范围内,测量精度优于0.09%,重复性优于0.03%,优于“10︰1量程比,标定精度达到0.2%”的报道。而目前国内科氏流量计厂家在达到0.1级精度时,量程比也仅为12︰1左右。
5 结论
针对微弯型科氏流量计信号频率高、两路信号相位差小的特点,将带通滤波器、基于Lagrange插值的过零检测方法应用于科氏质量流量变送器。整套算法运算量小,实时性好,并且对小相位差具有较高的测量精度。以TMS320F28335为核心研制了科氏变送器,实时实现了算法,并给出一些有效措施保证了算法的实现精度,如采用double型变量进行运算,将插值数据的时刻下标由(n-2)、(n-1)、n统一归一到0、1、2进行运算,采用线性插值方法来校正Lagrange二次插值零点越界等。对所研制的变送器系统进行了实验室的电信号测试和现场水标定实验。实验结果表明,所研制的变送器在40︰1量程比范围内,测量精 度优于0.1%,性能优良。
本文所研制的变送器系统已经申报了国家发明专利。
感谢太原太航流量工程有限公司提供科氏质量流量传感器和水流量标定实验条件。
- 上一篇:用质量流量计与压力变送器测量塔内液体密度的比较 2015/11/10
- 下一篇:影响科氏质量流量计振动管磨损的若干因素研究 2015/11/10