摘 要:針對油管腐蝕、磨損穿孔、破裂甚至斷裂等諸多問題,設(shè)計一個油管缺陷無損檢測系統(tǒng)。利用一種新型的油管缺陷磁性檢測傳感器采集缺陷信號,信號經(jīng)運算放大、A/D轉(zhuǎn)換后上傳至PC,使用C++ Builder 6.0軟件制作了一個上位機界面,可以實時顯示油管的各種缺陷。整個系統(tǒng)分為三個部分,即信號采集、信號處理和實時顯示,為了提高與PC的通訊速度以達到實時顯示的精確性,利用USB接口芯片CH375將信號處理部分設(shè)計成一個USB設(shè)備,實現(xiàn)了與PC機的USB通訊。系統(tǒng)主控芯片采用增強型51單片機STC12C5404AD。經(jīng)現(xiàn)場應用證明,采用該系統(tǒng)可以快速準確地檢測出油管的各種缺陷,而且操作簡單。
關(guān)鍵詞:磁性傳感器;A/D轉(zhuǎn)換;C++ Builder 6.0;USB接口芯片;51單片機
中圖分類號:TP29文獻標識碼:B
文章編號:1004-373X(2010)01-123-03
Implement of Non-destructive Testing System for Oil-well Tubing Defects
MAO Hongtao,WANG Hali
(College of Electricity and Electronic Engineering,Harbin University of Science and Technology,Harbin,150040,China)
Abstract:The non-destructive flaw detection system for oil well tubing is designed to solve a lot of problems in oil well tubing as corrosion,wear and tear perforation,rupture or even fracture,etc.And the new magnetic detector for inspection of defects in oil well tubing is used to acquire signals,and then the signals are magnified and transferred to PC after A/D conversion.Software C++ Builder6.0 is used to produce a host computer interface and a variety of oil well tubing defects can be displayed in real-time.The whole system is divided into three parts,namely,signal acquisition,signal processing and real-time display.In order to increase the speed of communication with the PC and to obtain accurate real-time display,a USB interface chip CH375 is used to make the signal processing part as a USB device,in this way communications with PC is built up through Universal Serial Bus.An enhanced 51 single-chip STC12C5404AD is used as a system microcontroller.Proved by the practical application on site,this system can detect various defects in the oil well tubing quickly and accurately,and it is easy to operate.
Keywords:magnetic detector;A/D conversion;C++ Builder 6.0;USB interface chip;51single -chip processor
油管長期在惡劣的環(huán)境服役,很容易發(fā)生斷裂或泄露等事故,而油管的現(xiàn)場無損檢測對于防止此類事故的發(fā)生具有重要的意義[1]。可將此系統(tǒng)的磁性檢測傳感器安裝于井口,在提升或下放油管作業(yè)的同時就可實現(xiàn)油管缺陷的現(xiàn)場檢測。
1 設(shè)計方案
系統(tǒng)總的原理框圖如圖1所示。
圖1 系統(tǒng)原理框圖
在系統(tǒng)中單片機通過放大電路將采集到的信號進行處理,并通過USB芯片上傳至上位機,在PC機上實時顯示。
2 缺陷信號的采集
對于管桿類構(gòu)件的電磁檢測,一般是在電磁檢測傳感器中采用磁敏元件來提取局部缺陷、壁厚減薄缺陷或者金屬截面積損失型缺陷引起的磁場參量的變化,獲得有關(guān)被檢測對象的各種缺陷信息。圖2所示的傳感器可以實現(xiàn)油管局部缺陷和壁厚減薄缺陷的現(xiàn)場綜合檢測。此傳感器的設(shè)計考慮到了油管現(xiàn)場檢測工況的特殊性,而且與國內(nèi)外現(xiàn)有的管桿類構(gòu)件缺陷的電磁檢測傳感器相比該傳感器具有三大技術(shù)特點[1]:
(1) 在此傳感器的同一截面上布置M個分別包含稀土永久勵磁回路的探頭單元對油管軸向勵磁,既保證油管均勻磁化又盡可能地增加了油管中的磁通量,達到對油管檢測的近飽和或飽和磁化要求。
(2) 此傳感器采用一個周向覆蓋范圍相互重疊的聚磁組件陣列同時感應腐蝕坑、孔等局部缺陷產(chǎn)生的漏磁場和壁厚減薄缺陷引起的探頭單元兩磁極之間的漏磁通量變化,實現(xiàn)局部缺陷和壁厚減薄缺陷的綜合檢測,簡化了傳感器結(jié)構(gòu),提高了檢測效率。
(3) 采用基于柔性環(huán)節(jié)的隨動定心技術(shù),使得每個探頭單元可以在油管徑向靈活移動、自動張合,傳感器相對于井口裝置靈活游動,克服或減少油管的形狀彎曲、晃動或不對中等情況可能對檢測儀產(chǎn)生的干擾。
圖2 油管缺陷磁性檢測傳感器
3 缺陷信號的處理
3.1 信號的放大
磁性檢測傳感器采集的信號由TLC2264芯片放大,它是德州儀器公司生產(chǎn)的四路運算放大器,在單電源或分裂電源的應用中具有滿電源幅度輸出的性能以滿足較大動態(tài)范圍的要求,可在電池供電應用時消耗較低的電源電流而仍然具有足夠好的交流性能。TLC2264極適合壓電傳感器之類高阻抗的小信號源條件,能提供較大的輸出動態(tài)范圍,低噪聲電壓和低輸入偏置電壓。運算放大電路如圖3所示[2]。
圖3 信號的運算放大電路
信號輸入1~4分別來自磁性檢測傳感器的霍爾元件,也可以再增加信號輸入的個數(shù),這樣可以增大采樣的精度[3];信號經(jīng)兩級運算放大后輸出到單片機的A/D口,放大倍數(shù)為20,這4路輸入作為油管局部缺陷的檢測信號;圖示還有1路經(jīng)霍爾元件采集的信號直接傳到單片機的另一個A/D口,作為油管壁厚減薄的檢測信號[4]。
3.2 信號的A/D轉(zhuǎn)換
采用51單片機STC12C5404AD作為整個系統(tǒng)的主控芯片,它具有高速、高可靠、寬電壓、低功耗、超強抗干擾、價格便宜、無法解密的優(yōu)點,而且還可以實現(xiàn)在系統(tǒng)可編程(ISP),方便使用。
STC12C5404AD由于集成了片內(nèi)A/D所以使得整個電路的結(jié)構(gòu)進一步簡化,它的A/D轉(zhuǎn)換口在P1口(P1.7~P1.0),有8路10位高速A/D轉(zhuǎn)換器,速度可達到100 kHz。上電復位后P1口為弱上拉型I/O口,用戶可以通過軟件設(shè)置將8路中的任何一路設(shè)置為A/D轉(zhuǎn)換,不需要做A/D轉(zhuǎn)換使用的可繼續(xù)作為I/O口使用。需要作為A/D使用的口要先將其設(shè)置為開漏模式或高阻輸入,通過設(shè)置兩個特殊功能寄存器P1M0,P1M1中相應的位來實現(xiàn)[5]。
3.3 信號的上傳
A/D轉(zhuǎn)換后的信號經(jīng)USB總線上傳至PC。USB接口芯片采用南京沁恒公司的CH375,它是一個USB總線的通用接口芯片,支持HOST主機方式和SLAVE/DEVICE設(shè)備方式。
3.3.1 CH375的功能特點及內(nèi)部結(jié)構(gòu)
在本地端,CH375具有8位數(shù)據(jù)總線和讀、寫、片選控制線以及中斷輸出,可以方便地掛接到單片機/DSP/MCU等控制器的系統(tǒng)總線上。CH375外圍元器件簡單,只需要一個晶振和兩個電容,同時可支持動態(tài)切換主機和設(shè)備方式。它內(nèi)置有控制傳輸?shù)膮f(xié)議處理器,可簡化常用的控制傳輸,其內(nèi)置固件可處理海量存儲設(shè)備的專用通訊協(xié)議。此外,CH375還支持5 V和3.3 V電源電壓,并支持低功耗模式。
CH375芯片內(nèi)具有7個物理端點,同時內(nèi)部集成有PLL倍頻器、主從USB接口SIE、數(shù)據(jù)緩沖區(qū)、被動并行接口、異步串行接口、命令解釋器、控制傳輸?shù)膮f(xié)議處理器、通用的固件程序等[6]。
3.3.2 單片機與CH375的連接電路
單片機控制CH375的電路連接示意圖如圖4所示。
圖4 CH375與單片機的連接電路
將CH375的8位數(shù)據(jù)總線連接到單片機的P2口,在對CH375進行操作時,將其設(shè)置成內(nèi)置固件模式,在這種模式下CH375自身完成設(shè)備枚舉,這個過程不需要單片機干預,但必須在計算機上安裝CH375的驅(qū)動程序。完成CH375的配置之后,在其ACT引腳(圖中未畫出)就會輸出一個低電平,如果在這個引腳接一個發(fā)光二極管,將電路板通過USB數(shù)據(jù)線與計算機相連時,發(fā)光二極管會點亮,同時在計算機右下角的任務(wù)欄會彈出一個“發(fā)現(xiàn)新硬件”的提示。
3.3.3 單片機通過CH375上傳數(shù)據(jù)的步驟
單片機將采集到的信號經(jīng)A/D轉(zhuǎn)換后暫存在數(shù)據(jù)緩沖區(qū),執(zhí)行WRUSBDATA命令向CH375寫入要發(fā)送的數(shù)據(jù);CH375被動地等待主機在需要時取走數(shù)據(jù);主機取走數(shù)據(jù)后CH375首先鎖定當前USB緩沖區(qū),防止重復發(fā)送數(shù)據(jù),然后將INT引腳設(shè)置為低電平,向單片機請求中斷;單片機進入中斷服務(wù)程序,首先執(zhí)行GETSTATUS命令獲取中斷狀態(tài),該命令完成后將INT引腳恢復為高電平,取消中斷請求;由于通過GETSTATUS命令獲取的中斷狀態(tài)是“上傳成功”,所以單片機執(zhí)行WRUSBDATA命令向CH375寫入另一組要發(fā)送的數(shù)據(jù),如果沒有后續(xù)數(shù)據(jù)要發(fā)送,那么單片機不必執(zhí)行WRUSBDATA命令;然后單片機執(zhí)行UNLOCKUSB命令;CH375在UNLOCKUSB命令完成后釋放當前緩沖區(qū),從而可以繼續(xù)USB通訊;接著單片機退出中斷服務(wù)程序,完成一次數(shù)據(jù)上傳[6,7]。
4 油管缺陷的實時顯示
使用Borland C++Builder 6.0來設(shè)計上位機軟件,以作為油管缺陷的實時顯示界面。
4.1 Borland C++Builder 6.0簡介
Borland C++Builder 6.0是一款快速應用程序開發(fā)(Rapid Application Development,RAD)工具,它的編程語言是C++,這種語言是面向?qū)ο蟮慕Y(jié)構(gòu)化語言,是高效率的高級編程語言之一,執(zhí)行速度僅次于匯編語言,但其種種優(yōu)點又是匯編語言無法達到的。實際上,C++ Builder 6.0是最先進的組件技術(shù)和面向?qū)ο蟮母咝дZ言C++融合的產(chǎn)物,由于Microsoft Windows是運用C/C++語言開發(fā)的,這使得C++ Builder 6.0可以完美地嵌入到Windows操作系統(tǒng)中,與Windows系統(tǒng)的兼容性非常好[8]。C++Builder 6.0具有功能強大的可視化集成開發(fā)環(huán)境(IDE),使程序員從繁重的代碼編寫中解放出來,使他們將注意力集中在算法設(shè)計和程序設(shè)計上,而不是浪費在瑣碎而重復的工作中,大大減少程序的開發(fā)周期,降低投資成本。C++Builder 6.0自己開發(fā)了一種成熟的數(shù)據(jù)庫鏈接技術(shù)——BDE數(shù)據(jù)庫引擎,此外,還支持Microsoft的ADO數(shù)據(jù)庫連接技術(shù)。這使得C++Builder 6.0具有強大的數(shù)據(jù)庫處理功能,使程序員可以非常容易地開發(fā)出功能強大的數(shù)據(jù)庫應用程序。
4.2油管缺陷實時檢測系統(tǒng)界面
采用C++Builder 6.0設(shè)計的油管缺陷實時檢測系統(tǒng)界面如圖5所示[9]
圖5 油管缺陷實時檢測系統(tǒng)界面
圖5中共有4路油管局部缺陷信號CH0~CH3和1路壁厚減薄信號BH(圖中未示全),每一路可以獨立顯示也可以5路綜合顯示。
4.3 油管缺陷實時檢測系統(tǒng)測試效果
由于南京沁恒公司本身提供CH375DLL動態(tài)鏈接庫文件,只需要將其添加到Project中即可實現(xiàn)PC與下位機設(shè)備的通訊。但由于C++Builder 6.0無法直接調(diào)用,此時還必須完成以下工作:首先要用coff2omf文件在DOS下將其轉(zhuǎn)換成ST格式的lib文件[10];再次在程序中加載該lib的頭文件(.h);最后要在程序中載入該文件:View →Project Manager 右鍵 Add 上該ST格式的lib文件即可編譯,否則仍會出現(xiàn)Link Error錯誤。使用本系統(tǒng)對現(xiàn)場油管的檢測所顯示的波形圖如圖6所示,油管正常時信號的波形平緩,當有缺陷時波形的變化就會較大,這樣就可以很快地將有缺陷的油管挑選出來。
圖6 油管檢測時的波形圖
5 結(jié) 語
本文針對油管缺陷設(shè)計了一個無損檢測系統(tǒng)。整個系統(tǒng)分為三個部分,包括缺陷信號的采集、信號的處理以及缺陷的實時顯示。本文詳細介紹了系統(tǒng)各個部分的構(gòu)成及其原理以及系統(tǒng)的通訊過程。整個系統(tǒng)成本低廉、操作簡單,經(jīng)現(xiàn)場多次測試應用證明該系統(tǒng)可靠性高,快速準確,是用于檢測油管缺陷的一套較好的設(shè)備。
參考文獻
[1]金建華,楊叔子.一種新型油管缺陷磁性檢測傳感器 [J].傳感技術(shù)學報,2002,9(3):238-242.
[2]童詩白,華成英.模擬電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社,2000.
[3]程景全.高新技術(shù)中的磁學和磁應用 [M].北京:科學技術(shù)出版社,2006.
[4]樓然苗,李光飛.51系列單片機設(shè)計實例[M].北京:北京航空航天大學出版社,2003.
[5]姚永平.STC12C5410AD系列單片機器件手冊[Z].深圳:宏晶科技,2009.
[6]智兆華.USB接口芯片CH375的原理及應用 [J].今日電子,2005,8(1):74-75.
[7]陳啟美,吳坤,丁傳鎖,等.USB協(xié)議層 [J].電力自動化設(shè)備,2001,5(5):59-63.
[8]蒙祖強,龔濤.C++ Builder程序員成長攻略[M].北京:中國水利水電出版社,2007.
[9]胡波,張昆.C++ Builder 6編程實例教程[M].北京:北京希望電子出版社,2002.
[10]陳寬達.C++ Builder深度歷險[M].武漢:華中科技大學出版社,2002.