凸轮运动Matlab仿真-Matlab课程设计
基于MATLAB的凸轮轮廓线设计与运动仿真毕业设计
(此文档为word格式,下载后您可任意编辑修改!)第1章绪论1.1 机构学的现状与发展1.1.1 机构学的概况机构学是以运动几何学和力学为主要理论基础,以数学分析为主要手段,对各类机构进行运动和动力分析与综合的学科。
机构学为创造新的机器和进行机械发明与改革提供正确有效的理论和方法,以设计出更经济合理、更先进的机械设备,来满足生产发展和人们生活的需求。
机构学的发展将直接影响到机械工业各类产品的工作性能以及许多行业生产设备的机械化和自动化程度。
机构学作为机械工程技术科学中的一门主要基础学科,近年来由于机电一体化高技术科学特别是工业机器人与特种机器人的发展对机构学理论和技术上的要求,使机构学学科达到了一个崭新的阶段。
在国际学术讨论会上,各国科学家一致认为它有如旭日东升,正显出其无比强大的生命力。
机构学一方面由简单的运动分析与综合向复杂的运动分析与综合方面发展,另一方面也由机构运动学向机构动力分析与综合方向发展,研究机构系统的合理组成的方法及其判据,分析研究机器在传递运动、力和做功过程中出现的各种问题。
机构精度问题也相应地由静态分析走向动态分析。
机构联结件的间隙在高速运转时有不容忽视的影响,因而需要研究机构间间隙、摩擦、润滑与冲击引起的机构变形、稳态与非稳态下的动态响应和过渡过程问题。
在惯性力作用下,由于机构上刚度薄弱环节的弹性变形,由此研究以振动理论多自由度模态化、线性与非线性、随机的功率谱与载荷谱等为分析手段和方法而形成的运动弹性动力学问题,以及视整个机构系统为柔性的多柔体系统动力学和逆动力学分析、综合及控制问题。
它是把整个机构看成是由多刚体组成的多刚体动力学、结构动力学及自动控制等学科发展的交叉边缘学科。
由多种、多个构件组成的机构称为组合机构。
组合机构与机构系统组成理论的发展使机构学已成为重型、精密及各种复合机械和智能机械、仿生机械、机器人等高技术科学的设计基础理论学科。
1.1.2机构学的现状(1)平面与空间连杆机构的结构理论研究研究机构的结构单元及机构拓扑结构特征,如主动副存在准则、活动度类型及其判定、拓扑结构的同构判定、消极子运动链判定等。
基于MATLAB的凸轮设计
基于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 对凸轮的设计变量进行优化,以使目标函数最小化或者最大化。
凸轮廓线设计MATLAB程序
凸轮轮廓及其综合1. 凸轮机构从动件的位移凸轮是把一种运动转化为另一种运动的装置。
凸轮的廓线和从动件一起实现运动形式的转换。
凸轮通常是为定轴转动,凸轮旋转运动可被转化成摆动、直线运动或是两者的结合。
凸轮机构设计的内容之一是凸轮廓线的设计。
定义一个凸轮基圆r b 作为最小的圆周半径。
从动件的运动方程如下:L(ϕ)=r b +s(ϕ)设凸轮的推程运动角和回程运动角均为β,从动件的运动规律均为正弦加速度运动规律,则有:s(ϕ)=h(βϕ-π21sin(2πϕ/β)) 0≤ϕ≤β s(ϕ)=h -h(ββϕ--π21sin(2π(ϕ-β/β)) β≤ϕ≤2β s(ϕ)=0 2β≤ϕ≤2π上式是从动件的位移,h 是从动件的最大位移,并且0≤β≤π。
如果假设凸轮的旋转速度ω=d ϕ/dt 是个常量,则速度υ、加速度a 和瞬时加速度j (加速度对时间求异)分别如下:速度:υ(ϕ)=βωh (1-cos(2πϕ/β)) 0≤ϕ≤β υ(ϕ)=-βωh (1-cos(2π(ϕ-β)/β) β≤ϕ≤2β υ(ϕ)=0 2β≤ϕ≤2π加速度:a(ϕ)=222βπωhsin(2πϕ/β)) 0≤ϕ≤βa(ϕ)=-222βπωhsin(2π(ϕ-β)/β) β≤ϕ≤2βa(ϕ)=0 2β≤ϕ≤2π瞬时加速度:j(ϕ)=3324βωπhcos(2πϕ/β)) 0≤ϕ≤βj(ϕ)=-3324βωπhcos(2π(ϕ-β)/β) β≤ϕ≤2βj(ϕ)=0 2β≤ϕ≤2π定义无量纲位移S=s/h 、无量纲速度V=υ/ωh 、无量纲加速度A=a/h ω3和无量纲瞬时加速度J=j/h ω3。
若β=60°,则如下程序可以对以上各个量进行计算。
beta=60*pi/180;phi=linspace(0,beta,40);phi2=[beta+phi];ph=[phi phi2]*180/pi;arg=2*pi*phi/beta;arg2=2*pi*(phi2-beta)/beta;s=[phi/beta-sin(arg)/2/pi 1-(arg2-sin(arg2))/2/pi];v=[(1-cos(arg))/beta-(1-cos(arg2))/beta];a=[2*pi/beta^2*sin(arg)2*pi/beta^2*sin(arg2)];j=[4*pi^2/beta^3*cos(arg)4*pi^2/beta^3*cos(arg2)]:subplot(2,2,1)plot(ph,s,ˊK ˊ)xlabel(ˊCam angle(degrees)ˊ)ylabel(ˊDisplacement(S)ˊ)g=axis; g(2)=120; axis(g)subplot(2,2,2)plot(ph,v,ˊk ˊ,[0 120],[0 0],ˊk--ˊ)xlabel(ˊCam angle(degrees)ˊ)ylabel(ˊVelocity(V)ˊ)g=axis; g(2)=120; axis(g)subplot(2,2,3)plot(ph,a,ˊk ˊ,[0 120],[0 0],ˊk--ˊ)xlabel(ˊCam angle(degrees)ˊ)ylabel(ˊAcceleration(A)ˊ)g=axis;g(2)=120;axis(g)subplot(2,2,4)plot(ph,j,ˊkˊ,[0 120],[0 0],ˊk--ˊ)xlabel(ˊCam angle(degrees)ˊ)ylabel(ˊJerk(J)ˊ)g=axis;g(2)=120;axis(g)2 平底盘形从动作参考下图得到如下关系:在(x,y)坐标系中,凸轮轮廓的坐标为Rx和Ry,刀具的坐标为Cx和Cy:Rx=Rcos( θ+ϕ) Ry=Rsin( θ+ϕ)C x=Ccos( γ+ϕ) C y=Ccos( γ+ϕ)其中, R=θcos L θ=arctan ⎪⎪⎭⎫ ⎝⎛ϕd dL L 1 c=γγcos c L + γ=arctan ⎪⎪⎭⎫ ⎝⎛+c L d dL γϕ/ r c 是刀具的半径,且dL/d ϕ=V(ϕ)/ω。
matlab凸轮轮廓设计及仿真说明书
滚子半径
=40
1
第一章:工作意义
1.1本次课程设计意义1.2已知条件
第二章:工作设计过程5
2.1:设计思路5
2.2:滚子从动件各个阶段相关方程6
2.பைடு நூலகம்:盘型凸轮理论与实际轮廓方程7
工工“..A作……'A程过A程
3.1:滚子从动件各各阶段MATLAB程序编制…*8
3.2:凸轮的理论实际运动仿真程序编制
12
第四章…?: •……
运行结果
17
4.1:滚子运动的位移图17
4.2:滚子运动的速度图17
4.3:滚子运动的加速度图,局部加速度图……18—
44滚子运动的仿真图19
4.5:滚子运动的理论与实际轮廓图20
6.1:参考文献
22
第一章:工作意义
1.1 本次课程设计意义凸轮是一个具有曲线轮廓或凹槽的构件, 一般为主动件, 作等速回转运动或往复直线运动。与凸轮轮廓接触,并传递 动力和实 现预定的运动规律的构件, 一般做往复直线运动或 摆动,称为从动件。凸轮机构在应用中的基本特点在于能使
程和回程。凸轮轮廓曲线决定于位移曲线的
形状。在某些机械中,位移曲线由工艺过程决定,但一般
情况下只有行程和对应的凸轮转角根据工作需要决定,而
曲线的形状则由设计者选定,可以有多种运动规律。传统的凸轮运动
规律有等速、等加速-等减速、余弦加速度和正弦 加速度等。等速运 动规律因有速度突变,会产生强烈的刚性 冲击,只适用于低速。等加 速-等减速和余弦加速度也有加速度突变,会引起柔性冲击,只适用
思路口。因此,基于MATLAB件进行凸轮机构的解析法设计,可以解
决设计工作量大的问题。
本此课程设计基于MATLAB软件进行凸轮轮廓曲线的 解析法 设计,并 对的运动规律凸轮进行仿真,其具体方法为首先精确地 计算出轮 廓线
Matlab凸轮位移分析设计
MATLAB机械工程凸轮位移分析的实例班级:姓名:学号:指导教师:一.实验目的通过MATLAB上机编程,掌握MATLAB语言变量、函数、MATLAB常用程序结构和流程控制语句、交互控制语句、程序调试运行等。
二.实验内容凸轮是把一种运动转化为另一种运动的装置,通常凸轮做旋转运动,并转化为从动件的振动、直线运动或者二者的结合。
对基圆为的凸轮,为最小圆周半径,与凸轮表面相切,并和凸轮的转轴同心。
则从动件的运动方程为:+=对于旋转运动,假定有:其中,h为从动件的最大位移,为凸轮转角,为从动件摆角,并且。
如果凸轮的角速度为常量,试求出当时从动件的位移s、速度v、加速度a、瞬时加速度j的变化曲线。
三、建立M文件如下:beat=60*pi/180;phi=linspace(0,beat,40);phi2=[beat+phi];ph=[phi phi2]*180/pi;arg=2*pi*phi/beat;arg2=2*pi*(phi2-beat)/beat;s=[phi/beat-sin(arg)/2/pil-(arg2-sin(arg2))/2/pi];v=[1-cos(arg)/beat-(1-cos(arg2))/beat];a=[2*pi/beat^2*sin(arg)2*pi/beat^2*sin(arg2)];j=[4*pi^2/beat^3*cos(arg)4*pi^2/beat^3*cos(arg2)]; subplot(2,2,1);plot(ph,s,´k´);xlabel(´凸轮转角(度)´);ylabel(´位移(s)´);g=axis;g(2)=120;axis(g);subplot(2,2,2);plot(ph,v,´k´,[0 120],[0 0],´k--´)xlabel(´凸轮转角(度)´);ylabel(´速度(v)´);g=axis;g(2)=120;axis(g);subplot(2,2,3);polt(ph,a,´k´,[0 120],[0 0],´k--´)xlabel(´凸轮转角(度)´);ylabel(´加速度(v)´);g=axis;g(2)=120;axis(g);subplot(2,2,4);polt(ph,j,´k´,[0 120],[0 0],´k--´)xlabel(´凸轮转角(度)´);ylabel(´瞬时加速度(j)´);g=axis;g(2)=120;axis(g);四,输出图像。
Engineer和MATLAB凸轮配气机构的运动仿真
Engineer和MATLAB凸轮配气机构的运动仿真作为一名工程师,MATLAB和凸轮配气机构的运动仿真是我工作中不可或缺的技能。
凸轮配气机构是用于控制内燃机气门开闭的重要装置,它通过凸轮的转动驱动汽缸内的柄杆并带动气门运动。
而运用MATLAB进行凸轮配气机构的运动仿真便可以更精确地模拟设备运动并进行性能优化。
我在MATLAB中设计了一个凸轮配气机构模型,并利用其中的模拟工具箱中的Simulink进行动态仿真。
我们首先将内燃机的气门开启和关闭的比例进行优化,保证了最高效的功率输出。
之后,我们使用MATLAB的曲线拟合工具箱来获得不同气门开启和关闭时刻的角度和位置信息。
通过这些数据,我们可以确定最佳的凸轮轮廓。
在为凸轮进行仿真测试之前,我们需要确保真实机器的物理参数已经定义。
MATLAB经典的自适应计算方法可以在相对较短的时间内对不同的凸轮设计进行运动仿真测试,这有助于我们快速地判断各种不同参数下的设计的优劣。
仿真测试呈现了凸轮的不同状态下内燃机气门的开启和关闭过程。
开关气门的时间可以根据我们需要进行调整。
在进行模拟运算时,我们可以模拟不同转速下的内燃机运动,并在不同负载下测试内燃机的动力性能,这使得我们能够以客观的角度评估不同的凸轮设计,并选择最佳设计方案。
我们也可以使用MATLAB来获得不同凸轮形状的旋转速度和运动惯性等信息,这有助于我们进行可靠的控制系统设计。
以及这方面的进一步研究将为制造商提供更高效和可靠的凸轮配气机构设计,从而提高工业内燃机的性能和可靠性。
总的来说,作为一名工程师,MATLAB和凸轮配气机构的运动仿真技能可以帮助我简化产品设计过程,并提供更准确和可靠的性能评估。
通过利用动态仿真,我可以以客观的方法评估各种设计,并选择最佳的方案。
我相信,这些技能将在工业界得到更广泛的重视和应用,为制造商带来更多的商业利益和竞争优势。
数据分析是工程师工作中非常重要的环节,它能够让我们更好地了解产品性能并发现其中的问题。
基于Matlab的发动机配气凸轮机构的动力学建模与仿真
基于Matlab 的发动机配气凸轮机构的动力学建模与仿真引言汽车发动机配气机构的任务是保证气门在规定时刻开启或关闭, 开启或关闭应该动作迅速。
随着凸轮轴转速的提高, 构件的弹性变形和惯性力对机构的运动和动力特性会产生较大的影响,致使气门的实际位移、速度、加速度与名义位移、速度、加速度之间, 尤其是实际加速度与名义加速度之间出现明显的差异,故应对其进行弹性动力学分析, 将整个配气机构看作一个弹性系统, 研究气门的实际输出随凸轮轴输入的动态响应, 可以为配气凸轮廓线的运动/动力学综合提供理论依据。
配气机构的动力学模型建立一般情况下将凸轮机构简化为双自由度动力学模型进行分析, 就可获得工程上比较满意的近似结果, 但在高速运转的情况下, 往往需要将其简化为更加精确的多自由度动力学模型, 以便使分析结果更接近于凸轮机构运行时的真实情况。
随着自由度数的增多, 计算工作量会大大增加, 因此在建立动力学模型时,应该抓住主要的而忽略次要的影响因素, 对相关参数进行合理取舍和简化。
如图1( a) 所示, 是一个发动机配气凸轮机构系统,它由凸轮轴、挺柱、转臂、气门杆等多个组成环节。
假设凸轮轴具有较大的刚度, 不考虑其振动, 并按集中质量进行等效, 将其动力学模型等效为三自由度系统[1], 如图1( b) 所示, 其中m1为A 点的等效集中质量, m2为B点的等效集中质量, m3为C点的等效集中质量; k1为凸轮与推杆接触表面的接触刚度, k2为挺柱AB 的拉伸刚度, k3为转臂BC的弯曲刚度, k4为等效弹簧刚度; h凸轮作用于从动件的理论位移。
系统中各元件的等效质量和等效刚度可由材料力学中知识求得, 由拉格郎日定理得:化简整理得:Matlab/Simulink 下的仿真过程式( 2) 为三自由度系统的非线性微分方程组, 通常要采用有限差分法等数值计算的方法进行求解, 编程复杂、费时, 而且不直观, 为此本文借助Matlab/Simulink 系统仿真软件来实现[3], 考虑到数学模型中运动规律h=h( t) 的计算为分段的函数, 就采用m函数来建立仿真过程, 可以进行复杂的计算和判断。
用matlab绘制凸轮教程(详细)
首先看一下理论轮廓线的方程式X=(S0+S1)sinθ+ ecosθY= (S0+S1) cosθ+ esinθ式中,e为偏心距,S0=sqrt(r0^2-e^2),r0为偏心圆半径%先设置凸轮的基本参数,偏心距离e,基圆半径rb,滚轮半径rr,角速度w,推杆上升的最大行程h。
h=30;w=12;rb=50;e=12;rr=10;s0=sqrt(rb*rb-e*e);% 偏心距e=12,基圆rb=50,滚轮半径rr=10,角速度w=12,最大上升h=30q=120*pi/180;%这里我规定推程运动角为120度qs=(120+30)*pi/180;%远休止角为150度q1=(120+30+150)*pi/180;%回程运动角为300度for i=1:1:120 %将120度按1度均分,从而得到各个度数上的轮廓坐标qq(i)=i*pi/180.0;s1=(h*qq(i)/q)-(h/(2*pi))*sin(2*pi*qq(i)/q);v1=w*(h/q)-(w*h/q)*cos(2*pi*qq(i)/q);x(i)=(s0+s1)*sin(qq(i))+e*cos(qq(i));y(i)=(s0+s1)*cos(qq(i))-e*sin(qq(i));%理论轮廓线的坐标a(i)=(s0+s1)*cos(qq(i))-e*sin(qq(i)); %cos(i)b(i)=(s0+s1)*sin(qq(i))-e*cos(qq(i)); %sin(i)xx(i)=x(i)+rr*b(i)/sqrt(a(i)*a(i)+b(i)*b(i));yy(i)=y(i)+rr*a(i)/sqrt(a(i)*a(i)+b(i)*b(i));%实际工作轮廓线的坐标endfor i=121:1:150qq(i)=i*pi/180;s2=h;v2=0;x(i)=(s0+s2)*sin(qq(i))+e*cos(qq(i));y(i)=(s0+s2)*cos(qq(i))-e*sin(qq(i));a(i)=(s0+s2)*cos(qq(i))-e*sin(qq(i));b(i)=(s0+s2)*sin(qq(i))-e*cos(qq(i));xx(i)=x(i)+rr*b(i)/sqrt(a(i)*a(i)+b(i)*b(i));yy(i)=y(i)+rr*a(i)/sqrt(a(i)*a(i)+b(i)*b(i));endfor i=151:1:300qq(i)=i*pi/180;qq1(i)=qq(i)-150*pi/180;s3=h-h*qq1(i)/(q1-qs);v3=-w*h/(q1-qs);x(i)=(s0+s3)*sin(qq(i))+e*cos(qq(i));y(i)=(s0+s3)*cos(qq(i))-e*sin(qq(i));a(i)=(s0+s3)*cos(qq(i))-e*sin(qq(i));b(i)=(s0+s3)*sin(qq(i))-e*cos(qq(i));xx(i)=x(i)+rr*b(i)/sqrt(a(i)*a(i)+b(i)*b(i));yy(i)=y(i)+rr*a(i)/sqrt(a(i)*a(i)+b(i)*b(i));endfor i=301:1:360qq(i)=i*pi/180;x(i)=(s0+0)*sin(qq(i))+e*cos(qq(i));y(i)=(s0+0)*cos(qq(i))-e*sin(qq(i));a(i)=(s0+0)*cos(qq(i))-e*sin(qq(i));b(i)=(s0+0)*sin(qq(i))-e*cos(qq(i));xx(i)=x(i)+rr*b(i)/sqrt(a(i)*a(i)+b(i)*b(i));yy(i)=y(i)+rr*a(i)/sqrt(a(i)*a(i)+b(i)*b(i));endplot(x,y,'r',xx,yy,'g')%用plot函数绘制曲线text(0,20,'理论轮廓线')%理论轮廓线的坐标位于为(0,20)text(65,40,'实际轮廓线')%实际轮廓线的坐标位于(65,40)hold on附图:。
凸轮运动Matlab仿真-Matlab课程设计
Matlab 课程设计李俊机自091设计题目一:凸轮机构设计已知轮廓为圆形的凸轮(圆的半径为100mm、偏心距为20mm),推杆与凸轮运动中心的距离20mm,滚子半径为10mm,请利用matlab仿真出凸轮推杆的运动轨迹和运动特性(速度,加速度),并利用动画演示出相关轨迹和运动特性。
%总程序代码clc;clf;clear;p=figure('position',[100 100 1200 600]);for i=1:360%画圆形凸轮R=100; %圆形凸轮半径A=0:0.006:2*pi;B=i*pi/180;e=20; %偏心距a=e*cos(B);b=e*sin(B);x=R*cos(A)+a;y=R*sin(A)+b;subplot(1,2,1)plot(x,y,'b','LineWidth',3);%填充fill(x,y,'y')axis([-R-e,R+e,-R-e,R+e+100]);set(gca,'Xlim',[-R-e,R+e])set(gca,'Ylim',[-R-e,R+e+100])axis equal;axis manual;axis off;hold on;plot(a,b,'og')plot(e,0,'or')plot(0,0,'or','LineWidth',3)%画滚子gcx=0; %滚子中心X坐标r=10; %滚子半径gcy=sqrt((R+r)^2-a^2)+b; %滚子中心Y坐标gx=r*cos(A)+gcx; %滚子X坐标gy=r*sin(A)+gcy; %滚子Y坐标plot(gx,gy,'b','LineWidth',2);%画其它部分plot([0 a],[0 b],'k','LineWidth',4)plot([3 3],[170 190],'m','LineWidth',4)plot([-3 -3],[170 190],'m','LineWidth',4)%画顶杆gc=120;dgx=[0 0];dgy=[gcy gcy+gc];plot(dgx,dgy,'LineWidth',4);hold off%画位移图sx(i)=B;sy(i)=gcy;subplot(3,2,2)plot(sx,sy,'b','LineWidth',3)title('位移线图')grid onhold off;%画速度图vx(i)=B;vy(i)=20*cos(B) + (40*cos(B).*sin(B))./(121 - 4*cos(B).^2).^(1/2);subplot(3,2,4)plot(vx,vy,'g','LineWidth',3)title('速度线图')grid onhold off;%画加速度图ax(i)=B;ay(i)=(40*cos(B).^2)./(121 - 4*cos(B).^2).^(1/2) - 20*sin(B) - (40*sin(B).^2)/(121 -4*cos(B).^2).^(1/2) - (160*cos(B).^2.*sin(B).^2)/(121 - 4*cos(B).^2).^(3/2); subplot(3,2,6)plot(ax,ay,'r','LineWidth',3),xlabel('B')title('加速度线图')grid onhold off;M=getframe;end截图附:通过求导求速度和加速度%求速度syms B;a=e*cos(B);b=e*sin(B);s=sqrt((R+r).^2-a.^2)+b;v=diff(s)结果:v =20*cos(B) + (40*cos(B)*sin(B))/(121 - 4*cos(B)^2)^(1/2)%求加速度syms B;v =20*cos(B) + (40*cos(B)*sin(B))/(121 - 4*cos(B)^2)^(1/2);a=diff(v)结果:a =(40*cos(B)^2)/(121 - 4*cos(B)^2)^(1/2) - 20*sin(B) - (40*sin(B)^2)/(121 - 4*cos(B)^2)^(1/2) - (160*cos(B)^2*sin(B)^2)/(121 - 4*cos(B)^2)^(3/2)。
matlab凸轮设计
偏置直动尖端推杆盘型凸轮机构一、凸轮参数二、推杆运动规律进程段 余弦加速度运动进程段 S= H-H*(1-cos(pi*i/J1))/2 (00~900) 回程段 余弦加速度运动回程段 S= H*(1-cos(pi*i/J3))/2 (1800~2700) 凸轮廓线方程:)sin(*)()cos(*22J S E R J E X +-+= )sin(*)cos(*)(22J E J S E R Y -+-= 三、程序设计%凸轮机构参数E=10; %偏距H=50; %升程b=0:pi/10:2*pi;R=40; %基圆半径x2=R*cos(b); %基圆轮廓y2=R*sin(b);x1=10*sin(b);%偏心圆轮廓y1=10*cos(b);J1=90; %推程J3=90; %回程s0=sqrt(R^2-E^2);s1=(H/2)*(1-cos(pi*i/J1)); %推程,余弦加速度运动 s2=H*eig(eye(360))'; %停歇,s=Hs3=H-(H/2)*(1-cos(pi*i/J3));%回程,余弦加速度运动 s4(1,360)=0; %停歇,s=0 x(1,360)=0;y(1,360)=0;%凸轮机构循环代码for i=1:360if i>=270s(i)=0;elseif i>=180s(i)=H-H*(1-cos(pi*i/J1))/2;elseif i>=90s(i)=H;elses(i)=H*(1-cos(pi*i/J3))/2;endx(i)=E*cos(pi*i/180)+(s0+s(i))*sin(pi*i/180);y(i)=(s0+s(i))*cos(pi*i/180)-E*sin(pi*i/180); end%凸轮轮廓曲线figure(1)plot(x,y,'-r',x1,y1,'-b',x2,y2,'-g','linewidth',2); title('凸轮轮廓曲线');xlabel('x'),ylabel('y');axis([-80,120,-100,60]);grid on;%位移曲线figure(2)plot(s,'-r','linewidth',2);title('位移曲线');xlabel('转角'),ylabel('位移')axis([0,400,-10,60]);grid on;四、运行结果。
凸轮廓线设计方案MATLAB程序
■2凸轮轮廓及其综合1.凸轮机构从动件的位移凸轮是把一种运动转化为另一种运动的装置。
凸轮的廓线和从动件一起实现运动形式的转换。
凸轮通常是为定轴转动,凸轮旋转运动可被转化成摆动、直线运动或是两者的结合。
凸轮机构设计的内容之一是凸轮廓线的设计。
定义一个凸轮基圆r b 作为最小的圆周半径。
从动件的运动方程如下:L(「)=r b +s(「)a( :) = 0 2 3 w ' w 2n设凸轮的推程运动角和回程运动角均为 3,从动件的运动规律均为正弦加速度运动规律, 则有:s( :) = h(:—sin(2 n / 3 )) Ow w 3s( :) = h — h(心―|31- sin(2 n (「- 3 / 3 ))s( :) = 0 2上式是从动件的位移,h 是从动件的最大位移,并且 o w3w如果假设凸轮的旋转速度 3= d 「/dt 是个常量,则速度 加速度a 和瞬时加速度j(加速度对时间求异)分别如下:速度:h(:)=(1-cos(2 n ■■ / 3 ))0W W加速度:h(;:)=—:(1-cos(2 n (「- 3 )/(;:)=0 2 3 w w 2 na(「)=..厂sin(2 n ■■/ 3 ))a( J =-sin(2 n ( ■- 3 )/ 3 )3w w 23beta=60*pi/180;phi=li nspace(0,beta,40);phi2=[beta+phi]; ph=[phi phi2]*180/pi; arg=2*pi*phi/beta;arg2=2*pi*(phi2-beta)/beta;s=[phi/beta-si n(arg)/2/pi 1-(arg2-si n(arg2))/2/pi]; v=[(1_cos(arg))/beta_(1_cos(arg2))/beta]; a=[2*pi/beta A 2*si n(arg)2*pi/beta A 2*si n(arg2)];j=[4*pi A 2/beta A 3*cos(arg)4*pi A 2/beta A 3*cos(arg2)]:subplot(2,2,1) plot(ph,s, / K x ) xlabel( / Cam angle(degrees) / ) ylabel( / Displacement(S) x ) g=axis; g(2)=120; axis(g) subplot(2,2,2) plot(ph,v, / k x,[0 120],[0 0],/ k-- / ) xlabel( / Cam angle(degrees) / )ylabel(/ Velocity(V)')g=axis; g(2)=120; axis(g) subplot(2,2,3)plot(ph,a, / k x ,[0 120],[0 0], / k--')xlabel( / Cam angle(degrees) / ) ylabel( / Acceleration(A) x ) g=axis; g(2)=120; axis(g) subplot(2,2,4)plot(ph,j, / k ,,[0 120],[0 0],/ k-- j瞬时加速度:j(.)=4-:3 hcos(2 n ■■/ 3 )) j(伫4n ( - 3)/ 3)j(定义无量纲位移S=s/h 、无量纲速度 V=u / 3 h 、无量纲加速度 A=a/h 3 3和无量纲瞬时加速度 J=j/h 3 3。
Matlab编程五次凸轮
附录11、用解析法设计凸轮2的实际轮廓曲线。
1、建立凸轮轮廓的数学模型。
图l 为往复式偏心从动件盘形凸轮的机构运动简图,B 为理论轮廓线上的任意一点,在图示的直角坐标系中,B 的坐标,即凸轮理论廓线上的直角坐标参数方程为:X=OE+EF=(S0+S )*Sin (J )+e*Cos (J )Y=BD – FD=(S0+S )*Cos (J ) – e*Sin (J )式中:X ,Y :凸轮理论廓线上的某一点坐标 (mm)e :从动件的偏心距(mm),OCR :凸轮的基圆半径(mm),OAS 0:220E R S -=(mm),CKJ :凸轮的转角 S :S =f(J)从动件运动方程,KBBC =CK 十KB =S 0十S因为工作廓线在法线方向的距离处处相等,且等于滚子半径r ’,故当已知理论廓线上的任意一点B(X,Y)时,只要沿理论廓线在该点的法线的方向取距离为r ’,即得到工作廓线上的相应点B ’(X ’,Y ’).由高等数学可知,理论廓线B 点处的法线n-n 的斜率(与切线斜率互为负倒数)应为 Tan a=-dx/dy=(dx/dJ)/(dx/dJ)/(-dy/dJ)=sina/cosa注: a 为理论廓线B 点处的法线和X 轴的夹角。
根据(1)(2)两式有dx/dJ=(ds/dJ-e)sin(J)+(s0+s)cos(J) (3)dy/dJ=(ds/dJ-e)cos(J)-(s0+s)sin(J) (4)可得Sin a=(dx/dJ)/((dx/dJ)^2+(dy/dJ)^2)^0.5 (5)Cos a=-(dy/dJ)/((dx/dJ)^2+(dy/dJ)^2)^0.5 (6)工作廓线上对应的点B ’(x ’,y ’)坐标为:x ’=x-r ’cos ay ’=y- r ’sin a2、 从动件运行规律:五次多项式运行规律从动件运动形式为:升—停—降—停型推程(升)δ1 远休止(停)δ2回程(降)δ3近休止(停)δ4 等加速等减速 S 1=10h(δ/δ1)^3-15h S 2=h等减速等加速 S 1=h-h(10(δ/δ3)^3-15(δ/δ3)^4+6(δ/δ3)^5) S 4=0图13、绘制凸轮曲线的程序框图(1)升回程运动函数的子程序框图(3)绘制凸轮轮廓的主程序框图定义升程的运行规律定义远休的运行规律定义回程的运行规律定义近休的运行规律绘制S-δ曲线(4)绘制S-δ曲线的程序框图4、程序编写(以下程序在Matlab7.0上运行通过)(1)升回程运动函数的子程序function y = s(x) %申明从动件运行规律函数deg=pi/180; %转化为弧度制的参数h=10; %从动件行程if (x<0)|(x>2*pi)error('Input Range error(0~2*pi)');elseif x<(60*deg)&(x>=0)y=h*(10*(x/(60*deg))^3-15*(x/(60*deg))^4+6*(x/(60*deg))^5);%升程运动规律elseif(x>=60*deg)&(x<70*deg)y=h;%远休运动规律elseif(x>=70*deg)&(x<130*deg)y=h-h*(10*((x-70*deg)/(60*deg))^3-15*((x-70*deg)/(60*deg))^4+6*((x-70*deg)/(60*deg))^5);%回程运动规律elsey=0;%近休运动规律endendendend(2)绘制ds/dδ运动函数的子程序function d=ds(x) %申明ds/dδ运行规律函数h=10; %凸轮2行程deg=pi/180;if (x<0)|(x>2*pi)error('Input Range error(0~2*pi)');elseif x<(60*deg)&(x>=0)d=h/(60*deg)*((30*(x/(60*deg))^2-60*(x/(60*deg))^3+30*(x/(60*deg))^4));%对S求导elseif(x>=60*deg)&(x<70*deg)d=0; %对S求导elseif(x>=70*deg)&(x<130*deg)d=-h/(60*deg)*((30*((x-70*deg)/(60*deg))^2-60*((x-70*deg)/(60*deg))^3+30*((x-70*deg)/(60* deg))^4));%对S求导elsed=0; %对S求导endendendend(3)绘制凸轮轮廓的主程序clear;i=1;r0=60; %基圆半径rr=4;%滚子圆半径e=0; %偏距eta=1; %凸轮顺时钉转向s0=(r0^2-e^2)^0.5;deg=pi/180;st=0.05*deg;%步长a=0;if a<2*pix(i)=(s(a)+s0)*sin(eta*a)-e*cos(eta*a);%定义理论轮廓线的X座标y(i)=(s(a)+s0)*cos(eta*a)+e*sin(eta*a); %定义理论轮廓线的Y座标dx=ds(a)*sin(eta*a)-eta*(s(a)+s0)*cos(eta*a)-e*eta*sin(eta*a);dy=ds(a)*cos(eta*a)+eta*(s(a)+s0)*sin(eta*a)-e*eta*cos(eta*a);sino=dx/(dx^2+dy^2)^0.5;coso=dy/(dx^2+dy^2)^0.5;X(i)=x(i)-rr*coso;%定义实际轮廓线的X座标Y(i)=y(i)+rr*sino;%定义实际轮廓线的Y座标i=i+1;a=a+st;endplot(x,y,X,Y);%绘制理论和实际轮廓线axis('square','equal');grid on主程序运行的结果为凸轮轮廓曲线:(4)绘制S-δ曲线的程序为:h=10;t1=linspace(0,60*pi/180); %定义升程角范围y1=h*(10*(t1/(60*deg)).^3-15*(t1/(60*deg)).^4+6*(t1/(60*deg)).^5); %升程运动规律t2=linspace(60*pi/180,70*pi/180); %定义远休角范围y2=h;%远休运动规律t3=linspace(70*pi/180,130*pi/180); %定义回程角范围y3=h-h*(10*((t3-70*deg)/(60*deg)).^3-15*((t3-70*deg)/(60*deg)).^4+6*((t3-70*deg)/(60*deg)). ^5); %回程运动规律t4=linspace(130*pi/180,360*pi/180); %定义近休角范围y4=0;%近休运动规律plot(t1,y1,t2,y2,t3,y3,t4,y4)%绘制S-δ曲线程序运行的结果为:。
matlab凸轮运动仿真课程设计
matlab凸轮运动仿真课程设计一、课程目标知识目标:1. 学生能够理解凸轮运动的基本原理,掌握运用MATLAB进行凸轮运动仿真的方法。
2. 学生能够运用MATLAB软件构建凸轮运动模型,分析凸轮运动的特点及其在不同参数下的变化。
3. 学生能够掌握MATLAB中与凸轮运动相关的基本命令和函数,并运用这些工具进行数据分析和处理。
技能目标:1. 学生能够运用MATLAB软件设计简单的凸轮运动仿真程序,具备实际操作能力。
2. 学生能够通过MATLAB仿真实验,分析凸轮运动中的关键参数,并对其进行优化。
3. 学生能够独立解决在凸轮运动仿真过程中遇到的技术问题,具备一定的故障排查和问题解决能力。
情感态度价值观目标:1. 学生通过学习MATLAB凸轮运动仿真,培养对机械运动的兴趣和热情,增强对工程技术的认识。
2. 学生能够意识到理论知识与实际应用之间的联系,增强学以致用的意识。
3. 学生在团队协作中培养沟通与协作能力,学会尊重他人意见,共同解决问题。
本课程针对高年级学生,在掌握一定MATLAB基础知识和凸轮运动原理的基础上,以提高学生的实际操作能力和创新能力为目标。
课程注重理论与实践相结合,强调学生的主体地位,通过项目式教学,培养学生独立思考和解决问题的能力。
通过本课程的学习,使学生能够更好地将所学知识应用于实际工程问题中,提高综合运用知识的能力。
二、教学内容1. 凸轮运动原理回顾:简要复习凸轮机构的基本构成、运动特点及运动规律,重点回顾教材中关于凸轮运动分析的章节内容。
2. MATLAB软件基础:复习MATLAB的基本操作、编程语法和数据类型,为后续凸轮运动仿真打下基础。
3. 凸轮运动仿真方法:介绍MATLAB在凸轮运动仿真中的应用,包括建模、求解和结果分析等步骤,结合教材相关章节进行讲解。
4. MATLAB凸轮运动建模:详细讲解如何使用MATLAB软件构建凸轮运动模型,包括参数设置、函数调用和模型验证等。
基于MATLAB的凸轮设计
中国地质大学〔武汉〕1. 凸轮要求设计一对心直动滚子推杆盘形凸轮机构,滚子半径r r =10mm,凸轮以等角速度逆时针回转.凸轮转角δ=0~120 时,推杆等速上升20mm ;δ=120~180 时,推杆远休止;δ=180~270时,推杆等加速等减速下降20mm ;δ=270~360时,推杆近休止.要求推程的最大压力角α<=30,试选取合适的基圆半径,并绘制凸轮的廓线.问此凸轮是否有缺陷,应如何补救.2.列出凸轮运动方程 {S =30π∗δV =30πa =00<δ<2/3π{S =20V =0a =02/3π<δ<π {S =−140+320π∗δ−160π∗δ^2V =320π−320π2∗δa =−320/π^2π<δ<54π{S =360−480π∗δ+160π2∗δ^2V =−480π−320π2∗δa =−320/π^25/4π<δ<32π {S =0V =0a =02/3π<δ<2π3.由方程写MATLAB 源程序%1.已知参数 clear;r0=50; %基圆半径 rr=10; %滚子半径 h=20; %行程delta01=120;%推程运动角 delta02=60; % 远休角 delta03=90;%回程运动角 hd=pi/180; du=180/pi;n1=delta01+delta02; n2=delta01+delta02+delta03;%2凸轮曲线设计n=360;for i=1:360%计算推杆运动规律if i<=delta01s<i>=30/pi*<i*hd>;ds<i>=30/pi;ds=ds<i>;elseif i>delta01 && i<=n1;s<i>=h;ds<i>=0;ds=ds<i>;elseif i>n1 && i<=<n1+delta03/2>s<i>=-140+320/pi*<i*hd>-160/pi^2*<i*hd>^2;ds<i>=320/pi-320/pi^2*<i*hd>;ds=ds<i>;elseif i><n1+delta03/2> && i<=n2s<i>=360-480/pi*<i*hd>+160/pi^2*<i*hd>^2;ds<i>=-480/pi+320/pi^2*<i*hd>;ds=ds<i>;elseif i>n2 && i<=ns<i>=0;ds=0;end%计算凸轮轨迹曲线xx<i>=<r0+s<i>>*sin<i*hd>;%计算理论轮廓曲线yy<i>=<r0+s<i>>*cos<i*hd>;dx<i>=ds*sin<i*hd>+<r0+s<i>>*cos<i*hd>;%计算导数dy<i>=ds*cos<i*hd>-<r0+s<i>>*sin<i*hd>;xp<i>=xx<i>+rr*dy<i>/sqrt<dx<i>^2+dy<i>^2>;yp<i>=yy<i>-rr*dx<i>/sqrt<dx<i>^2+dy<i>^2>;end%3.输出凸轮轮廓曲线figure<1>;hold on;grid on;axis equal;axis<[-<r0+h-30> <r0+h+10> -<r0+h+10> <r0+rr+10>]>; text<r0+h+3,4,'X'>;text<3,r0+rr+3,'Y'>;text<-6,4,'O'>;title<'对心直动滚子推杆盘形凸轮设计'>;xlabel<'x/mm'>;ylabel<'y/mm'>;plot<[-<r0+h-40> <r0+h>],[0 0],'k'>;plot<[0 0],[-<r0+h> <r0+rr>],'k'>;plot<xx,yy,'r--'>;%»绘凸轮实际轮廓曲线ct=linspace<0,2*pi>;plot<r0*cos<ct>,r0*sin<ct>,'g'>;%绘凸轮基圆plot<rr*cos<ct>,r0+rr*sin<ct>,'k'>;%绘滚子圆plot<0,r0,'o'>;%滚子圆中心plot<[0 0],[r0 r0+30],'k'>;plot<xp,yp,'b'>; %绘凸轮实际轮廓曲线%4. 凸轮机构运动仿真%计算凸轮滚子转角xp0=0;yp0=r0-rr;dss=sqrt<diff<xp>.^2+diff<yp>.^2>;%对轮廓曲线进行差分计算ss<1>=sqrt<<xp<1>-xp0>^2+<xp<1>-yp0>^2>;%轮廓曲线第一点长度for i=1:359ss<i+1>=ss<i>+dss<i>;%计算实际廓曲线长度endphi=ss/rr;%计算滚子转角%运动仿真开始figure<2>;m=moviein<20>;j=0;for i=1:360j=j+1;delta<i>=i*hd;%凸轮转角xy=[xp',yp'];%凸轮实际轮廓曲线坐标A1=[cos<delta<i>>,sin<delta<i>>;%凸轮坐标旋转矩阵-sin<delta<i>>,cos<delta<i>>];xy=xy*A1;%旋转后实际凸轮曲线坐标clf;%绘凸轮plot<xy<:,1>,xy<:,2>>;hold on;axis equal;axis<[-<120> <470> -<100> <140>]>;plot<[-<r0+h-40> <r0+h>],[0],'k'>;%绘凸轮水平轴plot<[0 0],[-<r0+h> <r0+rr>],'k'>;%绘凸轮垂直轴plot<r0*cos<ct>,r0*sin<ct>,'g'>;%绘基圆plot<rr*cos<ct>,r0+s<i>+rr*sin<ct>,'k'>;绘滚子圆plot<[0 rr*cos<-phi<i>>],[r0+s<i> r0+s<i>+rr*sin<-phi<i>>],'k'>; % 绘滚子圆标线plot<[0 0],[r0+s<i> r0+s<i>+40],'k'>;%绘推杆%绘推杆曲线plot<[1:360]+r0+h,s+r0>;plot<[<r0+h> <r0+h+360>],[r0 r0],'k'>;plot<[<r0+h> <r0+h>],[r0 r0+h],'k'>;plot<i+r0+h,s<i>+r0,'*'>;title<'对心直动滚子推杆盘形凸轮设计'>;xlabel<'x/mm'>;ylable<'y/mm'>;m<j>=getframe;endmovie<m>;4.运动仿真结果在MATLAB中可以看出轮廓曲线有一处缺口.应用圆弧连接起来. 5.计算结果由于数据太多,只等间隔取了三十六组数据Xx8.9718 18.2411 27.5000 36.4246 44.6859 51.9615 57.9477 62.3712 65.0000 65.6539 64.2123 60.6218 53.6231 44.9951 35.0000 23.9414 12.1554 0.0000 -12.0696 -23.2658 -32.7778 -39.9163 -44.3549 -47.1503 -48.8408 -49.7267 -50.0000 -49.2404 -46.9846 -43.3013 -38.3022 -32.1394 -25.0000 -17.1010 -8.6824 -0.0000Yy50.8817 50.1169 47.6314 43.4092 37.4959 30.0000 21.0912 10.9977 0.0000 -11.5765 -23.3714 -35.0000 -44.9951 -53.6231 -60.6218 -65.7785 -68.9365-70.0000 -68.4502 -63.9223 -56.7728 -47.5704 -37.2182 -27.2222 -17.7766 -8.7682 -0.0000 8.6824 17.1010 25.0000 32.1394 38.3022 43.3013 46.984649.2404 50.0000Dx52.5400 53.3830 52.4060 49.5474 44.8111 38.2699 30.0646 20.4019 9.5493 -2.1723 -14.3980 -26.7301 -44.9951 -53.6231 -60.6218 -65.7785 -68.9365-70.0000 -67.4676 -60.0514 -48.2845 -33.0207 -19.8785 -12.5201 -7.1415 -3.1953 0.0000 8.6824 17.1010 25.0000 32.1394 38.3022 43.3013 46.984649.2404 50.0000Dy0.4324 -9.2677 -19.2301 -29.1094 -38.5478 -47.1869 -54.6817 -60.7129 -65.0000 -67.3121 -67.4784 -65.3964 -53.6231 -44.9951 -35.0000 -23.9414 -12.1554-0.0000 17.6425 33.9010 47.4799 57.2560 58.9047 55.6385 52.7117 50.7094 50.0000 49.2404 46.9846 43.3013 38.3022 32.1394 25.0000 17.10108.6824 0.0000。
Matlab可视化仿真技术在凸轮机构教学中的应用-4页精选文档
Matlab可视化仿真技术在凸轮机构教学中的应用1.引言机械原理课程主要介绍各类机构的运动特性与运动设计,并简单的介绍了平面机构力分析的方法[1]。
机构运动分析主要采用速度瞬心法、相对运动图解法和解析法。
如何将机构的运动特性和受力特性结合起来,并通过可视化技术展现于课堂教学中,一直是机械原理课程需要解决的一个问题。
近年来,Matlab仿真分析技术被越来越多的引入到相关课程的教学中[2-4]。
在机械工程相关课程中,李?F[5]将Matlab优化工具箱用于机械优化设计的教学,节省了编程调试的时间,能简便快捷地获得可靠的优化结果,学生的学习兴趣得到激发,解决问题的能力得到增强,教学质量获得了提高。
陆宁[6]同样探讨了Matlab仿真技术在机械设计课程中的应用情况。
蒋宇[7]利用Matlab仿真了齿轮运转啮合过程,克服了传统教学的乏味,激发了学生的学习兴趣。
基于Matlab软件可视化仿真、数值计算以及多体动力学建模基础理论,提出将Matlab可视化仿真技术应用于机械原理课程中有关凸轮机构的教学中。
将机构运动分析与受力分析结合到一起,并通过可视化技术呈现于课堂中,达到帮助学生深入理解机构运动原理和受力特性的目的,并为后续开展凸轮机构参数优化设计和创新设计奠定基础。
2.动力学建模理论一般而言,系统约束方程可表示为:(1)将式(1)关于时间求一阶导数和二阶导数可以得到系统的速度和加速度约束方程:(2)(3)其中,为系统约束方程雅可比矩阵。
机构动力学方程可以表示为:(4)其中,为系统质量和惯性矩阵,为系统加速度矢量,为系统广义力矢量,为运动副中的约束反力。
系统约束反力可以采用约束方程雅可比矩阵和拉格朗日乘子进行表达:(5)式中,为拉格朗日乘子。
将式(5)带入式(4)可以得到:(6)最后,将式(6)和式(3)联立组合,可以得到系统动力学方程:(7)式中,。
3.凸轮机构Matlab可视化建模以偏置直动从动件盘型凸轮机构为例,建立系统运动与动力学模型如图1所示。
凸轮廓线设计MATLAB程序
凸轮轮廓及其综合1. 凸轮机构从动件的位移凸轮是把一种运动转化为另一种运动的装置。
凸轮的廓线和从动件一起实现运动形式的转换。
凸轮通常是为定轴转动,凸轮旋转运动可被转化成摆动、直线运动或是两者的结合。
凸轮机构设计的内容之一是凸轮廓线的设计。
定义一个凸轮基圆r b 作为最小的圆周半径。
从动件的运动方程如下:L()=r b +s()ϕϕ设凸轮的推程运动角和回程运动角均为β,从动件的运动规律均为正弦加速度运动规律,则有:s()=h(-sin(2π/β)) 0≤≤βϕβϕπ21ϕϕs()=h -h(-sin(2π(-β/β)) β≤≤2βϕββϕ-π21ϕϕs()=0 2β≤≤2πϕϕ上式是从动件的位移,h 是从动件的最大位移,并且0≤β≤π。
如果假设凸轮的旋转速度ω=d /dt 是个常量,则速度υ、加速度a 和瞬时加速度ϕj (加速度对时间求异)分别如下:速度:υ()=(1-cos(2π/β)) 0≤≤βϕβωh ϕϕυ()=-(1-cos(2π(-β)/β) β≤≤2βϕβωh ϕϕυ()=0 2β≤≤2πϕϕ加速度:a()=sin(2π/β)) 0≤≤βϕ222βπωh ϕϕa()=-sin(2π(-β)/β) β≤≤2βϕ222βπωh ϕϕa()=0 2β≤≤2πϕϕ瞬时加速度:j()=cos(2π/β)) 0≤≤βϕ3324βωπh ϕϕj()=-cos(2π(-β)/β) β≤≤2βϕ3324βωπh ϕϕj()=0 2β≤≤2πϕϕ定义无量纲位移S=s/h 、无量纲速度V=υ/ωh、无量纲加速度A=a/hω3和无量纲瞬时加速度J=j/hω3。
若β=60°,则如下程序可以对以上各个量进行计算。
beta=60*pi/180;phi=linspace(0,beta,40);phi2=[beta+phi];ph=[phi phi2]*180/pi;arg=2*pi*phi/beta;arg2=2*pi*(phi2-beta)/beta;s=[phi/beta-sin(arg)/2/pi 1-(arg2-sin(arg2))/2/pi];v=[(1-cos(arg))/beta-(1-cos(arg2))/beta];a=[2*pi/beta^2*sin(arg)2*pi/beta^2*sin(arg2)];j=[4*pi^2/beta^3*cos(arg)4*pi^2/beta^3*cos(arg2)]:subplot(2,2,1)plot(ph,s,ˊKˊ)xlabel(ˊCam angle(degrees)ˊ)ylabel(ˊDisplacement(S)ˊ)g=axis; g(2)=120; axis(g)subplot(2,2,2)plot(ph,v,ˊkˊ,[0 120],[0 0],ˊk--ˊ)xlabel(ˊCam angle(degrees)ˊ)ylabel(ˊVelocity(V)ˊ)g=axis; g(2)=120; axis(g)subplot(2,2,3)plot(ph,a,ˊkˊ,[0 120],[0 0],ˊk--ˊ)xlabel(ˊCam angle(degrees)ˊ)ylabel(ˊAcceleration(A)ˊ)g=axis;g(2)=120;axis(g)subplot(2,2,4)plot(ph,j,ˊkˊ,[0 120],[0 0],ˊk--ˊ)xlabel(ˊCam angle(degrees)ˊ)ylabel(ˊJerk(J)ˊ)g=axis;g(2)=120;axis(g)2 平底盘形从动作参考下图得到如下关系:在(x,y)坐标系中,凸轮轮廓的坐标为Rx和Ry,刀具的坐标为Cx和Cy:Rx =Rcos( θ+) Ry =Rsin( θ+)ϕϕC x =Ccos( γ+) C y =Ccos( γ+)ϕϕ其中,R= θ=arctan θcos L ⎪⎪⎭⎫ ⎝⎛ϕd dL L 1c= =arctan γγcos c L +γ⎪⎪⎭⎫ ⎝⎛+c L d dL γϕ/r c 是刀具的半径,且dL/d =V()/ω。
matlab凸轮课程设计
matlab 凸轮课程设计一、教学目标本课程旨在通过MATLAB软件仿真,使学生掌握凸轮机构的基本原理和设计方法,提高学生运用数学模型解决工程实际问题的能力。
具体目标如下:1.知识目标:使学生了解凸轮机构的基本概念、类型和运动特性,掌握常用凸轮机构的运动规律和设计方法,理解MATLAB在凸轮设计中的应用。
2.技能目标:培养学生运用MATLAB进行凸轮机构仿真分析的能力,能够独立完成凸轮机构的运动规律分析、参数优化和设计。
3.情感态度价值观目标:培养学生对机械设计的兴趣,增强工程实践能力和创新意识,树立团队协作和终身学习的观念。
二、教学内容本课程的教学内容主要包括以下几个部分:1.凸轮机构的基本概念、类型和运动特性。
2.常用凸轮机构的运动规律和设计方法。
3.MATLAB在凸轮设计中的应用,包括凸轮机构的运动规律分析、参数优化和设计。
教学大纲安排如下:第1-2课时:凸轮机构的基本概念、类型和运动特性。
第3-4课时:常用凸轮机构的运动规律和设计方法。
第5-6课时:MATLAB在凸轮设计中的应用。
三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式,包括:1.讲授法:用于讲解凸轮机构的基本概念、类型和运动特性,以及常用凸轮机构的运动规律和设计方法。
2.案例分析法:通过分析实际案例,使学生更好地理解凸轮机构的设计和应用。
3.实验法:引导学生利用MATLAB软件进行凸轮机构的仿真实验,提高学生的实践操作能力。
四、教学资源为了支持本课程的教学,将准备以下教学资源:1.教材:《MATLAB凸轮设计教程》。
2.参考书:相关领域内的学术论文、专著等。
3.多媒体资料:课件、教学视频等。
4.实验设备:计算机、MATLAB软件等。
通过以上教学资源的支持,为学生提供丰富多样的学习体验,提高教学质量。
五、教学评估本课程的教学评估将采用多元化的评价方式,以全面、客观、公正地评估学生的学习成果。
评估方式包括:1.平时表现:通过课堂参与、提问、小组讨论等环节,评估学生的学习态度和课堂表现。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Matlab 课程设计
李俊机自091
设计题目一:凸轮机构设计
已知轮廓为圆形的凸轮(圆的半径为100mm、偏心距为20mm),推杆与凸轮运动中心的距离20mm,滚子半径为10mm,请利用matlab仿真出凸轮推杆的运动轨迹和运动特性(速度,加速度),并利用动画演示出相关轨迹和运动特性。
%总程序代码
clc;
clf;
clear;
p=figure('position',[100 100 1200 600]);
for i=1:360
%画圆形凸轮
R=100; %圆形凸轮半径
A=0:0.006:2*pi;
B=i*pi/180;
e=20; %偏心距
a=e*cos(B);
b=e*sin(B);
x=R*cos(A)+a;
y=R*sin(A)+b;
subplot(1,2,1)
plot(x,y,'b','LineWidth',3); %填充
fill(x,y,'y')
axis([-R-e,R+e,-R-e,R+e+100]); set(gca,'Xlim',[-R-e,R+e])
set(gca,'Ylim',[-R-e,R+e+100]) axis equal;
axis manual;
axis off;
hold on;
plot(a,b,'og')
plot(e,0,'or')
plot(0,0,'or','LineWidth',3)
%画滚子
gcx=0; %滚子中心X坐标r=10; %滚子半径
gcy=sqrt((R+r)^2-a^2)+b; %滚子中心Y坐标
gx=r*cos(A)+gcx; %滚子X坐标
gy=r*sin(A)+gcy; %滚子Y坐标
plot(gx,gy,'b','LineWidth',2);
%画其它部分
plot([0 a],[0 b],'k','LineWidth',4)
plot([3 3],[170 190],'m','LineWidth',4)
plot([-3 -3],[170 190],'m','LineWidth',4)
%画顶杆
gc=120;
dgx=[0 0];
dgy=[gcy gcy+gc];
plot(dgx,dgy,'LineWidth',4);
hold off
%画位移图
sx(i)=B;
sy(i)=gcy;
subplot(3,2,2)
plot(sx,sy,'b','LineWidth',3)
title('位移线图')
grid on
hold off;
%画速度图
vx(i)=B;
vy(i)=20*cos(B) + (40*cos(B).*sin(B))./(121 - 4*cos(B).^2).^(1/2); subplot(3,2,4)
plot(vx,vy,'g','LineWidth',3)
title('速度线图')
grid on
hold off;
%画加速度图
ax(i)=B;
ay(i)=(40*cos(B).^2)./(121 - 4*cos(B).^2).^(1/2) - 20*sin(B) - (40*sin(B).^2)/(121 -4*cos(B).^2).^(1/2) -
(160*cos(B).^2.*sin(B).^2)/(121 - 4*cos(B).^2).^(3/2);
subplot(3,2,6)
plot(ax,ay,'r','LineWidth',3),xlabel('B')
title('加速度线图')
grid on
hold off;
M=getframe;
end
截图
附:通过求导求速度和加速度
%求速度
syms B;
a=e*cos(B);
b=e*sin(B);
s=sqrt((R+r).^2-a.^2)+b;
v=diff(s)
结果:v =20*cos(B) + (40*cos(B)*sin(B))/(121 - 4*cos(B)^2)^(1/2) %求加速度
syms B;
v =20*cos(B) + (40*cos(B)*sin(B))/(121 - 4*cos(B)^2)^(1/2);
a=diff(v)
结果:a =(40*cos(B)^2)/(121 - 4*cos(B)^2)^(1/2) - 20*sin(B) -
(40*sin(B)^2)/(121 - 4*cos(B)^2)^(1/2) - (160*cos(B)^2*sin(B)^2)/(121 - 4*cos(B)^2)^(3/2)
继续阅读。