梁雙鋒,穆建超,任小虎,程 飛
(1.西安方元能源工程有限責(zé)任公司 陜西 西安 710200;2.中國石油測井有限公司長慶事業(yè)部 陜西 西安 710200)
?
·儀器設(shè)備與應(yīng)用·
基于AT89C2051單片機A/B信號選擇模塊
梁雙鋒1,穆建超1,任小虎2,程 飛2
(1.西安方元能源工程有限責(zé)任公司 陜西 西安 710200;2.中國石油測井有限公司長慶事業(yè)部 陜西 西安 710200)
隨著油田開發(fā)的深入發(fā)展,水平井測井工藝不斷更新,對絞車計量系統(tǒng)的要求也不斷提高。由于在水平井測井過程中引進硬電纜和常規(guī)測井電纜的混合使用,深度計量打滑現(xiàn)象頻頻出現(xiàn),為現(xiàn)場施工造成很大的困難。將深度計量系統(tǒng)改進為雙計量輪,兩個計量輪驅(qū)動兩個編碼器,同時開發(fā)了深度信號自動切換模塊,對兩組深度信號擇優(yōu)切換,進行整形放大輸出。文中詳細介紹了信號選擇模塊的軟硬件實現(xiàn),給出了原理框圖、各關(guān)鍵部分硬件設(shè)計,同時給出部分程序。通過現(xiàn)場試驗,本設(shè)計有效的減小由于計量輪打滑造成的深度誤差,改善了測井質(zhì)量,提高了現(xiàn)場施工效率。
AT89C2051;中斷; A/B信號; 自動切換
絞車計量系統(tǒng)是測井絞車必不可少的專用設(shè)備,它廣泛用于油、氣田的測井、射孔等作業(yè)。但隨著油田開發(fā)的深入發(fā)展,水平井測井工藝不斷更新。測井公司在水平井測井中,為了避免水平段泵送儀器,不斷增加粗電纜(Φ22 mm和Φ34 mm)的使用,粗電纜與常規(guī)測井電纜(Φ11.8 mm)對接混合使用。這樣以來,由于粗電纜太硬或拉緊彈簧疲勞,在電纜盤到滾筒兩邊使用盤纜器時,容易造成丈量輪打滑現(xiàn)象,為測井帶來不便。
為了解決上述問題,我們在FYJJ-013型馬丁代克的基礎(chǔ)上另外加裝一套編碼器[1],實現(xiàn)兩個丈量輪分別驅(qū)動兩個編碼器。然后將兩個編碼器接入深度信號選擇模塊,模塊對兩路信號進行實時對比,選出信號變化靈敏(認為深度不打滑)的編碼器信號,進行整形放大,然后輸出。有效的減小由于計量輪打滑造成的深度誤差,改善測井質(zhì)量。
該模塊有信號整形電路、AT89C2051單片機[1]和功率放大電路等構(gòu)成,AT89C2051在模塊中起到自動雙擲開關(guān)的作用。模塊電路原理框圖如圖1所示。

圖1 模塊原理框圖
本模塊硬件電路如圖2所示,AT89C2051單片機是ATMEL公司出產(chǎn)的低電壓,高性能COMS8位單片機,內(nèi)有2 K可編程閃速存儲器,可以反復(fù)擦寫1 000次;工作電壓2.6~6 V;工作頻率0~24 MHz;128字節(jié)的內(nèi)部RAM;15條雙口可編程I/O口線;2個16位定時器T0和T1;5個中斷源[3](兩個外部中斷、兩個定時器/計數(shù)器中斷和一個串行口中斷);一個串行口。
AT89 C2051的1管腳是復(fù)位端,高電平有效。電阻R1和電容C3組成上電復(fù)位電路,當(dāng)模塊剛接通電源的瞬間,由于電容C3兩端的電壓不能突變,這樣1管腳就是高電平單片機復(fù)位[4]。
當(dāng)接通電源以后,+5 V電源給C3充電,C3兩端電壓逐漸增加,當(dāng)C3兩端電壓為5 V,充電電流為0。1管腳電壓為0,單片機退出復(fù)位狀態(tài),進入正常工作。
AT89 C2051內(nèi)部有振蕩器,但需要在外部的4管腳和5管腳之間接一個晶體,在本模塊中采用11.059 2 MHz的晶體,C4和C5位微調(diào)電容。
本模塊采用實時采集/輸出的方案,利用兩個外部中斷[5]對兩路編碼器信號進行計數(shù)、對比,實現(xiàn)信號自動切換。P1.2~P1.5為A/B信號輸入,P3.2和P3.3為兩個外部中斷輸入,P1.6和P1.7為A、B信號輸出。

