matlab凸轮轮廓线设计和速度加速度分析

合集下载

凸轮廓线的MATLAB画法

凸轮廓线的MATLAB画法

凸轮廓线的MATLAB 画法1 凸轮轮廓方程*()()*()()*()*()X OE EF E Cos J So S Sin J Y BD FD So S Cos J E Sin J =+=++=-=+- (X,Y):凸轮轮廓线上的任意一点的坐标。

E :从动件的偏心距。

R :凸轮的基园半径。

J :凸轮的转角。

S :S=f(J)为从动件的方程。

So :22O S R E =-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ω====速度 同理可得:dJ ds dt dv a 22==加速度4 程序运行结果图一:余弦速运动规律下的凸轮轮廓曲线图二:余弦加速作用下的S-α曲线5 附程序:1、程序实例说明R=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 d2S syms定义符号变量,定义后字符变量才能用J11=linspace(0,J1,500);linspace用于产生两点间的N点行矢量。

基于MATLAB的凸轮设计

基于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凸轮轮廓设计及仿真说明书

matlab凸轮轮廓设计及仿真说明书

偏置盘型凸轮创新课程设计课程名称:机械原理设计题目:偏置盘型凸轮设计院系:机电学院班级: 09机41设计者:彭辉学号: 09294040指导教师:王卫辰学校:江苏师范大学前言凸轮轮廓曲线的设计,一样可分为图解法和解析法.利用图解法能比较方便地绘制出各类平面凸轮的轮廓曲线.但这种方式仅适用于比较简单的结构,用它对复杂结构进行设计那么比较困难,而且利用图解法进行结构设计,作图误差较大,对一些精度要求高的结构不能知足设计要求.解析法能够依照设计要求,通过推导机构中各部份之间的几何关系,成立相应的方程,精准地计算出轮廓线上各点的坐标,然后把凸轮的轮廓曲线精准地绘制出来.可是,当从动件运动规律比较复杂时,利用解析法取得凸轮的轮廓曲线的工作量比较大.而MATLAB软件提供了壮大的矩阵处置和画图功能,具有核心函数和工具箱.其编程代码接近数学推导公式,简练直观,操作简易,人机交互性能好,且能够方便迅速地用三维图形、图像、声音、动画等表达计算结果、拓展思路口。

因此,基于MATLAB软件进行凸轮机构的解析法设计,能够解决设计工作量大的问题。

本此课程设计基于MATLAB软件进行凸轮轮廓曲线的解析法设计,并对的运动规律凸轮进行仿真,其具体方式为第一精准地计算出轮廓线上各点的坐标,然后运用MATLAB绘制比较精确的凸轮轮廓曲线和推杆的位移、速度及加速度曲线和仿真。

目录前言 1第一章:工作意义 31.1本次课程设计意义31.2 已知条件4第二章:工作设计进程 5 2.1:设计思路 5 2.2:滚子从动件各个时期相关方程 6 2.3:盘型凸轮理论与实际轮廓方程 7第三章:工作程序进程 7 3.1:滚子从动件各各时期MATLAB程序编制 8 3.2:凸轮的理论实际运动仿真程序编制 12 第四章:运行结果 17 4.1:滚子运动的位移图 17 4.2:滚子运动的速度图 17 4.3:滚子运动的加速度图,局部加速度图 18 4.4:滚子运动的仿真图 19 4.5:滚子运动的理论与实际轮廓图 20第五章:设计总结 21 5.1:总结 21第六章:参考文献 22 6.1:参考文献 22第一章:工作意义1.1本次课程设计意义凸轮是一个具有曲线轮廓或凹槽的构件,一样为主动件,作等速回转运动或往复直线运动。

凸轮轮廓线的绘制(MATLAB)

凸轮轮廓线的绘制(MATLAB)

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程序

凸轮廓线设计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凸轮轮廓设计

基于matlab凸轮轮廓设计

