摘 要: 針對目前鉆井泵的沖數(shù)測量方法中測量周期長、無法及時掌控工況的問題,提出了一種通過測量鉆井泵沖數(shù)的脈沖周期變化實現(xiàn)鉆井泵沖數(shù)檢測的方法,利用單片機及C語言實現(xiàn)了系統(tǒng)的軟硬件開發(fā)。該方法可迅速反應(yīng)出沖數(shù)的變化情況,使現(xiàn)場人員及時掌握鉆井泵的工作情況,提高了鉆井工程的安全性。
關(guān)鍵詞: 鉆井泵;沖數(shù);周期測量;單片機;C語言
鉆井泵是石油鉆機的三大工作機組之一,是鉆井液循環(huán)系統(tǒng)中的關(guān)鍵設(shè)備[1]。鉆井泵沖數(shù)的變化能夠及時反映鉆井工程的鉆進情況,如果鉆井泵出現(xiàn)超壓力或超負載工作時,將直接通過沖數(shù)變化反映出來,鉆井泵沖數(shù)的測量在鉆井多參數(shù)監(jiān)測系統(tǒng)中是必須記錄的參數(shù)之一。
當前常用的沖數(shù)測量方法是通過接近開關(guān)檢測動力端輸入軸的轉(zhuǎn)速,再除以鉆井泵的減速比,便可得到實際的沖數(shù),由于現(xiàn)有計量方法采用的是單位時間內(nèi)接近開關(guān)的脈沖數(shù),如果測量時間太短(如1 s),則計算出來的沖數(shù)與實際沖數(shù)相差較大,故測量時間一般選得較長(如5 s),沖數(shù)測量較準確但無法及時反應(yīng)鉆井泵沖數(shù)改變,不利于現(xiàn)場對鉆井工程的鉆進情況及時掌握。
采用單片機測量鉆井泵脈沖周期的方法,可以使鉆井泵的沖數(shù)測量在一個周期內(nèi)便能實現(xiàn)測量,提高了鉆井泵沖數(shù)測量的實時性。
1 測量原理
采用周期測量的方法在鉆井泵的動力輸入軸圓周上布置1片磁鋼,再安裝一只霍耳傳感器檢測隨軸轉(zhuǎn)動的磁鋼,當磁鋼通過霍耳傳感器時,便產(chǎn)生一個脈沖信號,如圖1(a)所示。圖1(b)所示是單片機晶體振蕩器所產(chǎn)生的脈沖,在晶體頻率選定的情況下,其時鐘周期的時間確定不變,通過計量動力端轉(zhuǎn)速產(chǎn)生的兩脈沖周期下降沿間的時鐘信號的個數(shù),便可測量出轉(zhuǎn)速。兩脈沖之間的關(guān)系與圖1中一致:tn=Nn×t0,式中,Nn為霍耳傳感器檢測到磁鋼一周內(nèi)的計數(shù)值,通過計算可以算出一周的周期,泵沖計算公式為:
式中i為鉆井泵的傳動比,tn為一周的時間。
該方法測量出的轉(zhuǎn)速變化只是在動力端轉(zhuǎn)動一周便能反應(yīng)出轉(zhuǎn)速的變化,如果增加動力端輸入軸上磁鋼的數(shù)量,還能夠更快地反應(yīng)沖數(shù)的變化情況。
單片機定時計數(shù)器工作原理如圖2所示,51單片機的定時器/計數(shù)器2有三種工作模式:捕獲、自動重新裝載(遞增或遞減計數(shù))和波特率發(fā)生器[2]。自動新裝載模式用于正反向計數(shù)時遞增計數(shù)和遞減計數(shù),波特率發(fā)生器用于串行通信。周期測量采用捕獲方式來準確獲取每個周期的準確時間。該方式使用內(nèi)部的時鐘周期來測量外部脈沖的周期[3],如圖2所示,當C/T2=0時,使用內(nèi)部晶體通過分頻器來的時鐘脈沖信號,TR2=1時,將自動對OSC來的時鐘脈沖進行計數(shù),當EXEN2=1時,且T2EX引腳上出現(xiàn)負跳變而引起捕獲或重裝時置位[3],這樣,T2EX上的負跳變就可以用于硬件計數(shù)器T2的同步控制信號,在負跳變同步控制信號作用下,將TL2和TH2中的瞬時計數(shù)值就傳送到了RCAP2L和RCAP2H中,讀取RCAP2中的值將能夠得到脈沖下降沿的計數(shù)值。由于讀取的是RCAP2中的計數(shù)值,因此將不會受TL2和TH2寄存器中值的變化而使讀出的數(shù)據(jù)差異較大。
由于單片機的OSC是確定的,如果選擇OSC的晶體為12 MHz,經(jīng)12分頻后,送到定時器中的脈沖頻率為1 MHz,其周期為1 μs,式(1)中的t0=1 μs。
鉆井泵的額定沖數(shù)為120沖,實驗中鉆井泵的減速比為4.16:1,其動力端的轉(zhuǎn)速約為500 r/min,霍耳傳感器檢測到的脈沖周期約為0.12 s,每個周期的T2的計數(shù)值約為120 000個,計數(shù)周期的誤差為±1個脈沖,相應(yīng)的計時誤差最大為2 μs,其計數(shù)誤差所引起的轉(zhuǎn)速變化可以忽略不計。
2 脈沖測量硬件電路
脈沖測量硬件電路如圖3所示,霍耳傳感器H1為NPN型,其“+”接24 V電源,“-”接GND地,“輸出”接發(fā)光二極管L1,TL521光電耦合器與單片機的P1.1/T2EX腳相連。發(fā)光二極管L1作為霍耳傳感器脈沖信號的指示燈,當磁鋼片通過霍耳傳感器檢測端時,霍耳傳感器便輸出低電平,發(fā)光二極管L1點亮,P1.1/T2EX腳也由低電平變?yōu)楦唠娖?;當磁鋼通過霍耳傳感器后,其輸出信號斷開,發(fā)光二極管L1熄滅,在P1.1/T2EX上則為低電平,在該腳上的波形如圖1(a)所示。通過檢測P11上的脈沖信號的周期,便能測量出鉆井泵的沖數(shù),由于動力端每轉(zhuǎn)1周將在P11上產(chǎn)生1個脈沖周期,在采集到一個脈沖周期時,便可對轉(zhuǎn)速進行計算,計算出的轉(zhuǎn)速通過8字LED顯示出來,還通過RS485通信接入鉆井多參數(shù)測試系統(tǒng)。
3 軟件設(shè)計
軟件采用C語言對單片機程序進行開發(fā),由于C語言具有功能豐富的庫函數(shù)、運算速度快、編譯效率高等優(yōu)點,提高了軟件的開發(fā)速度。
單片機中斷程序流程圖如圖4所示,在軟件編寫過程中,采用了定時/計數(shù)器2測量主軸脈沖周期的變化。由于定時/計數(shù)器T2為16 bit,其最大計數(shù)值為65 535,當計數(shù)器的值超過65 535時,這將使定時/計數(shù)器T2在計數(shù)中產(chǎn)生溢出中斷,標志位TF2置1,由軟件清除。在測量中,檢測TF2置位時計數(shù)值n+1,當脈沖下降沿到來時,讀取RCAP2中的計數(shù)值,脈沖數(shù)的值應(yīng)該為:n×65 536+RACP2H×256+RACP2L。顯示屏的刷新時間為1 s,只要鉆井泵沖數(shù)在大于15沖/min的情況下,均能夠?qū)崿F(xiàn)每秒鐘刷新一次轉(zhuǎn)速的變化情況。鉆井泵的工作沖數(shù)一般在90沖/min~130沖/min,完全能夠滿足其沖數(shù)測量要求,通過RS485通信,可以更快速地檢測到轉(zhuǎn)速的變化情況。
定時/計數(shù)器2周期測量的初始化程序如下:
void initT2(void)
{
T2CON=0x0D; //初始化定時器2
T2MOD=0x00; //設(shè)置為加計數(shù)
TH2=0; //TH賦初值
TL2=0;
ET2=1; //T2中斷允許
EA=1; //打開中斷
}
中斷程序如下:
void timer2() interrupt 5
{
unsigned long ts;
unsigned char n;
TH2=0;
TL2=0;
EXF2=0; //軟件清除外部標志
if(TF2==0) //計數(shù)器未溢出,計算周期的時間長度
{
ts=65 536×n+RCAP2H×256+RCAP2L;
//沖數(shù)的脈沖周期的計數(shù)值,如果時鐘為12 MHz,
該值除以1 000 000,便為時間值秒,沖數(shù)則為時間的倒數(shù)。
n=0;
}
else //計數(shù)器溢出
{
n++;
TF2=0;
}
}
采用定時器/計數(shù)器2實現(xiàn)變周期方式來測量鉆井泵沖數(shù)的方法已經(jīng)成功應(yīng)用在中國二重集團公司的鉆井泵性能測試平臺上,沖數(shù)測量準確可靠,能夠及時反映出鉆井泵的沖數(shù)的變化,提高了鉆井泵的工作性能。采用變周期法測量轉(zhuǎn)速,可以及時檢測到鉆井泵沖數(shù)的變化,測量周期短。應(yīng)用到鉆井現(xiàn)場,可及時反映出鉆井過程中鉆進工況的變化情況,提高了鉆井工程的安全性。
參考文獻
[1] 周明高,李相方,隋秀香,等.鉆井泵工況實時監(jiān)測新方法[J].中國海上油氣(工程),2002(10):25-27.
[2] 宏晶公司.STC89C51RC/RD+系列單片機器件手冊[M].2009:67-77.
[3] 馬忠梅,馬巖,張凱,等.單片機的C語言應(yīng)用程序設(shè)計[M].北京:北京航天航空大學(xué)出版社,1997:113-122.
(收稿日期:2010-07-22)