基于MAAB软件的凸轮轮廓曲线设计
- 格式:docx
- 大小:220.50 KB
- 文档页数:14
(此文档为word格式,下载后您可任意编辑修改!)第1章绪论1.1 机构学的现状与发展1.1.1 机构学的概况机构学是以运动几何学和力学为主要理论基础,以数学分析为主要手段,对各类机构进行运动和动力分析与综合的学科。
机构学为创造新的机器和进行机械发明与改革提供正确有效的理论和方法,以设计出更经济合理、更先进的机械设备,来满足生产发展和人们生活的需求。
机构学的发展将直接影响到机械工业各类产品的工作性能以及许多行业生产设备的机械化和自动化程度。
机构学作为机械工程技术科学中的一门主要基础学科,近年来由于机电一体化高技术科学特别是工业机器人与特种机器人的发展对机构学理论和技术上的要求,使机构学学科达到了一个崭新的阶段。
在国际学术讨论会上,各国科学家一致认为它有如旭日东升,正显出其无比强大的生命力。
机构学一方面由简单的运动分析与综合向复杂的运动分析与综合方面发展,另一方面也由机构运动学向机构动力分析与综合方向发展,研究机构系统的合理组成的方法及其判据,分析研究机器在传递运动、力和做功过程中出现的各种问题。
机构精度问题也相应地由静态分析走向动态分析。
机构联结件的间隙在高速运转时有不容忽视的影响,因而需要研究机构间间隙、摩擦、润滑与冲击引起的机构变形、稳态与非稳态下的动态响应和过渡过程问题。
在惯性力作用下,由于机构上刚度薄弱环节的弹性变形,由此研究以振动理论多自由度模态化、线性与非线性、随机的功率谱与载荷谱等为分析手段和方法而形成的运动弹性动力学问题,以及视整个机构系统为柔性的多柔体系统动力学和逆动力学分析、综合及控制问题。
它是把整个机构看成是由多刚体组成的多刚体动力学、结构动力学及自动控制等学科发展的交叉边缘学科。
由多种、多个构件组成的机构称为组合机构。
组合机构与机构系统组成理论的发展使机构学已成为重型、精密及各种复合机械和智能机械、仿生机械、机器人等高技术科学的设计基础理论学科。
1.1.2机构学的现状(1)平面与空间连杆机构的结构理论研究研究机构的结构单元及机构拓扑结构特征,如主动副存在准则、活动度类型及其判定、拓扑结构的同构判定、消极子运动链判定等。
基于MATLAB的凸轮轮廓曲线设计作者:丁昊昊,牛成亮,蒋超猛,龚伟来源:《科技传播》2011年第15期摘要凸轮机构的运动设计主要包括从动件运动规律的确定和凸轮轮廓曲线的设计等。
通常是先确定从动件的运动规律,然后根据从动件的运动规律确定凸轮的轮廓曲线。
本文是在从动件运动规律确定的情况下,利用MATLAB强大的数据处理功能来确定凸轮轮廓曲线。
本文以尖底直动从动件盘形凸轮为例,对其凸轮轮廓曲线进行设计。
结果表明:在从动件运动规律确定的情况下,利用MATLAB软件,可以很方便的得到相应的轮廓曲线。
关键词凸轮机构;凸轮轮廓曲线;MATLAB中图分类号TP31 文献标识码A 文章编号 1674-6708(2011)48-0176-021 凸轮轮廓曲线参数方程的建立1.1 盘形凸轮轮廓曲线1)如图1所示为偏置尖底直动从动件、凸轮逆时针方向转动的情况。
偏距e、基圆半径r0和从动件运动规律已给出。
假想凸轮固定不动,则机架按-w方向转动,这种运动称为“反转运动”。
从动件做复合运动,以从动件上与凸轮接触的点B为动点,静止坐标系固结于凸轮上,动坐标系固结于机架上。
动点B对于机架的相对运动为直线运动,机架对于凸轮的牵连运动为-w方向的转动,动点B对于凸轮的绝对运动所产生的轨迹便是凸轮的轮廓曲线。
如图1所示B0点是从动件处于最低位置时动点B的位置,设此点为凸轮轮廓曲线的起始点,当凸轮转过角度以后,从动件上升距离s,动点B从B0点上升到B1点。
然后将B1以O点为圆心转过-w角度便得到B点位置。
利用平面矢量旋转矩阵便可得到B 点位置坐标。
整理得到凸轮轮廓曲线上的点B的坐标与凸轮转角之间的关系。
2)对心平底直动从动件、凸轮顺时针转动的情况。
类似于偏置尖底直动从动件、凸轮逆时针方向转动的情况,对心平底直动从动件盘形凸轮的基圆半径和从动件运动规律已经给出。
对于平底直动从动件盘形凸轮机构,利用“反转运动”和从动件运动规律,可以得到平底运动所得到的直线族,直线族的包络线就是凸轮的轮廓曲线。
基于MATLAB的凸轮设计凸轮是一种用于转动机件的机械元件,常用于驱动一些运动部件做往复运动或者周期性运动。
在机械设计中,通过凸轮的设计可以实现复杂的运动路径,以及具有特定速度和加速度要求的运动。
MATLAB是一种强大的数学计算和编程环境,可以用于进行科学计算、数据分析和算法开发。
在凸轮设计中,MATLAB可以用于凸轮曲线的生成、设计和优化。
本文将介绍如何基于MATLAB进行凸轮设计。
在凸轮设计中,最重要的是凸轮曲线的生成。
凸轮曲线是一个由数据点组成的模板,通过插值或者数值逼近的方法可以生成一个光滑的凸轮曲线。
在 MATLAB 中,可以使用插值函数 interp1 或者曲线拟合函数polyfit 进行凸轮曲线的生成。
具体步骤如下:1.定义凸轮的设计参数,例如凸轮的半径、凸轮转动的角度范围等;2.根据凸轮的设计参数,生成一些数据点,这些数据点可以通过数学计算或者几何建模等方式得到;3. 使用插值函数 interp1 或者曲线拟合函数 polyfit 对这些数据点进行插值或者拟合,得到一个平滑的曲线;4.根据凸轮转动的角度范围,生成一系列角度的数据点;5. 使用插值函数 interp1 或者曲线拟合函数 polyval 对这些角度的数据点进行插值或者拟合,得到一系列对应的曲线坐标点;6.将这些坐标点绘制成凸轮曲线,并进行可视化。
除了凸轮曲线的生成,MATLAB 还可以用于凸轮的设计和优化。
凸轮设计包括凸轮的尺寸设计、运动路径设计等。
在 MATLAB 中,可以使用优化函数 fmincon 或者遗传算法函数 ga 进行凸轮设计的优化,以获得符合设计要求的凸轮参数。
具体步骤如下:1.定义凸轮的设计变量和目标函数。
设计变量可以是凸轮的尺寸参数,例如凸轮半径、凸轮高度等;目标函数可以是凸轮的运动路径误差、速度误差等。
2.定义凸轮的约束条件。
约束条件可以是凸轮的尺寸范围、速度和加速度的限制等。
3. 使用优化函数 fmincon 或者遗传算法函数 ga 对凸轮的设计变量进行优化,以使目标函数最小化或者最大化。
H a r b i n I n s t i t u t e o f T e c h n o l o g y课程名称:精密机械学基础设计题目:直动从动件盘形凸轮的设计院系:航天学院控制科学与工程系班级: 0904102班设计者:陈学坤学号: ********** 设计时间: 2011年10月直动从动件盘形凸轮机构的计算机辅助设计说明:凸轮轮阔曲线的设计,一般可分为图解法和解析法,尽管应用图解法比较简便,能简单地绘制出各种平面凸轮的轮廓曲线,但由于作图误差比较大,故对一些精度要求高的凸轮已不能满足设计要求。
此次应用MATLAB 软件结合轮廓线方程用计算机辅助设计。
首先,精确地计算出轮廓线上各点的坐标,然后运用MATLAB 绘制比较精确的凸轮轮廓曲线以及其S-α曲线、v-t 曲线、a-t 曲线。
。
1 凸轮轮廓方程*()()*()()*()*()X OE EF E Cos J So S Sin J Y BD FD So S Cos J E Sin J =+=++=-=+-(X,Y):凸轮轮廓线上的任意一点的坐标。
E :从动件的偏心距,OC 。
R :凸轮的基园半径,OA 。
J :凸轮的转角。
S :S=f(J)为从动件的方程。
So :O S =H 为从动件的最大位移(mm )。
J1、J2、J3、J4为从动件的四个转角的区域。
S1、S2、S3、S4为与J1、J2、J3、J4对应的从动件的运动规律。
2 实例R=40,E=10,H=50,J1=J2=J3=J4=900。
3 MATLAB 程序设计用角度值计算,对于给定的J1、J2、J3、J4,把相应的公式代入其中,求出位移S 和轮廓线上的各点的坐标X 、Y ,最终求出描述凸轮的数组:J=[J1,J2,J3,J4];S=[S1,S2,S3,S4]; X=[X1,X2,X3,X4]; Y=[Y1,Y2,Y3,Y4];用函数plot (X,,Y )画出凸轮的轮廓曲线; 用plot (J,S )函数位移S 的曲线; 对于速度曲线V-t 和加速度曲线a-t ,ds ds ds dt dt V dJ dJ dtω===在算例中已假设凸轮匀速转动的角速度为1wad/s ,所以ds ds ds ds dt dt V dJ dt dJ dtω====速度 同理可得:dJds dtdva 22==加速度4 程序运行结果图一:余弦速运动规律下的凸轮轮廓曲线图二:余弦加速作用下的S-α曲线图三:余弦加速作用下的v-t曲线图四:余弦加速作用下的a-t曲线5 附程序:function tulunR=40;E=10;H=50;J1=90;J2=90;J3=90;J4=90;S0=(R^2-E^2)^(1/2);syms J S dJ dS d2J d2SJ11=linspace(0,J1,500);S1=(H/2).*(1-cos(pi.*J11/J1));X1=E.*cos(J11.*pi/180)+(S0+S1).*sin(J11.*pi/180); Y1=(S0+S1).*cos(J11.*pi/180)-E.*sin(J11.*pi/180);J22=linspace(J1,J1+J2,300);S2=J22./J22.*H;X2=E.*cos(J22.*pi/180)+(S0+H).*sin(J22.*pi/180); Y2=(S0+H).*cos(J22.*pi/180)-E.*sin(J22.*pi/180);J33=linspace(J1+J2,J1+J2+J3,300);S3=H-(H/2).*(1-cos(pi*J33/J3));X3=E*cos(J33*pi/180)+(S0+S3).*sin(J33*pi/180);Y3=(S0+S3).*cos(J33*pi/180)-E*sin(J33*pi/180);J44=linspace(J1+J2+J3,J1+J2+J3+J4,300);X4=E.*cos(J44*pi/180)+S0*sin(J44*pi/180);Y4=S0.*cos(J44*pi/180)-E*sin(J44*pi/180);S4=J44./J44.*0;X=[X1,X2,X3,X4];Y=[Y1,Y2,Y3,Y4];figure(1);plot(X,Y);hold on;t=linspace(0,2*pi,500);x=R*cos(t);y=R*sin(t);plot(x,y);title('凸轮的轮廓曲线');axis([-90,90,-90,90]);axis square;figure(2);plot(J11,S1);hold on;plot(J22,S2);plot(J33,S3);plot(J44,S4);ylabel('S');xlabel('α/rad');title('S-α曲线');J=[J11,J22,J33,J44];S=[S1,S2,S3,S4];dS=diff(S)./diff(J); %通过对位移求导后可得速度。
基于MatLab的经编机钩针凸轮轮廓曲线反求设计汪伟;杨建成;刘哲;韩小琴;王磊;周朋飞【期刊名称】《纺织学报》【年(卷),期】2008(29)11【摘要】为设计并制造磨损的经编机钩针凸轮的替代品,提出一种新的反求设计方法,即利用三坐标测量仪测得磨损凸轮轮廓线上各点数据,在MatLab中将所采集的数据进行曲线绘制,通过进一步修正曲线,对数据进行重新筛选后,利用MatLab对新数据进行三次样条插值,再借助Excel将插值后的数据导入AutoCAD中生成可编辑的凸轮轮廓曲线,为数控编程提供依据.实际运行结果表明,由该方法加工出的凸轮满足生产工艺要求,振动小,噪音低,这种方法可为类似凸轮设计提供借鉴.【总页数】4页(P124-127)【作者】汪伟;杨建成;刘哲;韩小琴;王磊;周朋飞【作者单位】天津工业大学,机械电子学院,天津,300160;天津工业大学,天津市现代机电装备技术重点实验室,天津,300160;天津工业大学,机械电子学院,天津,300160;天津工业大学,天津市现代机电装备技术重点实验室,天津,300160;天津工业大学,机械电子学院,天津,300160,天津工业大学;天津市现代机电装备技术重点实验室,天津,300160;天津工业大学,机械电子学院,天津,300160;天津工业大学,天津市现代机电装备技术重点实验室,天津,300160;天津工业大学,机械电子学院,天津,300160;天津工业大学,天津市现代机电装备技术重点实验室,天津,300160;天津工业大学,机械电子学院,天津,300160【正文语种】中文【中图分类】TS183.36【相关文献】1.基于MATLAB软件的凸轮轮廓曲线设计及从动件运动学仿真 [J], 李霞;刘本学;张三川2.基于Matlab和Pro/E的凸轮轮廓曲线精确设计 [J], 陈韵3.基于Matlab和Pro/E的凸轮轮廓曲线设计及从动件运动学仿真 [J], 肖帮东;黄浩;徐中4.基于MATLAB的凸轮轮廓曲线设计 [J], 丁天天;牛成亮;蒋超猛;龚伟5.基于MATLAB语言的凸轮轮廓曲线的解析法设计 [J], 杜韧;冯伟娜;刘昭;刘宏伟;毕珊珊因版权原因,仅展示原文概要,查看原文内容请购买。
基于matlab凸轮轮廓设计随着科学技术的不断发展,凸轮轮廓设计已经被广泛运用于各种机械和动力学设备中。
MATLAB作为一种强大的技术软件,也被广泛用于凸轮轮廓的设计和分析。
本文将对基于MATLAB的凸轮轮廓设计进行探讨。
凸轮轮廓的设计需要考虑许多因素,如凸轮的形状、材质、运动方式等。
其中,凸轮轮廓的形状对凸轮的运动和性能起着至关重要的作用。
因此,凸轮轮廓的设计需要具有高度的精度和可靠性。
MATLAB作为一种功能强大的数学软件,可以通过编程实现凸轮轮廓的设计和分析。
MATLAB中有许多函数可以用于处理凸轮的相关问题,如curve fitting工具箱、symbolic math工具箱等。
通过这些工具箱和函数,可以实现凸轮轮廓的优化设计和模拟分析。
在凸轮轮廓的设计中,凸轮轨迹的生成是至关重要的一步。
传统的方法是通过手工绘制轮廓图,然后进行图形处理和数值计算等操作。
而在MATLAB中,可以利用数值计算和函数绘图等功能直接生成凸轮轮廓。
具体实现方法如下:首先,我们需要确定凸轮的基本参数,如凸轮的半径、角速度等。
然后,根据凸轮运动的规律,利用MATLAB中的数值计算函数计算出凸轮上各点的位置坐标。
接着,通过MATLAB中的函数绘图功能将各点连接形成凸轮轮廓。
最后,通过调整凸轮参数和轮廓图形,实现凸轮轮廓的优化设计。
除此之外,MATLAB还可以利用符号计算的功能优化凸轮轮廓设计。
通过定义凸轮的基本参数和轮廓方程,利用MATLAB中的符号计算工具求解优化方程,得到凸轮轮廓的最优设计方案。
综上所述,基于MATLAB的凸轮轮廓设计具有快速、精准、可靠等优势。
通过MATLAB的编程和工具箱的使用,可以实现凸轮轮廓的优化设计和模拟分析,为机械和动力学设备的设计和制造提供有力支持。
基于M A A B软件的凸轮轮廓曲线设计Standardization of sany group #QS8QHH-HHGX8Q8-GNHHJ8-HHMHGN#基于MATLAB软件的凸轮轮廓曲线设计摘要:以偏置移动从动件盘形凸轮为例,基于MATLAB软件对凸轮轮廓曲线进行了解析法设计.绘制出轮廓曲线。
运行结果表明:在从动件运动规律确定的情况下,利用MATLAB软件以很方便、快捷地得到凸轮的轮廓曲线。
关键词:凸轮机构;凸轮轮廓曲线;MATLAB;解析法前言凸轮轮廓曲线的设计,一般可分为图解法和解析法.利用图解法能比较方便地绘制出各种平面凸轮的轮廓曲线.但这种方法仅适用于比较简单的结构,用它对复杂结构进行设计则比较困难,而且利用图解法进行结构设计,作图误差较大,对一些精度要求高的结构不能满足设计要求。
解析法可以根据设计要求,通过推导机构中各部分之间的几何关系,建立相应的方程,精确地计算出轮廓线上各点的坐标,然后把凸轮的轮廓曲线精确地绘制出来.但是,当从动件运动规律比较复杂时,利用解析法获得凸轮的轮廓曲线的工作量比较大.而MATLAB软件提供了强大的矩阵处理和绘图功能,具有核心函数和工具箱.其编程代码接近数学推导公式,简洁直观,操作简易,人机交互性能好,且可以方便迅速地用三维图形、图像、声音、动画等表达计算结果、拓展思路[1]。
因此,基于MATLAB软件进行凸轮机构的解析法设计,可以解决设计工作量大的问题。
本文基于MATLAB软件进行凸轮轮廓曲线的解析法设计,利用《机械原理》课程的计算机辅助教学,及常用机构的计算机辅助设计.其具体方法为首先精确地计算出轮廓线上各点的坐标,然后运用MATLAB绘制比较精确的凸轮轮廓曲线。
1 设计的意义与已知条件意义凸轮机构是由具有曲线轮廓或凹槽的构件,通过高副接触带动从动件实现预期运动规律的一种高副机构,它广泛地应用于各种机械,特别是自动机械、自动控制装置和装配生产线中,是工程实际中用于实现机械化和自动化的一种常用机构。
所以,在凸轮的加工中,精确的确定凸轮的轮廓,这对于保证凸轮所带动从动件的运动规律是尤为重要的。
已知条件偏置移动从动件盘形凸轮设计已知条件(图1):凸轮作逆时针方向转动,从动件偏置在凸轮轴心的右边从动件在推程作等加速/等减速运动,在回程作余弦加速度运动基圆半径rb = 40 mm,滚子半径rt = 10mm,推杆偏距e = 15 mm,推程升程h = 50 mm,推程运动角ft = 100度,远休止角fs = 60度回程运动角fh = 90度,推程许用压力角alp = 35度。
图1 偏移动从动件盘形凸轮机构2.利用解析法设计凸轮轮廓线所谓的用解析法设计凸轮轮廓线,就是根据工作要求的从动件的运动规律和已知的机构参数,求出凸轮轮廓线的方程式,并精确地计算出凸轮轮廓线上各点的坐标值。
随着机械不断朝着高速、精密、自动化方向发展,以及计算机和各种数控加工机床在生产中的广泛应用,用解析法设计凸轮轮廓线具有了更大的现实意义,并且正在越来越广泛地用于生产。
查阅文献[1],得到偏置移动滚子从动件盘形凸轮机构确定凸轮轮廓相关的方程式。
3利用MATLAB软件编程并运行程序程序disp ' ******** 偏置移动从动件盘形凸轮设计 ********'disp '已知条件:'disp ' 凸轮作逆时针方向转动,从动件偏置在凸轮轴心的右边'disp ' 从动件在推程作等加速/等减速运动,在回程作余弦加速度运动'rb = 40;rt = 10;e = 15;h = 50;ft = 100;fs = 60;fh = 90;alp = 35;fprintf (1,' 基圆半径 rb = % mm \n',rb)fprintf (1,' 滚子半径 rt = % mm \n',rt)fprintf (1,' 推杆偏距 e = % mm \n',e)fprintf (1,' 推程升程 h = % mm \n',h)fprintf (1,' 推程运动角 ft = % 度 \n',ft)fprintf (1,' 远休止角 fs = % 度 \n',fs)fprintf (1,' 回程运动角 fh = % 度 \n',fh)fprintf (1,' 推程许用压力角 alp = % 度 \n',alp)hd= pi / 180;du = 180 / pi;se=sqrt( rb^2 - e^2 );d1 = ft + fs;d2 = ft + fs + fh;disp ' 'disp '计算过程和输出结果:'disp ' 1- 计算凸轮理论轮廓的压力角和曲率半径'disp ' 1-1 推程(等加速/等减速运动)'s = zeros(ft);ds = zeros(ft);d2s = zeros(ft);at = zeros(ft);atd = zeros(ft);for f = 1 : ftif f <= ft / 2s(f)=2 * h * f ^ 2 / ft ^ 2;s = s(f);ds(f)=4 * h * f * hd / (ft * hd) ^ 2;ds = ds(f); d2s(f)=4 * h / (ft * hd) ^ 2;d2s = d2s(f);elses(f)=h - 2 * h * (ft - f) ^ 2 / ft ^ 2;s = s(f);ds(f)=4 * h * (ft - f) * hd / (ft * hd) ^ 2;ds = ds(f);d2s(f)=-4 * h / (ft * hd) ^ 2;d2s = d2s(f);endat(f)= atan(abs(ds - e) / (se + s));atd(f) = at(f) * du;enddisp ' 1-2 回程(余弦加速度运动)'s = zeros(fh);ds = zeros(fh);d2s = zeros(fh);ah = zeros(fh);ahd = zeros(fh);ph = zeros(fh);for f = d1 : d2k = f - d1;s(f) = .5 * h * (1 + cos(pi * k / fh)); s = s(f);ds(f)= * pi * h * sin(pi * k / fh) / (fh * hd);ds = ds(f);d2s(f)= * pi ^2 * h * cos(pi * k / fh)/(fh * hd) ^2;d2s = d2s(f); ah(f)=atan(abs(ds + e) / (se + s));ahd(f) = ah(f) * du;p1=((se + s ) ^ 2 + (ds - e) ^ 2) ^ ;p2= abs((se + s) * (d2s - se - s) - (ds - e) * (2 * ds - e));ph(f)= p1 /p2;p = ph(f);enddisp ' 2- 计算凸轮理论廓线与实际廓线的直角坐标'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);xxp = zeros(n);yyp = zeros(n);for f = 1 : nif f <= ft/2s(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 <= fts(f) = h - 2 * h * (ft - f) ^ 2 / ft ^ 2; s = s(f);ds(f) = 4 * h * (ft - f) * hd / (ft * hd) ^ 2; ds = ds(f);elseif f > ft & f <= d1s = h;ds = 0;elseif f > d1 & f <= d2k = f - d1;s(f) = .5 * h * (1 + cos(pi * k / fh)); s = s(f);ds(f)= * pi * h * sin(pi * k / fh) / (fh * hd); ds = ds(f);elseif f > d2 & f <= ns = 0;ds = 0;endxx(f) = (se + s) * sin(f * hd) + e * cos(f * hd); x = xx(f);yy(f) = (se + s) * cos(f * hd) - e * sin(f * hd); y = yy(f);dx(f) = (ds - e) * sin(f * hd) + (se + s) * cos(f * hd); dx = dx(f); dy(f) = (ds - e) * cos(f * hd) - (se + s) * sin(f * hd); dy = dy(f); xp(f) = x + rt * dy / sqrt(dx ^ 2 + dy ^ 2);xxp = xp(f);yp(f) = y - rt * dx / sqrt(dx ^ 2 + dy ^ 2);yyp = yp(f);r(f) = sqrt (x ^2 + y ^2 );rp(f) = sqrt (xxp ^2 + yyp ^2 );enddisp ' 2-1 推程(等加速/等减速运动)'disp ' 凸轮转角理论x 理论y 实际x 实际y'for f = 10 : 10 :ftnu = [f xx(f) yy(f) xp(f) yp(f)];disp(nu)enddisp ' 2-2 回程(余弦加速度运动)'disp ' 凸轮转角理论x 理论y 实际x 实际y'for f = d1 : 10 : d2nu = [f xx(f) yy(f) xp(f) yp(f)];disp(nu)enddisp '绘制凸轮的理论轮廓和实际轮廓:'plot(xx,yy,'r-.') % 理论轮廓(红色,点划线)axis ([-(rb+h-10) (rb+h+10) -(rb+h+10) (rb+rt+10)]) % 横轴和纵轴的下限和上限axis equal % 横轴和纵轴的尺度比例相同text(rb+h+3,0,'X') % 标注横轴text(0,rb+rt+3,'Y') % 标注纵轴text(-5,5,'O') % 标注直角坐标系原点title('偏置移动从动件盘形凸轮设计') % 标注图形标题hold on; % 保持图形plot([-(rb+h) (rb+h)],[0 0],'k') % 横轴(黑色)plot([0 0],[-(rb+h) (rb+rt)],'k') % 纵轴(黑色)plot([e e],[0 (rb+rt)],'k--') % 初始偏置位置(黑色,虚线) ct = linspace(0,2*pi); % 画圆的极角变化范围plot(rb*cos(ct),rb*sin(ct),'g') % 基圆(绿色)plot(e*cos(ct),e*sin(ct),'c--') % 偏距圆(蓝绿色,虚线) plot(e + rt*cos(ct),se + rt*sin(ct),'m') % 滚子圆(紫色) plot(xp,yp,'b') % 实际轮廓(蓝色)text(3,-68,'实际轮廓线') % 标注实际轮廓线text(61,32,'理想轮廓线') % 标注理想轮廓线text(22,50,'滚子轮廓线') % 标注滚子轮廓线text(-18,-22,'偏心距圆轮廓线') % 标注偏心距圆轮廓线 text(6,-46,'基圆轮廓线') % 标注基圆轮廓线运行的结果******** 偏置移动从动件盘形凸轮设计 ********已知条件:凸轮作逆时针方向转动,从动件偏置在凸轮轴心的右边从动件在推程作等加速/等减速运动,在回程作余弦加速度运动基圆半径 rb = mm滚子半径 rt = mm推杆偏距 e = mm推程升程 h = mm推程运动角 ft = 度远休止角 fs = 度回程运动角 fh = 度推程许用压力角 alp = 度计算过程和输出结果:1- 计算凸轮理论轮廓的压力角和曲率半径1-1 推程(等加速/等减速运动)1-2 回程(余弦加速度运动)2- 计算凸轮理论廓线与实际廓线的直角坐标2-1 推程(等加速/等减速运动)凸轮转角理论x 理论y 实际x 实际y2-2 回程(余弦加速度运动)凸轮转角理论x 理论y 实际x 实际y绘制凸轮的理论轮廓和实际轮廓(见图2):图2 用MATLAB绘制凸轮的轮廓图4设计总结通过编程的结果的分析可以得知,利用MATLAB的强大计算功能能够很好地实现凸轮机构的设计计算、廓线绘制。