圖2 硬件電路原理圖
信號整形采集電路由74HC04和上拉電阻構(gòu)成。74HC04是六反相器,既一個集成塊上有六個反相器,高速CMOS器件,低功耗肖特基的TTL(LSTTL)電路。根據(jù)芯片輸入特性,當(dāng)供電電壓VCC=5 V時,輸入端最少輸入3.5 V電壓才可以被74HC04識別為高電平。編碼器輸出A/B信號輸入至模塊的電壓是3.6 V,考慮到電路的可靠性,采用上拉電阻提高信號輸入電壓。
AT89 C2051屬于CMOS電路[6],為了增加驅(qū)動能力,本設(shè)計使用74HC04作為本模塊的功率放大輸出電路。
模塊的軟件采用C語言通過uVision4進行開發(fā)的。本模塊利用單片機兩個外部中斷對兩路編碼器信號進行計數(shù)對比,算出計數(shù)多的一路信號,選擇與其連接的編碼器信號為有效信號,對該組信號讀取-輸出,實現(xiàn)雙刀雙擲開關(guān)的作用,而且自動切換。編碼器計數(shù)多認為與其對應(yīng)的丈量輪不打滑。
本模塊軟件設(shè)計的難點是程序運行周期必須小于140 μs。因為在測井過程中,電纜運行速度通常情況下不大于10 000 m/h。在1 000 m/h速度的情況下,丈量輪每周0.75 m,編碼器整周刻度線數(shù)960個,A/B信號的周期T為:
由圓光柵編碼器(YGM406)說明書[5]可知,A/B信號的占空比為50%,所以,單片機讀取-輸出周期(即程序運行周期)必須小于T/2=140μs。這個模塊選用11.059 2MHz的晶振,經(jīng)計算本模塊程序運行周期必須小于129個機器周期。模塊主程序如下:
void main()
{
IntConfiguration();
i = 0x80;
LED = 0;
while(1)
{
if(flag == 0)
{
OutputA = InputA1;
OutputB = InputB1;
}
else
{
OutputA = InputA2;
OutputB = InputB2;
}
}
}
通過兩個外部中斷對兩個編碼器的A信號進行計數(shù),A1信號產(chǎn)生的中斷實現(xiàn)i加1,A2信號產(chǎn)生的中斷實現(xiàn)i減1。中斷程序在兩個計數(shù)相差6時對flag進行賦值調(diào)整。此程序中i初值為0x80,所以當(dāng)i>0x85,flag=0;當(dāng)i<0x7b,flag=1;當(dāng)0x7b≦i≦0x85,flag的值保持不變。
程序調(diào)試結(jié)束后,利用反匯編將C51程序轉(zhuǎn)化為匯編語言程序,通過計算匯編語言程序的運行時間[7],我們得出該模塊程序運行周期為42個機器周期(包括中斷程序),滿足設(shè)計要求。
本文詳細介紹了基于AT98C2051單片機信號選擇模塊的硬件設(shè)計和C語言實現(xiàn)。經(jīng)實際使用表明,利用該設(shè)計能夠?qū)崿F(xiàn)兩組深度信號的擇優(yōu)自動切換,大大改善了引打滑造成的深度誤差,提高測井曲線質(zhì)量。其創(chuàng)新點在于借助單片機實現(xiàn)深度信號的進行比對,自動切換,緩解了單編碼器深度打滑對現(xiàn)場施工造成的困難,提高現(xiàn)場施工效率。
不足之處在于只對每組深度信號的A信號進行計數(shù)比對,如果B信號出現(xiàn)問題,本設(shè)計不能排查。但在實際施工過程中,B信號出現(xiàn)故障容易發(fā)現(xiàn),操作人員可以及時處理。
[1] 李 軍,蔡風(fēng)波,唐振歡.馬丁代克編碼器深度系統(tǒng)改造[J].石油儀器,2007,21(6):101-103.
[2] 郭天祥.新概念51單片機C語言教程[M].北京:電子工業(yè)出版社,2009:1,65-69.
[3] 陳廷俠,張家平.80C51單片機外部中斷的應(yīng)用及其程序調(diào)試[J].新鄉(xiāng)學(xué)院學(xué)報(自然科學(xué)版),2010,27(3):36-39.
[4] 秦 萌,任軍利.基于AT89C2051單片機應(yīng)用設(shè)計[J] .科技風(fēng),2008,2(1):54.
[5] 路永華.TTL門電路與CMOS門電路接口問題的研究[J].甘肅科技,2004,20(11):69-70.
[6] 園光柵編碼器YGM604產(chǎn)品說明書[Z].中科院南京天文儀器有限公司
[7] 彭志剛.51系列單片機延時程序運行時間的計算[J].儀器儀表用戶,2008,15(5):107-108.
A/B Signal Switching Module Based on AT89C2051 MCU
LIANG Shuangfeng1, MU Jianchao1, REN Xiaohu2, CHENG Fei2
(1.XianFangyuanEnergyEngineeringCo.Ltd,Xi′an,Shaanxi710200,China;2.CNPCLogging,DepartmentofChangqing,Xi′an,Shaanxi710200,China)
With the further development of oilfield exploitation, the technology of the horizontal well logging updates constantly, which need the winch metering system to enhance unceasingly. Depth measuring instrument skidding phenomenon appears frequently because of the mixed using of different specifications logging cable in the process of horizontal well logging, which have caused huge difficulties for the on-site construction. The depth measurement system was improved by using double measuring wheels that driving two encoders. At the same time,a signal switching module was developed to contrast to choose the accurate depth signal automatically to output after shaping amplification. The implementing of hardware and software of the signal switching module was introduced, and the principle diagram and the hardware design of key parts were given with a part of the program. The field test showed that the design effectively reduced the error caused by measuring wheel skidding depth, which improved the quality of logging and the efficiency of the site construction.
AT89C2051;interrupt;A/B signal;auto switch
梁雙鋒,男,1980年生,工程師,2004年畢業(yè)于西安石油大學(xué)測控技術(shù)與儀器專業(yè),現(xiàn)主要從事油氣田測井工作及測井儀器的研究。E-mail:lsfxdz515@163.com
TP23
A
2096-0077(2016)05-0044-03
2016-05-06 編輯:韓德林)