您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 传感器试验程序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);holdfigure(1)plot(x,v11,'-*',x,y)gridonxlabel('位移值(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')%迟滞特性图holdgridonxlabel('位移值(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)gridonxlabel('位移值(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')%迟滞特性图holdgridonxlabel('位移值(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)gridonxlabel('位移值(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')%迟滞特性图holdgridonxlabel('位移值(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));holdfigure(1)plot(x,v11,'-*',x(1:5),yq,x(6:10),yh,'black')gridonxlabel('位移值(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')%迟滞特性图holdgridonxlabel('位移值(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));holdfigure(3)plot(x,v21,'-*',x(1:5),yq,x(6:10),yh,'black')gridonxlabel('位移值(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')%迟滞特性图holdgridonxlabel('位移值(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));holdfigure(5)plot(x,v31,'-*',x(1:5),yq,x(6:10),yh,'black')gridonxlabel('位移值(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')%迟滞特性图holdgridonxlabel('位移值(mm)');yl
本文标题:传感器试验程序MATLAB
链接地址:https://www.777doc.com/doc-5194947 .html