网站大量收购闲置独家精品文档,联系QQ:2885784924

基于MATLAB的曲柄摇杆机构优化设计.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于MATLAB的曲柄摇杆机构优化设计 1. 问题的提出 根据机械的用途和性能要求的不同,对连杆机构设计的要求是多种多样的,但这些设计要求可归纳为以下三种问题:(1)满足预定的运动规律要求;(2)满足预定的连杆位置要求;(3)满足预定的轨迹要求。在在第一个问题里按照期望函数设计的思想,要求曲柄摇杆机构的曲柄与摇杆转角之间按照(称为期望函数)的关系实现运动,由于机构的待定参数较少,故一般不能准确实现该期望函数,设实际的函数为(称为再现函数),而再现函数一般是与期望函数不一致的,因此在设计时应使机构再现函数尽可能逼近所要求的期望函数。这时需按机械优化设计方法来设计曲柄连杆,建立优化数学模型,研究并提出其优化求解算法,并应用于优化模型的求解,求解得到更优的设计参数。 2. 曲柄摇杆机构的设计 在图 1 所示的曲柄摇杆机构中, 、、、 分别是曲柄AB、连杆BC、摇杆CD和机架AD的长度。这里规定为摇杆在右极限位置时的曲柄起始位置角,它们由 、、和确定。 图1 曲柄摇杆机构简图 设计时,可在给定最大和最小传动角的前提下,当曲柄从转到时,要求摇杆的输出角最优地实现一个给定的运动规律。这里假设要求: (1) 对于这样的设计问题,可以取机构的期望输出角和实际输出角的平方误差之和作为目标函数,使得它的值达到最小。 2.1 设计变量的确定 决定机构尺寸的各杆长度 、、和,以及当摇杆按已知运动规律开始运行时,曲柄所处的位置角应列为设计变量,即: (2) 考虑到机构的杆长按比例变化时,不会改变其运动规律,通常设定曲柄长度=1.0,在这里可给定=5.0,其他杆长则按比例取为的倍数。若取曲柄的初始位置角为极位角,则及相应的摇杆位置角均为杆长的函数,其关系式为: (3) (4) 因此,只有、为独立变量,则设计变量为。 2.2目标函数的建立 目标函数可根据已知的运动规律与机构实际运动规律之间的偏差最小为指标来建立,即: (5) 式中,-期望输出角;m-输出角的等分数;-实际输出角,由图 1 可知: (6) 式中, (7) (8) (9) 2.3约束条件 曲柄存在条件: 曲柄与机架共线位置时的传动角(连杆BC和摇杆CD之间的夹角): 最小传动角 最大传动角 由上面的分析可以算出: (10) (11) 3.用MATLAB工具箱优化计算结果 通过上面的分析后,将输入角分成 30 等分(m=30),经过转化为标准形式得到曲柄摇杆机构优化设计标准数学模型为: (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 fai0 fai=pi psi=pi-alfi-bati; elseif faipi 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)=

文档评论(0)

小教资源库 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档