基于FPGA的时差法超声波流量计的设计

   2023-06-15 互联网3040
核心提示:0 引言流量是天然气生产与输送过程中的重要参数之一,只有对天然气进行精确计量才能有效地管理天然气的供给与交付,控制天然气的

    0 引言

    流量是天然气生产与输送过程中的重要参数之一,只有对天然气进行精确计量才能有效地管理天然气的供给与交付,控制天然气的库存量,最大限度地降低不明原因的天然气损耗,避免输气监测的争端。近年来,随着科技的进步,各种新型的天然气计量技术得到了发展,其中的一项新技术是超声波气体流量计[1]。超声波气体流量计具有测量精度高、体积小、能耗低、无压力损失、寿命长以及安装使用方便等显著优点。超声波气体流量计是速度式仪表,它通过检测管道内气体流速来检测气体流量。根据测量的物理量不同,超声波气体流量计的检测方法可分为时差法、相差法和频差法。

    本文采用现场可编程门阵列(FPGA)设计了一种时差法超声波气体流量计,克服了采用传统分离器件设计的不易更改性和不稳定性,提高了系统的测量精度和稳定度,同时,利用FPGA设计了高速计数模块,并采用了一些措施,达到了对气体流量进行高精度测量的目的。

    1 时差法超声波流量计原理[2]

    超声波在气体中的传播速度与气体流动速度有关,据此可以实现流量测量。在流速为υ的流动媒质的上、下游分别放置超声波换能器A和B,结构如图1所示。

流量计信息网内容图片

图1 时差法超声波流量计原理图

    从换能器A发出超声波到换能器B接收所用的时间为

    流量计信息网内容图片

    式中c为超声波在静止流体中的传播速度;υ为流体的速度;θ为流体流向与超声波传播方向的夹角;L为2个换能器沿管道的距离;D为管道内径;为超声波在探头中与管壁中的传播时间以及电路延时的总和。

    超声波信号从换能器B传送到换能器A所用的时间为

    流量计信息网内容图片

    可得超声波不同方向的两次传送时差为

    流量计信息网内容图片

    由于v2cos2θ<<c2,则

    流量计信息网内容图片

    由于υ是声程上的平均流速。而需要的是截面上的平均流速,必须根据流体力学公式进行修正

    流量计信息网内容图片

    式中K为流体动机学修正系数,它与圆管阻力系数λ有关

    流量计信息网内容图片

    而λ是流体雷诺数的函数,可表示为

    流量计信息网内容图片

    则流量为

    流量计信息网内容图片

    一段时间内的累积流量为

    流量计信息网内容图片

    2 系统硬件设计

    2.1 系统结构与工作原理

    流量计系统的整体结构为微控制器+FPGA结构,如图2所示。由于模拟信号和数字信号对信号质量的要求不同,在设计中将两者分开,使数字电路对模拟电路的干扰降到最小。微控制器是整个系统的控制核心,FPGA内部集成了系统中的大部分数字电路。微控制器+FPGA结构设计大大简化了系统硬件电路的复杂性,增强了系统的稳定性和可靠性。外围电路包括由超声波发射电路,发射/接收转换电路和信号接收及预处理电路组成的模拟信号处理模块、键盘模块、显示模块和数据存储模块。各个电路模块独立完成其功能,又相互联系,共同构建了系统的硬件电路结构。

    通过键盘模块预设测量参数后,测量开始,89C51向超声波发射电路输出窄脉冲,同时,向FPGA输出控制脉冲,FPGA中的高速计数模块开始计数。窄脉冲经过驱动电路产生高压脉冲,激励换能器A产生超声波。换能器B接收到信号,这个微弱信号经过前置放大电路、带通滤波电路、峰值检波电路、过零比较电路、脉冲展宽等电路组成的接收信号预处理模块处理后,脉冲上沿控制FPGA的高速计数器停止计数,即得到超声波在管道中的顺流传播时间t1,把其存入FPGA的寄存器中。与此同时,给微控制器一个中断信号。微控制器响应中断信号以后,通过控制发射/接收转换电路,使换能器B发射,换能器A接收超声波,重复上述过程得到超声波在管道中的逆流传播时间t2,将t2也存入FPGA的寄存器中,将N次顺逆流测量结果存入存储模块,用多次测量的平均值作为超声波渡越时间,可以减小误差,提高测量精度[3]。微处理器读出这些数据经过补偿和计算可得到流体流量的统计平均值,将结果送到LED上显示出来。

流量计信息网内容图片

图2 系统结构简图

    2.2 基于FPGA的数字信号处理模块

    FPGA数字系统是本设计的重点,在FPGA内部集成了适合超声波气体流量计的高精度计时电路、分频电路、定时电路和部分逻辑控制电路[4]。将FPGA应用于超声波气体流量计的设计中,不但简化了系统结构,而且,提高了系统硬件的可升级性。

    提高测时精度是提高时差法超声波流量计测量精度的关键。要精确地测量时间必须有高速的计数器,而使用普通的TTL集成电路因其工作频率低,不能制作高速计数器。例如:速度最快的74F161,最高工作频率也只有90MHz,实际上由于分布参数的影响,并考虑到各个元件之间在时序上的配合,其最高工作频率还会下降,因此,无法实现高速计数。为此,设计中采用FPGA芯片来制作高速计数器[5]。由于FPGA芯片内部的工作频率接近千兆赫兹,因此,可实现高速计数,从而提高测量精度和测量范围。计数模块内的全部功能是基于电子设计自动化(EDA)技术,用硬件描述语言(VerilogHDL)编写完成的[6]。

    高速计数器的设计思路是在较低的外部时钟频率下实现高速计数。其原理是基于数字移相计数。所谓移相是指多路同频信号,以其中的一路作为参考,其他多路信号相对该信号在时间上做超前或滞后的移动形成相位差[7],原理如图3所示。设外部输入时钟CK0的周期为T。由图3知,由于待测脉冲的上升沿位置是随机的,一般不会恰好落在时钟信号的边沿上。因此,带来测量误差,最大误差为T。显然,提高时钟频率可以减小测量误差。为此,利用芯片内的高精度数字锁相环,实现芯片内时钟的零传输延时和移相。把CK0移相后得到CK1,CK2,CK3。这4路时钟的相位彼此相差T/4。每一个时钟后接一个D触发器,待测脉宽的上升沿作为触发器的触发信号。此外,CK0后接24位计数器。由图看出:待测脉宽上升沿到达后,4个触发器便有4种不同的组合值。由此组合值可以判断出开始计数的时刻,待测脉冲的前沿在时钟的1/4周期中。这种方法等效于将时钟频率四倍频,因而,误差降为原来的1/4。同时,该法可以保证外部的时钟频率不变,避免时钟频率的提高带来的其他问题。    

