<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > 天然氣體積修正儀數(shù)據(jù)采集模塊設(shè)計

          天然氣體積修正儀數(shù)據(jù)采集模塊設(shè)計

          作者: 時間:2009-11-04 來源:網(wǎng)絡(luò) 收藏
          能源與環(huán)境是當(dāng)今全球性熱點問題之一。天然氣作為城市清潔能源,對我國的能源節(jié)約、環(huán)境保護、人民生活水平的提高和社會經(jīng)濟的發(fā)展有著重要的促進作用。天然氣在我國的應(yīng)用越來越廣泛,城市燃氣不會局限于以居民生活用氣為主,而是在居民用氣普及率提高的同時,拓展在車輛、采暖、制冷、商業(yè)和工業(yè)領(lǐng)域的應(yīng)用。未來幾年內(nèi),我國天然氣需求將快于煤炭和石油需求,天然氣市場在全國范圍內(nèi)將得到較大發(fā)展。目前,我國天然氣輸送管道所到之處,可以說是發(fā)展天然氣終端市場的大好之地。高速增長的市場必然帶來無限的商機[1]。
            天然氣在輸送、分配和使用過程中,需要對天然氣的輸送量、分配量和用戶用量進行計量。在天然氣流量的實用計量中,通常用某一段時間間隔內(nèi)通過天然氣管道輸送的天然氣總量來表示,即天然氣的體積總量。天然氣總量的計量對象類型很多,氣源售出計量、城市購入計量、區(qū)域供氣計量和用戶用氣計量等。目前國內(nèi)天然氣大都使用體積計量的方法,但由于天然氣在不同的溫度和壓力下,氣體體積有較為明顯的變化,采用簡單的體積計量,明顯不符合公平交易的原則。如何將工況下的通過溫度、壓力和壓縮系數(shù)進行修正,從而得到標(biāo)準(zhǔn)狀況下的體積,是保證天然氣貿(mào)易結(jié)算公平的關(guān)鍵所在。信息技術(shù)的不斷發(fā)展、計算機技術(shù)在計量系統(tǒng)中的廣泛應(yīng)用將會提高天然氣的計量精度,加快測量數(shù)據(jù)的傳遞速度。
          1 儀表總體設(shè)計
            修正儀主要完成天然氣流量的自動修正,適于安裝在工廠、住宅等環(huán)境,實時反映天然氣的流量計量情況,并可與上位機進行通信,為上位機管理軟件提供數(shù)據(jù)支持。
            體積修正儀通過壓力傳感器和溫度傳感器采集壓力和溫度信息,結(jié)合氣體流量計采集的流量脈沖信號進行天然氣流量的自動修正,并通過RS232標(biāo)準(zhǔn)進行串口數(shù)據(jù)傳送。圖1是體積修正儀的結(jié)構(gòu)示意圖。

          本文引用地址:http://www.ex-cimer.com/article/188538.htm
            修正儀根據(jù)功能設(shè)計如下5個模塊:模塊、體積修正模塊、液晶顯示模塊、按鍵模塊以及與上位機通信模塊。幾個功能模塊采用低功耗FPGA器件,以Nios Ⅱ嵌入式處理器為核心,利用SoPC技術(shù)完成嵌入式開發(fā)。
          2
            在天然氣體積修正儀設(shè)計中,模塊是保證測量和計算精度的首要模塊。分為輸入檢測和數(shù)據(jù)處理兩部分。
          2.1 輸入檢測
            天然氣體積修正儀前端測量中涉及2個模擬量:溫度和壓力信號。根據(jù)溫度和壓力值可計算出天然氣的壓縮因子,從而校正天然氣的體積。
          2.1.1 溫度檢測
            照顧到民用和商用的范圍,設(shè)計采用Pt100陶瓷高性能鉑熱電阻溫度計作為測溫元件,鉑在氧化性介質(zhì)中,甚至在高溫下的物理、化學(xué)性質(zhì)都很穩(wěn)定。另外,Pt100溫度傳感器還具有抗振動、穩(wěn)定性好、準(zhǔn)確度高、耐高壓等優(yōu)點。
            本設(shè)計氣體溫度范圍為:-30 ℃~70 ℃。經(jīng)放大電路放大后電壓變化范圍在0V~4.5 V之間。
          2.1.2 壓力檢測
            由于工作壓力范圍為0~10 MPa,經(jīng)過選型,采用CGYL-202壓力變送器,其三線制輸出電壓范圍為0 V~5 V,配合溫度信號,方便后續(xù)模數(shù)轉(zhuǎn)換。壓力變送器采用硅杯壓阻傳感器為敏感元件,具有體積小、質(zhì)量輕、結(jié)構(gòu)簡單和穩(wěn)定性好的優(yōu)點,精度也較高。且具有本安防爆認(rèn)證,防震性能好。
          2.2 A/D轉(zhuǎn)換及數(shù)據(jù)處理[2]
            經(jīng)采集的溫度壓力信號在參與壓縮因子計算前必須經(jīng)過模數(shù)轉(zhuǎn)換。
            本設(shè)計采用12位4通道、高速低功耗A/D轉(zhuǎn)換芯片AD7864。AD7864是美國ADI公司生產(chǎn)的逐次逼近式并行輸出的A/D轉(zhuǎn)換器,片內(nèi)由12位ADC、時鐘電路、5 V高精度參考電壓源和比較器組成,無需任何外部電路即可完成整個A/D轉(zhuǎn)換的過程。該轉(zhuǎn)換器自身帶有4路采樣/保持電路,可同時進行采樣轉(zhuǎn)換,這樣就節(jié)省了系統(tǒng)的硬件電路空間。該器件最快轉(zhuǎn)換時間可達1.65μs,信號輸入范圍可為0 V~5 V、±5 V或±10 V。
            AD7864的控制狀態(tài)引腳主要有:
            (1)轉(zhuǎn)換啟動信號CONVST,下降沿觸發(fā)一次四通道轉(zhuǎn)換;
            (2)工作狀態(tài)忙信號輸出BUSY,高為忙;
            (3)讀轉(zhuǎn)換結(jié)果控制信號RD,低電平有效;
            (4)片選信號CS,低電平有效;
            (5)轉(zhuǎn)換結(jié)束狀態(tài)輸出信號EOC,低電平有效;
            (6)通道選擇信號線SL1~SL4;
            (7)硬件/軟件通道選擇方式H/S SEL;
            (8)第1個數(shù)據(jù)輸出狀態(tài)信號FRSTDATA,第1通道轉(zhuǎn)換結(jié)束數(shù)據(jù)可讀觸發(fā)為高,第2通道轉(zhuǎn)換結(jié)束變?yōu)榈汀?br />本系統(tǒng)采用EP1C12Q240型FPGA,其足夠的引腳資源完全能夠滿足需求。
          2.2.1 數(shù)據(jù)采集模塊總體設(shè)計
            為了讓CPU專注于處理其他任務(wù),專門在FPGA內(nèi)部設(shè)計一個A/D硬件控制器,負(fù)責(zé)對A/D的采樣控制,并將采樣數(shù)據(jù)進行濾波處理。該控制器還可以根據(jù)CPU的輸出控制字改變采樣的頻率。
            頻譜分析的誤差很大程度來自采樣窗口和實際波形的同步不嚴(yán)格,造成頻譜泄漏。為消除頻譜泄漏引起的誤差,常用的方法有硬件同步和加窗處理。硬件同步的方法比較多,常用的主要有使用PLL電路進行同步。因此,按照GB/T14549-1993要求,用FPGA內(nèi)部高精度的PLL產(chǎn)生采樣時鐘來實現(xiàn)嚴(yán)格的同步采樣,以保證窗口間無重疊和間隔,并能嚴(yán)格與被測信號頻率同步。
            在本模塊中,所有時序控制均由FPGA完成,采用VHDL語言對FPGA進行配置,配置后的硬件功能包括對A/D轉(zhuǎn)換器的控制、12位并行數(shù)據(jù)的處理和數(shù)據(jù)的濾波。
            設(shè)計2個控制器完成上述功能:A/D控制器和濾波器。A/D控制器用來控制A/D時序,完成A/D轉(zhuǎn)換功能。濾波模塊完成數(shù)據(jù)的后續(xù)處理。設(shè)計模塊圖如圖2所示。

          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();