基于MATLAB拟合的位移传感器补偿方案

基于MATLAB拟合的位移传感器补偿方案

前言

本文所用传感器为电涡流位移传感器,测量量为位移,输出量为电压,所用方法为软件拟合的方法结合微处理器对系统进行非线性补偿和温度补偿。

由于电涡流位移传感器位移测量具有严重的非线性特性,主要原因有:目标金属的位移和线圈阻抗的变化是非线性关系; 线圈阻抗的变化和电桥的输出是非线性关系; 电子器件的输入和输出不是绝对的线性关系。因此需要给传感器位移测量系统接入非线性补偿模块,以使系统的输出和目标金属的位移呈线性关系。此外,系统的输出受温度影响较为明显,其主要原因是探测线圈的阻抗受温度影响较大,由于本文使用的电子器件都是低温漂器件,输出受温度影响很小,因此系统整体的温度漂移主要来源于探测线圈。温度的变化影响系统的测量精度和线性度,需要设计温度补偿模块以排除温度的干扰。本文采用软件拟合的方法结合微处理器对系统进行非线性补偿和温度补偿。

补偿原理

假设电涡流传感器输出的电压为 UX,温度传感器测得环境温度为 CT,金属导体的位移 X 与 UX和 CT有关,因此 X 是 UX、CT上的二元函数,故采用二元函数拟合的方法进行补偿。使用二元回归分析算法得到输出结果,也可以理解成三元N次方程求解,已知X与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.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
   
 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”中的公式及其系数可得到拟合的函数,直接使用该函数将测得的温度与电压代入计算即可。

参考文章:《基于电涡流传感器的微位移测量系统的设计_荣锋》

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值