⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 17-无心磨削工艺参数的优化.m

📁 MATLAb 机械源码文件好东西啊
💻 M
字号:
% 无心磨削工艺参数优化(调用wxmx_f和wxmx_g)

% 1----主程序
% 设计变量
% x(1)----工件线速度(m/min);
% x(2)----工件轴向进给量(mm/r);
% x(3)----磨削深度(mm).
% 设计变量的初始值
x0=[60;5.3;0.016];
% 设计变量的下界与上界
vlb=[12.241;3.047;0.002];
vub=[88.579;7.621;0.030];
% 如果没有设计变量边界限制,则边界参数lb,ub定义为空矩阵符号“[ ]”
% 六个线性不等式约束(g6、g7、g8、g9、g10、g11)中设计变量的系数矩阵
a=zeros(6,2);
a(1,1)=-1;a(2,1)= 1;
a(3,2)=-1;a(4,2)= 1;
a(5,3)=-1;a(6,3)= 1;
% 六个线性不等式约束中常数项列阵
b=[-12.241;88.579;-3.047;7.621;-0.002;0.030];
% 调用多维约束优化函数
% 等式约束参数Aeq,beq定义为空矩阵符号“[ ]”
[x,fn]=fmincon(@wxmx_f,x0,a,b,[],[],vlb,vub,@wxmx_g);
fmax=1e3*x(1)*x(2)*x(3);
disp ' '
disp '                 ********  计 算 结 果  ********'
disp ' '
disp '           ********  无心磨削工艺参数的最优解  ********'  
fprintf (1,'                    工件线速度       vw = %3.4f m/min \n',x(1))
fprintf (1,'                工件轴向进给量       fa = %3.4f mm/r \n',x(2))
fprintf (1,'                      磨削深度        t = %3.4f mm \n',x(3))
fprintf (1,'                    金属切除率     fmax = %3.4f mm^3/min \n',fmax)
disp ' '
% 调用三维约束优化非线性约束函数(wxmx_g)计算最优点x*的性能约束函数值 
g=wxmx_g(x);
disp '           ========    最优点的性能约束函数值    ========'
fprintf (1,'                  表面粗糙度限制条件       g1 = %3.4f \n',g(1))
fprintf (1,'                防止磨削烧伤限制条件       g2 = %3.4f \n',g(2))
fprintf (1,'                  磨轮耐用度限制条件       g3 = %3.4f \n',g(3))
fprintf (1,'              磨床主电机功率限制条件       g4 = %3.4f \n',g(4))
fprintf (1,'                工件轴向速度限制条件       g5 = %3.4f \n',g(5))
disp ' '
disp '           ========    最优点的边界约束函数值    ========'
fprintf (1,'                    工件线速度最小值       g6 = %3.4f \n',12.241-x(1))
fprintf (1,'                              最大值       g7 = %3.4f \n',x(1)-88.579)
fprintf (1,'                工件轴向进给量最小值       g8 = %3.4f \n',3.047-x(2))
fprintf (1,'                              最大值       g9 = %3.4f \n',x(2)-7.621)
fprintf (1,'                      磨削深度最小值      g10 = %3.4f \n',0.002-x(3))
fprintf (1,'                              最大值      g11 = %3.4f \n',x(3)-0.03)

% 2----目标函数(wxmx_f)
function f=wxmx_f(x);
% 金属切除率(mm^3/min)最大化
f=1e3/(x(1)*x(2)*x(3));

