基于MSP430单片机的标准孔板智能流量积算仪的设计。该仪表克服了传统孔板流量计计量不**的缺点,并具有功耗低、功能齐全的优点。
关键词 天然气 标准孔板 流量积算仪 低功耗MSP430
天然气标准孔板流量计是一种基于伯努利原理的差压式流量计,它通过测量差压而达到测量流量的目的。近年来为了提高天然气计量的准确度,基于不同原理制造了不同的流量计,如涡街流量计、旋进漩涡流量计,但孔板流量计仍以结构简单、价格低廉及易于制造、安装和维护等优点得到广泛使用。据近年调查估计,在天然气流量测量用流量计中利用标准孔板的在国际上约占60%,在国内约占90%[1]。
本文所要讨论的就是一种用于天然气标准孔板流量计的智能流量积算仪。它应用低功耗单片机MSP430作为控制器,不仅能够在线测量流量值和差压、静压、温度值,同时还能实时进行参数的温压补偿,流量计算模型负荷标准[2]规定,具有功能齐全、计量准确、功耗低的优点。
1 工作原理
该智能流量积算仪的工作原理图如图1所示。其系统控制器选用美国TI公司生产的单片机MSP430F149。MSP430系列单片机因其低功耗已广泛应用于仪器仪表行业,特别适用于市电供给困难的场合,可长期使用干电池供电。
图1 标准孔板智能流量积算仪
由传感器检测到的孔板上游侧气流**静压、气流流经孔板产生的差压和气流温度值经模拟开关选择放大后,由单片机自带的12位A/D转换器进行转换。转换结果由CPU按一定的数学模型[2]进行实时运算和补偿,得到瞬时流量值和气体总量。计算结果进行保存,并通过液晶屏显示,也可通过外围电路按其他方式输出。本积算仪还可通过485接口与上位机之间进行通信而作为一个较大范围内的流量计量关系系统的一个节点。
本系统可采用内部3.6V的锂电池和外部24V电源两种供电方式。在正常计量时采用内部电池供电;当用户需要输出标准信号时采用24V的外电源供电。
2 主要特点
2.1 低功耗设计
选用的MSP430系列单片机是一种低电压(1.8V~3.6V)、低工作电流(在1MHz时为0.1~400 )、具有5种省电模式的超低功耗微控制器[3][4];外围电路基本采用微功耗的贴片式CMOS芯片,使得整机*大工作电流小于380 ,基本保证使用1节3.6V锂电池(5Ah)供电仪表就能持续正常工作1.5~2年。
2.2 计量准确
压力、差压传感器选用的是高灵敏度、高可靠性的压阻式传感器,传感器桥路外带零点温度补偿电阻;流量的计算模型符合标准[2]规定,相关参数具有相应的实时温压补偿;计算时全部采用5字节的浮点数,计算精度在±0.1%以内,即使在极限情况下,其计算精度也能达到≤±0.2%。
2.3 功能齐全,用户界面友好
可提供4~20mA的标准模拟信号,0~1000Hz的频率信号或脉冲信号;流量的历史记录可查询;可通过RS-485接口与上位机通信,便于集中管理;或与专用M 配套,利用电话网络构成自动读表与管理系统;采用LCD显示流量、温度、压力和差压值,还能显示电池余量,具有电池失压报警功能;4个按键可以完成参数设置、功能切换、实时测量、在线标定等多种功能,操作简单、直观。
3 硬件设计
3.1 单片机的选型及说明
MSP430F149是64脚的QFP封装,具有5种不同的省电模式16;16位RISC指令结构,丰富的寻址方式和强大的运算处理能力;集成了较多的片上外围资源,比如12位的A/D、精密模拟比较器、硬件乘法器、2组频率可达8MHz的时钟模块、2个带有大量捕获/比较寄存器的16位定时器、2个可实现异步和同步及多址访问的串行通信接口、数十个可实现方向设置及中断功能的并行输入和输出端口。该型单片机还有2kB的RAM,具有60kB+256字节的F1ash存储器,可利用JTAG接口或片内BOOT ROM下载、调试程序[3][4]。
3.2 单片机系统电路设计
智能流量积算仪的单片机系统电路原理图如图2所示。现将各部分电路的功能简介如下:
图2 单片机系统电路原理图
①时钟源和时钟信号
CPU的基础时钟模块含3个时钟源:一个内部集成的DCO振荡器,一个低频/高频时钟源(LFXT )和一个高频时钟源( 。后两种时钟源需要外接晶振,在本设计中,外接一个低频晶振(32.768kHz)和一个高频晶振(5MHz)。基础时钟模块提供的3种时钟信号ACLK、MCLK、SMCLK可由软件选择不同的时钟源和不同的分频因子得到。
②按键电路
利用一键多用、双键复用技术,依靠4个按键,结合LCD显示,可以完成用户参数、厂家参数设置;实时测量传感器输出电压;在线标定压力和差压传感器;并且可以在不同功能之间进行切换。
③信号采样电路
温度、压力、差压信号通过模拟开关,由CPU控制在不同的时刻进行采样。根据天然气实际流动情况以及降低功耗的要求,每0.5s采样一次差压值,4s采样一次绝压和温度值。采样得到的信号经运放放大后输入到单片机自带的A/D转换器。为降低整机的运行功耗,运放的开断也受CPU的控制,与信号采样同步。
④LCD显示及驱动
表头采用多段式液晶显示,选用动态的4时分割液晶驱动器。该驱动器具有50个输出端,可产生200段的驱动信号。
⑤ 外围输出电路
瞬时流量值可以根据用户需要选择不同的方式输出:0~1000Hz的频率信号;每个脉冲代表一定量的脉冲数;也可以将转换成电压信号的流量值,通过V/I转换电路变为4~20mA的标准模拟信号。
⑥在贮与接口电路
为防止掉电时数据丢失,选用32k×8位的EEP-ROM来存贮用户和厂家设置的参数以及流量累积值。通过485接口芯片实现串口通信。
4 软件设计
4.1 软件模块
①初始化模块
当系统启动后,需要对时钟源进行分配;对输入输出端口进行定义;对定时器、异步通信模块、模数转换器的控制寄存器进行初始化;对内部RAM和外部的EEPROM进行清零;对一些中断允许寄存器和中断标志寄存器进行初始化;选择CPU的低功率模式。
②按键和显示模块
显示模块包括正常情况下的显示子程序和配合按键功能的显示子程序,后者和按键子程序一道作为中断服务子程序。通过按键可以设定数字和字符、移动光标、功能切换、状态保存;可以实现用户和厂家参数的设置,实时测量不同传感器的输出电压,在线标定压力和差压传感器。在用户参数中,可以设置一些流量计算所需的参数值,如天然气组分、孔板和测量管的材料和直径,以及频率、脉冲输出所对应的流量值;在厂家参数中可以设定传感器的一些参数值。
③信号采集模块
单片机按每0.5s采样一次差压值、4s采样一次压力和温度值打开模拟开关,同时打开运算放大器。12位的ADC转换器得到的是经过放大的数字量,需按照放大倍数进行还原。
④流量计算模块
天然气的流量计算模型[2]由于设计参数多,公式复杂,并且引入了相关参数的实时温压补偿,因此计算量较大。可以将不同参数的计算设计成子程序的形式,由主程序按不同的进程调用。流量每2s计算一次。由于MSP430单片机具有较大的内存单元和程序存储区,因此为了提高计算的**度,对参与运算的变量全部采用了5字节浮点数的编码方式。阶码采用1字节移码,尾数采用4字节原码。浮点数的基本运算和浮点数与其他制式定点数之间的相互转换也可采用子程序的形式,由计算程序在运算过程中调用。
⑤流量输出模块
流量的输出可以根据用户的设定,通过外接的24V电源按不同方式输出。可以输出0~1000Hz的频率信号、4~20mA的模拟信号和每个脉冲代表不同流量值的脉冲数。
⑥通信模块
定义串口之间的通信接口协议:仪表向上位机传送的数据内容、数据包的形式,以及上位机对仪表发送的指令格式。通信子程序作为中断服务子程序响应串口的中断请求。
⑦定时器子程序
两个16位的定时器T 均有多种时钟源和4种工作模式可供选择,根据需要产生不同的定时中断信号。
4.2 主程序流程图
主程序流程图如图3所示。
图3 主程序流程图
5 结束语
本智能流量积算仪作为天然气标准孔板流量计的二次仪表,由于完全采用了符合国家标准的流量计算模型,具有实时的温压补偿,很好地克服了传统孔板流量计计量不**的弊端,并且设计了功耗低,功能齐全,已开始在实际天然气生产过程中使用。