基于matlab凸轮轮廓设计随着科学技术的不断发展,凸轮轮廓设计已经被广泛运用于各种机械和动力学设备中。

MATLAB作为一种强大的技术软件,也被广泛用于凸轮轮廓的设计和分析。

本文将对基于MATLAB的凸轮轮廓设计进行探讨。

凸轮轮廓的设计需要考虑许多因素,如凸轮的形状、材质、运动方式等。

其中,凸轮轮廓的形状对凸轮的运动和性能起着至关重要的作用。

因此,凸轮轮廓的设计需要具有高度的精度和可靠性。

MATLAB作为一种功能强大的数学软件,可以通过编程实现凸轮轮廓的设计和分析。

MATLAB中有许多函数可以用于处理凸轮的相关问题,如curve fitting工具箱、symbolic math工具箱等。

通过这些工具箱和函数,可以实现凸轮轮廓的优化设计和模拟分析。

在凸轮轮廓的设计中,凸轮轨迹的生成是至关重要的一步。

传统的方法是通过手工绘制轮廓图,然后进行图形处理和数值计算等操作。

而在MATLAB中,可以利用数值计算和函数绘图等功能直接生成凸轮轮廓。

具体实现方法如下:首先,我们需要确定凸轮的基本参数,如凸轮的半径、角速度等。

然后,根据凸轮运动的规律,利用MATLAB中的数值计算函数计算出凸轮上各点的位置坐标。

接着,通过MATLAB中的函数绘图功能将各点连接形成凸轮轮廓。

最后,通过调整凸轮参数和轮廓图形,实现凸轮轮廓的优化设计。

除此之外,MATLAB还可以利用符号计算的功能优化凸轮轮廓设计。

通过定义凸轮的基本参数和轮廓方程,利用MATLAB中的符号计算工具求解优化方程,得到凸轮轮廓的最优设计方案。

综上所述,基于MATLAB的凸轮轮廓设计具有快速、精准、可靠等优势。

通过MATLAB的编程和工具箱的使用,可以实现凸轮轮廓的优化设计和模拟分析,为机械和动力学设备的设计和制造提供有力支持。

凸轮廓线设计MATLAB程序

凸轮廓线设计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 1c=γγcos cL + γ=arctan ⎪⎪⎭⎫⎝⎛+c L d dL γϕ/r c 是刀具的半径,且dL/d ϕ=V(ϕ)/ω。

基于MATLAB语言的凸轮轮廓曲线的解析法设计

基于MATLAB语言的凸轮轮廓曲线的解析法设计

obtained, so that 也e accuracy is higher and the fitting is more accurate.
Keywords: cam mechanism; oscillating follower; simulation design; MATLAB
。引言 凸轮机构结构筒单而且紧凑,能传递较大功率以及任
Abstrad: Taking the oscillating follower and disk c皿1 mechanism as examples, this paper analyzes 也e contour curve
of oscillating follower and disk cam mechanism based on MATLAB. The powerful data processing and drawing
I 网址,刷刷.jxg臼 com 电邮 hrbengineer@163 ∞m 囚18 年第 7 期
1
机械工程师
MECHANICAL ENGINEER
样的状况,所以也会有柔性的冲击,这种运动规律的凸轮 结构只适用于中速凸轮机构。如果从动件在整个运动过 程中不会停止时,加速度的曲线是连续不断的,因而就不 会发生冲击现象,这种情况下就适用于高速凸轮机构中, 具体公式如下。
基金项目:河北省研究生创新资助项目 (CXZZSS2017173 );
北华航天工业学院科研创新项目 (YKY201502 ,
YKY201616)
能采用传统的人工处理方法,否则就会严重影响数据的 准确度以及图形的精度。解析法可以精确计算轮廓线上 各点的坐标,误差比较小。当从动件运动比较复杂,工作 量大时,用 MATLAB 软件可以很容易进行凸轮轮廓曲线 的解析法设计归呵。

