简介
本文介绍超声波水表的设计和测试过程。
超声波测量技术通过计量超声波在液体或气体介质中的飞行时间 (TOF) 并利用飞行时间与流速的相关性来测量和计算流经的介质流量。该技术使用的是超声波顺流和逆流传播的时间差,可在较宽的流量范围内实现可靠、精确的流量测量。
超声波水表的设计和测试过程包括一系列按指定顺序执行的迭代测试,旨在尽量减少评估水表性能、校准和实现大规模量产所花费的时间。虽然初期的配置工作的预计完成时间不到一个小时,但后续的测试可能需要数周才能完成。本文假定读者对超声波水表计量的概念有基本的了解。
必要条件
硬件
测试所需的硬件:
- MSP430FR6043 EVM
- 提供更大的FRAM: MSP430FR6047 EVM
- 提供更低成本和出色性能的引脚兼容的芯片: MSP430FR6005 / MSP43FR6007
- 带 2 个(一对)换能器的超声波水表管段
软件
测试所需的软件:
- Ultrasonic Design Center GUI (需要安装 Java(JRE 1.7))
推荐资源
本教程假定用户已经阅读并了解了以下文档:
- Ulrasonic Water Flow Meter Quick Start Guide (Rev B): 概述如何安装并使用 TI 的超声波水表计量解决方案。
- Ultrasonic Water Flow Meter TI Design User's Guide: 详细介绍该平台的理论与操作。
- Waveform capture based ultrasonic sensing water flow metering technology: 介绍使用超声波 (USS) 技术在水表中测量飞行时间 (TOF) 的方法。
- USS Water Flow Rate Calibration: 针对流速和温度的校准方法。
- Additional Ultrasonic Applications Overview: 概述其他可以使用超声波技术的应用。
水表流量计量概述
对射式和反射式管道设计
超声波水表通常使用两个换能器,它们在有水流动的管道内有序地发射上行和下行信号。市场上主要有两种类型的管道设计:
对射式: 换能器直接面对面。

反射式: 换能器正对反射面。

水表管段通常用于民用水表和工业流量计中。
飞行时间差和流量测量
必须进行两次测量(上行和下行),以确定上行和下行的绝对飞行时间。这两次测量之间的时间用于计算飞行时间差。飞行时间差及两次绝对飞行时间测量值用于计算管道内液体流速,如下面的公式所示。
Velocity = L/2 X deltaToF/(absToFUpStream)X(absToFDownStream)
其中 L 为与流速方向平行的超声波路径长度的分量,deltaToF 为飞行时间差,absToFUpstream 和 absToFDownstream 分别为上行和下行绝对飞行时间。 当水流流经管段时,上行飞行时间增加,而下行飞行时间减少。
上行飞行时间与下行飞行时间之间的差(称为飞行时间差)会随水流经管段的速度的增加而增加。用速度乘以管段截面面积对应的管段系数,即可将该速度转换成流量。
TI 的超声波水表计量解决方案
TI 的单芯片解决方案包含水表计量应用所需的绝大部分功能,如下图所示。

TI 的超声波感应子系统(如上图所示)包括一个可编程脉冲发生器 (PPG) 和一个带有可编程增益放大器 (PGA) 的高速 Σ-Δ 模数转换器 (ADC),可以自主激发和捕获超声波波形,从而通过 MSP430 CPU 和集成式低功耗加速器 (LEA) 进行后续处理。LEA 可为常见的信号处理功能(例如,相关、滤波、内插等)提供高速且低功耗的计算功能。
该超声波子系统首先激发连接到 CH0_OUT 的“上行”换能器,同时采集来自连接到 CH0_IN 的“下行”换能器的波形。随后,激发连接到 CH1_OUT 的“下行”换能器,同时采集来自连接到 CH1_IN 的“上行”换能器的波形。然后,MSP430 CPU 在 LEA 的支持下处理这些波形数据,以计算上行飞行时间与下行飞行时间之间的差值。
TI 的基于 ADC 的相关算法与常用的 TDC 过零检测法确定绝对飞行时间和飞行时间差的方式有所不同。TDC 过零检测法是指,使用阈值与计时器来寻找接收信号的起点,并进行后续的过零检测。
基于 TDC 的过零方法
这种常用方法先确定上行和下行的绝对飞行时间,然后将两者相减得出飞行时间差。
这种方法过于依赖信号的幅值(幅值因水流条件的不同而异),因此此方法中测量结果中的时间差的标准差通常较高。此方法如下所示。

基于 ADC 的相关算法
下图描述了基于 ADC 的相关算法,该方法采用了 TI 解决方案,用于测量绝对飞行时间。
在此方法中,首先计算接收信号的每个波瓣的峰值,然后已最高峰值的一定比例计算阈值,最后找到距离该阈值最近的波瓣。此方法如下图所示。

