基于 MATLAB 的曲柄摇杆机构优化设计 1. 问题的提出 根据机械的用途和性能要求的不同,对连杆机构设计的要求是多种多样 的,但这些设计要求可归纳为以下三种问题:(1)满足预定的运动规律要求; (2)满足预定的连杆位置要求;(3)满足预定的轨迹要求。在在第一个问题 里按照期望函数设计的思想,要求曲柄摇杆机构的曲柄与摇杆转角之间按照 ? ? f ?? ? (称为期望函数)的关系实现运动,由于机构的待定参数较少,故一 般不能准确实现该期望函数,设实际的函数为? ? F ?? ? (称为再现函数),而再 现函数一般是与期望函数不一致的,因此在设计时应使机构再现函数 ? ? F ?? ? 尽可能逼近所要求的期望函数 ? ? f ?? ? 。这时需按机械优化设计方法来设计曲 柄连杆,建立优化数学模型,研究并提出其优化求解算法,并应用于优化模型 的求解,求解得到更优的设计参数。 2. 曲柄摇杆机构的设计 在图 1 所示的曲柄摇杆机构中, l1 、 l2 、 l3 、 l4 分别是曲柄 AB、连杆 BC、 摇杆 CD 和机架 AD 的长度。这里规定 ?0 为摇杆在右极限位置 ?0 时的曲柄起始 位置角,它们由 l1 、 l2 、 l3 和 l4 确定。 图 1 曲柄摇杆机构简图 设计时,可在给定最大和最小传动角的前提下,当曲柄从 ?0 转到 ?0 ? 90? 时,要求摇杆的输出角最优地实现一个给定的运动规律 f ?? ? 。这里假设要求: ?E ? f ?? ? ? ?0 ? 2 2 ?? ? ?0 ? 3? (1) 对于这样的设计问题,可以取机构的期望输出角 ?E ? f ?? ? 和实际输出角 ? ? F ?? ? 的平方误差之和作为目标函数,使得它的值达到最小。 2.1 设计变量的确定 决定机构尺寸的各杆长度 l1 、 l2 、 l3 和 l4 ,以及当摇杆按已知运动规律开始 运行时,曲柄所处的位置角?0 应列为设计变量,即: x ? ?l1 l2 l3 l4? 0 ? T (2) 考虑到机构的杆长按比例变化时,不会改变其运动规律,通常设定曲柄长 度 l1 =1.0,在这里可给定 l4 =5.0,其他杆长则按比例取为 l1 的倍数。若取曲柄的初 始位置角为极位角,则 ? 及相应的摇杆 l 位置角 ? 均为杆长的函数,其关系式 为: ? ?l1 ? l2 ?2 ? l42 ? l32 ? ? ?l ? l2 ?2 ? l32 ? 25 ? ? ? ? ? ?0 ? arccos ? 2l?ll10 ?l ? l2 ? ?1 2 ? 4 ? ???? ?? ? ? ?l1 ? l2 ?2 ? l42 ? l32 ? ? ?l ? l2 ?2 ? l32 ? 25 ? ? ? ? ? ?0 ? arccos ? ?? ?? ?? ?? 2l3l4 10l3 (3) (4) 因此,只有 l2 、 l3 为独立变量,则设计变量为 x ? ?l2 2.2 目标函数的建立 T T l3 ? ? ? x1 x2 ? 。 目标函数可根据已知的运动规律与机构实际运动规律之间的偏差最小为指 标 (5) 来 建 立 , 即 : f ? x? ? ? ??Ei ? ?i ? ? min i?1 m 2 式中,?Ei -期望输出角;m-输出角的等分数;?i -实际输出角,由图 1 可知: ??? ?? i ?? i ?0 ?? i ?? ? ?i ? ? ???? ? i ?? i ?? ?? ?222? 2??? ri 2 ? x22 ? x12 ? rl?i 3 ? l2 ? 式中,? i ? arccos ? ? ? arccos ? ? 2rl? i ? ? ? i3 2 22r x2 2???rllr???24? i 4 1 i? i ? arccos ? ? ? arccos ? ? ? 2rli 4 ? ? 10ri ? (6) (7) (8) ri ? l1 ? l4 ? 2l1l4 cos?i ? 26 ?10 cos?i 2.3 约束条件 22(9) 曲柄存在条件: l1 ? l2;l1 ? l3, l1 ? l4 ? l2 ? l3 l2 ? ?l4 ? l1 ? ? l3, l3 ? ?l4 ? l1 ? ? l2 曲柄与机架共线位置时的传动角(连杆 BC 和摇杆 CD 之间的夹角): 最小传动角 rmin ? min ?BCD ? 45? 最大传动角 rmax ? max ?BCD ? 135? 由上面的分析可以算出: ? l22 ? l32 ? ?l42 ? l12 ? ? ? x 2 ? x22 ?16 ? ? rmin ? arccos ? ? ? ? ?? ?? 2l2l3 ? 1? 2x1x2 ? ? 45 2? l2 ? l32 ? ?l42 ? l12 ? ? ? x 2 ? x22 ? 36 ? ? 1? ? ? ? ? ? 135 ?? 2x1x2 rmax ? arccos ?? 2l2l3 ? ? 3.用 MATLAB 工具箱优化计算结果 通过上面的分析后,将输入角分成 30 等分(m=30),经过转化为标准形式得 到曲柄摇杆机构优化设计标准数学模型为: m 2 (10) (11) f ? x? ? ? ??Ei ? ?i ? ? min i?1 x ? ?l2 l3 ? ? ? x1 x2 ? T T (12) ? g1 ? x? ? 1? x1 ? 0 g2 ? x? ? 1? x2 ? 0 ? g3 ? x? ? 6 ? x1 ? x2 ? 0 ? g4 ? x? ? x1 ? x2 ? 4 ? 0 ? s.t.g5 ? x? ? x2 ? x1 ? 4 ? 0 ? ?g 6 ? x? ? x12 ? x22 ?1.414x1x2 ? 36 ? 0 ? ? g7 ? x? ? 36 ? x1 ? x2 ?1.414x1x2 ? 0 2 2 机械优化设计中的问题,大多数属于约束优化问题,此为非线性约束优化 问题,运用 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)在 MATLAB 命令窗口调用优化程序 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.
基于MATLAB的优化设计
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)