基于TDC1000和TDC7200的高精度液体流量测量系统设计*

2019-12-26 11:57:52萱,李轩,张
微处理机 2019年6期
关键词:微控制器换能器超声波

董 萱,李 轩,张 佩

(沈阳航空航天大学电子信息工程学院,沈阳110136)

1 引 言

在人们日常生活和工业生产当中,有大量场合需要对各种液体的流速与流量做出测量,如自来水厂的流量测量与流速控制,石油井下注水系统对注入水量和流速的精确测量等。超声测量在其中是不可缺少的有力手段。在众多的超声波测量算法中,基于时差法的测量算法是最为精确的[1]。由于超声波传播速度很快,顺逆流的时间差较小,所以需要设计一种拥有高时间分辨率的电路来实现时间差的精确测量[2],同时解决由于超声波多径传播对时差测量造成干扰的问题。

为获得精确而稳定的时间差,选择使用TI 公司最新推出的超声波测量芯片组。芯片组采用TDC1000 和TDC720 这两款芯片,分别用作超声波测量的模拟前端(AFE)和时差测量。采用STM32F405 微控制器作为系统的主控制器,来对整个测量系统进行控制。

2 系统设计

2.1 系统整体设计

该测量系统以微控制器(MCU)作为控制和计算核心,由以下几个模块构成:电源模块、MCU 最小系统、超声波控制与测量模块、温度测量模块、CAN总线模块以及数据显示与控制终端。系统的整体结构框图如图1 所示。

图1 系统整体框图

在系统中,微控制器选用的是STM32F405。该微控制器在工业控制中广泛使用[3]。超声波控制与测量模块作为系统的核心,采用TI 推出的全新超声波测量芯片组:TDC7200 和TDC1000。其中TDC1000是专门用于超声波测量的模拟前端;TDC7200 是用于高精度测量时间差的芯片,其精度可达55ps。STM32F405 通过SPI 总线与TDC7200、TDC1000 进行通信,完成配置、测量等的任务。在测量系统中可能需要进行温度补偿,高精度温度测量方案显然非常必要,故采用基于MAX31865 的温度测量方案。该芯片与微控制器也是通过SPI 接口进行通信的。

考虑到在工业现场中使用时,测量系统通常和数据显示及控制终端是不在一起的,且相距一般较远,因此测试系统使用CAN 总线来连接数据显示与控制终端[4]。微控制器通过UART 来与CAN 总线模块进行通信;CAN 模块把UART 数据转换为CAN总线数据传输给数据显示与控制终端,以完成测量数据的显示和控制命令的传输。数据显示与控制终端初步设计为基于Windows 系统的上位机程序,电脑通过CAN 转USB 模块来读取和发送CAN 总线数据,完成和测量系统的交互。

由于该系统涉及到多个物理量的测量,考虑到系统的鲁棒性,采用状态机来对整个测量系统的软件进行构建与设计。

2.2 流速测量算法

系统采用时差法测量流速。时差法是通过超声波换能器发射的超声波在顺流和逆流中传播的时间差来间接测得流体的流速。系统采用文献[5]中的Z型安装方式进行测量,其原理示意图如图2。

图2 液体流量测量示意图

在管道的两侧安装有两个超声波换能器。两换能器与管道不是垂直安装,超声波信号在换能器间的传播路径就是声道。与之相关的原理公式如下:

式中,D 为管道直径;α 为声道与管道轴线的夹角,也是换能器与管壁的夹角;L 为声道长度。超声波实际的传播速度是声速和流体轴向平均流速的叠加,因此顺、逆流的传播时间可以表述为:

式中,V 为管道中流体的传播速度;C 为超声波在静止被测流体中的流速;TBA为顺流时的传播时间;TAB为逆流时的传播时间,因此得出流体流速V 的值:

式中,V 为流体的传播速度。I 为超声波换能器在管道方向上的距离,可通过直接测量得出。

2.3 流量测量算法

在得到液体的流速后,将其乘以管道(圆形)的截面积便可得出瞬时流量体积:

S 为管道的横截面积,D 为管道的直径,V 为测出的流速,Qt为瞬时流量体积。设计中暂不考虑在声道方向上流体速度不均匀的情况,因此并不对该流速值进行修正。后续研究中对流速加以修正,应能进一步提高精度。

在得到瞬时流量体积后,对时间进行积分,便可得出流量的值。由测量得到的瞬时流量体积值为离散值,因此要采用积分的数值计算算法。系统采用辛普森积分算法,积分计算公式如下:

经过对瞬时流量的数值积分, 最后可得出流量Q 的值。