凸轮

凸轮
x=0:pi/200:150.*pi/180; s = h.*(x./x1-sin(2.*pi.*x./x1)./(2.*pi));
X1=(s0+s).*cos(x)-e.*sin(x); Y1=(s0+s).*sin(x)+e.*cos(x); %实际轮廓 X11=X1-(rr.*(cos(x).*(s + s0) e.*sin(x)))./((sin(x).*(s + s0) + e.*cos(x)).^2 + (cos(x).*(s + s0) - e.*sin(x)).^2).^(1./2); Y11=Y1-(rr.*(sin(x).*(s + s0) + e.*cos(x)))./((sin(x).*(s + s0) + e.*cos(x)).^2 + (cos(x).*(s + s0) - e.*sin(x)).^2).^(1./2); plot(X1,Y1,'r',X11,Y11,'r'),hold on; %远休 x=150.*pi/180:pi/200:200.*pi/180; s=50; X2=(s0+s).*cos(x)-e.*sin(x); Y2=(s0+s).*sin(x)+e.*cos(x); X22=X2-(rr.*(cos(x).*(s + s0) e.*sin(x)))./((sin(x).*(s + s0) + e.*cos(x)).^2 + (cos(x).*(s + s0) - e.*sin(x)).^2).^(1./2); Y22=Y2-(rr.*(sin(x).*(s + s0) + e.*cos(x)))./((sin(x).*(s + s0) + e.*cos(x)).^2 + (cos(x).*(s + s0) - e.*sin(x)).^2).^(1./2); plot(X2,Y2,'g',X22,Y22,'g'),hold on; %回程

基于matlab的凸轮轮廓曲线设计

基于matlab的凸轮轮廓曲线设计

基于matlab的凸轮轮廓曲线设计凸轮是机械中常见的关键零件之一,其主要功能是将旋转的运动转化为直线运动,用于推动某些机械元件进行工作。

凸轮轮廓曲线的设计对于凸轮的运动和工作效率有着重要的影响。

在本文中,我们将介绍基于matlab的凸轮轮廓曲线设计方法,以帮助读者了解凸轮轮廓曲线设计的基本概念和方法。

凸轮的形状通常是复杂的非圆形曲线。

凸轮的轮廓曲线设计过程中,需要考虑控制凸轮输送运动的速度和加速度等因素,同时还需要考虑各种机械元件之间的协调性和协定性。

针对以上问题,我们提出了基于连续逼近法的凸轮轮廓曲线设计方法。

1. 连续逼近法的基本原理连续逼近法是一种典型的非线性规划方法,其基本思想是将目标函数逐渐逼近最优解。

在凸轮轮廓曲线设计中,我们可以将凸轮轮廓曲线视为目标函数,通过不断调整曲线的形状,逐渐逼近最优轮廓曲线。

连续逼近法的具体实现过程包括以下步骤:(1)确定初始值首先需要确定一个初始轮廓曲线,通常可以使用圆弧、抛物线等基本曲线来作为起始轮廓曲线。

(2)建立数学模型接着需要建立凸轮轮廓曲线的数学模型,以便于通过数值方法来求解最优轮廓曲线。

其中,常见的模型包括三次贝塞尔曲线、三次样条曲线等。

(3)计算目标函数根据建立的数学模型,通过计算目标函数来评估轮廓曲线的性能。

通常,目标函数包括运动速度、加速度、平衡性等因素。

(4)优化轮廓曲线通过对目标函数的优化,不断调整轮廓曲线的形状,逐渐逼近最优曲线。

(5)确定最优解最终确定最优解,并验证其性能。

matlab是一种常见的数学软件,可以运用其强大的计算能力来进行凸轮轮廓曲线的设计。

具体实现过程如下:(1)数据处理将凸轮相关的数据通过matlab进行存储和处理。

常见的数据包括凸轮的尺寸、旋转角度、轮廓曲线等。