为了确定飞行时间差,将使用绝对飞行时间计算的结果来预测并确定上行和下行 ADC 采集数据之间相关性峰值的区域。然后,将上行和下行ADC 采集数据在该区域上做相关运算,并通过插值运算以确定飞行时间差。这种相关算法的作用类似于低通滤波器,因此与其他基于计时器的方法(例如,TDC)相比,此方法中得到的时间差的标准差要小得多。
水表设计过程
水表中的一个重要指标是常用流量 (Q3) 与最小流量 (Q1) 之间的比值。Q3/Q1 的比值记为该表的 R 值。该表是否可以实现高 R 值或超低 Q1 值取决于在零流量或低流量时飞行时间差随温度变化发生的漂移的大小。通过管道的水流也具有不同的特性,具体取决于管道设计,以及相应的流速和温度。对于特定的管道设计,需要其在支持的流速和温度范围内进行校准。下面的流程图中讲述了超声波水表的总体设计和测试过程。

水表测试
在开发水表时,应进行一系列测试,以确保换能器和管道设计能够满足性能要求。本部分主要介绍这些测试。
换能器和管段测试:
- 标准差测试:* 进行此测试是为了确认在初始配置下能够测得的时间差的标准差在室温下通常为 30-40 皮秒范围内。在配置中增加激励脉冲数,可以进一步降低标准差。
- 零流量温漂测试: 进行该测试是为了确认,一定数量换能器对的零流量漂移将满足最小流速的要求。预期结果为,多个传感器对/管道的零流量漂移在 25-50 皮秒之间。
- 流速测试: 在该表所需标定的流速范围内进行的测试,目的是与参考表比较并计量得到在不同流速下的误差。最初使用单个管道进行测量,然后使用多个同一批次生产的管道来量化同一批次多个管道中误差百分比的变化。这些结果将用于流速校准测试,以确定需要将全流速段分割成几组分别进行校准。
- 重复性测试: 进行该测试是为了确认在不同时间多次测试时,其结果变化始终在目标范围内。该测试取决于当地水表标准,但通常多次测量误差的标准差在该流速的精度要求的 1/3 范围内。应使用校准过的流量测试装置进行重复性测试,以避免测试环境可能存在问题。
- 流速校准测试: 进行该测试的目的是为了确认一定数量的水表在校准后满足检定要求。校准后流速测试的结果预期将与之前在工作温度范围内进行的重复性测试中的结果吻合。我们期望针对单一水表的流速和温度校准数据适用于全部同一批次水表。但根据 Q1 的要求,可能需要对每个水表在零流量下的飞行时间差以及在室温下和额定流速下的管道系数进行额外的校准。
哪项测试对于实现经济高效的大规模生产至关重要?
初始配置
本部分将介绍用户如何借助 TI 的超声波水表解决方案快速完成初始配置的过程。根据所使用换能器的灵敏度和给定管道的超声波路径,标准差结果将会有所不同。由于发射和接收路径的阻抗是匹配的,所以在评估不同阻抗特性的换能器时,不需要更改任何器件。
下图描述了基本配置参数和高级配置参数,其中每个配置参数如下所述:
注意:
当通过 USB 为电路板供电时,电源上的噪音会被引入进来,通常可以通过断开笔记本电脑的电源来降低干扰。
基本配置参数

F1、Gap 和 Gain 参数是唯一需要进行初始调整的参数。对于 1MHz 传感器,所有其他参数应设定为其默认值。这些参数控制脉冲激励配置、放大倍数和 ADC 开启采集的时间。
F1: 激励频率 – 上行和下行换能器的标称工作频率。
Gap Between pulse start and ADC Capture: ADC 采集的开始时间一般略小于两个换能器之间的预期超声波飞行时间。
Number of Pulses: 脉冲激励个数;对于初始配置,应将该参数设置为 20。
UPS and DNS Gap: 上行 (UPS) 和下行 (DNS) 测量之间的时间间隔。下一部分将详细介绍该参数。
UPS0 to UPS1 Gap: 每次流量测量之间的时间间隔。对于实际应用,该参数通常设置为 1000 毫秒。进行标准差实验时,应将该参数设置为 250ms,以尽量减少测试时间。
GUI Based Gain Control: ADC采样信号前的可编程增益。此参数应以在 ADC Capture 功能中能得到信号峰值在800 至 900范围内为准。PGA 的输入信号最大峰峰值为 1000mV。模数转换器的基准电压在内部生成。
Meter Constant: 这是管道系数。该系数应通过标准表确定,为流速校准测试做准备。
Request Update: 将当前配置发送到连接的开发板。
高级配置参数

