鄭永軍 劉 潔 李文軍
(中國(guó)計(jì)量學(xué)院計(jì)量測(cè)試工程學(xué)院,杭州 310018)
壓縮因子是一種直接影響天然氣計(jì)量準(zhǔn)確度的參數(shù),目前我國(guó)管道天然氣的貿(mào)易計(jì)算中壓縮因子的計(jì)算有兩種方式:摩爾組成法和物性值法[1~3]。通過(guò)比較,摩爾組成法對(duì)于管輸天然氣壓縮因子的計(jì)算更加準(zhǔn)確。天然氣流量積算儀是一種能夠準(zhǔn)確計(jì)量天然氣氣體體積的儀表,但是現(xiàn)在市場(chǎng)上存在的很多積算儀不具備壓縮因子的在線補(bǔ)償功能。文獻(xiàn)[4]中壓縮因子雖然具備在線補(bǔ)償功能,但卻是基于ARM下位機(jī)的,存在壓縮因子實(shí)時(shí)運(yùn)算速度慢及價(jià)格高等缺點(diǎn)。筆者提出一種基于MSP430單片機(jī)的在線補(bǔ)償天然氣流量積算儀,具有價(jià)格低、運(yùn)算速度快的特點(diǎn),滿足了實(shí)時(shí)測(cè)量的要求。
文獻(xiàn)[1]中給出了用摩爾組成法計(jì)算壓縮因子的方法。AGA8-92公式中壓縮因子Z和絕對(duì)溫度P以及熱力學(xué)溫度之間的關(guān)系為[2]:
Z(P,T,y)=PVm/(RT)
(1)
式中R——摩爾氣體常數(shù);
Vm——常態(tài)下真實(shí)氣體的摩爾體積;
y——?dú)怏w的一組參數(shù)。
文獻(xiàn)[2]給出了部分壓力、溫度下1~6#氣體的壓縮因子值,下文使用的參考?xì)怏w是1#氣體。上位機(jī)中利用軟件求解壓縮因子都是利用迭代法進(jìn)行的。迭代法是計(jì)算壓縮因子最常用的方法,但一般都是在上位機(jī)軟件中使用,迭代法相對(duì)復(fù)雜,運(yùn)算速度較慢,而單片機(jī)的Flash空間有限,因此迭代法不能滿足在單片機(jī)中求解壓縮因子的需求。
采用美國(guó)德州儀器(TI)公司的16位單片機(jī)MSP430FG438作為積算儀的MCU。它具有處理能力強(qiáng)、運(yùn)行速度快及電流消耗超低等優(yōu)點(diǎn),其工作電壓為1.8~3.6V,具有豐富的片上資源。它有48kB的Flash、2kB的RAM;多個(gè)串行通信接口,可以支持UART及IIC等通信協(xié)議;擁有128段LCD,自帶液晶驅(qū)動(dòng);它具有不同深度的低功耗休眠模式,而且各種低功耗工作模式與活動(dòng)模式之間可快速由指令進(jìn)行切換。在空閑時(shí),通過(guò)不同程度的休眠,將內(nèi)部各個(gè)模塊盡可能關(guān)閉,以降低系統(tǒng)的功耗,延長(zhǎng)電池的使用壽命,保證了低功耗的要求[5]。
流量計(jì)的工作原理框圖如圖1所示。
圖1 流量計(jì)工作原理框圖
硬件主要分為主板模塊、電源模塊、壓力模塊、顯示模塊、流量模塊、通信模塊和電流模塊。采用24V外接電源和電池供電兩種方式,當(dāng)有外接24V電源供電時(shí),系統(tǒng)不進(jìn)入低功耗模式;反之,電池開(kāi)始供電,此時(shí)液晶顯示會(huì)關(guān)閉,只有在有按鍵操作時(shí),液晶才會(huì)亮,當(dāng)在規(guī)定時(shí)間沒(méi)有按鍵操作時(shí),液晶顯示關(guān)閉,系統(tǒng)進(jìn)入低功耗模式。主板部分還包括MSP430控制模塊、電池低電壓報(bào)警模塊、溫度測(cè)量模塊和壓力測(cè)量模塊。壓力模塊主要通過(guò)壓力傳感器將壓力值傳遞給MCU使其進(jìn)行相應(yīng)的操作。溫度模塊的作用與壓力模塊基本類似。流量模塊主要用于計(jì)數(shù)氣體脈沖,通過(guò)這些脈沖可以計(jì)算出通過(guò)燃?xì)獾目傮w積和燃?xì)饬魉?。電流模塊是4~20mA的輸出。本系統(tǒng)有5個(gè)按鍵,通過(guò)這些按鍵可以設(shè)置儀表參數(shù),查看氣體的累積量、工況流量及標(biāo)況流量等。
硬件框圖中包含的另一個(gè)重要的部分就是通信模塊(RS-485),RS-485傳輸速率高,實(shí)際中一般最高為115.2kb/s;RS-485接口組合了平衡驅(qū)動(dòng)器和差分接收器,抗噪聲干擾性好;傳輸距離高于1km以上。RS-485是上位機(jī)和積算儀之間的紐帶,可以通過(guò)上位機(jī)及時(shí)有效地監(jiān)測(cè)管道中氣體的傳輸狀態(tài)[5]。RS-485接口也可以將各個(gè)積算儀有效地銜接起來(lái)[6]。
上位機(jī)壓縮因子的計(jì)算軟件根據(jù)AGA8-92DC公式進(jìn)行編寫(xiě),要求的壓力范圍為0~12MPa,溫度范圍為263~338K。圖2為上位機(jī)壓縮因子計(jì)算界面,在界面中輸入各個(gè)組分的摩爾質(zhì)量、溫度和壓力值可以快速地計(jì)算出相應(yīng)的壓縮因子值。
圖2 上位機(jī)壓縮因子計(jì)算界面
積算儀的軟件部分主要包含:液晶顯示、IIC、按鍵、RS-485通信以及4~20mA輸出等。圖3為積算儀軟件主流程。
圖3 積算儀軟件主流程
天然氣壓縮因子和溫度、壓力之間存在著極其復(fù)雜的關(guān)系。由于迭代法不能滿足在線補(bǔ)償[7],因此提出了基于埃爾米特插值的方法來(lái)計(jì)算AGA8-92DC公式,從而彌補(bǔ)了迭代法的不足。制作了壓力、溫度和壓縮因子之間的三維數(shù)據(jù)表,并存儲(chǔ)在單片機(jī)的Flash中。單片機(jī)利用埃爾米特插值算法在數(shù)據(jù)表中快速得到在線工況流量的壓縮因子值,很好地實(shí)現(xiàn)了壓縮因子的在線補(bǔ)償。圖4為壓縮因子、溫度和壓力之間的三維坐標(biāo)圖。
圖4 壓縮因子、溫度和壓力之間的三維坐標(biāo)圖
三階埃爾米特插值多項(xiàng)式為[8]:
(2)
求解埃爾米特插值多項(xiàng)式需要知道(x0,y0)、(x1,y1)的值,以及這兩點(diǎn)之間的導(dǎo)數(shù)值y0′和y1′。埃爾米特多項(xiàng)式是一個(gè)曲線,因此關(guān)鍵點(diǎn)就在于求取這兩點(diǎn)的導(dǎo)數(shù)值,運(yùn)用極限的思想,將整個(gè)曲線劃分成無(wú)限多的小段,取兩個(gè)非常近的點(diǎn),將兩點(diǎn)之間近似為直線,這樣通過(guò)兩點(diǎn)的坐標(biāo)值,就可以求解導(dǎo)數(shù)值[8]。
在圖4中選擇4個(gè)點(diǎn),分別是A(3.0,310.5)、B(3.1,310.5)、C(3.1,311.0)、D(3.0,311.0),利用上位機(jī)軟件可以求得這4點(diǎn)的壓縮因子值。在壓力為3.0~3.1MPa、溫度為310.5~311.0K范圍內(nèi)隨機(jī)選擇4個(gè)點(diǎn),利用埃爾米特插值法求解其壓縮因子值。
埃爾米特插值求解隨機(jī)點(diǎn)的壓縮因子值的步驟為:
a.AD、BC是等壓線,AB、DC是等溫線。落在曲面ABCD上的點(diǎn)如果在等溫或者等壓線上,可以直接利用式(2)和已知端點(diǎn)進(jìn)行插值得到所求點(diǎn)的壓縮因子值。
b. 如果點(diǎn)落在曲面內(nèi)部(非等溫、等壓線上)則可以利用端點(diǎn)值進(jìn)行兩次插值,求得壓縮因子值。
表1給出了利用迭代法求出的A、B、C、D4點(diǎn)的壓縮因子值,表2給出了隨機(jī)選取的4點(diǎn)的壓縮因子值,并和迭代法求出的壓縮因子值進(jìn)行了比較。
表1 迭代法求出的4點(diǎn)壓縮因子值
表2 埃爾米特插值算法和迭代算法的比較
表2的數(shù)據(jù)是根據(jù)表1得來(lái)的。通過(guò)表2中埃爾米特插值求得的壓縮因子和迭代算法求得的壓縮因子的對(duì)比,很明顯地可以看出埃爾米特插值算法非常接近標(biāo)準(zhǔn)(迭代法求取的壓縮因子),較大程度地滿足了工業(yè)需求,保證了壓縮因子的實(shí)時(shí)性。
設(shè)計(jì)的基于MSP430單片機(jī)的積算儀除了具有在線壓縮因子補(bǔ)償以外,還具有存儲(chǔ)、顯示、RS-485通信及計(jì)算等功能,適應(yīng)于現(xiàn)場(chǎng)監(jiān)控檢測(cè)及氣體貿(mào)易等場(chǎng)合。今后具有在線補(bǔ)償壓縮因子功能的積算儀將得到進(jìn)一步提高,更好地適應(yīng)工業(yè)需求。