胡永建
中國石油集團鉆井工程技術研究院,北京102206
在石油鉆井領域,井筒的環(huán)空壓力測量不僅有助于窄密度壓力窗口的精細控壓鉆井施工[1],也能通過監(jiān)測井涌、井漏等井下復雜情況來保證井控安全。此類井下壓力傳感器需要在較寬的環(huán)境溫度下工作(常規(guī)鉆井儀器溫度范圍為-40℃~125℃),同時需要較高的測量精度(≤0.02% F.S.),一般選用低溫度系數(shù)的石英晶體壓力傳感器作為傳感部件。例如美國Quartzdyne公司生產(chǎn)DMB系列數(shù)字壓力傳感器,它采用石英晶體探頭作為傳感部件,內(nèi)部配備完整的信號處理電路,通過數(shù)字通訊接口可讀取壓力與溫度的原始測量值,同時讀取校準系數(shù)來分度原始測量值,該壓力傳感器使用較為方便但價格昂貴[2]。
本文設計的井下壓力傳感器使用國產(chǎn)石英晶體壓力傳感器作為傳感部件,設計了采用數(shù)字溫度補償?shù)氖⒕w振蕩器作為時鐘源的雙通道頻率計,該頻率計以CPLD(復雜可編程邏輯器件)方式實現(xiàn)了多周期同步測頻技術,以MCU完成壓力數(shù)據(jù)的溫度補償及數(shù)據(jù)分度處理,通過RS485通訊接口即可以直接讀取校準后的壓力與溫度測量值,無需額外計算過程。該壓力傳感器以較低成本實現(xiàn)了-40℃到125℃超寬溫度補償?shù)母呔葔毫εc溫度測量功能。
一般石英晶體壓力傳感器可輸出壓力、溫度兩路方波信號,信號頻率高低對應著壓力大小和溫度高低。需要使用雙通道頻率計測量這兩路信號的頻率,本設計使用多周期同步測頻技術能夠消除計數(shù)器方式的±1計數(shù)值的測量誤差,頻率計的主要誤差來源于晶體振蕩器基準時鐘的準確度。采用AT切割方式的石英晶體具有較好的頻率溫度特性[3-4]。
使用是德科技81150A信號發(fā)生器輸出10kHz的方波,將頻率計放入恒溫箱,在不同溫度下的測量頻率值如圖1所示。對于所選AT切割方式的晶體,如果不考慮溫度補償,測量誤差超過0.3Hz。
對于所選精度為0.01% F.S.的石英晶體壓力傳感器,該測量精度可以達到精度要求,但是犧牲了石英晶體壓力傳感器的高分辨率特性,為了滿足高分辨率測量的需求,通過板載數(shù)字溫度計測量晶振的溫度,MCU通過軟件使用三次方程對晶振輸出頻率進行溫度補償,溫度補償系數(shù)保存在MCU閃存中。補償后的基準頻率f0為:
其中,t—數(shù)字溫度計測量溫度;
ai—線性回歸計算得到的晶振溫度補償系數(shù)。
經(jīng)過補償后的頻率計測量精度在-40℃到125℃全溫度范圍內(nèi)小于0.1Hz。
從頻率計讀取到的石英晶體壓力傳感器的壓力與溫度原始測量值是頻率量,需要經(jīng)過分度處理才能得到壓力與溫度的實際物理量值。低溫度系數(shù)的石英晶體壓力傳感器依然需要溫度補償才得到高精度的壓力測量結(jié)果。這里只描述壓力量的校準與分度算法,溫度量類似。
對石英晶體壓力傳感器預先校準。將被檢石英晶體壓力傳感器放入恒溫箱中,恒溫箱溫度依次設定為tm(m=1,2,…,M),在每個tm溫度點下,對其施加不同的標準壓力pn(n=1,2,…,N),使用符合精度要求的頻率計記錄每個壓力點的溫度晶體輸出頻率ft(m,n)與壓力晶體輸出頻率fp(m,n)。
經(jīng)過誤差分析,使用三階擬合即可達到所需-40℃到125℃全溫度范圍的分度精度要求,因此這里以三階擬合為例來說明。
在tm溫度點下,對pn與fp(m,n)進行線性回歸擬合計算,得到當前溫度下的4個擬合系數(shù)ki(m) (i=0,1,2,3)可用于下列多項式:
其中,fp—壓力晶體的輸出頻率;
P(m)—線性回歸計算得到的當前溫度點tm下的fp對應的壓力值。
不同的溫度點,系數(shù)ki(m)也不同,即系數(shù)ki(m)與溫度晶體的輸出頻率ft(m,n)相關,再次對ki(m)與ft(m,n)進行線性回歸擬合計算,得到系數(shù)lij(i=0,1,2,3;j=0,1,2,3)可用于下列多項式:
其中,ft—溫度晶體的輸出頻率;
ki—線性回歸計算得到的當前溫度下的系數(shù)值。
對于三階擬合,一共得到16個lij擬合系數(shù),系數(shù)保存在MCU內(nèi)部FLASH中。
在分度處理過程中,假設在某溫度及壓力條件下,測量得到溫度晶體的輸出頻率ft與壓力晶體輸出頻率fp。使用式(3)可以計算此時的4個ki(i=0,1,2,3)系數(shù),然后以下式計算分度后的壓力值P:
圖2所示為本文設計的井下壓力傳感器,由石英晶體壓力傳感器、雙通道頻率計、數(shù)據(jù)接口等組成。雙通道頻率計測量石英晶體壓力傳感器輸出兩路方波信號的頻率,頻率計使用數(shù)字溫度補償石英晶體振蕩器提高測量精度,MCU從內(nèi)部FALSH中讀取校準與分度系數(shù),對頻率測量原始值進行分度處理后通過數(shù)據(jù)接口輸出最終測量值。
選用上海申勝的B19 QUP-Dr石英晶體壓力傳感器,壓力量程40MPa,可工作到150℃。其內(nèi)部原理框圖如圖3所示,它包含壓力、溫度和參考共計三個石英晶體,其中壓力和溫度晶體分別對壓力與溫度敏感,而參考晶體對溫度與壓力均不敏感。為了提高傳感器壓力測量的敏感度,將壓力晶體的振蕩信號與參考晶體的振蕩信號混頻,輸出信號經(jīng)低通濾波保留其中的差頻部分,差頻信號經(jīng)整形后輸出壓力頻率方波信號,其頻率對應于壓力大小,即壓力測量原始值。溫度測量原始值同樣由溫度晶體與參考晶體振蕩信號混頻后得到。
井下壓力傳感器的主控制器選用了美國德州儀器 Hercules安全微控制器TMS570LS1114[5]:具備雙核鎖步CPU、存儲器校驗等硬件自檢方式,滿足ISO 26262 ASIL-D 和 IEC 61508 SIL-3的安全標準,符合鉆井業(yè)對可靠性和溫度的要求;有多個SPI接口及串行通訊口(SCI);內(nèi)置模擬EEPROM 的64KB專用FLASH,可使用廠家提供的TI-FEE程序庫來保存或讀取校準與分度系數(shù)。
雙通道頻率計硬件連接框圖如圖4所示。其中CPLD選用美國Altera公司的MAX V系列5M160ZE64(擴展級溫度),該器件具有功耗低、上電配置時間小于0.5ms等特點。CPLD通過內(nèi)置的多周期測頻算法測量兩路輸入信號頻率來得到壓力與溫度原始測量值,MCU通過I/O并口從CPLD內(nèi)部寄存器中讀取該值。
晶體振蕩器選用了Q-Tech的QT570高溫晶振,其晶體采用AT切割方式,頻率溫度系數(shù)為50ppm,該晶振同時為MCU及CPLD提供時鐘信號。
LM95071[6]是SPI及MicroWire總線接口的數(shù)字溫度計,溫度測量范圍為-40℃~+150℃,精度為±2℃。數(shù)字溫度計放置在高溫晶振附近,MCU通過SPI接口讀取數(shù)字溫度計的溫度測量值,對雙通道溫度計的輸出原始測量值進行時鐘溫度補償修正,完成石英晶體振蕩器的數(shù)字溫度補償計算。
對石英晶體壓力傳感器預先進行壓力與溫度校準,其分度系數(shù)保存在MCU的FLASH中。MCU根據(jù)分度系數(shù)對時鐘溫度修正后的原始測量值進行分度處理得到最終準確測量值,完成超寬溫度的補償計算。
為了滿足隨鉆測井及有纜測井的需求,數(shù)據(jù)接口包含了磁阻存儲器與RS485收發(fā)器兩部分:采集到的壓力數(shù)據(jù)既可保存起來供起鉆后回放;也可發(fā)送到外部總線,通過泥漿脈沖發(fā)生器等通訊設備實時發(fā)送到地面。
圖5是數(shù)據(jù)接口連接框圖。MR25H40是EVERSPIN公司的4MB非易失性新型磁阻存儲器[7],具有低功耗、無寫入延遲等特性,通過SPI接口與MCU相連,用來保存壓力數(shù)據(jù);MCU的SCI串行接口與美國德州儀器的SN65HVD11 RS485收發(fā)器相連,使用一個I/O口來控制數(shù)據(jù)流向,實現(xiàn)半雙工數(shù)據(jù)收發(fā)。
使用多周期測頻法測量石英晶體壓力傳感器輸出的壓力與溫度方波信號。如果使用計數(shù)器直接測量頻率,會有±1計數(shù)值的測量誤差,使用多周期同步測頻法可提高測量精度,并對不同頻率的信號實現(xiàn)同等精度的測量。其原理如圖6所示。
其中fx是整形后的壓力或溫度方波信號,f0是晶體振蕩器產(chǎn)生的頻率計基準時鐘信號。用Cx與C0兩個計數(shù)器分別對fx和f0計數(shù),啟動計數(shù)后,計數(shù)器Cx在fx上升沿開始計數(shù),同時計數(shù)器C0在f0上升沿開始計數(shù),當C0達到設定的最大計數(shù)值C0max后停止計數(shù),此時得到測量頻率近似為:
該方法可以消除Cx計數(shù)器的±1計數(shù)誤差,又因為f0頻率遠大于fx,所以C0計數(shù)器的±1計數(shù)誤差也可忽略。
使用Verilog語言編制了CPLD程序,程序分為兩部分,圖7是Cx計數(shù)器流程圖,在被測信號fx上升沿觸發(fā),Start寄存器是確定計數(shù)器開始的標志位,由MCU通過并口寫入。一旦Start置位,頻率計做好啟動準備:復位計數(shù)器,復位用于C0計數(shù)器復位的標志位ResetC0;在下一個fx上升沿開始計數(shù),同時置位門限開啟標志位OpenGate(此時C0開始計數(shù));此后在每個fx上升沿Cx計數(shù)一次,直到達到C0計數(shù)器的最大計數(shù)值C0max后停止計數(shù),隨后復位到初始狀態(tài)。
對于以f0上升沿觸發(fā)的C0計數(shù)器,流程圖如圖8所示,計數(shù)器在需要復位時(ResetC0=0)復位,在門限開啟狀態(tài)下的每個上升沿計數(shù)。
需要注意,因為f0頻率大于fx,在Cx計數(shù)器過程中使用標志位ResetC0來復位另一個過程中的C0計數(shù)器不會帶來額外計數(shù)誤差。
兩個計數(shù)器的計數(shù)值保存在CPLD的C0與Cx寄存器中,MCU通過I/O并口來讀取該原始測量值,圖9是I/O并口通訊的讀寫時序圖。
信號線IOR及IOW分別控制讀、寫操作,低電平有效。MCU在設定地址位A0~A2后,拉低IOR或IOW,在隨后的上升沿寫入或讀取準備好的數(shù)據(jù)。使用Verilog語言實現(xiàn)的基礎代碼如下:
在IOW信號線的下降沿將數(shù)據(jù)線上的數(shù)據(jù)寫入rCounter寄存器,在IOR信號線低電平時將rCounter寄存器的內(nèi)容送到外部總線上,rCounter寄存器的具體內(nèi)容由地址線確定。
圖10是自行設計的用于系數(shù)讀寫的配置工具軟件操作界面。該軟件可以對頻率計進行時鐘頻率溫度補償修正,也可以分度壓力及溫度。產(chǎn)生的校準與分度系數(shù)可以輸出保存到計算機中并用于再次導入。
對新校準的井下壓力傳感器重新測量。圖11給出了不同溫度下40MPa滿量程壓力測量誤差結(jié)果,可以看到從室溫到120℃測量相對誤差不超過0.003%F.S.。
經(jīng)過對多組井下壓力傳感器的實際測量,該井下壓力傳感器在-40℃到125℃溫度下可以達到0.02%F.S.的壓力測量精度,同時能夠測量環(huán)空溫度。
該高精度井下壓力傳感器精度為0.02%F.S.,與國外同類產(chǎn)品精度一樣,具有更易使用的RS485通訊接口,可以直接讀取最終測量數(shù)據(jù)而無需進行額外計算,配備的工具軟件方便溫度補償及校準操作。該井下壓力傳感器成本較低,在當前低迷的油氣市場環(huán)境下,能夠產(chǎn)生可觀的經(jīng)濟效益。