Signal Sampling Frequency: 对于 1MHz 传感器,应将此参数设置为 3.6MHz;对于 2MHz 传感器,则应设置为 7.2MHz。
Capture Duration: 设为 40us。针对脉冲个数较大的配置,需要增大此参数。我们需要确保完全采集到信号,并在预期的工作温度范围内留有足够的裕度。
USS XTAL Settling Count: 外部晶振起振稳定时间,使用陶瓷谐振器时,设置为 120us;使用晶体时,设置为 4000us。
Envelope Crossing Threshold: 它确定 AbsToF 算法将锁定在哪个波瓣上。将此阈值设置在高于噪声的第一个波瓣峰值上。在后面部分所示的示例中,这个波瓣峰值对应于大约 22% 的阈值。
Search Range: 应忽略此参数。此参数仅应用于气体算法,水表计量当前不使用此参数。
确定 ADC 开始采集时间
ADC 开始采集时间可通过以下公式大致确定:
ADC Start Capture Time = (Ultrasonic Path Length/Speed of Sound) – 10us
例如,两个换能器之间的间距为 10 cm:
ADC Start Capture Time = 0.10/1480 = 67 us – 10 us = 57 us
对于 1MHz 传感器,将 F1 设置为 1000。对于 2MHz 传感器,将 F1 设置为 2000。
采集信号,并调整 ADC 开始采集时间,使信号在采集窗口中居中。
调整 GUI 增益以获得约 +/- 900 ADC 数值。下图显示了期望的 ADC 采集数据。
信号位于 ADC 采集窗口的中间:

确定 F1 即激励频率
对于 1MHz 传感器,将 F1 设置为 800。对于 2MHz 传感器,将 F1 设置为 1600。
对于“Frequency Sweep”,将采集数量设置为 35,并将步长设置为 12。
选择“Frequency Sweep”。下图显示了一个典型的频率扫描。
扫频功能:

F1 应设置为峰值频率。
对于上图中的频率扫描结果:
F1 = 1040
设置 F1 并请求更新后,将 GUI 增益调整为约 +/- 800 ADC 个数值。
标准差测试
标准差测试可确保您的初始配置达到预期结果。标准差结果可以通过增加配置中的脉冲激励个数来改善。
标准差测试过程
将带有换能器的管道中充满水,确保换能器完全浸入水中。将带有换能器的管道连接到 EVM。将 S5 开关移动到 EXT 位置。将 3.3V 外部电源连接到 TP1 (AFE 3V3) 和 TP2 (GND),如下图所示。

在“Waveforms”选项卡中选择“Start”按钮以开始信号采集。在采集约 30 秒后, dToF 波形的标准差应介于 25ps 和 50ps 之间,如下图所示。

可能对标准差产生重大影响的因素之一是所使用的激励脉冲个数。
虽然增加激励脉冲的数量可以减少标准差并降低获得准确流速读数所需的测量次数,但它可能会增大功耗。虽然增加测量次数可以给出更准确的平均值,但额外的功耗会由于测量次数增加而增加。假定在每秒测量 1 次时,平均电流为 3uA,睡眠电流为 1uA;在每秒测量 4 次时,平均电流将为 12uA,睡眠电流为 1uA。同样,可以通过降低测量频率来降低功耗。虽然 2MHz 换能器可以实现更小的外形尺寸设计,但它们并不能改善标准差结果。我们将在可重复性和参数优化或选择的章节中继续讨论该主题。
可以调整哪个参数来降低标准差?
零流量温漂测试
零流量温漂测试可确定在零流量下全工作温度范围内发生的飞行时间差均值的变化。该测试结果决定此水表的最小检测流量以及在确定该表是否满足全工作温度范围内的低流量的精度。
通常在测试温度为 5°C 至 85°C 的温度箱内进行零流量漂移测试,时间为 4 至 24 小时,根据测试条件决定测试时间。如果温度室足够大,则可以同时测试多个平台和管道。
可以在电路板部分与换能器和管段都放入温度箱内以及仅将换能器和管段放在温度箱内(确保电路部分不会产生漂移)的情况下进行这些测试。将换能器和管段放在温度箱内的测试更为重要。
注意:
进行零流量测试的温度范围将根据目标市场的要求而有所不同。
实验装置
在带有换能器的管段中充满水,确保换能器完全浸入水中,方法与标准差的测试方法相同。应将管道放在温度箱中,并在温度箱经历数小时从 +5°C 至 +85°C 的循环的同时,收集 waveform 数据。根据市场需求或产品规格要求,温度范围可以设置为 +5°C 至 +55°C。
对 dToF 数据进行200个点的滑动平均处理从而计算得到 ZFD。可以使用 MSP430 Ultrasonic Design Center GUI 来获得 dToF,并可以使用 MATLAB 或 Excel 等工具来计算 200 个点的滑动平均值和零漂值。下图显示了飞行时间差中的零流量漂移(经过200个点的滑动平均处理后的 dToF)。
将换能器和管段放在温度箱内的不同温度下 dToF 的零流量漂移:

实验分析
B由于阻抗匹配好的传感器可以改善零流量漂移,因此重要的是要从一个生产批次(至少 10 个)中测试得到这一批次的最大漂移值。确定大规模生产中该表的最小可检测流量时,应从统计学角度理解换能器对之间零流量温漂的变化。
流速测试
通常使用参考表和温控水循环系统进行流速测试。下图显示了一个典型的流速测试装置。此装置包括一个大水箱、两个参考表和一个被测表 (DUT)。针对不同的流速使用对应流速的参考表和 DUT 记录当前流速值。通过向水箱中添加冰或热水来改变水的温度,使用热电偶记录水温。

被测表流速和参考流速:
通常对在几分钟内采集到流速数据取平均值,比较参考表和 DUT 之间的精度。下图显示了在一定流速范围内不同流速下的被测表与标准表的结果比较。

未校准的流速误差图:
测得的流速与参考表流速数据可用于生成在全流速范围内的流速精度图或误差百分比图。

此误差百分比图清楚地显示了瞬时流量误差在全流量范围内会有很大的变化。通过重新设计管段可以减少上述变化,但这超出了本教程的范围。在这里,我们提供了一种流速校准的方法,从而降低误差,使其满足精度要求。
重复性测试
重复性测试可消除任何可能干扰测量结果的瞬态噪声问题的影响。在给定的流速和工作温度下,针对特定管道进行的重复测量的测量结果应小于在该工况下的精度要求的 1/3 。例如,如果在该流速和温度下精度要求为 2%,则重复性测试结果之间的差异应小于 0.67% 。这个实验可以在多个流速(室温下的 1 个低流速、1 个中流速和 1 个高流速)下进行。
测试装置
在流速测试中使用的装置可同时用于两根管道的重复性测试。这些管道需要串联。重复性测试也应使用校准后流量数据进行比较,以便对校准配置可能引入的问题进行分析调试。请务必注意,在重复性测试期间不应该拆卸/更换换能器,因为换能器的安装误差的微小变化会影响重复性实验结果。
注意:
重复性测试应在校准流量后进行。
waveform 数据中的错波现象:

由于在较高流量下的接收波形会产生变化,可能引起错波现象,这会导致绝对飞行时间测量值会计量出错超过半个周期。修改管道设计以降低在此流量下管道中的流速可以解决这个问题。
获取重复性数据时,每个目标流速应至少重复 3 次独立试验。然后分析测量结果的变化,以发现管段设计或测试环境的潜在问题。
重复测量:
如果噪声是高斯噪声,则可以通过采集更多样本数据来改善结果的标准差。测量的准确度应根据采样数据量的平方根成正比,因此,为了将标准差减半,应使用四倍的采样数据量来计算均值。在非高斯噪声的情况下,必须找到并控制噪声源。
重复性测试还应在极限工作温度(5°C 和 85°C)下选取三个代表性的低、中和高流速下分别进行测试。
应进行足够的实验来确定该表符合大规模生产规格极限的概率。该概率通常使用 Cpk 指标计算得出。Cpk 的计算公式为 Cpk = min(USL - μ, μ - LSL) / (3σ),其中 USL 和 LSL 分别是规格上限和下限。Cpk 为 2.0 被视为出色表现,而 Cpk 为 1.33 则被视为足够好表现。
为什么对多对换能器进行零流量温漂测试很重要?
流速的校准
需要对流速进行校准,以确保流速误差满足精度要求。
校准后误差图:
下图是将之前未校准的流速数据经过校准后的误差曲线。

此误差百分比图清楚地显示了瞬时流量误差在全流量范围内会有很大的变化。通过重新设计管段可以减少上述变化,但这超出了本1教程的范围。在这里,我们提供了一种流速校准的方法,从而降低误差,使其满足精度要求。
不同温度和流速下的校准
对于某些需要支持宽流速范围和宽温度范围的要求,需要增加温度对测得的流速进行校准,确保误差满足精度要求。在这些情况下,对流速轴以及温度轴使用二维校准。
可以使用外部温度传感器来获取水温,或可以使用绝对飞行时间来进行温度估算。
下图中可以看到典型的校准点。下面的 x 轴是流速,y 轴是温度。每个四边形点(流速、温度)均可通过 USS 设计中心校准面板来指定。

校准之后,流速的误差可以满足精度要求。这需要使用多只表在不同温度下进行测试。下图是 2 个仪表在 2 个温度下校准误差的误差百分比。


This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.