3 系统硬件设计

3.1 超声波测量模块设计

超声波测量模块是测量系统的核心,其组成框图如图3 所示。

图3 超声波测量模块框图

TDC1000 负责驱动超声波信号发送,以及处理信号接收[6]。TDC1000 和TDC7200 间的连接信号为:开始信号START、停止信号STOP、触发信号TRIGGER。TRIGGER 信号由TDC7200 控制发送。在接收到TRIGGER 信号后,TDC1000 产生超声波驱动信号,驱动超声波换能器产生超声波信号,并同时向TDC7200 发送START 信号;在接收到超声波信号后,TDC1000 产生STOP 信号并把该信号发送给TDC7200,完成一次测量。

TDC7200 用来完成对时间差的精确测量。数据手册中给出的测量精度为55 ps,该精度可以完成绝大多数情况下的超声波测量任务,测量精度远高于其他方案。该芯片完成对上述START 信号和STOP信号的时间间隔(即超声波传播时间)的测量。

微控制器通过SPI 来对TDC1000 和TDC7200进行配置,并且通过SPI 来对TDC7200 的时间差数据进行读取。因此在该模块中,微控制器是SPI 的主机,而TDC1000 和TDC7200 是从机。为了减少器件数量,TDC1000、TDC7200 和微控制器STM32 都使用同一个时钟源,即8MHz 的晶振。

由于采用的是TI 最新的超声波测量集成芯片组,因此外围电路比较简单,电路整体比较紧凑。超声波测量模块的电路原理图如图4。图中的接口SP_A 和SP_B 是超声波换能器的接口。在本系统中采用定制的陶瓷超声波换能器,可以满足工业级的性能要求[7]。

图4 超声波测量模块电路原理图

TDC1000 为双通道的超声波测量模拟前端,可以很方便地实现本系统中的顺、逆流流速测量[8-9]。超声波换能器A 的信号端同时连接超声波通道1的发送和通道2 的接收;超声波换能器B 的信号端同时连接超声波通道2 的发送和通道1 的接收。

3.2 微控制器及电源模块设计

系统主控芯片采用意法半导体公司STM32F405系列。STM32 系列微控制器是当前工业电子领域最受欢迎的微控制器之一,在工业现场中大量使用。STM32 系列芯片具有很好的升级替代特性,无需对电路进行改变,即可更换不同的STM32 系列微控制器;STM32F4 系列的微控制器具有浮点运算单元,可以实现快速浮点运算,比较适合具有数据计算且要求高速的领域。采用该系列微控制器,也是考虑到未来功能的添加以及潜在的大量的数据计算。微控制器的最小系统原理图如图5。

图5 微控制器原理图

系统的电源设计比较简单,是以7.4 V 的锂电池组进行供电。电源的电压包括3.3 V 和5 V 两种,因此电源电路包括两路DC-DC。本系统采用的DCDC 芯片为ASM1117。通过两个ASM1117 芯片来获得稳定的5 V 和3.3 V 电源。

3.3 CAN 总线模块设计

在实际应用中,数据显示与控制终端和测量系统可能不在同一个地方,因此考虑采用CAN 总线来连接测量系统和终端系统。由于微控制器可以很方便地使用UART 进行数据的传输,因此考虑使用UART 转CAN 的芯片进行设计。CAN 总线模块电路原理图如图6。

该模块采用TJA1059 芯片。此芯片是NXP 公司推出的高速CAN 总线数据收发器,具有卓越的EMC 和ESD 特性,能够适用于有着复杂电磁环境的工业现场;同时该芯片还具有无需阻塞电感、功耗超低等特点,完美贴合工业应用。

图6 CAN 总线模块原理图

在电路设计中,保留了端接电阻的焊接位置,若通信距离比较短,该端接电阻可以不进行焊接;若通信距离较远,可根据所用电缆的特性阻抗来焊接该电阻。本系统采用双绞线,其特性阻抗为120 Ω,因此在距离较长的工业现场进行工作时,可以焊接120 Ω 的电阻。

4 系统软件设计

4.1 整体程序设计

系统整体程序采用状态机来对不同的功能和流程进行构建和组织。本系统共含有以下几个状态:故障状态、系统初始化、流速测量状态、流量测量状态、空闲状态。状态机的转换示意图如图7。

图7 系统整体状态转换

程序开始运行时,首先进入初始化状态,对整个测量系统进行初始化,包括对TDC7200 和TDC1000的配置、MAX31865 的配置、微控制器串口的配置以及系统定时器的配置等。若配置正常完成则进入空闲状态,等待上位机的测量指令;若配置失败,则进入故障状态,发送故障信号并等待上位机的指令。

