基于MATLAB拟定的位移传感器补偿方案
- 前言
- 补偿原理
- 实验方法和数据
- MATLAB数据处理
前言
本文使用的传感器为涡流位移传感器,测量位移,输出电压,软件拟合方法与微处理器结合,对系统进行非线性补偿和温度补偿。
由于电涡流位移传感器位移测量具有严重的非线性特性,主要原因是目标金属位移和线圈阻抗的变化是非线性关系; 线圈阻抗和电桥输出的变化是非线性的; 电子设备的输入和输出不是绝对的线性关系。因此,需要将非线性补偿模块连接到传感器位移测量系统,使系统的输出与目标金属的位移呈线性关系。此外,系统的输出受温度影响明显,主要原因是检测线圈的阻抗受温度影响较大。由于本文使用的电子设备是低温漂移设备,输出受温度影响较小,系统的整体温度漂移主要来自检测线圈。温度变化影响系统的测量精度和线性度,需要设计温度补偿模块来消除温度干扰。本文采用软件拟合法,结合微处理器对系统进行非线性补偿和温度补偿。
补偿原理
假设电涡流传感器输出的电压为 UX,温度传感器测量环境温度 CT,金属导体的位移 X 与 UX和 CT有关,因此 X 是 UX、CT二元函数,因此采用二元函数拟合的方法进行补偿。输出结果可以通过二元回归分析算法理解为三元Y,求Z的值。
即用 UX和 CT联合表示 X,如下所示: X=f(UX,CT)
二元回归模型如下:
实验方法和数据
测量不同度下,测量不同距离位移产生的电压并记录数据。由于现阶段缺乏测试设备,先使用参考文章中的数据,然后更新测量数据。文章中的具体数据如下:
MATLAB数据处理
使用MATLAB的cftool具体步骤如下:
1.在MATLAB输入命令行窗口U、C、X的值,依次为下方三个矩阵。(为方便使用,这里直接附上可复制的数据)
u = 0.2880 0.5260 1.0880 1.5440 1.9130 2.4350 2.9520 3.5990 4.2830 1.8380 2.0350 2.4760 2.8550 3.1290 3.5590 3.9190 4.3800 4.9470 3.8380 4.0300 4.4350 4.7840 5.0860 5.4580 5.8170 6.2480 6.7950 5.6250 5.8170 6.2020 6.5160 6.8100 7.1500 7.5190 7.9290 8.4560 7.2450 7.4170 7.7970 8.0960 8.3740 8.6940 9.0480 9.4580 9.9540 8.6830 8.8660 9.2250 9.5040 9.7770 10.0760 10.4250 10.8300 11.3110 9.9640 10.1520 10.5210 10.7750 11.0180 11.3160 11.6660 12.0560 12.5370 11.1290 11.3160 11.6610 11.9190 12.1720 12.4400 12.7800 13.1650 13.6300 12.1720 12.3540 12.7040 12.9570 13.1900 13.4530 13.7870 14.1870 14.6230 13.1140 13.2960 13.6250 13.8780 14.4160 14.3650 14.6990 15.0890 15.5190 13.9600 14.1370 14.4860 14.7140 14.9520 15.2000 15.5140 15.9040 16.3390 14.7190 14.9010 15.2410 15.4680 15.7060 15.9240 16.2530 16.6480 17.0740 15.4030 15.5800 15.9190 16.1520 16.3850 16.5930 16.9170 17.3320 17.7320 16.0250 16.2180 16.5320 16.7700 17.0180 17.2100 17.5290 17.9390 18.3390 16.5870 16.7850 17.0990 17.3370 17.5850 17.7620 18.0810 18.5010 18.8860 17.0990 17.2960 17.6150 17.8430 18.0860 18.2690 18.5770 19.0230 19.4180 17.5700 17.7570 18.0760 18.3140 18.5420 18.7290 19.0430 19.4670 19.8530 17.9900 18.1820 18.5010 18.7390 18.9670 19.1500 19.4480 19.8440 20.2480 18.3750 18.5670 18.8860 19.1290 19.3470 19.5250 19.8130 20.2130 20.5980 18.7290 18.9170 19.2310 19.4790 19.7070 19.8530 20.1420 20.5430 20.9580 19.0530 19.2410 19.5450 19.7830 20.0150 20.1780 20.4150 20.7960 21.2560 c = 22.5000 25.8000 31.6000 36.6000 40.7000 45.4000 51.0000 56.6000 61.6000 22.5000 25.8000 31.6000 36.6000 40.7000 45.4000 51.0000 56.6000 61.6000 22.5000 25.8000 31.6000 36.6000 40.7000 45.4000 51.0000 56.6000 61.6000 22.5000 25.8000 31.6000 36.6000 40.7000 45.4000 51.0000 56.6000 61.6000 22.5000 25.8000 31.6000 36.6000 40.7000 45.4000 51.0000 56.6000 61.6000 22.5000 25.8000 31.6000 36.6000 40.7000 45.4000 51.0000 56.6000 61.6000 22.5000 25.8000 31.6000 36.6000 40.7000 45.4000 51.0000 56.6000 61.6000 22.5000 25.8000 31.6000 36.6000 40.7000 45.4000 51.0000 56.6000 61.6000 22.5000 25.8000 31.6000 36.6000 40.7000 45.4000 51.0000 56.6000 61.6000 22.5000 25.8000 31.6000 36.6000 40.7000 45.4000 51.0000 56.6000 61.6000 22.5000 25.8000 31.6000 36.6000 40.7000 45.4000 51.0000 56.6000 61.6000 22.5000 25.8000 31.6000 36.6000 40.7000 45.4000 51.0000 56.6000 61.6000 22.5000 25.8000 31.6000 36.6000 40.7000 45.4000 51.0000 56.6000 61.6000 22.5000 25.8000 31.6000 36.6000 40.7000 45.4000 51.0000 56.6000 61.6000 22.000 25.8000 31.6000 36.6000 40.7000 45.4000 51.0000 56.6000 61.6000
22.5000 25.8000 31.6000 36.6000 40.7000 45.4000 51.0000 56.6000 61.6000
22.5000 25.8000 31.6000 36.6000 40.7000 45.4000 51.0000 56.6000 61.6000
22.5000 25.8000 31.6000 36.6000 40.7000 45.4000 51.0000 56.6000 61.6000
22.5000 25.8000 31.6000 36.6000 40.7000 45.4000 51.0000 56.6000 61.6000
22.5000 25.8000 31.6000 36.6000 40.7000 45.4000 51.0000 56.6000 61.6000
22.5000 25.8000 31.6000 36.6000 40.7000 45.4000 51.0000 56.6000 61.6000
x =
0 0 0 0 0 0 0 0 0
0.1000 0.1000 0.1000 0.1000 0.1000 0.1000 0.1000 0.1000 0.1000
0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000
0.3000 0.3000 0.3000 0.3000 0.3000 0.3000 0.3000 0.3000 0.3000
0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000
0.5000 0.5000 0.5000 0.5000 0.5000 0.5000 0.5000 0.5000 0.5000
0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000
0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000
0.8000 0.8000 0.8000 0.8000 0.8000 0.8000 0.8000 0.8000 0.8000
0.9000 0.9000 0.9000 0.9000 0.9000 0.9000 0.9000 0.9000 0.9000
1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000
1.1000 1.1000 1.1000 1.1000 1.1000 1.1000 1.1000 1.1000 1.1000
1.2000 1.2000 1.2000 1.2000 1.2000 1.2000 1.2000 1.2000 1.2000
1.3000 1.3000 1.3000 1.3000 1.3000 1.3000 1.3000 1.3000 1.3000
1.4000 1.4000 1.4000 1.4000 1.4000 1.4000 1.4000 1.4000 1.4000
1.5000 1.5000 1.5000 1.5000 1.5000 1.5000 1.5000 1.5000 1.5000
1.6000 1.6000 1.6000 1.6000 1.6000 1.6000 1.6000 1.6000 1.6000
1.7000 1.7000 1.7000 1.7000 1.7000 1.7000 1.7000 1.7000 1.7000
1.8000 1.8000 1.8000 1.8000 1.8000 1.8000 1.8000 1.8000 1.8000
1.9000 1.9000 1.9000 1.9000 1.9000 1.9000 1.9000 1.9000 1.9000
2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000
2.输入 cftool ,运行。 3.在得到的如下界面中设置X、Y、Z对应的变量。 4.设置阶数,直至符合趋势。这里设置3阶较为合适,得到下图。 5.根据左下角“Results”中的公式及其系数可得到拟合的函数,直接使用该函数将测得的温度与电压代入计算即可。
参考文章:《基于电涡流传感器的微位移测量系统的设计_荣锋》