您现在的位置: 网站首页 >  新闻资讯 > 技术文章

超低功耗16位单片机MSP430F447微控制器的时差式超声波流量计

超低功耗16位单片机MSP430F447微控制器的时差式超声波流量计超声波流量测量作为一种非接触测量技术,在生产生活中具有良好的应用前景。设计了一种基于超低功耗 16位单片机MSP430F447微控制器的时差式超声波流量计,采用具有温度测量功能的高准确度时间测量芯片TDC_GP2,测量的时间差具有 50ps 的分辨率,同时还可以测出流体温度,自动补偿由于温度变化而带来的误差,LCD 液晶动态显示瞬时流量和总流量等参数,具有通信模块,在大规模应用时还可以由上位机统一管理,提高了应用的自动化程度。实验表明,该流量计功能较齐全,功耗低,具有高的静态准确度和可靠性,非常适合在油田、供水等条件下液体流量的检测,是一个实用的流量测量仪器。
作为流体测量仪器,流量计已经广泛地应用在石油、化工、水电等部门,成为流量检测不可或缺的设备。随着测量技术的发展及测量对象的复杂多样化,传统的接触式流量计由于自身局限已不适合生产应用的要求。超声波流量测量是一种利用超声波信号在流体中传播时所载流体的流速信息来测量流体流量的新的测量技术[1]。超声波流量计作为一种新型的非接触式流量计,不影响流体的流动状态,计量准确,分辨率高。该流量计安装方便,功能齐全,调试简单,便于统一管理,稳定性好,使用方便。
2 超声波流量计的基本工作原理
超声波在流体中的传播速度与流体的流速有关,对于固定坐标系而言,顺流超声波的传播速度大于逆流的传播速度[2]。苏州华陆时差式超声波流量计采用两个超声波探头来进行信号的发送和接收,通过测量沿顺、逆流方向传播时的时间差计算流体的速度[3],因此,测量精确的时间差成为流速测量的关键。
图 1 中两个超声波探头分别安装在流体管的两侧,相距一定距离,管的内径为 D ,超声波在流体中传播的距离为 L,流体流速为V ,超声波在静止介质中传播速度为c ,超声波顺流传播时间为st ,逆流传播时间为nt ,超声波的传播方向与流体的夹角为θ ,顺流速度 cossV = c +V θ,逆流速度nV = c-可求出流体的流速。
由于超声波在流体中的传播速度随着流体温度的变化而变化,为了在不同温度环境下都能得到较精确的测量结果,需要对流速进行补偿[4],补偿系数为 K,即
3 硬件系统构成
硬件系统采用 16 位单片机 MSP430F447 为核心控制器件,控制对流速测量的采样、数据处理、存储、显示及通信等等。MSP430F4xx 是基于闪存/ROM 型 MCU,工作范围从 1.8V 到 3.6V,具有富的 I/O 接口、高达 60kB 的闪存/ROM 及 8MIPS(百万条指令每秒)的高性能,内置 LCD 驱动模块,具有速度高功耗低等优点。TDC_GP2 为时间间隔及温度测量芯片,具有高速脉冲发生器、停止信号使能、温度测量和时钟控制等功能,可以通过四线的 SPI 作为外部设备和单片机相连[5]。硬件系统包括电源电路、流量测量电路、数据处理、LCD 显示、通信等部分,如图 2 所示。
电源模块由电源转换芯片和滤波等电路组成,为系统提供稳定的 3.3V 直流电源,确保系统可靠工作。
3.1 测量部分
测量部分由 TDC_GP2、超声波探头、发射控制电路、温度传感器、超声波信号处理电路等组成。测量过程是:TDC_GP2 向两个超声波探头发射高速脉冲驱动信号,超声波探头起振,并准备接收超声波信号,接收到的超声波信号经过放大滤波后滤除高频噪声,得到正弦的超声波信号,信号经过过零比较整形后送入 TDC_GP2 的两个 stop 通道,在两个通道分别接收到信号的跳变后,测出两个跳变之间的时间间隔。温度传感器实时测量流体的温度,将温度传感器信号送入 TDC_GP2,由 TDC_GP2 的温度测量模块进行处理。
3.2 数据处理部分
数据处理及显示部分由单片机、存储器及其外围电路等组成。单片机通过四线 SPI 与 TDC_GP2相连,读取流量和温度的相关数据,数据经过单片机一系列的处理得出当前的瞬时流量和目前总流量,并送到 LCD 进行显示,存储器用来存储当前总流量及流量计的地址信息。
3.3 通信部分
通信模块由 485 通信电路与按键组成。流量计通过 485 总线与上位机通信,由上位机设置、查看流量计的状态,实时的管理所有网络内的流量计。系统可以通过按键手动设置本流量计在网络中的通信地址。
4 软件设计
该流量计功能完善,软件设计复杂,在 MSP430专用编译环境 IAR Embedded Workbench 中,全程采用 C 语言编写,易于阅读,利用 JTAG 接口调试极为方便。
软件分为初始化、流量测量处理程序、通信程序、key 处理程序等,各标志位分别由 1s 基本定时器中断、通信中断http://www.ngyibiao.com/、I/O 中断的终端服务程序分别置位,此外,还包括 LCD 显示子程序。
根据软件不同模块的功能要求,分别编写子程序,供其他程序调用。主程序主要根据各标志位来调用相应的子程序,如图 3 所示。程序的执行效率高,使处理器在大部分时间处在低功耗模式,易于程序维护。
初始化部分主要完成 TDC_GP2、SPI 总线、基本定时器、按键、LCD、串口、存储器等各个功能模块的初始化及流量、地址等数据的初始化,初始化部分是顺序执行的,只在上电复位时执行一次。
Q_FLAG 由 1s 基本定时器中断服务程序置位。流量测量处理子程序实现流量测量及数据处理功能,如图 4 所示。程序首先使能 TDC_GP2 测量芯片,向超声波探头发送激励脉冲,然后测量超声波顺逆流的传播时间差,同时测量温度传感器的值,程序读取 TDC_GP2 温度寄存器的值,通过查表法获得当前的温度值,根据温度查表得补偿系数 K。程序再读取 TDC_GP2 时间寄存器的值,经过计算得出顺逆流的时间差,然后根据公式来计算当前瞬时流量和总流量。调用LCD 显示程序显示当前的瞬时流量和总流量,通过 IIC 总线存储器保存当前的流量,后返主程序。
UART_FLAG 由通信中断程序置位,通信过程由通信子程序执行。通信部分主要用来实现向上位机发送流量和流速,接收上位机的管理,包括数据的发送和接收两个模块。
KEY_FLAG 由键盘的 I/O 输入捕捉中断服务程序置位。地址设置部分由按键处理程序来执行,通过对应键来改变当前地址值。程序首先要显示当前的地址值,并显示待修改位的光标,通过右键和上键的配合使用来设置当前的地址值,确定后把地址写入存储器保存,然后显示当前的流量和流速。LCD 显示程序主要用来显示瞬时流量和总流量、温度及设置地址时显示当前地址,显示程序不单独执行,仅供测量程序或地址设置程序调用。
5 试验结果
流量计的测量范围是 10~200m3/h,试验标定是在实验室条件下对水流量的标定。本次试验通过485 总线与上位机通信,由上位机控制标定过程。在标准流量的试验水稳定通过管道时,对每个采集点都进行不少于一定时间(本试验 30min)的数据采集,采集到的测量数据如表 1 所示。
从试验数据可以看出,流量计在几个流量测试点测得的平均流量是比较准确的,在 100~200m3/h内平均误差很小,最大误差在±0.5%内,在 50m3/h及其以下平均误差相对大些,最大误差在±1%左右。由此说明此流量计在静态条件下,流量在 0.25量程以上的准确度达到±0.5%,流量在 0.25 量程以下准确度在±1%左右,因此该流量计的静态准确度较高。
时差式超声波流量计关键是准确地测量超声波接收的时间差,以往时间差的测量是基于 AD 采样来确定的,采样精度不高,本流量计采用了高精度时间间隔测量芯片 TDC_GP2,对时间差的测量更加精确,提高了流量计的测量精度。与其他控制器相比,MSP430F4XX 系列单片机具有超低功耗,高数据处理能力,并引入了 LCD 显示模块,使得流量计的使用更加直观方便,能够大规模应用在石油化工及供水系统等领域。
点击次数:  更新时间:2018-09-01 11:39:57  【打印此页】  【关闭