一种超宽温度补偿高精度压力传感器设计
2017-11-21胡永建
胡永建
中国石油集团钻井工程技术研究院,北京102206
一、前言
在石油钻井领域,井筒的环空压力测量不仅有助于窄密度压力窗口的精细控压钻井施工[1],也能通过监测井涌、井漏等井下复杂情况来保证井控安全。此类井下压力传感器需要在较宽的环境温度下工作(常规钻井仪器温度范围为-40℃~125℃),同时需要较高的测量精度(≤0.02% F.S.),一般选用低温度系数的石英晶体压力传感器作为传感部件。例如美国Quartzdyne公司生产DMB系列数字压力传感器,它采用石英晶体探头作为传感部件,内部配备完整的信号处理电路,通过数字通讯接口可读取压力与温度的原始测量值,同时读取校准系数来分度原始测量值,该压力传感器使用较为方便但价格昂贵[2]。
本文设计的井下压力传感器使用国产石英晶体压力传感器作为传感部件,设计了采用数字温度补偿的石英晶体振荡器作为时钟源的双通道频率计,该频率计以CPLD(复杂可编程逻辑器件)方式实现了多周期同步测频技术,以MCU完成压力数据的温度补偿及数据分度处理,通过RS485通讯接口即可以直接读取校准后的压力与温度测量值,无需额外计算过程。该压力传感器以较低成本实现了-40℃到125℃超宽温度补偿的高精度压力与温度测量功能。
二、温度补偿算法
1、频率计晶体振荡器
一般石英晶体压力传感器可输出压力、温度两路方波信号,信号频率高低对应着压力大小和温度高低。需要使用双通道频率计测量这两路信号的频率,本设计使用多周期同步测频技术能够消除计数器方式的±1计数值的测量误差,频率计的主要误差来源于晶体振荡器基准时钟的准确度。采用AT切割方式的石英晶体具有较好的频率温度特性[3-4]。
使用是德科技81150A信号发生器输出10kHz的方波,将频率计放入恒温箱,在不同温度下的测量频率值如图1所示。对于所选AT切割方式的晶体,如果不考虑温度补偿,测量误差超过0.3Hz。
对于所选精度为0.01% F.S.的石英晶体压力传感器,该测量精度可以达到精度要求,但是牺牲了石英晶体压力传感器的高分辨率特性,为了满足高分辨率测量的需求,通过板载数字温度计测量晶振的温度,MCU通过软件使用三次方程对晶振输出频率进行温度补偿,温度补偿系数保存在MCU闪存中。补偿后的基准频率f0为:
其中,t—数字温度计测量温度;
ai—线性回归计算得到的晶振温度补偿系数。
经过补偿后的频率计测量精度在-40℃到125℃全温度范围内小于0.1Hz。
2、压力校准与分度
从频率计读取到的石英晶体压力传感器的压力与温度原始测量值是频率量,需要经过分度处理才能得到压力与温度的实际物理量值。低温度系数的石英晶体压力传感器依然需要温度补偿才得到高精度的压力测量结果。这里只描述压力量的校准与分度算法,温度量类似。
对石英晶体压力传感器预先校准。将被检石英晶体压力传感器放入恒温箱中,恒温箱温度依次设定为tm(m=1,2,…,M),在每个tm温度点下,对其施加不同的标准压力pn(n=1,2,…,N),使用符合精度要求的频率计记录每个压力点的温度晶体输出频率ft(m,n)与压力晶体输出频率fp(m,n)。
经过误差分析,使用三阶拟合即可达到所需-40℃到125℃全温度范围的分度精度要求,因此这里以三阶拟合为例来说明。
在tm温度点下,对pn与fp(m,n)进行线性回归拟合计算,得到当前温度下的4个拟合系数ki(m) (i=0,1,2,3)可用于下列多项式:
其中,fp—压力晶体的输出频率;
P(m)—线性回归计算得到的当前温度点tm下的fp对应的压力值。
不同的温度点,系数ki(m)也不同,即系数ki(m)与温度晶体的输出频率ft(m,n)相关,再次对ki(m)与ft(m,n)进行线性回归拟合计算,得到系数lij(i=0,1,2,3;j=0,1,2,3)可用于下列多项式:
其中,ft—温度晶体的输出频率;
ki—线性回归计算得到的当前温度下的系数值。
对于三阶拟合,一共得到16个lij拟合系数,系数保存在MCU内部FLASH中。
在分度处理过程中,假设在某温度及压力条件下,测量得到温度晶体的输出频率ft与压力晶体输出频率fp。使用式(3)可以计算此时的4个ki(i=0,1,2,3)系数,然后以下式计算分度后的压力值P:
三、硬件设计
1、系统
图2所示为本文设计的井下压力传感器,由石英晶体压力传感器、双通道频率计、数据接口等组成。双通道频率计测量石英晶体压力传感器输出两路方波信号的频率,频率计使用数字温度补偿石英晶体振荡器提高测量精度,MCU从内部FALSH中读取校准与分度系数,对频率测量原始值进行分度处理后通过数据接口输出最终测量值。
2、石英晶体压力传感器
选用上海申胜的B19 QUP-Dr石英晶体压力传感器,压力量程40MPa,可工作到150℃。其内部原理框图如图3所示,它包含压力、温度和参考共计三个石英晶体,其中压力和温度晶体分别对压力与温度敏感,而参考晶体对温度与压力均不敏感。为了提高传感器压力测量的敏感度,将压力晶体的振荡信号与参考晶体的振荡信号混频,输出信号经低通滤波保留其中的差频部分,差频信号经整形后输出压力频率方波信号,其频率对应于压力大小,即压力测量原始值。温度测量原始值同样由温度晶体与参考晶体振荡信号混频后得到。
3、主控制器
井下压力传感器的主控制器选用了美国德州仪器 Hercules安全微控制器TMS570LS1114[5]:具备双核锁步CPU、存储器校验等硬件自检方式,满足ISO 26262 ASIL-D 和 IEC 61508 SIL-3的安全标准,符合钻井业对可靠性和温度的要求;有多个SPI接口及串行通讯口(SCI);内置模拟EEPROM 的64KB专用FLASH,可使用厂家提供的TI-FEE程序库来保存或读取校准与分度系数。
4、双通道频率计
双通道频率计硬件连接框图如图4所示。其中CPLD选用美国Altera公司的MAX V系列5M160ZE64(扩展级温度),该器件具有功耗低、上电配置时间小于0.5ms等特点。CPLD通过内置的多周期测频算法测量两路输入信号频率来得到压力与温度原始测量值,MCU通过I/O并口从CPLD内部寄存器中读取该值。
晶体振荡器选用了Q-Tech的QT570高温晶振,其晶体采用AT切割方式,频率温度系数为50ppm,该晶振同时为MCU及CPLD提供时钟信号。
LM95071[6]是SPI及MicroWire总线接口的数字温度计,温度测量范围为-40℃~+150℃,精度为±2℃。数字温度计放置在高温晶振附近,MCU通过SPI接口读取数字温度计的温度测量值,对双通道温度计的输出原始测量值进行时钟温度补偿修正,完成石英晶体振荡器的数字温度补偿计算。
对石英晶体压力传感器预先进行压力与温度校准,其分度系数保存在MCU的FLASH中。MCU根据分度系数对时钟温度修正后的原始测量值进行分度处理得到最终准确测量值,完成超宽温度的补偿计算。
5、数据接口
为了满足随钻测井及有缆测井的需求,数据接口包含了磁阻存储器与RS485收发器两部分:采集到的压力数据既可保存起来供起钻后回放;也可发送到外部总线,通过泥浆脉冲发生器等通讯设备实时发送到地面。
图5是数据接口连接框图。MR25H40是EVERSPIN公司的4MB非易失性新型磁阻存储器[7],具有低功耗、无写入延迟等特性,通过SPI接口与MCU相连,用来保存压力数据;MCU的SCI串行接口与美国德州仪器的SN65HVD11 RS485收发器相连,使用一个I/O口来控制数据流向,实现半双工数据收发。
四、软件设计
1、多周期同步测频法
使用多周期测频法测量石英晶体压力传感器输出的压力与温度方波信号。如果使用计数器直接测量频率,会有±1计数值的测量误差,使用多周期同步测频法可提高测量精度,并对不同频率的信号实现同等精度的测量。其原理如图6所示。
其中fx是整形后的压力或温度方波信号,f0是晶体振荡器产生的频率计基准时钟信号。用Cx与C0两个计数器分别对fx和f0计数,启动计数后,计数器Cx在fx上升沿开始计数,同时计数器C0在f0上升沿开始计数,当C0达到设定的最大计数值C0max后停止计数,此时得到测量频率近似为:
该方法可以消除Cx计数器的±1计数误差,又因为f0频率远大于fx,所以C0计数器的±1计数误差也可忽略。
使用Verilog语言编制了CPLD程序,程序分为两部分,图7是Cx计数器流程图,在被测信号fx上升沿触发,Start寄存器是确定计数器开始的标志位,由MCU通过并口写入。一旦Start置位,频率计做好启动准备:复位计数器,复位用于C0计数器复位的标志位ResetC0;在下一个fx上升沿开始计数,同时置位门限开启标志位OpenGate(此时C0开始计数);此后在每个fx上升沿Cx计数一次,直到达到C0计数器的最大计数值C0max后停止计数,随后复位到初始状态。
对于以f0上升沿触发的C0计数器,流程图如图8所示,计数器在需要复位时(ResetC0=0)复位,在门限开启状态下的每个上升沿计数。
需要注意,因为f0频率大于fx,在Cx计数器过程中使用标志位ResetC0来复位另一个过程中的C0计数器不会带来额外计数误差。
2、I/O并口读写
两个计数器的计数值保存在CPLD的C0与Cx寄存器中,MCU通过I/O并口来读取该原始测量值,图9是I/O并口通讯的读写时序图。
信号线IOR及IOW分别控制读、写操作,低电平有效。MCU在设定地址位A0~A2后,拉低IOR或IOW,在随后的上升沿写入或读取准备好的数据。使用Verilog语言实现的基础代码如下:
在IOW信号线的下降沿将数据线上的数据写入rCounter寄存器,在IOR信号线低电平时将rCounter寄存器的内容送到外部总线上,rCounter寄存器的具体内容由地址线确定。
3、配置工具
图10是自行设计的用于系数读写的配置工具软件操作界面。该软件可以对频率计进行时钟频率温度补偿修正,也可以分度压力及温度。产生的校准与分度系数可以输出保存到计算机中并用于再次导入。
五、试验结果
对新校准的井下压力传感器重新测量。图11给出了不同温度下40MPa满量程压力测量误差结果,可以看到从室温到120℃测量相对误差不超过0.003%F.S.。
经过对多组井下压力传感器的实际测量,该井下压力传感器在-40℃到125℃温度下可以达到0.02%F.S.的压力测量精度,同时能够测量环空温度。
六、结论
该高精度井下压力传感器精度为0.02%F.S.,与国外同类产品精度一样,具有更易使用的RS485通讯接口,可以直接读取最终测量数据而无需进行额外计算,配备的工具软件方便温度补偿及校准操作。该井下压力传感器成本较低,在当前低迷的油气市场环境下,能够产生可观的经济效益。