ADXL203允许根据实际需要改变XOUT和YOUT引脚处的滤波电容大小来设计输出信号带宽。根据实际抽油现场的噪声分析,XOUT,YOUT引脚处的滤波电容先后选择了0.01mF,0.1mF和10mF,其中以10mF滤波电容毛刺最少,效果最好,从而实现对信号的最大程度的硬件去锯齿和去噪。
MSP430单片机A/D采集与数据处理
以上加速度水平、垂直信号经过调理后,都要输入MSP430单片机的 A/D进行模数转换。MSP430中ADC12模块[4]能够实现12位精度的模数转换,本系统使用稳压芯片输出电压3V作为A/D参考电源。
示功图测试仪的垂直加速度变化大,水平加速度变化小。垂直加速度信号范围:1~2V,水平加速度信号范围:0.5~2.5V。通过以上MSP430 A/D功能特点分析,确定其完全可以满足示功图信号的采集需求。
示功仪加速度在两次去除边界积分后并不能得到准确的冲程,往往对于同一口井会得出两个差异很大的冲程。因为加速度量的电压信号很小,3V供电系统造成加速度与电压的比例系数很小(0.56V/g),MCU采集加速度电压信号受干扰严重。所以必须对采集的加速度信号进行合适的滤波后再双重积分得到冲程。
首先,将采集到一个周期的加速度的数据存放在RAM中,对加速度数据进行奇异值的滤除;然后对加速度量进行3次7点平滑窗滤波,最大限度地将噪声信号滤除;最后,应用周期去边界的双重积分得到各点的位移值,对应各点载荷量,在液晶屏上画出示功图,并将油井信息和示功图信息储存到外部EEPROM中。
加速度信号的复合滤波方法
示功仪采用加速度信号进行双重积分算法得到位移和冲程,但是,加速度信号由于电源纹波和信号干扰的影响引起波形的微小畸变,经过双重积分后冲程累积误差增大。针对加速度信号测量位移和冲程所存在的问题,本文在分析形态滤波和传统平滑滤波的基础上,提出了一种改进的复合滤波方法。
形态滤波法
形态滤波[6]是一种非线性数字滤波技术,主要应用在人脸识别领域。根据加速度信号的特点,形态滤波可以有效地抑制加速度信号的噪声,较好的保持加速度信号的几何特征[5]。本文采用了腐蚀与扩散相结合的方式来达到形态滤波的效果,核心算法定义为:
Y={[(fΘg)⊕g](n)+[(f⊕g)Θg](n)}/2
其中,[(fΘg)⊕g](n)表示形态开运算,[(f⊕g)Θg](n)表示形态闭运算,g表示结构元素,本文选用{0,7.0711,10,7.0711,0}。
通过抽油现场测试,游梁式抽油机的位移和冲程测量效果理想,加速度信号波形如图3所示。
然而,该结构元素g只针对游梁式抽油机设计,对皮带式抽油机没有兼容性,现场测试结果误差很大。由于形态滤波的性能与结构元素有密切关系,当信号的先验波形无法确定时,理论上应采用自适应方法对结构元素尺寸最优估计。显然,利用MSP430单片机进行自适应算法是不切合实际的。
改进的滑动滤波法
传统的滑动平滑滤波只采样一次,将这一次采样值与过去若干次采样值一起求平均,若取N个采样值求平均,RAM中必须开辟N个数据的暂存区。
由于冲次(1分钟内抽油机上下往返的次数)通过判断加速度的两个最高点的计算得出(两个最高点之间的点数乘以采样周期50ms得到抽油机运行周期,冲次=60/周期)。使用传统的滑动滤波方法最高点的误判率高,难以得出准确的周期。本文采用了一种改进的滑动滤波方法,很好的解决了以上问题。
选用MSP430F1611(10K RAM)定义1800大小浮点数数组用来存储90s的加速度原始信号。经过3次滑动平滑滤波,公式如下:
3点滑动块:XK=(XK-1+XK+XK+1)/3 (1≤K≤N-1)
7点滑动块:XK+(XK-3+XK-2+XK-1+XK+XK+1+XK+2+XK+3)/7 (3≤K≤N-3)
式中:XK表示第K次采集的加速度数据;N表示采集数据个数;K表示当前加速度信号的序号。
经过3点滑动块或7点滑动块处理90s采集的所有加速度信号后找到最大值MAX,然后在MAX前后找出相近的最大值MAX1和MAX2(MAX-MAX10.01V,MAX -MAX20.01V),在50ms采样间隔下算出周期和冲次:
式中:T表示抽油机上下周期;nMAX1表示MAX1点的采集序号;nMAX2表示MAX2点的采集序号。
本文对比3点滑动块和7点滑动块的波形,并对计算出的位移和冲程进行比较,发现7点滑动块更能反映真实的加速度信号,同一口井的冲程测量重复性好,如图4所示。
加速度双重积分算法
示功图测试仪利用加速度信号间接得到位移和冲程信息。得到加速度的测量值后,要计算抽油杆运动的相对位移还必须解决两个问题:加速度的零点校正和积分求速度时边界条件的确定。因只需得到抽油杆运动的相对位移,由速度积分求位移时,可将边界条件置为零。