传感器试验程序MATLAB知识分享.docx
- 文档编号:7037314
- 上传时间:2023-01-16
- 格式:DOCX
- 页数:11
- 大小:15.64KB
传感器试验程序MATLAB知识分享.docx
《传感器试验程序MATLAB知识分享.docx》由会员分享,可在线阅读,更多相关《传感器试验程序MATLAB知识分享.docx(11页珍藏版)》请在冰豆网上搜索。
传感器试验程序MATLAB知识分享
传感器试验程序MATLAB
霍尔传感器特性试验数据处理程序
x=[0.1:
0.1:
1];%位移
v11=[1.42,2.85,4.32,5.71,7.10,8.52,9.91,11.06,11.19,11.19];%输出电压(1次正行程)
v12=-[-1.41,-2.84,-4.44,-5.91,-7.42,-8.81,-10.06,-10.13,-10.14,-10.14];%输出电压(1次正行程)
v21=[1.43,2.85,4.27,5.63,7.02,8.40,9.73,11.09,11.20,11.20];%输出电压(2次正行程)
v22=-[-1.44,-2.89,-4.42,-5.88,-7.37,-8.80,-10.09,-10.13,-10.14,-10.14];%输出电压(2次反行程)
v31=[1.40,2.81,4.27,5.65,7.02,8.46,9.76,11.15,11.20,11.20];%输出电压(3次正行程)
v32=-[-1.33,-2.76,-4.18,-5.83,-7.02,-8.35,-9.84,-10.12,-10.14,-10.14];%输出电压(3次反行程)
%%%结论:
k1为一次行程拟合的曲线的斜率(第一个值)和截距(第二个值),
%%%lmd1为1次行程灵敏度,fxxwc1为1次行程非线性误差,ccwc1为1次行程迟滞误差,cfx为这个实验的重复性误差
%%%其余的k2,lmd2。
。
。
类推。
。
。
k1=polyfit(x,v11,1)%拟合直线的斜率和截距(1次行程)
y=polyval(k1,x);
hold
figure
(1)
plot(x,v11,'-*',x,y)
gridon
xlabel('位移值(mm)');
ylabel('输出电压(mV)');
title('霍尔传感器输出特性图(1次正行程)');
lmd1=k1
(1)%灵敏度
y1=v11-y;
l1=max(y1);%最大非线性绝对误差
mlc=max(v11)-min(v11);
fxxwc1=l1/mlc*100%非线性误差(算出来的值写的时候记得带正负号和百分号)
figure
(2)
plot(x,v11,'-*',x,v12,'-o')%迟滞特性图
hold
gridon
xlabel('位移值(mm)');
ylabel('输出电压(mV)');
title('迟滞特性图(1次行程)');
y2=v11-v12;
l11=max(y2);%正反行程最大差值
ccwc1=l11/(2*(max([v11,v12])-min([v11,v12])))*100%迟滞误差(算出来的值写的时候记得带百分号)
k2=polyfit(x,v21,1)%拟合直线的斜率和截距(2次行程)
y=polyval(k2,x);
figure(3)
plot(x,v21,'-*',x,y)
gridon
xlabel('位移值(mm)');
ylabel('输出电压(mV)');
title('霍尔传感器输出特性图(2次正行程)');
lmd2=k1
(1)%灵敏度
y1=v11-y;
l1=max(y1);%最大非线性绝对误差
mlc=max(v21)-min(v21);
fxxwc2=l1/mlc*100%非线性误差(算出来的值写的时候记得带正负号和百分号)
figure(4)
plot(x,v21,'-*',x,v22,'-o')%迟滞特性图
hold
gridon
xlabel('位移值(mm)');
ylabel('输出电压(mV)');
title('迟滞特性图(2次行程)');
y2=v21-v22;
l11=max(y2);%正反行程最大差值
ccwc2=l11/(2*(max([v21,v22])-min([v21,v22])))*100%迟滞误差(算出来的值写的时候记得带百分号)
k3=polyfit(x,v31,1)%拟合直线的斜率和截距(1次行程)
y=polyval(k3,x);
figure(5)
plot(x,v31,'-*',x,y)
gridon
xlabel('位移值(mm)');
ylabel('输出电压(mV)');
title('霍尔传感器输出特性图(3次正行程)');
lmd3=k1
(1)%灵敏度
y1=v11-y;
l1=max(y1);%最大非线性绝对误差
mlc=max(v31)-min(v31);
fxxwc3=l1/mlc*100%非线性误差(算出来的值写的时候记得带正负号和百分号)
figure(6)
plot(x,v31,'-*',x,v32,'-o')%迟滞特性图
hold
gridon
xlabel('位移值(mm)');
ylabel('输出电压(mV)');
title('迟滞特性图(3次行程)');
y2=v31-v32;
l11=max(y2);%正反行程最大差值
ccwc3=l11/(2*(max([v31,v32])-min([v31,v32])))*100%迟滞误差(算出来的值写的时候记得带百分号)
cfx=max(max([abs(v11-v21),abs(v11-v31),abs(v21-v31)]),max([abs(v12-v22),abs(v12-v32),abs(v22-v32)]))/(2*(max([v11,v12])-min([v11,v12])))*100%重复性(算出来的值写的时候记得带百分号)
反射式光纤位移传感器特性试验数据处理程序
x=[0.5:
0.5:
5];%位移
v11=[0.48,0.81,0.96,0.99,0.94,0.86,0.77,0.68,0.6,0.53];%输出电压(1次正行程)
v12=[0.41,0.48,0.78,0.96,0.99,0.95,0.86,0.77,0.68,0.6];%输出电压(1次正行程)
v21=[0.53,0.84,0.98,0.99,0.93,0.85,0.75,0.67,0.59,0.52];%输出电压(2次正行程)
v22=[0.07,0.51,0.83,0.97,0.99,0.93,0.85,0.75,0.67,0.59];%输出电压(2次反行程)
v31=[0.4,0.75,0.95,1,0.96,0.88,0.78,0.69,0.61,0.53];%输出电压(3次正行程)
v32=[0.07,0.39,0.74,0.94,1,0.96,0.88,0.79,0.69,0.61];%输出电压(3次反行程)
%%%结论:
k1q为一次行程拟合的前坡曲线的斜率(第一个值)和截距(第二个值),
%%%k1h为一次行程拟合的后坡曲线的斜率(第一个值)和截距(第二个值)
%%%lmd1q为1次行程前坡灵敏度,fxxwc1q为1次行程前坡非线性误差,ccwc1为1次行程迟滞误差,cfx为这个实验的重复性误差
%%%lmd1h为1次行程后坡灵敏度,fxxwc1h为1次行程后坡非线性误差,其余的k2,lmd2。
。
。
类推。
。
。
k1=polyfit(x(1:
5),v11(1:
5),1)%拟合直线的斜率和截距(1次行程前坡)
k2=polyfit(x(6:
10),v11(6:
10),1)%拟合直线的斜率和截距(1次行程后坡)
yq=polyval(k1,x(1:
5));
yh=polyval(k2,x(6:
10));
hold
figure
(1)
plot(x,v11,'-*',x(1:
5),yq,x(6:
10),yh,'black')
gridon
xlabel('位移值(mm)');
ylabel('输出电压(mV)');
title('反射式光纤位移传感器输出特性图(1次正行程)');
lmd1q=k1
(1)%灵敏度(前坡)
lmd1h=k2
(1)%灵敏度(后坡)
y1q=v11(1:
5)-yq;
y1h=v11(6:
10)-yh;
l1q=max(y1q);%最大非线性绝对误差
l1h=max(y1h);%最大非线性绝对误差
mlcq=max(v11(1:
5))-min(v11(1:
5));
mlch=max(v11(6:
10))-min(v11(6:
10));
fxxwc1q=l1q/mlcq*100%非线性误差(算出来的值写的时候记得带正负号和百分号)
fxxwc1h=l1h/mlch*100%非线性误差(算出来的值写的时候记得带正负号和百分号)
figure
(2)
plot(x,v11,'-*',x,v12,'-o')%迟滞特性图
hold
gridon
xlabel('位移值(mm)');
ylabel('输出电压(mV)');
title('迟滞特性图(1次行程)');
y2=v11-v12;
l11=max(y2);%正反行程最大差值
ccwc1=l11/(2*(max([v11,v12])-min([v11,v12])))*100%迟滞误差(算出来的值写的时候记得带百分号)
k3=polyfit(x(1:
5),v21(1:
5),1)%拟合直线的斜率和截距(2次行程前坡)
k4=polyfit(x(6:
10),v21(6:
10),1)%拟合直线的斜率和截距(2次行程后坡)
yq=polyval(k3,x(1:
5));
yh=polyval(k4,x(6:
10));
hold
figure(3)
plot(x,v21,'-*',x(1:
5),yq,x(6:
10),yh,'black')
gridon
xlabel('位移值(mm)');
ylabel('输出电压(mV)');
title('反射式光纤位移传感器输出特性图(2次正行程)');
lmd2q=k3
(1)%灵敏度(前坡)
lmd2h=k4
(1)%灵敏度(后坡)
y1q=v21(1:
5)-yq;
y1h=v21(6:
10)-yh;
l1q=max(y1q);%最大非线性绝对误差
l1h=max(y1h);%最大非线性绝对误差
mlcq=max(v21(1:
5))-min(v21(1:
5));
mlch=max(v21(6:
10))-min(v21(6:
10));
fxxwc2q=l1q/mlcq*100%非线性误差(算出来的值写的时候记得带正负号和百分号)
fxxwc2h=l1h/mlch*100%非线性误差(算出来的值写的时候记得带正负号和百分号)
figure(4)
plot(x,v21,'-*',x,v22,'-o')%迟滞特性图
hold
gridon
xlabel('位移值(mm)');
ylabel('输出电压(mV)');
title('迟滞特性图(2次行程)');
y2=v21-v22;
l11=max(y2);%正反行程最大差值
ccwc2=l11/(2*(max([v21,v22])-min([v21,v22])))*100%迟滞误差(算出来的值写的时候记得带百分号)
k5=polyfit(x(1:
5),v31(1:
5),1)%拟合直线的斜率和截距(3次行程前坡)
k6=polyfit(x(6:
10),v31(6:
10),1)%拟合直线的斜率和截距(3次行程后坡)
yq=polyval(k5,x(1:
5));
yh=polyval(k6,x(6:
10));
hold
figure(5)
plot(x,v31,'-*',x(1:
5),yq,x(6:
10),yh,'black')
gridon
xlabel('位移值(mm)');
ylabel('输出电压(mV)');
title('反射式光纤位移传感器输出特性图(3次正行程)');
lmd3q=k5
(1)%灵敏度(前坡)
lmd3h=k6
(1)%灵敏度(后坡)
y1q=v31(1:
5)-yq;
y1h=v31(6:
10)-yh;
l1q=max(y1q);%最大非线性绝对误差
l1h=max(y1h);%最大非线性绝对误差
mlcq=max(v31(1:
5))-min(v31(1:
5));
mlch=max(v31(6:
10))-min(v31(6:
10));
fxxwc3q=l1q/mlcq*100%非线性误差(算出来的值写的时候记得带正负号和百分号)
fxxwc3h=l1h/mlch*100%非线性误差(算出来的值写的时候记得带正负号和百分号)
figure(6)
plot(x,v31,'-*',x,v32,'-o')%迟滞特性图
hold
gridon
xlabel('位移值(mm)');
ylabel('输出电压(mV)');
title('迟滞特性图(3次行程)');
y2=v31-v32;
l11=max(y2);%正反行程最大差值
ccwc3=l11/(2*(max([v31,v32])-min([v31,v32])))*100%迟滞误差(算出来的值写的时候记得带百分号)
cfx=max(max([abs(v11-v21),abs(v11-v31),abs(v21-v31)]),max([abs(v12-v22),abs(v12-v32),abs(v22-v32)]))/(2*(max([v11,v12])-min([v11,v12])))*100%重复性(算出来的值写的时候记得带百分号)
电涡流传感器特性与位移测量试验数据处理程序
x=[0.25:
0.25:
1.25];%位移
v11=-[1.98,2.81,3.55,4.28,4.96];%输出电压(1次正行程)
v12=-[0.01,1.95,2.81,3.54,4.26];%输出电压(1次正行程)
v21=-[0.01,1.97,2.8,3.56,4.3];%输出电压(2次正行程)
v22=-[0.08,0.01,1.96,2.79,3.55];%输出电压(2次反行程)
v31=-[2.09,2.92,3.69,4.39,5.08];%输出电压(3次正行程)
v32=-[0.2,2.05,2.9,3.66,4.37];%输出电压(3次反行程)
%%%结论:
k1为一次行程拟合的曲线的斜率(第一个值)和截距(第二个值),
%%%lmd1为1次行程灵敏度,fxxwc1为1次行程非线性误差,ccwc1为1次行程迟滞误差,cfx为这个实验的重复性误差
%%%其余的k2,lmd2。
。
。
类推。
。
。
k1=polyfit(x,v11,1)%拟合直线的斜率和截距(1次行程)
y=polyval(k1,x);
hold
figure
(1)
plot(x,v11,'-*',x,y)
gridon
xlabel('位移值(mm)');
ylabel('输出电压(mV)');
title('电涡流传感器输出特性图(1次正行程)');
lmd1=k1
(1)%灵敏度
y1=v11-y;
l1=max(y1);%最大非线性绝对误差
mlc=max(v11)-min(v11);
fxxwc1=l1/mlc*100%非线性误差(算出来的值写的时候记得带正负号和百分号)
figure
(2)
plot(x,v11,'-*',x,v12,'-o')%迟滞特性图
hold
gridon
xlabel('位移值(mm)');
ylabel('输出电压(mV)');
title('迟滞特性图(1次行程)');
y2=v11-v12;
l11=max(y2);%正反行程最大差值
ccwc1=l11/(2*(max([v11,v12])-min([v11,v12])))*100%迟滞误差(算出来的值写的时候记得带百分号)
k2=polyfit(x,v21,1)%拟合直线的斜率和截距(2次行程)
y=polyval(k2,x);
figure(3)
plot(x,v21,'-*',x,y)
gridon
xlabel('位移值(mm)');
ylabel('输出电压(mV)');
title('电涡流传感器输出特性图(2次正行程)');
lmd2=k1
(1)%灵敏度
y1=v11-y;
l1=max(y1);%最大非线性绝对误差
mlc=max(v21)-min(v21);
fxxwc2=l1/mlc*100%非线性误差(算出来的值写的时候记得带正负号和百分号)
figure(4)
plot(x,v21,'-*',x,v22,'-o')%迟滞特性图
hold
gridon
xlabel('位移值(mm)');
ylabel('输出电压(mV)');
title('迟滞特性图(2次行程)');
y2=v21-v22;
l11=max(y2);%正反行程最大差值
ccwc2=l11/(2*(max([v21,v22])-min([v21,v22])))*100%迟滞误差(算出来的值写的时候记得带百分号)
k3=polyfit(x,v31,1)%拟合直线的斜率和截距(3次行程)
y=polyval(k3,x);
figure(5)
plot(x,v31,'-*',x,y)
gridon
xlabel('位移值(mm)');
ylabel('输出电压(mV)');
title('电涡流传感器输出特性图(3次正行程)');
lmd3=k1
(1)%灵敏度
y1=v11-y;
l1=max(y1);%最大非线性绝对误差
mlc=max(v31)-min(v31);
fxxwc3=l1/mlc*100%非线性误差(算出来的值写的时候记得带正负号和百分号)
figure(6)
plot(x,v31,'-*',x,v32,'-o')%迟滞特性图
hold
gridon
xlabel('位移值(mm)');
ylabel('输出电压(mV)');
title('迟滞特性图(3次行程)');
y2=v31-v32;
l11=max(y2);%正反行程最大差值
ccwc3=l11/(2*(max([v31,v32])-min([v31,v32])))*100%迟滞误差(算出来的值写的时候记得带百分号)
cfx=max(max([abs(v11-v21),abs(v11-v31),abs(v21-v31)]),max([abs(v12-v22),abs(v12-v32),abs(v22-v32)]))/(2*(max([v11,v12])-min([v11,v12])))*100%重复性(算出来的值写的时候记得带百分号)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 传感器 试验 程序 MATLAB 知识 分享