% 3----非线性不等式约束函数(wxmx_g)
function [g,ceq] = wxmx_g(x);
hd=pi/180;
% 约束条件1-工件表面最大高度不超过表面粗糙度要求限制条件
Bw=28;                              % 工件宽度(mm);
dw=55.56;                           % 工件直径(mm);
dr=500;                             % 导轮直径(mm);
Rz=2;                               % 表面粗糙度(微米);
Kh=80;                              % 表面粗糙度系数;
u=0.22;                             % 磨轮切削刃平均间隔(mm);
Lmd=53;                             % 磨轮磨刃半顶角(度);
n=1300;                             % 磨轮转速(r/min);
v=1e-3*pi*dr*n;                     % 磨轮线速度(m/min);
g(1)=1.36*Kh*u^1.2*(x(1)*x(2)/(tan(Lmd*hd)*v*Bw))^0.4*(1/dr+1/dw)^0.2-Rz;
% 约束条件2-防止磨削烧伤限制条件
Cb=1920;                            % 磨削烧伤临界系数(m.mm/min);
g(2)=(v-x(1))*x(3)^0.5*(dr*dw/(dr+dw))^0.5-Cb;
% 约束条件3-磨轮耐用度限制条件
Ct=2550;                            % 工件材料系数;
Tb=30;                              % 磨轮耐用度适用值(min);
g(3)=Tb-Ct*dw^0.6/(x(1)*x(2))^1.82/x(3)^1.1;
% 约束条件4-磨床主电机功率限制条件
Pc=13;                              % 磨床主电机功率(kW);
nu=0.95;                            % 磨床主电机到主轴之间的传动效率;
Tb=30;                              % 磨轮耐用度适用值(min);
g(4)=0.0358*(1e3*x(1)*x(2)*x(3)/pi)^0.7-nu*Pc;
% 约束条件5-工件轴向速度限制条件
vam=2000;                           % 工件轴向速度最大值(mm/min);
g(5)=1e3*(x(1)*x(2))/(pi*dw)-vam;
% 没有非线性等式约束条件
ceq=[];

% 4----计算结果分析
disp '              ********  磨削工艺参数的凑整解  ********'
dw=55.56;                           % 工件直径(mm);
dr=500;                             % 导轮直径(mm);
hd=pi/180;
alf=atan(x(2)/(pi*dw));             % 导轮偏角(rad)
nr=1e3*x(1)/(pi*dr*cos(alf));       % 导轮转速(r/min)
nrj=[13 17 23 30 40 53 71 94];      % 磨床导轮的八级转速
for i=1:8
    if nr<=nrj(i)
        nrd=nrj(i-1);break          % 确定导轮转速
    end
end
vwz=1e-3*pi*dr*nrd*cos(alf);        % 工件线速度凑整解(m/min)
fnz=(pi*dr*nrd*cos(alf))*(pi*dw*tan(alf))*x(3);    % 金属切除率凑整解
alfy=2.50;nry=30;ty=0.01;           % 原精磨工艺参数
fay=pi*dw*tan(alfy*hd);             % 原工件轴向进给量(mm/r)
vwy=1e-3*pi*dr*nry*cos(alfy*hd);    % 原工件线速度(m/min)
fny=1e3*vwy*fay*ty;                 % 原金属切除率(mm^3/min)
fprintf (1,'                  磨床导轮偏角      alf = %3.4f 度 \n',alf/hd)
fprintf (1,'                      导轮转速       nr = %3.0f r/min \n',nrd)
fprintf (1,'                    工件线速度      vwz = %3.4f m/min \n',vwz)
fprintf (1,'              金属切除率凑整解      fnz = %3.4f mm^3/min \n',fnz)
disp ' '
disp '                 ********  原磨削工艺参数  ********'
fprintf (1,'                原磨床导轮偏角     alfy = %3.4f 度 \n',alfy)
fprintf (1,'                    原导轮转速      nry = %3.0f r/min \n',nry)
fprintf (1,'                  原工件线速度      vwy = %3.4f m/min \n',vwy)
fprintf (1,'              原工件轴向进给量      fay = %3.4f mm/r \n',fay)
fprintf (1,'                原工件磨削深度       ty = %3.4f mm \n',ty)
fprintf (1,'                  原金属切除率      fny = %3.4f mm^3/min \n',fny)
disp ' '
fprintf (1,'        新旧工艺金属切除率之比      fnb = %3.4f \n',fnz/fny)
fprintf (1,'              金属切除率提高率      fnv = %3.4f \n',(fnz-fny)/fny)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -