当前多数智能仪表都采取了一定的流量补偿技术,但补偿的数学模型建立过程考虑并不十分周全,计量的准确性仍然不高。本文针对这一情况,在蒸汽流量的测量中,以传统的流量计量补偿思想为基础,利用MSP430单片机开发了以水和蒸汽热力学工业公式IAPWS-IF97为核心的计算软件包,使得在工况大范围变化时,流量计的补偿精度仍具有较大的提高。同时由于该型号单片机具有丰富的低功耗模式和强大的运算能力,不仅提高了补偿的精度,而且降低了成本。
1 蒸汽流量测量及密度补偿方法分析
差压式流量计是目前计量蒸汽流量的主要仪表,其流量是依据《GB/T 2624-93流量测量节流装置,用孔板、喷嘴和文丘里管测充满圆管的流体流量》中的数学模型进行计算。当蒸汽工况发生改变时,我们应根据蒸汽密度进行流量补偿,进行蒸汽流量的密度补偿必须实时检测出蒸汽的密度。
工程上应用的水蒸汽大多处于刚刚脱离液态或离液态较近,它的性质与理想气体大不相同,应视为实际气体。水蒸汽的物理性质较理想气体要复杂的多,故不能用简单的数学式加以描述。目前,智能仪表中常用的水蒸汽密度的确定方法主要有如下几种。
1.1 查表法
把水蒸汽密度表置入仪表中,根据工况的温度、压力从表中查出相应的密度值。此种方法能够得到很高的补偿精度,但是数据量巨大,需要占用大量的存储空间,应用数据表首先要判断是饱和蒸汽还是过热蒸汽,再查不同的数据表;另外数据表的变量是有一定步长的非连续量,对于两点之间的数据,需经过数学内插处理获得,而二元函数的插值公式也不简单。
1.2 公式计算法
饱和水蒸汽密度是温度或压力的一元函数,即ρ=f(T)或ρ=f(P),在目前的智能仪表中通常根据量程和精度的需要,借助饱和水蒸汽密度表进行函数拟合,得到符合精度要求的解析式来计算饱和水蒸汽的密度。
过热水蒸汽情况比较复杂,其密度为温度、压力的二元函数,即ρ=f(P,T),经过人们长期的探索,其解析式函数已有不少的研究成果,当前工程上常用的过热蒸汽密度计算公式主要如下:
(1) 实验拟合公式
计算过热水蒸汽的经验公式有很多,式(1)是文献[1]中给出的拟合公式:
式(1)在温度为200~570℃,压力为0.5~11.5 MPa范围内误差为±0.22%。
(2) 乌卡诺维奇公式
乌卡诺维奇公式是拟合的比较好的公式,在250℃以内的过热蒸汽与数表有很好的符合程度(偏差在0.1%左右);在250~300℃范围,靠近饱和线附近偏差较大,可达1%;在300~350℃范围,靠近饱和线附近可达6%。由于公式比较简单,在250℃以内使用是比较好的。
1.3 IAPWS-IF97公式
水和蒸汽热力学性质的新工业标准“IAPWS-1997工业公式”,包括了计算水和蒸汽热力学性质的所有方程。该公式是水和蒸汽性质国际协会(IAPWS)于1997年在德国Erlange召开的年会上确认的国际标准。
IAPWS-IF97公式将水和水蒸汽的不同状态分为5个区域,每个区都有不同的计算公式。工业上最常用的是压力低于16.65 MPa,温度低于600℃范围的过热蒸汽和饱和蒸汽,属于IAPWS-IF97公式的第2区,因此我们只需利用2区提供的方程组进行计算即可。以下是文献[3]中给出的第2区计算蒸汽比容的公式:
式中:p为压力,MPa;v为比体积,m3/kg;T为温度,K;R为水物质气体常数,0.461 526 kJ·Kg-1·K-1;ni,Ii,Ji为公式系数,可由数据表提供,置入单片机内存中。
由此可计算出工业常用范围内水蒸汽的密度为:
可见,应用式(8)只需安装有温度、压力变送器,不需要判断是饱和蒸汽还是过热蒸汽就可以准确测量。对于确定是饱和蒸汽的场合,只需要测温或测压,利用IAPWS-IF97公式第4区中给出的方程组计算出饱和压力或饱和温度,再代入上述公式中,也可准确计算饱蒸汽密度。
利用IAPWS-IF97计算的水和水蒸汽单相区(1—3区)比容的不确定性在±0.05%左右,因此完全能够满足一般的工业计算要求的精度。目前已经有一些在PC机上利用IAPWS-IF97公式编制的计算蒸汽性质的软件。
2 系统设计
由以上分析可见,使用IAPWS-IF97公式不需要占用大量的内存空间,并且在工业常用范围(压力低于16.65 MPa,温度低于600℃)内计算所得的蒸汽密度符合国际标准,是蒸汽密度补偿的首选公式。但将其应用于以单片机为核心的智能仪表,至今仍未见报导,下面笔者就此做出了一些探索,在基于单片机的智能差压式流量计中实现了以IAPSW-IF97公式为基础的密度补偿,结果表明,在工况大范围变化时,有效提高了蒸汽流量测量的密度补偿精度。
2.1 硬件设计
仪表的硬件电路原理图如图1所示,由传感器检测到流体经节流件前后的差压信号△pi,节流件上游的流体静压力信号pi和流体温度信号ti,经过单片机自带的12位A/D转换器进行转换,转换结果由CPU按一定的数学模型进行实时运算和补偿,得到瞬时流量值和累计流量值。计算结果进行保存,并通过LCD显示,也可通过外围电路实现脉冲输出和4~20 mA模拟量输出。
该仪表系统微处理器选用的是美国TI公司生产的单片机MSP430F149,该单片机采用的是16位RISC指令结构,具有丰富的寻址方式和强大的运算处理能力,2组频率可达8 MHz的时钟模块,能够满足仪表中运算速度的需要;MSP430F149还具有60 kb+256字节的Flash存储器,可利用JTAG接口或片内BOOTROM下载、调试程序。仪表程序和要保存的数据共享此存储器空间,不用外接存储器,降低了仪表成本。
为了精确计量和保存掉电时间,仪表外接了DS1302实时时钟芯片,以提供精确的时钟来弥补MSP430系列单片机没有实时时钟模块的缺陷。该实时时钟芯片采用三线串行输入/输出的方式与单片机相联,操作简便。仪表显示采用的是LCM141专用液晶显示模块,该模块为双行14位8段式液晶显示模块,内含驱动与控制电路以及串行通信接口,可与单片机方便接口,结合键盘电路,可以完成用户参数、厂家参数设置、不同测量功能的切换及压力、差压传感器的在线标定。
2.2 软件设计及计算速度分析
本流量仪表软件主要由初始化模块、参数设置和显示模块、信号采集模块、流量计算模块、流量输出模块、掉电保护模块组成。软件充分体现结构化程序设计思想,采用模块化设计方法,用C语言编写,具有很强的移植性,可根据现场要求方便的增减相应的功能。
仪表主程序流程图如图2所示,软件工作流程采用循环标志驱动的方法,即主程序采用大循环方式运行,当各模块相应的标志位被置位时,该模块执行;否则跳过该模块,查询下一模块是否要执行。
流量计算模块中,由于IAPWS-IF97密度补偿公式比较复杂,计算量较大,为此,将该公式中不同参数的计算设计成子程序形式,由主程序按不同的进程调用,提高程序运行的效率。经过大量数据的试验测试,当温度、压力均已知时,计算过热蒸汽密度需要运行大约55万个时钟周期左右;若仅已知压力或温度,计算饱和蒸汽密度则需要运行大约56万个时钟周期左右。本系统采用的系统时钟为4 MHz,完成一次蒸汽密度计算仅需150 ms,即使再加上输入信号采样及显示输出所消耗的时间,也能控制在500 ms之内,其运算速度完全能够满足设计要求。由于MSP430F149单片机具有较大的内存和程序存储区,因此在密度计算中全部采用32位浮点数,保证了计量精度。
3 密度补偿精度
以下针对过热水蒸汽和饱和水蒸汽两种不同情况,分别对仪表密度补偿的精度进行评定。对于温度在230℃~600℃,压力在0.1 MPa~16 MPa范围的过热水蒸汽,每隔20℃将仪表计算的结果与密度表中的对应密度值进行比较;对于温度在150℃~350℃范围的饱和水蒸汽,每隔10℃将仪表计算的结果与密度表中的对应密度值进行比较。定义相对误差为:
式中:ρ′i为仪表计算的密度值;ρi为密度表中对应的密度值。
经过计算,相对误差分布图如图3(a),3(b)所示。图中横坐标为温度,纵坐标为相对误差绝对值。图3(a)为饱和水蒸汽密度相对误差分布图,由图可见相对误差绝对值最大为0.1%,但只占很少一部分,大多数误差集中在0.09%以内,其平均相对误差为0.05%。图3(b)为过热水蒸汽密度相对误差分布图,由图中不同压力下的相对误差曲线可见,在350℃~470℃范围内,相对误差随温度的上升而迅速增大;在470℃~590℃范围内,相对误差随温度的上升变化不大,但随着压力的递增而增大;相对误差绝对值最大为0.17%,但仅出现在压力较高的情况下,大多数误差集中在0.1%以内,其平均相对误差为0.08%。
4 结束语
本文利用单片机开发了IAPWS-IF97水和水蒸汽物性计算软件包,在以单片机为核心的蒸汽流量仪表中实现了密度补偿。通过对工业常用水蒸汽范围内的数据计算,饱和蒸汽密度平均相对误差小于0.05%,过热蒸汽密度平均相对误差小于0.08%,证明在工况大范围变化时具有较高的补偿精度,明显提高了测量的准确性。