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