空闲状态是正常初始化后进入的第一个状态,也是进入其他测量状态的基础。在空闲状态中,测量系统并未进行任何测量操作,只是等待上位机发来相应的测量指令。上位机发来流速测量指令,则进入流速测量状态;上位机发来流量测量指令则进入流量测量状态。在进入到相应的测量状态后,除非上位机发来退出指令,否则不会进入到空闲状态。

流速测量状态和流量测量状态相似,只是测量和计算的量不同而已。在进入这两个状态后,会不停地对液体进行相应的测量。在测量中出现故障,会自动进入故障状态;在上位机发来退出指令后,会由相应的测量状态进入空闲状态,等待新的指令。

故障状态是在系统发生故障时自动进入的。在故障状态中会对故障发生的一些信息进行上传来告知上位机软件,使上位机故障显示报警;同时,会自动进行故障修复,如成功修复则进入初始化状态,进行系统的初始化;若故障修复失败,则等待上位机的指令。上位机可以发送强制初始化来对系统初始化,初始化成功则进入空闲状态,等待再次测量;如初始化失败,则系统故障,需进行检修。

4.2 超声波流速、流量测量程序设计

系统采用时差法来对液体的流速进行测量。该方法要求在顺流方向测量一次流速,然后在逆流方向测量一次流速。测量中各信号示意图如图8。

图8 流速测量过程各信号示意图

在完成测量准备后,微控制器首先发来第一次测量信号,TDC7200 在接收到该信号后向TDC1000发送触发信号Trigger,在TDC1000 接收到触发信号后发出超声波驱动信号,驱动超声波换能器B 发出超声波并同时产生START 信号给TDC7200;超声波信号经过在液体中的传播后,被超声波换能器A 接收,这时TDC1000 产生停止信号STOP,TDC7200 接收到该停止信号,随之TDC7200 就可以测出开始信号和停止信号间的时间间隔,即图中的TBA。该时间为顺流方向上的超声波传播时间。

另一个方向上的时间测量与之类似,只是发出的超声波驱动信号换成另一个通道,发送超声波信号换成超声波换能器A,接收超声波信号换成换能器B,同样测量出一个时间间隔TAB。该时间即为逆流方向上的超声波传播时间。

在得出两个方向上的超声波传播时间后,通过前述算法便可计算得出当前的液体流速。在得到流速数据后需进行低通滤波来对数据进行平滑处理。为了保证系统的正常运行与故障处理,增加了对接收超时的判断。流速测量的程序流程图如图9 所示。

由流程图可以看出,在对两个方向的传播时间进行测量时,要尽量缩短其测量间隔,以保证流速测量的精确性。并且在测量过程中要关闭所有的中断,防止中断流速测量过程而造成测量错误。

由前述流量测量算法可知,流量的测量先得到流速值,然后计算出对应的瞬时流量值,再对该值进行数值积分便可以得出流量值。流量计算程序框图如图10 所示。

图9 流速测量流程图

图10 流量测量流程图

在测量系统中,为了保证测量的精度,采用定时间差测量的方法[10],即每两次流速的测量间隔为定值,该时间间隔由微控制器的定时器给出。在流量的测量中,要尽量减小该时间间隔,这样在积分运算时的误差会减小。但由于系统采用的是锂电池供电,若测量太过于频繁,系统的功耗就比较高,因此测量的时间间隔也不是越小越好。为了适应不同场合的要求,测量的时间间隔可以由上位机的系统配置来给出,以适应不同场合下的实际需要。

4.3 多径效应的避免

在超声波测量系统中,由于超声波在液体和管壁中传播的速度不同,会发生多径效应的干扰,从而造成测量数据错误。由于超声波在两者中的传播速度相差比较明显,因此取采用以下方法来避免影响:

首先,由于超声波在管壁中的传播属于非直射传播,在接收端接收到的信号幅度较小,因此可以从接收信号入手来解决多径影响。通过对TDC1000 芯片中的接收可编程判决门限的设置来尽可能降低多径的影响。适当提高该判决门限可使接收到多径信号时不触发,而在接收到直射超声波信号时才触发。多径产生及对其的避免的示意图如图11。

图11 可编程门限对多径的消除

另外,软件中的数据处理部分也对多径数据进行了滤除。在可编程判决门限设置完成后,还是有一定的概率测到多径信号,因此在软件中也进行了数据的处理。由于在管壁的传播速度较液体中快,而且差别较大,因此采用突变检测滤波的方法对测量的时差数据进行处理:在每次读取测量数据后,把该数据和历史数据进行比较,若大于设定的突变阈值,则视为突变数据,计算时采用历史数据来计算;否则正常采用该读取数据进行计算[11]。