根据凸轮的数据建立轮廓曲线的数学模型,其中包括选择适当的曲线类型、确定曲线参数等。

(5)性能验证3. 总结。

matlab凸轮设计

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仿真-Matlab课程设计

凸轮运动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绘制凸轮教程(详细)

用matlab绘制凸轮教程(详细)

下面我们来简单地介绍一下怎么样用matlab来绘制凸轮的工作轮廓线主要涉及解析法首先看一下理论轮廓线的方程式X=(S0+S1)sinθ+ ecosθY= (S0+S1) cosθ+ esinθ式中,e为偏心距,S0=sqrt(r0^2-e^2),r0为偏心圆半径只要在matlab的函数编辑中,输入一下代码即可我已经在程序中写了很详细的备注了,希望大家都能看懂附程序:%先设置凸轮的基本参数,偏心距离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的凸轮设计

中国地质大学〔武汉〕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程序

凸轮廓线设计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()/ω。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
axis([-100,100,-100,60]); %定义横纵坐标的范围
xlabel('轮廓曲线'); %定义下标名称
subplot(2,2,2) %输出2区图象
plot(j0,m0) %画出位移曲线
axis([0,400,-100,100]); %定义横纵坐标区间
s=s4; %选择位移公式
v=0; %选择速度公式
a=0; %选择加速度公式
else if j>(360-j4-j3)&&j<=(360-j4) %接下来得三个条件语句也是同样的
s=s3;
v=-90*h/j3*sin(pi*j/j3);
a=-90*180*h/j3/j3*cos(pi*j/j3);
axis([0,400,-100,100])
xlabel('加速度曲线');
y0=[y0,y]; %其中x0存储凸轮横坐标,y0存储凸轮纵坐标存 v0=[v0,v]; %v0储角度对应速度存
a0=[a0,a]; %a0储角度对应加速度,m0存储角度对应位移
m0=[m0,s]; j0=[j0,j]; end
else if (j>360-j4-j3-j2)&&(j<=360-j4-j3)
s=s2; v=0; a=0;
else s=s1;
v=90*h/j1*sin(pi*j/j1); a=180*90*h/j1/j1*cos(pi*j/j1);
end
subplot(2,2,1) %将平面分为四个区现在输出1区图象
plot(r*sin(j0),r*cos(j0)) %画出基圆的图形
hold on; %在图中继续加载图形
plot(x0,y0) %画出凸轮轮廓
xlabel('位移曲线'); %下面相同程序同理
subplot(2,2,3)
plot(j0,v0) %画出速度曲线
axis([0,400,-100,100])
xlabel('速度曲线'); subplot(2,2,4)
plot(j0,a0) %画出加速度曲线
s0=sqrt(r*r-e*e)
for j=0:1:360 %定义角度的循环
s1=h/2*(1-cos(pi/j1*j)); %定义s1,s2,s3,s4的表达式
s2=h;
s3=h-(h/2)*(1-cos(pi/j3*j));
s4=0;
and if(j>360-j4)&&(j<=360) %判断角度范围确定对应的表达式
j2=input('Please input j2:'); j3=input('Please input j3:'); j4=input('Please input j4:');
x0=[]; %定义空数组x0பைடு நூலகம்y0,v0,a0,m0,j0为以后数据输入提供空间
y0=[]; v0=[]; a0=[]; m0=[]; j0=[];
x=e*cos(j/180*pi)+(s0+s)*sin(j/180*pi); %定义凸轮轮廓的横坐标 y=(s0+s)*cos(j/180*pi)-e*sin(j/180*pi); %定义凸轮轮廓的纵坐标
x0=[x0,x]; %将数据输入到数组中
x0,y0,v0,a0,m0,j0
e=input('Please input e:'); %输入偏心距
h=input('Please input h:'); %输入H
r=input('Please input r:'); %输入基圆半径
j1=input('Please input j1:'); %输入j1,j2,j3,j4
相关文档
最新文档