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

          新聞中心

          EEPW首頁 > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 一種關(guān)于原油超聲波相關(guān)流量計(jì)的設(shè)計(jì)

          一種關(guān)于原油超聲波相關(guān)流量計(jì)的設(shè)計(jì)

          作者: 時(shí)間:2017-03-23 來源:網(wǎng)絡(luò) 收藏
          2.2超聲波檢測(cè)部分

          檢測(cè)部分主要是由兩對(duì)超聲波傳感器構(gòu)成。超聲波傳感器的檢測(cè)是通過超聲波的發(fā)射和接收能量來完成的,核心是換能器(將超聲波能轉(zhuǎn)換為電能或者將電能轉(zhuǎn)換為超聲波能,可逆換能器是指以相等的效率對(duì)兩種形式的能量做相互轉(zhuǎn)換的換能器)。常見的換能器有壓電晶體振子、磁致伸縮振子等。用于相關(guān)流量測(cè)量的超聲波一般有正弦波與脈沖波兩種形式。脈沖超聲波和正弦波的相關(guān)流量計(jì)都是對(duì)流場(chǎng)橫截面的速度信息進(jìn)行積分而得到流速的。本設(shè)計(jì)采用壓電晶體超聲波傳感器,中心頻率為200kHz。為了克服駐波影響,超聲波采用鎖相環(huán)脈沖信號(hào)發(fā)生器。

          2.3信號(hào)處理部分

          信號(hào)處理部分主要由超聲波接收換能器和DSP構(gòu)成。

          信號(hào)調(diào)理電路由接收換能器、三級(jí)放大電路、濾波電路和包絡(luò)檢波電路組成。前置放大器由MAX410儀表用放大器模塊構(gòu)成,二級(jí)放大器和末級(jí)放大器由INA128精密低功耗儀表用放大器構(gòu)成;濾波電路是由MAX275模擬集成濾波器構(gòu)成的一個(gè)帶通濾波器,中心頻率為200kHz,由TL14構(gòu)成低通濾波器,主要取出檢波后的信號(hào),包絡(luò)檢波電路由二極管和電容構(gòu)成峰值檢波器。

          另一部分是由DSP模塊組成的數(shù)據(jù)采集處理電路。該電路選用TI公司的TMS320F2812DSP芯片。在目前過程控制領(lǐng)域中,它是最先進(jìn)的DSP微處理器,與傳統(tǒng)的單片機(jī)相比,它具有功能強(qiáng)、資源豐富、功耗低等突出的性能。具有完美的性能并綜合最佳的外設(shè)接口,它集成了閃存、高速A/D轉(zhuǎn)換器、高性能的CAN模塊等。

          測(cè)量時(shí),上、下游發(fā)射換能器發(fā)射出高頻超聲波,超聲波在流體中傳播時(shí),流動(dòng)信號(hào)對(duì)超聲波會(huì)產(chǎn)生幅值、相位和頻率調(diào)制,接收換能器接收的高頻調(diào)制信號(hào),經(jīng)濾波和放大后進(jìn)行解調(diào),獲得流動(dòng)信號(hào),送至A/D轉(zhuǎn)換器進(jìn)行數(shù)據(jù)采集,采集的信息送至DSP進(jìn)行相關(guān)處理,獲得流體的流量。

          3、系統(tǒng)程序設(shè)計(jì)

          軟件系統(tǒng)包括DSP初始化、計(jì)算模塊、流量顯示、中斷處理模塊等部分。

          主程序流程圖如圖3所示,主程序完成初始化后,進(jìn)入一個(gè)循環(huán)程序,對(duì)采樣數(shù)據(jù)進(jìn)行處理,隨時(shí)響應(yīng)外部A/D中斷請(qǐng)求、串口通信中斷請(qǐng)求和定時(shí)器中斷請(qǐng)求,同時(shí)還要隨時(shí)判斷流量顯示定時(shí)是否到達(dá)。主程序響應(yīng)以上各中斷請(qǐng)求并調(diào)用各個(gè)相應(yīng)的處理程序,完成數(shù)據(jù)的采集和處理。

          newmaker.com初始化一方面是設(shè)置DSP的工作環(huán)境,另一方面是為后面的信號(hào)處理做準(zhǔn)備。系統(tǒng)初始化程序包括影響DSP芯片CPU運(yùn)行的內(nèi)部初始化和影響各個(gè)外設(shè)工作的外設(shè)初始化,以及外圍可編程器件(如A/D,D/A等)的初始化等幾個(gè)方面,具體地說包括以下功能:設(shè)置時(shí)鐘發(fā)生器,設(shè)置定時(shí)器,初始化各狀態(tài)寄存器,開中斷等。

          中斷處理模塊包括三個(gè)中斷:定時(shí)器中斷處理模塊用于啟動(dòng)A/D轉(zhuǎn)換器和控制采樣頻率,串行通信中斷處理模塊用于與上位機(jī)進(jìn)行通信,A/D中斷處理模塊用于讀取A/D轉(zhuǎn)換器采樣數(shù)據(jù),其流程圖如圖4所示。

          newmaker.com
          圖4 A/D中斷處理程序流程顯示模塊定時(shí)刷新儀表,顯示瞬時(shí)流量值和累積流量值。

          系統(tǒng)處理過程為:設(shè)定定時(shí)周期,定時(shí)器產(chǎn)生中斷,此中斷啟動(dòng)A/D轉(zhuǎn)換器,轉(zhuǎn)換結(jié)束后,A/D轉(zhuǎn)換器向DSP請(qǐng)求讀取數(shù)據(jù)中斷,DSP響應(yīng)A/D轉(zhuǎn)換器中斷請(qǐng)求,調(diào)用A/D中斷處理模塊,讀取采樣數(shù)據(jù),送入數(shù)據(jù)緩沖區(qū)。由于流體是間歇流動(dòng),所以DSP接收到上、下游信號(hào)的N點(diǎn)數(shù)據(jù)后,對(duì)數(shù)據(jù)進(jìn)行傅里葉分析,判斷流體是否流動(dòng),如流動(dòng)則調(diào)用計(jì)算程序,對(duì)采樣數(shù)據(jù)進(jìn)行相關(guān)運(yùn)算,尋找相關(guān)函數(shù)的峰值,確定渡越時(shí)間T,并根據(jù)儀表參數(shù)、溫度補(bǔ)償,獲得瞬時(shí)流量值和累積流量值,并將結(jié)果存于數(shù)據(jù)存儲(chǔ)單元,供顯示儀表顯示。

          在相關(guān)流量測(cè)量中,關(guān)鍵問題之一是相關(guān)函數(shù)的計(jì)算方法,要求能高速、準(zhǔn)確地完成對(duì)大量的隨機(jī)調(diào)制信號(hào)的采集、相關(guān)積分運(yùn)算和相關(guān)函數(shù)的峰值搜索。相關(guān)函數(shù)的算法主要有極性重合法和零點(diǎn)穿越法兩種。為了提高運(yùn)算速度,本系統(tǒng)采用頻域中的相關(guān)運(yùn)算。輸入的數(shù)據(jù)通過FFT變換后,即可求出頻域中的相關(guān)運(yùn)算。然后通過IFFT可得到時(shí)域中的相關(guān)結(jié)果,可以用來進(jìn)行峰值搜索。

          4、結(jié)語

          在分析油田單井工況和相關(guān)流量測(cè)量原理的基礎(chǔ)上,設(shè)計(jì)出一種適合單井原油計(jì)量的裝置,經(jīng)現(xiàn)場(chǎng)測(cè)試取得了較好的效果,其誤差小于2%。但還存在以下幾個(gè)問題:一是信號(hào)的起伏較大,主要是原油中含氣,含雜質(zhì)不定,所以造成了信號(hào)差別大,需要檢測(cè)電路增加AGC電路。二是修正系數(shù)的整定困難,不同的井含水量不同,油液的粘度差別很大,同時(shí)在不同的溫度下,油液的流動(dòng)性差別也很大,所以要在不同的環(huán)境下多次調(diào)整修正系數(shù),給使用帶來不便。三是在流速較低時(shí)誤差比較大。這些都是今后研究中要加以改進(jìn)的方面。(end)


          上一頁 1 2 下一頁

          關(guān)鍵詞: 原油超聲波相流量

          評(píng)論


          技術(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); })();