基于matlab的汽车离合器膜片弹簧设计与优化(含程序代码)_八兆帕

MATLAB是Mathworks公司研发的过程演算及参数分析程序, 是目前世界上应用最广泛的工程计算软件之一,利用Matlab中的优化函数,可以求解线性、非线性和多目标等问题。在处理多变量有约束的非线性最小化问题方面,MATLAB优化函数Fmincon可以极大提高效率。

(1)首先编写目标函数obufun.M

function f=objfun(x)

%%参数输入

Ei=210000; %弹性模量

miu=0.3; %泊松比

rf=32; %分离轴承推力作用半径

ds=2; %磨损极限1.6-2.2mm

dt=3; %分离行程

w=0.1; %加权因子

%%弹性特性公式ftanx

ftanx=( pi*Ei.*x(2).*x(7)/(6*(1-miu.^2)))*(log(x(3)./x(4))./((x(5)-x(6)).^2))*(( x(1)-x(7).*(x(3)-x(4))./(x(5)-x(6))).*( x(1)-0.5.*x(7).*(x(3)-x(4))./(x(5)-x(6)))+( x(2).^2))

%%磨损后fmsh参数变化

fmsh=( pi*Ei.*x(2).*(x(7)-ds)/(6*(1-miu^2)))*(log(x(3)./x(4))./((x(5)-x(6)).^2))*((x(1)-(x(7)-ds).*(x(3)-x(4))./(x(5)-x(6))).*(x(1)-0.5.*(x(7)-ds).*(x(3)-x(4))./(x(5)-x(6)))+( x(2).^2))

%%分离过程ffl参数变化

ffl=( pi*Ei.*x(2).*(x(7)+dt)/(6*(1-miu^2)))*(log(x(3)./x(4))./((x(5)-x(6)).*(x(5)-rf)))*((x(1)-(x(7)+dt).*(x(3)-x(4))./(x(5)-x(6))).*(x(1)-0.5.*(x(7)+dt).*(x(3)-x(4))./(x(5)-x(6)))+( x(2).^2))

%%双目标函数%%

f1=abs(ftanx-fmsh); %第一

f2=ffl; %第二:分离位置时的力

f=w.*f1+(1-w)*f2; %目标函数

(2)其次编写非线性约束函数confun.M

function [c,ceq] = confun(x)

%%参数输入

Ei=210000; %弹性模量

miu=0.3; %泊松比

rf=32; %分离轴承推力作用半径

n=18;%分离指的数目

b=10;%分离把根部的宽度

T=230*1000;%离合器最大转矩,转化成N.mm

a=200/2;% a=D/2摩擦片外半径

b=140/2;% b=d/2摩擦片内半径

z=2;%摩擦面,摩擦片的两倍

fz=0.3;%摩擦因数

%%切应力thegatb

e=(x(3)-x(4))./(log(x(3)./x(4))); %中性点半径

alfa=atan(x(1)./(x(3)-x(4))); %膜片弹簧圆锥底角

thegatb=abs((Ei./((1-miu.^2).*x(4))).*((0.5.*(e-x(4))).*(alfa+0.5.*x(2)./(e-x(4))).^2 -(2.*(0.5.*(e-x(4))).*alfa+x(2)./2).*(alfa+0.5.*x(2)./(e-x(4)))));%膜片弹簧切应力计算

%%弯曲应力thegarb

fbz=(x(5)-x(6))./(x(6)-rf);%fbz=(R1-r1)/(r1-rf),F2/F1力的比值

fer=(pi*Ei.*x(2).*x(7)/(6*(1-miu.^2))).*((log(x(3)./x(4)))./((x(5)-x(6)).^2)).*((x(1)-x(7).*(x(3)-x(4))./(x(5)-x(6))).*(x(1)-0.5.*x(7).*(x(3)-x(4))./(x(5)-x(6)))+(x(2).^2))*fbz;% F2

thegarb=abs(6*(x(4)-rf)*fer./(x(2).^2.*n.*b));%膜片弹簧弯曲应力

%%非线性约束条件c(1) 、c(2)

f1b=(pi*Ei.*x(2).*x(7)/(6*(1-miu.^2))).*((log(x(3)./x(4)))./((x(5)-x(6)).^2)).*((x(1)-x(7).*(x(3)-x(4))./(x(5)-x(6))).*(x(1)-0.5.*x(7).*(x(3)-x(4))./(x(5)-x(6)))+(x(2).^2)) %压紧力

c(1)=thegarb-thegatb-1500%弹簧危险点最大当量应力约束

c(2)=T/(z.*fz.*(2./3).*(a.^3-b.^3)/(a.^2-b.^2))-f1b;%膜片弹簧产生的约束,

ceq=[];

(3)最后写离合器参数优化函数main.m

clc;

clear;

close;

%%参数输入

Ei=210000;%材料弹性模量

miu=0.3;%泊松比

ds =2;% 磨损极限

dt= 3;%推力行程

D=200;%摩擦片外径

d=140;%摩擦片内径

r0= 29;%小端内半径

rf=32;%

%%绘原始弹簧弹性特性图

%参数输入

x0= [5.25 3 112.5 90 108.5 93 3];% H h R r R1 r1 lamda

x7=0:0.1:7;

F=(pi*Ei.*x0(2).*x7/(6*(1.-miu^2))).*(log(x0(3)./x0(4))./(x0(5)-x0(6)).^2).*((x0(1)-x7.*(x0(3)-x0(4))./(x0(5)-x0(6))).*(x0(1)-0.5.*x7.*(x0(3)-x0(4))./(x0(5)-x0(6)))+(x0(2).^2));

plot (x7,F,'b')% 绘制原始膜片弹簧弹性特性图

hold on

%%优化设计

%变量上下限

Lb=[4 2 105 86 98 86 2.89];%变量下限

Ub=[7 4 135 100 149 100 3.616];%变量上限

%线性不等式约束系数矩阵和常数% H h R r R1 r1 lamda

A=[1,-2.2,0,0,0,0,0; -1,1.7,0,0,0,0,0; 1,0,-pi/15,pi/15,0,0,0; -1,0,pi/20,-pi/20,0,0,0; 0,0,1,1.35,0,0,0; 0,0,-1,1.2,0,0,0; 0,-50,1,0,0,0,0; 0,35,-1,0,0,0,0; 0,0,0,0,0,1,0; 0,0,0,0,0,-1,0; 0,0,1,0,-1,0,0; 0,0,-1,0,1,0,0; 0,0,0,-1,0,1,0; 0,0,0,1,0,-1,0;];

b=[0 0 0 0 0 0 0 0 D./2 -(D+d)./4 7 -1 6 0];

%线性等式约束

Aeq=[];

beq=[];

[x,fval,exitflag,out]=fmincon( @objfun,x0,A,b,Aeq,beq,Lb,Ub,@confun);

%%绘制膜片弹性特性图

[c]=confun(x);

x7=0:0.1:7;

F=(pi*Ei.*x(2).*x7/(6*(1-miu^2))).*(log(x(3)./x(4))./(x(5)-x(6)).^2).*((x(1)-x7.*(x(3)-x(4))./(x(5)-x(6))).*(x(1)-0.5.*x7.*(x(3)-x(4))./(x(5)-x(6)))+(x(2).^2));

plot(x7,F,'r')

%%%%%%绘图标注%%%%%%

xlabel('膜片弹簧变形量λ/mm')

ylabel('工作压力F/N')

title('膜片弹簧F-λ弹性特性曲线')

legend('原始设计','优化设计')

%%求出目标函数H h Rr R1 r1 lamda

x

%%完结%%

(4)运行主函数main.m,得到参数优化结果与弹性特性曲线(如图)

x =

4.4597 2.2688 105.0000 86.0000 103.9984 86.0022 3.0627

参考文献

[1] 王望予.汽车设计[M]. 北京:机械工业出版社,2007

[2] 肖启瑞,樊明明,黄学翾等编著.车辆工程仿真与分析 基于MATLAB的实现[M].机械工业出版社,2012.

本文地址:http://www.8mpa.com/368.html

版权声明:本文为原创文章,版权归八兆帕所有,欢迎分享本文,转载请保留出处!

你可能感兴趣的:(基于matlab的汽车离合器膜片弹簧设计与优化(含程序代码)_八兆帕)