基于MATLAB 的曲柄摇杆机构优化设计
1. 问题的提出
根据机械的用途和性能要求的不同,对连杆机构设计的要求是多种多样的,但这些设计要求可归纳为以下三种问题:(1)满足预定的运动规律要求;(2)满足预定的连杆位置要求;(3)满足预定的轨迹要求。
在在第一个问题里按照期望函数设计的思想,要求曲柄摇杆机构的曲柄与摇杆转角之间按照()f φϕ=(称为期望函数)的关系实现运动,由于机构的待定参数较少,故一般不能准确实现该期望函数,设实际的函数为()F φϕ=(称为再现函数),而再现函数一般是与期望函数不一致的,因此在设计时应使机构再现函数()F φϕ=尽可能逼近所要求的期望函数()f φϕ=。
这时需按机械优化设计方法来设计曲柄连杆,建立优化数学模型,研究并提出其优化求解算法,并应用于优化模型的求解,求解得到更优的设计参数。
2. 曲柄摇杆机构的设计
在图 1 所示的曲柄摇杆机构中,1l 、2l 、3l 、 4l 分别是曲柄AB 、连杆BC 、摇杆CD 和机架AD 的长度。
这里规定0ϕ为摇杆在右极限位置0φ时的曲柄起始位置角,它们由1l 、2l 、3l 和4l 确定。
图1 曲柄摇杆机构简图
设计时,可在给定最大和最小传动角的前提下,当曲柄从0ϕ转到090ϕ︒+时,要求摇杆的输出角最优地实现一个给定的运动规律()f ϕ。
这里假设要求:
()()2
0023E f φϕφϕϕπ
==+
- (1)
对于这样的设计问题,可以取机构的期望输出角()E f φϕ=和实际输出角
()F φϕ=的平方误差之和作为目标函数,使得它的值达到最小。
2.1 设计变量的确定
决定机构尺寸的各杆长度1l 、2l 、3l 和4l ,以及当摇杆按已知运动规律开始运行时,曲柄所处的位置角0ϕ应列为设计变量,即:
[]12340T
x l l l l ϕ= (2)
考虑到机构的杆长按比例变化时,不会改变其运动规律,通常设定曲柄长度
1l =1.0,在这里可给定4l =5.0,其他杆长则按比例取为1l 的倍数。
若取曲柄的初始
位置角为极位角,则ϕ及相应的摇杆l 位置角φ均为杆长的函数,其关系式为:
()()()()222221243230124225arccos 210l l l l l l l l l l l l ϕ⎡⎤⎡⎤++-+-+==⎢⎥⎢⎥++⎢⎥⎢⎥⎣⎦⎣⎦ (3)
()()22222124323034325arccos 210l l l l l l l l l l ϕ⎡⎤⎡⎤
+--+--==⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦
(4)
因此,只有2l 、3l 为独立变量,则设计变量为[][]2312T
T
x l l x x ==。
2.2目标函数的建立
目标函数可根据已知的运动规律与机构实际运动规律之间的偏差最小为指标来建立,即: ()()2
1min m
Ei i i f x φφ==-→∑ (5)
式中,Ei φ-期望输出角;m -输出角的等分数;i φ-实际输出角,由图 1 可知:
()()02i i i i i i i παβϕπφπαβπϕπ--≤≤⎧⎪=⎨-+≤≤⎪⎩
(6)
式中,222222322132arccos arccos 22i i i i i r l l r x x rl r x α⎛⎫⎛⎫
+-+-== ⎪ ⎪⎝⎭⎝⎭ (7)
222241424arccos arccos 210i i i i i r l l r rl r β⎛⎫⎛⎫
+-+== ⎪ ⎪⎝⎭⎝⎭
(8)
i r ==
(9)
2.3约束条件
曲柄存在条件:
12131423;,l l l l l l l l ≤≤+≤+ ()()24133412,l l l l l l l l ≤-+≤-+
曲柄与机架共线位置时的传动角(连杆BC 和摇杆CD 之间的夹角): 最小传动角min min 45r BCD ︒=∠≥ 最大传动角max max 135r BCD ︒=∠≤ 由上面的分析可以算出:
()222222234112
min
231216arccos 4522l l l l x x r l l x x ︒⎡⎤+--⎡⎤
+-⎢⎥==≥⎢⎥
⎢⎥⎣
⎦⎣⎦ (10) ()222222234112
max
231236arccos 13522l l l l x x r l l x x ︒⎡⎤+-+⎡⎤
+-⎢⎥==≤⎢⎥⎢⎥⎣
⎦⎣⎦ (11)
3.用MATLAB 工具箱优化计算结果
通过上面的分析后,将输入角分成 30 等分(m=30),经过转化为标准形式得到曲柄摇杆机构优化设计标准数学模型为:
()()2
1
min m
Ei i i f x φφ==-→∑
[][]231
2T
T
x l l x x ==
()()()()()()()
112231241252122612122271212101060..40
401.41436036 1.4140
g x x g x x g x x x s t g x x x g x x x g x x x x x g x x x x x =-≤⎧
⎪
=-≤⎪
⎪=--≤⎪
=--≤⎨⎪=--≤⎪
=+--≤⎪⎪=---≤⎩ (12) 机械优化设计中的问题,大多数属于约束优化问题,此为非线性约束优化
问题,运用 MATLAB 优化工具箱的命令函数 fmincon 来处理有约束的非线性多元函数最小化优化问题。
3.1 编写程序求解
(1)首先编写目标函数 M 文件optimfun.m function f=optimfun (x ); s=30;qb=1;jj=5;fx=0;
fa0=acos (((qb+x (1))^2-x (2)^2+jj^2)/(2*(qb+x (1))*jj ));
%曲柄初始角
pu0=acos(((qb+x(1))^2-x(2)^2-jj^2)/(2*x(2)*jj));%摇杆初始角for i=1:s
fai=fa0+0.5*pi*i/s;
pui=pu0+2*(fai-fa0)^2?(3*pi);
ri=sqrt(qb^2+jj^2-2*qb*jj*cos(fai));
alfi=acos((ri^2+x(2)^2-x(1)^2)/(2*ri*x(2)));
bati=acos((ri^2+jj^2-qb^2)(/2*ri*jj));
if fai>0 & fai<=pi
psi=pi-alfi-bati;
elseif fai>pi & fai<=2*pi
psi=pi-alfi+bati;
end
fx=fx+(pui-psi)^2;
end
f=fx;
(2)编写非线性约束函数M 文件confun.m
function [c,ceq]=confun(x);
qb=1;jj=5;m=45*pi/180;n=135*pi/180;
c(1)=x(1)^2+x(2)^2-(jj-qb)^2-2*x(1)*x(2)*cos(m);
%最小传动角约束c(2)=-x(1)^2-x(2)^2+(jj+qb)^2+2*x(1)*x(2)*cos(n);
%最大传动角约束ceq=[];
(3)在MA TLAB 命令窗口调用优化程序
x0=[6;4];
lb=[1;1];
ub=[];
%线性不等式约束
a=[-1 -1;1 -1;-1 1];b=[-6;4;4];[x,fn]=fmincon(@optimfun,
x0,a,b,[],[],lb,ub,@confun);
(4)运行结果
5.结论
MATLAB优化工具箱具有强大的优化工具,应用它求解优化问题时工作量小,操作简单,计算结果精确,大大地提高了设计的时效性和准确性。
利用 MATLAB 优化工具箱对曲柄摇杆机构设计,达到了设计的预期目的。
参考文献
[1]孙桓,陈作模,葛文杰.机械原理[M].北京:高等教育出版社,2006(5):125-126.
[2]龚水明,詹小刚.基于MATLAB 工具箱的机械优化设计[J].机械工程师,2008(10):10-11.
[3]孙靖民.现代机械设计方法[M].哈尔滨:哈尔滨工业大学出版社,2003. [4]褚洪生,杜增吉,阎金华,等.MATLAB72优化设计实例指导教程[M].北京:机械工业出版社,2006.。