流量计信息网内容图片

图3 高速计数器原理    

    3 系统软件设计    

    本设计采用KeilC编写系统软件。C语言是一种结构化程序设计语言,兼顾了多种高级语言的特点。C语言有功能丰富的库函数且运算速度快、编译效率高,具有很强的可移植性[8]。

    基于C语言的特点,本设计采用了模块化设计方法[9],程序可读性强,便于改进和扩充。根据模块化程序设计思想,软件主程序结构比较简单,在流程中体现出模块结构,本系统软件整体工作流程如图4所示。系统上电后,首先对系统进行初始化,包括I/O的分配、定时器中断的初始化、FPGA复位、显示液晶的初始化、相关寄存器的初始化等。初始化完毕后,系统进入流量检测循环阶段。

    软件系统每秒钟完成一次工作循环,由定时器实现1s定时,通过查询标志位的方式启动每一次循环。软件系统主要完成4种工作状态的切换,它们分别是:累计流量显示状态、截面平均流速显示状态、流量修正系数设置状态和拟合参数设置状态。每个状态在系统标志寄存器对应不同的数值设定,系统通过扫描键盘状态进行各个状态之间的切换。    

    模块化程序结构包括:中断服务程序结构、流速与流量计算程序结构、数据存储程序结构等[10]。其中,中断服务程序是本系统软件中的重要部分,由定时器中断实现,在此期间系统完成超声波发射与FPGA计时器计时结果的传递工作;流量与补偿计算程序模块主要完成截面平均流速、瞬时流量及累计流量的计算;数据存储程序模块用于保存流量修正系数和累计流量,以防止系统意外掉电时数据丢失。系统软件设计遵循了模块化设计思想,有很强的可读性和可移植性。软件结构不但符合智能仪表软件设计原则,而且符合系统自身的设计特点。

流量计信息网内容图片

图4 主程序流程图

    4 实验结果

    实验建立模拟管道实验系统,能模拟真实管道中的气体流动,要达到能调节气体流速、流量的目的。实验装置的标准表为涡街流量计。实验管道材料为PVC,口径为30mm。气体流量由风机提供。风机由变频调速电机控制,通过计算机控制,测试系统可以设定变频调速电机的转速以调节流量,并且,采集涡街流量计测得的流量数据。

    本实验主要检验在低流速下,超声波气体流量计的检测精度,实验中的流速范围设定在0.5~8.0m3/h,在这个流速范围内均匀地选择了8点进行测量,用空气对超声波气体流量计进行实验,实验结果如表1。实验时,每一个测量点记录3组数据。通过对每个测量点的3组测量数据进行分析,检测其重复性和不确定度。然后,采用三阶曲线拟合进行非线性修正。

表1 拟合后流速与相对误差对照表

流量计信息网内容图片

    从实验结果可以看出:随着流速的增加,系统测量精度也在提高,综合考虑本系统满足了系统设计的要求。

    5 结束语

    本系统采用微控制器+FPGA结构,以微控制器为控制核心,并利用FPGA的优异特性设计了高速计数模块,结合软件设计提高了整个系统的稳定性和可靠性,达到了用时差法精确测量流体流量的目的。现场应用证明:该流量计精度高、运行稳定、可靠、操作简单、维护方便,达到了设计要求。

    参考文献:

    [1]熊光德.新型天然气超声波流量计技术[J].天然气与石油,2002,20(2):57-61.
    [2]蔡武昌,孙淮清,纪纲.流量测量方法和仪表的选用[M].北京:化学工业出版社,2001.
    [3]BianellN,UltrasoNIcdomesticgasmeters∀Areview[C]!FLOMEKO#2000,2000.
    [4]李广峰,李立山.超声波流量计的高精度测量技术[J].仪器仪表学报,2001,22(6):644-647.
    [5]何永泰,肖丽仙.基于FPGA的高速计数器设计[J].电气应用,2006,25(4):140-142.
    [6]夏雨闻.Verilog数字系统设计教程[M].北京:北京航空航天大学出版社,2008.
    [7]王彦芳,王小平,张翠肖.高精度超声波流量计的设计[J].传感器与微系统,2006,25(8):40-42.
    [8]谭浩强.C语言程序设计[M].北京:清华大学出版社,2003.
    [9]何立民.MS~51系列单片机应用系统设计[M].北京:北京航空天大学出版社,1999.
    [10]杨媛,高勇,李福德.基于CPLD的超声波流量计系统的研制[J].仪器仪表学报,2001,22(6):583-585.


 
举报收藏 0打赏 0评论 0
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  隐私政策  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  RSS订阅