当前位置:首页 期刊杂志

基于Modbus协议的超声波水流量计的设计

时间:2024-08-31

刘畅,刘建昌,李跃忠,2,罗先喜,2

(1.东华理工大学机械与电子工程学院,江西南昌,330013;2.江西新能源工艺与工程技术研究中心,江西南昌,330013)

关键字:超声波流量计;Modbus协议;TDC-GP22;信号处理电路

0 引言

超声波流量计相比于传统的流量计具有测量精度高、可靠性高、集成度高等特点,在水流量检测领域应用广泛[1-2]。超声波水流量计的远程抄表传输数据方式较多,在通信协议上没有统一的标准[3]。为了实现抄表方式的规范化,本文设计了一种基于Modbus协议的超声波水流量计,可以实现对流量的测量以及数据远距离传输。

1 时差法测量原理

当有流体在管道内以一定的速度流动时,由于超声波在顺逆流方向的传播速度不同,可知超声波在顺逆流方向的传播时间存在差值,通过传播时间反推可以计算出流体流速[4-5]。如图1所示为时差法原理示意图。

图1 时差法原理示意图

如图1所示,超声波在顺流方向的传播时间为tab:

逆流方向的传播时间为tba:

式中c为被测介质中超声波的传播速度。管道内的线平均流速v如下式所示:

但是线平均流速只反映了声道所在截面的流速,直接用于求取流体流量会使测量结果有较大误差,所以需要将线平均流速转换为面平均流速vs。v和vs的关系如下:

式中k为流速分布的修正系数,由此得到瞬时流量Q的计算式:

式中D为管道直径。

2 超声波水流量计硬件设计

2.1 硬件电路整体框架

超声波水流量计硬件主要由MSP430F5438A微处理器、高精度计时芯片TDC-GP22、信号处理电路、模拟切换开关电路、电源模块、通讯模块等几部分组成,如图2所示。MSP430F5438A具有高集成度、内部资源丰富、低功耗等特点,并且通过其丰富的接口与TDC-GP22等其他模块进行通讯。系统的工作流程简述如下:微处理通过SPI接口控制TDC-GP22芯片产生1MHz脉冲激励信号并将此信号首个脉冲的产生时间作为时间差计算的起点,通过模拟开关选择换能器A发送超声波信号;信号在管道流体中传播并由换能器B接收,接收到的超声波信号经过信号处理电路的滤波、放大,产生测量结束信号,同时计时芯片测量出超声波传播的时间,由此完成顺流测量。同理微处理器通过控制模拟开关切换测量方向完成逆流方向传播时间的测量,并将测量的数据传输至微处理器;微处理器接收到数据后根据时差法原理的相关计算公式计算出流量等。

图2 硬件系统框架

2.2 时间测量电路设计

本设计中完成超声波在流体中传播时间差测量的核心功能模块是TDC-GP22高精度计时芯片,该芯片具有高速脉冲发生器、接收信号使能、温度测量和时钟控制等功能,仅需要数量很少的电容电阻就能实现对超声波传播时间差测量,并可搭配PT1000温度传感器实现温度的测量,TDC-GP22接口电路如图3所示。

图3 TDC-GP22接口电路

TDC-GP22模块中START引脚在超声波进行时间测量时用于接收开始信号并触发开始时间计时,STOP引脚用于接收时间测量的结束信号,由内部ALU计算开始信号和结束信号的时间差。在设计中采用通道一进行时间测量通道,即在FIRE_UP引脚发送激励脉冲信号并触发START引脚,回波信号经过处理后进入STOP1引脚结束此次测量。

2.3 信号处理电路的设计及测试

超声波信号在流体中传播,会受到各种噪声的干扰、流速变化等因素影响,从而导致信号有较大的衰减,使换能器接收到的回波信号幅值较小,因此需要对其进行放大滤波处理。本设计的放大滤波电路为六阶巴特沃兹电路,具体电路如下图4所示。

图4 信号放大滤波电路

