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