通过上述二种方法,在实际的测量系统中几乎可以完全避免多径数据的产生和干扰,保持测量数据的正确和平滑的特征。

4.4 数据显示与控制终端程序设计

系统初步采用基于Windows 上位机显示和控制的方案,考虑到将来显示界面可能用于其他平台,因此基于Qt 进行程序的开发。Qt 以其优异的跨平台特性而得到广泛的使用。设计的显示和控制界面实际工作界面如图12 所示。界面包括两个大部分:数据显示部分和控制部分。数据显示部分在窗口左侧,数据波形显示窗口可以实时显示液体的流速数据;在该窗口下方对流速和流量的数值进行动态实时显示,并有工作状态指示标志,在正常工作时为绿色,发生故障时为红色。

图12 电脑端软件界面

控制部分包括实时测量、历史回放和系统设置三个方面。实时测量中有液体测量的一些控制命令按钮,以完成对液体测量的控制;历史回放部分完成对历史保存的流量和流速数据进行回放,回放采用类似于视频播放的形式,可以很方便地看到不同时间下液体流速、流量的动态数据,而且还可以拖动进度条,来对特定时间的数据进行观看。以视频播放的方式来对历史测量数据的回放也是本系统中的一个亮点。系统设置部分完成对整个测量系统和上位机软件的设置,包括对测量系统中测量参数、超声波测量门限值、发送增益等的参数进行设置。

上位机软件把测量数据以文本文档的形式进行保存,方便不同设备上的读取,而且还可以对测量数据进行整理和归档,方便数据管理。

5 实验与结果分析

通过对自来水的流速和流量做出测量来对系统进行测试。检测系统采用内径为30 mm 的管道,超声波换能器在管道上的安装角度为45°。测量在静止时的流速以获得该系统静态测量精度。部分测试数据如表1 所示。

表1 静止时流速测量数据

通过对比可以发现,测量数据有不同程度的跳动,基本稳定在小数点后1 位。因此可以得出结论,该系统的静态流速测量精度至少在0.001 m/s 的级别。要得出更准确的测量精度以及动态测量数据,还需进行更精确的对照试验。

在对流量的测量中,采用标定的方法进行测试,其试验数据如表2。

表2 流量测量数据

通过流量测量数据可以看出,该系统的流量测量的相对精度可达0.01%的数量级。

通过上述对静止液体流速的测量以及对标定流量的测量,可以得出结论:该综合测量系统可以精确地测出液体的流速和流量,并且对比市面上其他的超声波测量系统,其测量精度要更高。

在测试过程中采用200 m 的双绞线来作为CAN 总线的物理线缆,模拟了工业现场的长距离应用。将该系统长时间运行在工作状态下,并未出现死机或错误数据,验证了该系统的可靠性。

6 结 束 语

介绍了基于TDC7200 和TDC1000 的新型高精度超声波液体流速、流量测量系统的设计。由于采用的是基于TDC7200 和TDC1000 的全新集成方案,使超声波测量系统的体积更小、测量精度更高,满足了高精度、小型化的液体流速和流量测量需求。而且该系统采用CAN 总线来连接测量系统和数据显示与控制终端,可以满足复杂的工业现场的应用。通过实验得到验证,该超声波流量综合测量系统在工业现场使用中非常方便,并且其系统的可靠性和精确性达到设计预期,具有很高的工业实用价值。但系统还有很大的改进的空间,如对流速进行分层补偿,以达到更优的精度;降低测量系统的功耗;增加温度补偿算法,以进行高精度的液体密度测量,扩展该系统的功能,有待在今后进一步研究中作出完善与提高。

猜你喜欢
微控制器换能器超声波
基于Niosll高精度超声波流量计的研究
电子制作(2018年17期)2018-09-28 01:56:38
物联网技术在微控制器实验教学中的应用
电子制作(2017年14期)2017-12-18 07:07:58
一种推挽式驱动Ⅶ型弯张换能器的探讨
IV型弯张换能器辐射阻抗的等效球模型计算
蝙蝠的超声波
超声波流量计的研究
电子制作(2016年21期)2016-05-17 03:52:47
超声波流量计在兰干渠上的应用
超磁致伸缩复合棒换能器研究
雷达与对抗(2015年3期)2015-12-09 02:39:00
基于高频发射换能器的功放设计
电源技术(2015年2期)2015-08-22 11:28:12
Atmel针对新一代物联网应用发布全新32位微控制器