设计中使用的运算放大器为AD8039芯片,该运放带宽高达350MHz,宽供电电压3V~12V,其低功耗电流仅为1mA。通过LTspice软件对上图的电路进行仿真如图5所示,可知该电路的中心频率在1MHz左右,带宽在400KHz左右,回波信号的频率在带宽之内且增益在9dB左右,符合设计要求。

图5 信号处理电路仿真图

通过示波器观察回波信号以及信号经过信号处理电路的波形如图6所示,图左为未经过信号处理的回波信号波形,可以看出其幅值在330mV左右;图右是经过信号处理电路的回波信号,其信号幅值在860mV。通过仿真及实际测试得出设计的信号处理电路满足设计要求。

图6 回波信号对比图

2.4 RS485通讯模块电路设计

通讯模块为RS485通信接口模块,采用的SP485芯片,由外部供电来提高传输距离,电路设计如图7所示。微处理器将串行数据通过RS485_TXD传输给SP485,经该芯片转换为差分电平信号由A、B引脚输出到上位机接收;接收信号时,上位机发送的数据由A、B引脚经芯片将差分信号转换为TTL电平信号发送给微处理器。

图7 通讯模块电路

3 超声波水流量计软件设计

3.1 软件设计主框架

软件设计是整个系统的核心部分,软件程序设计的好坏直接影响到整个系统能否正常工作。整个系统程序如图8所示大致划分六个部分:流量计主程序、TDC-GP22程序、数据传输程序、LCD显示程序、数据处理程序、数据存储程序。

图8 系统软件框架

3.2 Modbus协议与程序设计

Modbus是一种串行通信协议,是1979年Modicon公司为使用可编程逻辑控制器通信而发明。如今Modbus通信协议已经成为工业领域通信协议的业界标准,并且是工业电子设备之间常用的连接方式之一。Modbus通信协议分为两种串行通信模式,ASCII和RTU通信模式。本设计中采用RTU通信模式。基于Modbus实现读取命令的数据帧如表1所示,其优点是在相同的波特率下比ASCII方式传输更多的数据。

表1 发送的数据帧

数据帧的格式包含设备地址、功能码、起始地址、寄存器个数和CRC校验码。功能码03代表该数据帧的含义是用来读取显示数据。微处理器接收到指令后将响应数据帧发送到上位机。响应帧的数据格式如表2所示,返回的数据是16进制的瞬时流量,对应为6立方米/小时。利用该方法只需要改变起始地址,就可以得到不同的返回数据,比如累计流量、压力、温度等。

表2 响应的数据帧

如图9所示的流程图,微处理器在系统初始化后,调用串口接收上位机查询指令的数据帧;确定查询地址正确后,再确定CRC校验是否正确;若校验码正确,则将对应的数值保存在Modbus的响应帧的数据位中返回;否则上位机收不到响应数据。

图9 Modbus指令流程

4 实验结果与小结

超声波水流量计软硬件设计完成之后,在南昌工贸有限公司进行相关的实验,图10为流量计实验装置及管段。

图10 流量计实验装置及管段图

本次超声波水流量计的实验条件:超声波换能器工作频率1Mhz,两对超声波换能器均以45度安装在管道内,管径为DN200mm。将超声波水流量计安装到实验装置的管段上,打开水泵使管段内充满水,保证管段内的水处于满管状态。通过拧动装置的阀门调节管段内水流速的大小,并通过数据读取软件实时读取基于Modbus协议传输的瞬时流速等参数,如图11所示。

图11 软件读取数据图

如上图所示,发送指令为01 03 00 65 00 02 D4 14,则获取当前温度;返回01 03 04 41 9B 33 33 CB 05,表示当前温度为19.4摄氏度。同样的发送当前流速指令 01 03 00 00 00 02 C4 0B,返回01 03 04 40 BA 8F 5C AA 1F表示当前流速5.83立方米/小时。

本文给出了基于Modbus协议的超声波水流量计的设计方法,介绍了整体硬件框架及具体的模块电路设计,以及Modbus协议数据传输的软件设计。并且进行了相关的实验验证了设计的可行性,满足了设计要求。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!