matlab解析法画凸轮轮廓线选编.docx

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
matlab解析法画凸轮轮廓线选编

班级: 姓名: 学号: 基于matlab的凸轮轮廓设计 设计凸轮机构的意义 在工业生产中,经常要求机器的某些部件按照规定的准确路线运动,仅应用连杆机构已难以满足这个要求,所以需要利用工作表面具有一定形状的凸轮。凸轮在所有基本运动链中,具有易于设计和能准确预测所产生的运动的优点。如果设计其他机构来产生给定的运功、速度、和加速度,其设计工作是很复杂的,但是设计凸轮机构则比较容易,而且运动准确、有效。所以在许多机器中,如纺织机、包装机、自动机床、自动化专用机床、数控机床、印刷机、内燃机、建筑机械、矿山机械、计算机的辅助装备及农业机具等,都可以找到凸轮机构。 在进行研究时,先设计一个简单的凸轮,在给定的旋转角度内有一定的总升距。设计凸轮轮廓的基本方法是把凸轮固定,使从动件以其与凸轮的相关位置绕凸轮回转而形成凸轮轮廓。因此设计凸轮时,必须画出足够多的点,使凸轮轮廓平滑可靠。 Matlab软件提供了强大的矩阵处理和绘图功能,具有核心函数工具箱。其编程代码接近数学推导公式,简洁直观,操作简易,人机交互性能好。因此,基于matlab软件进行凸轮机构的设计可以解决设计工作量大的问题。运用解析法进行设计,matlab可以精确的计算出轮廓上每一点的坐标,然后更为精确的绘制出凸轮轮廓曲线。 二、设计凸轮机构的已知条件 凸轮做逆时针方向转动,从动件偏置在凸轮轴心右边。从动件在推程做等加/减速运动,在回程做余弦加速运动。基圆半径rb=50mm,滚子半径rt=10mm,推杆偏距e=10mm,推程升程h=50mm,推程运动角ft=100o,远休止角fs=60o,回程运动角fh=90o。 分析计算 1、建立坐标系 ?以凸轮轴心为坐标原点建立平面直角坐标系XOY,取杆件上升方向为Y轴正方向。 2、推杆运动规律计算 凸轮运动一周可分为5个阶段:推程加速阶段、推程减速阶段、远休止阶段、回程阶段、进休止阶段。 根据已知条件,推程阶段为等加/减速,故推程阶段的运动方程为: 推程加速阶段(0~ft/2) sf=2*h*f2ft2vf=dsf=4*h*fft2 推程减速阶段(ft/2~ft) sf=h-2*h*ft-f2ft2vf=dsf=4*h*ft-fft2 远休止阶段(ft~ft+fs)推杆运动方程为 sf=0vf=dsf=0 根据已知条件,在回程做余弦加速运动,因此回程阶段(ft+fs~ft+fs+fh)的运动方程为 sf=h*1+cosπ*f-ft-fsfh2vf=dsf=-π*h*sinπ*f-ft-fsfh2*fh 近休止阶段(ft+fs+fh~360°)的运动方程为 sf=0vf=dsf=0 3、凸轮理论轮廓线计算 xf=se+sf*sinf+e*cosfyf=se+sf*cosf-e*sinf 式中se=rb2-e2,为推杆滚子中心到X轴的垂直距离。 4、实际轮廓线计算 根据3的计算结果有 dxf=dsf-e*sinf+se+sf*cosfdyf=dsf-e*cosf-se+sf*sinf 可得 sink=dxfdx2+dy2cosk=-dyfdx2+dy2 凸轮实际轮廓线为 xpf=xf-r*coskypf=yf-r*sink 四、程序代码 rb = 50; rt = 10; e = 10; h = 50; ft = 100; fs = 60; fh = 90; hd= pi / 180; du = 180 / pi; se=sqrt( rb^2 - e^2 ); d1 = ft + fs; d2 = ft + fs + fh; n = 360; s = zeros(n); ds = zeros(n); x = zeros(n); y = zeros(n); dx = zeros(n); dy = zeros(n); xx = zeros(n); yy = zeros(n); xp = zeros(n); yp = zeros(n); for f = 1 : n if f = ft/2 s(f) = 2 * h * f ^ 2 / ft ^ 2; s = s(f); ds(f) = 4 * h * f * hd / (ft * hd) ^ 2; ds = ds(f); elseif f ft/2 f = ft s(f) = h - 2 * h * (ft - f) ^ 2 / ft ^ 2; s = s(f);

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档