基于MATLAB软件的凸轮轮廓曲线设计_
基于MATLAB的凸轮轮廓曲线设计
基于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进行凸轮设计。
在凸轮设计中,最重要的是凸轮曲线的生成。
凸轮曲线是一个由数据点组成的模板,通过插值或者数值逼近的方法可以生成一个光滑的凸轮曲线。
在 MATLAB 中,可以使用插值函数 interp1 或者曲线拟合函数polyfit 进行凸轮曲线的生成。
具体步骤如下:1.定义凸轮的设计参数,例如凸轮的半径、凸轮转动的角度范围等;2.根据凸轮的设计参数,生成一些数据点,这些数据点可以通过数学计算或者几何建模等方式得到;3. 使用插值函数 interp1 或者曲线拟合函数 polyfit 对这些数据点进行插值或者拟合,得到一个平滑的曲线;4.根据凸轮转动的角度范围,生成一系列角度的数据点;5. 使用插值函数 interp1 或者曲线拟合函数 polyval 对这些角度的数据点进行插值或者拟合,得到一系列对应的曲线坐标点;6.将这些坐标点绘制成凸轮曲线,并进行可视化。
除了凸轮曲线的生成,MATLAB 还可以用于凸轮的设计和优化。
凸轮设计包括凸轮的尺寸设计、运动路径设计等。
在 MATLAB 中,可以使用优化函数 fmincon 或者遗传算法函数 ga 进行凸轮设计的优化,以获得符合设计要求的凸轮参数。
具体步骤如下:1.定义凸轮的设计变量和目标函数。
设计变量可以是凸轮的尺寸参数,例如凸轮半径、凸轮高度等;目标函数可以是凸轮的运动路径误差、速度误差等。
2.定义凸轮的约束条件。
约束条件可以是凸轮的尺寸范围、速度和加速度的限制等。
3. 使用优化函数 fmincon 或者遗传算法函数 ga 对凸轮的设计变量进行优化,以使目标函数最小化或者最大化。
基于MATLAB的摆动式磨头圆柱端面凸轮曲线优化设计
4 0 40
2 l5 r l 2 。 7 ( 耵 一7 7 ( , 一7 一7 ) 2 25 r 1—7 ) 2
() 5
2 3 约束 条件 . 2 3 1 转 角 . .
要求 , 取
1
和 : 的要求
为保证 摆杆 在 中段匀 速 摆 动 , 足 磨 头磨 削工 艺 满
图 1 凸轮 机构 压 力角
Fiu e 1 Ca me h nim r su e a ge g r m c a s p e s r n l
1+ 2≤ 订
() 6
2 34 主 动摆杆 与 凸轮干 涉 .. 将 圆柱 凸轮展 开成平 面便 成 为移 动 凸轮 ¨ 建 立 , 凸轮转 角为横 坐标 , 曲线 高 度 为纵 坐 标 的 平 面直 角 坐
模型 , 用 MA L B软件的功能 函数 cnt求得优化结果。优化后最大无 因次加速度为优 化前的 3 % , 运 TA os r 3 和原有 曲线相 比
下降了3 %, 0 可以有效的降低磨头的振动及故障率, 提高陶瓷地砖加工的表面质量, 降低震碎率。图7参 1 1
关 键 词 : 瓷抛 光 机 ; 化 设 计 ; T A 软 件 ; 柱 端 面 凸轮 陶 优 MA L B 圆
Ab t a t T mp o e d n mi c p b l y o r d n e d c m c a i o e a c p l h n c i e a i g t e sr c : o i r v y a c a a i t f g n i g h a a me h ns i i m f c r mi o i i g ma h n , t k n h s
凸轮轮廓线的绘制(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的凸轮轮廓曲线的分析与研究
型凸轮的理论廓线和实际廓线( 如图 3所 示) 。
4 应 用 实例
例: 已知凸轮基圆半径 =0m , 5
直 动 从 动 件 滚 子 半 径 r =1 f , r 2n n 偏
哪 }
0…、… . } 一j.. 一} \: I’一 、 一 …
即
: _( y y_ )
() 3
观化、 单化、 简 精
确化 。
2 求 凸轮 轮 廓 曲线
如图 1 示 。 所 已 知 凸 轮 基 圆 半 径 r、 距 e 滚 子 n偏 、
一d) 吖y )J 二 l /I √d ( 毒寒 + t b (
d x
:㈩ 、 … 源自半 径 r 其 从 动 。及
n s wih t e ma lb c m iig tch i u ,a a t h o e i a im t h ta o pln e n q es n d drwsis te r tc a d ra itc o ti e c r e y wa fa x m pe. n e si u ln u v s b y o e a l l n K e r s:h r fe v lp; u ln ure; i ei ul ft e flo r ma ab y wo d te y o n eo o ti e c v k n tc r e o h o lwe ; d o
1 引言
凸轮机 构设计 的关键 是凸轮廓线 的设计 , 凸轮的廓 线 而 形状 取决于从 动件的运动规律 。采用包络原理来求解凸轮廓
线 是 分 析 和 研究 凸 轮机 构 的一 种 很 重 要 的 方 法 。
M t b是 M tWok 公司于 18 al a ah rs 92年 推 出的一 套商性 能 的数值 计算和可视化 软件 , 它集数值 分析 、 矩阵运算 、 号处 信
基于MatLab的经编机钩针凸轮轮廓曲线反求设计
第 1 期 1
纺
织 学 报
V0 . 9 No. l 12 1
NO V. 2 o 0 8
20 0 8年 1 1月
J un lo xi s ac o r a fTe te Re e r h l
文 章 编 号 :2 39 2 (0 8 1- 140 0 5 —7 1 20 ) 10 2 .4
t ec m u v n MaL b,mo iyngte c n u v u t e ,fl rn h olce aa,p o e sn h l rd h a c re i t a d fi h a 'c ref rh r i t igt ec l td d t l e e rc si g tef t e i e d t y c b c s ln ne oain i t a aab u i pie itr lt n MaL b,a d s n ig t e n w aa t tC p o n e dn h e d t o Au o AD o g n rt o la l t e eae c mpibe c m o tu u e b x e .T e rs l fe p rme ts o h tt e c m n fcu e n t i y sts e a c n o rc r y E c 1 h e ut o x e v s i n h w ta h a ma ua trd i hs wa aif s i po u t n rq ie n ,vb ain d ce s s a d n ie d cie rd ci e ur me t ir t e ra e n os e l s, i c n b s d a eee c o i lrc m o o n t a e u e s rfrn e frsmi a a
基于Matlab和Pro/E的凸轮轮廓曲线设计及从动件运动学仿真
凸轮 机构是 自动机械 或 自动控 制装 置 中广泛应 用 的机 构之 一 ,是 由凸轮 、从 动件 推杆 和机架 组 成 的高副 机构 ,与其 他传 动机 构 相 比 ,凸轮 机构 具 有 结 构 紧 凑 、 传动精 度 高 、动 力 特 性 好 、运 动平 稳 等 优 点 J。凸 轮 机构的设计 ,关键是获得精 确的凸轮轮廓曲线来满足 从动 件各 种预 期 的运动 规律 ,以实 现机 械 的 自动化 ,而 凸轮 曲线 特性 优 良与 否直 接 影 响到 凸 轮 机构 的效 率 、 精度 以及 寿命 。
关键 词 :凸轮 轮廓 线 ;Matlab:辅助设 计 ;Pro/E 中 图分类 号 :TP391 文献标 识码 :A
Design of cam profile cu rve and kinem atics sim ulation based on M atlab and Pro/E
XIAO Bangdong,HUANG H ao, XU Zhong
凸轮 轮廓 曲线 的设 计 一 般 可 分 为 图解 法 和 解 析 法 ,其 中图解法 只适 用 于从动 件运 动规律 较 简单 ,对 凸 轮轮 廓 曲线精度 要求 不 高 的场 合 。解析 法则 可针对 复 杂 的从 动 件运 动规 律建 立 相 应 的方 程 ,精 确地 计 算 出 轮廓 线 上各点 的 坐标 ,然 后 把 凸轮 的轮 廓 曲线精 确 地 绘 制 出来 。Matlab是 一 种 科 学计 算 软 件 ,通过 其 强 大 的矩 阵 处理 和绘 图功能 J,利 用 Matlab编程 可 进行 凸
ple,according to the design requirement,we established the mathematica l model of cam contour curve and utilized Matlab to realize cain prof ile cur ve of precise aided design and f ollower motion simulation, cam contour point coordinates generated were impoaed to Pro/E ,Eventually,werealized the design of com plicated three——dimensional modeling of the cam .The process provides a sim ple and accurate m eth— od for the design of the cam profile. K eywords:cam profile; Matlab;aided design;Pro/E
凸轮廓线设计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( γ+ϕ)其中,。
基于matlab凸轮轮廓设计
基于matlab凸轮轮廓设计随着科学技术的不断发展,凸轮轮廓设计已经被广泛运用于各种机械和动力学设备中。
MATLAB作为一种强大的技术软件,也被广泛用于凸轮轮廓的设计和分析。
本文将对基于MATLAB的凸轮轮廓设计进行探讨。
凸轮轮廓的设计需要考虑许多因素,如凸轮的形状、材质、运动方式等。
其中,凸轮轮廓的形状对凸轮的运动和性能起着至关重要的作用。
因此,凸轮轮廓的设计需要具有高度的精度和可靠性。
MATLAB作为一种功能强大的数学软件,可以通过编程实现凸轮轮廓的设计和分析。
MATLAB中有许多函数可以用于处理凸轮的相关问题,如curve fitting工具箱、symbolic math工具箱等。
通过这些工具箱和函数,可以实现凸轮轮廓的优化设计和模拟分析。
在凸轮轮廓的设计中,凸轮轨迹的生成是至关重要的一步。
传统的方法是通过手工绘制轮廓图,然后进行图形处理和数值计算等操作。
而在MATLAB中,可以利用数值计算和函数绘图等功能直接生成凸轮轮廓。
具体实现方法如下:首先,我们需要确定凸轮的基本参数,如凸轮的半径、角速度等。
然后,根据凸轮运动的规律,利用MATLAB中的数值计算函数计算出凸轮上各点的位置坐标。
接着,通过MATLAB中的函数绘图功能将各点连接形成凸轮轮廓。
最后,通过调整凸轮参数和轮廓图形,实现凸轮轮廓的优化设计。
除此之外,MATLAB还可以利用符号计算的功能优化凸轮轮廓设计。
通过定义凸轮的基本参数和轮廓方程,利用MATLAB中的符号计算工具求解优化方程,得到凸轮轮廓的最优设计方案。
综上所述,基于MATLAB的凸轮轮廓设计具有快速、精准、可靠等优势。
通过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 软件可以很容易进行凸轮轮廓曲线 的解析法设计归呵。
基于MATLAB的凸轮设计
中国地质大学(武汉)1.凸轮要求=10mm,凸轮以等角设计一对心直动滚子推杆盘形凸轮机构,滚子半径rr速度逆时针回转。
凸轮转角=0~120 时,推杆等速上升20mm;=120~180 时,推杆远休止;=180~270时,推杆等加速等减速下降20mm;=270~360时,推杆近休止。
要求推程的最大压力角<=30,试选取合适的基圆半径,并绘制凸轮的廓线。
问此凸轮是否有缺陷,应如何补救。
2.列出凸轮运动方程0<<2/32/3<<2/3<<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中可以看出轮廓曲线有一处缺口。
基于matlab的凸轮轮廓曲线设计
基于matlab的凸轮轮廓曲线设计凸轮是机械中常见的关键零件之一,其主要功能是将旋转的运动转化为直线运动,用于推动某些机械元件进行工作。
凸轮轮廓曲线的设计对于凸轮的运动和工作效率有着重要的影响。
在本文中,我们将介绍基于matlab的凸轮轮廓曲线设计方法,以帮助读者了解凸轮轮廓曲线设计的基本概念和方法。
凸轮的形状通常是复杂的非圆形曲线。
凸轮的轮廓曲线设计过程中,需要考虑控制凸轮输送运动的速度和加速度等因素,同时还需要考虑各种机械元件之间的协调性和协定性。
针对以上问题,我们提出了基于连续逼近法的凸轮轮廓曲线设计方法。
1. 连续逼近法的基本原理连续逼近法是一种典型的非线性规划方法,其基本思想是将目标函数逐渐逼近最优解。
在凸轮轮廓曲线设计中,我们可以将凸轮轮廓曲线视为目标函数,通过不断调整曲线的形状,逐渐逼近最优轮廓曲线。
连续逼近法的具体实现过程包括以下步骤:(1)确定初始值首先需要确定一个初始轮廓曲线,通常可以使用圆弧、抛物线等基本曲线来作为起始轮廓曲线。
(2)建立数学模型接着需要建立凸轮轮廓曲线的数学模型,以便于通过数值方法来求解最优轮廓曲线。
其中,常见的模型包括三次贝塞尔曲线、三次样条曲线等。
(3)计算目标函数根据建立的数学模型,通过计算目标函数来评估轮廓曲线的性能。
通常,目标函数包括运动速度、加速度、平衡性等因素。
(4)优化轮廓曲线通过对目标函数的优化,不断调整轮廓曲线的形状,逐渐逼近最优曲线。
(5)确定最优解最终确定最优解,并验证其性能。
matlab是一种常见的数学软件,可以运用其强大的计算能力来进行凸轮轮廓曲线的设计。
具体实现过程如下:(1)数据处理将凸轮相关的数据通过matlab进行存储和处理。
常见的数据包括凸轮的尺寸、旋转角度、轮廓曲线等。
根据凸轮的数据建立轮廓曲线的数学模型,其中包括选择适当的曲线类型、确定曲线参数等。
(5)性能验证3. 总结。
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;解析法前言凸轮轮廓曲线的设计,一般可分为图解法和解析法.利用图解法能比较方便地绘制出各种平面凸轮的轮廓曲线.但这种方法仅适用于比较简单的结构,用它对复杂结构进行设计则比较困难,而且利用图解法进行结构设计,作图误差较大,对一些精度要求高的结构不能满足设计要求。
解析法可以根据设计要求,通过推导机构中各部分之间的几何关系,建立相应的方程,精确地计算出轮廓线上各点的坐标,然后把凸轮的轮廓曲线精确地绘制出来.但是,当从动件运动规律比较复杂时,利用解析法获得凸轮的轮廓曲线的工作量比较大.而MATLAB软件提供了强大的矩阵处理和绘图功能,具有核心函数和工具箱.其编程代码接近数学推导公式,简洁直观,操作简易,人机交互性能好,且可以方便迅速地用三维图形、图像、声音、动画等表达计算结果、拓展思路[1]。
因此,基于MATLAB软件进行凸轮机构的解析法设计,可以解决设计工作量大的问题。
本文基于MATLAB软件进行凸轮轮廓曲线的解析法设计,利用《机械原理》课程的计算机辅助教学,及常用机构的计算机辅助设计.其具体方法为首先精确地计算出轮廓线上各点的坐标,然后运用MATLAB绘制比较精确的凸轮轮廓曲线。
1 设计的意义与已知条件1.1意义凸轮机构是由具有曲线轮廓或凹槽的构件,通过高副接触带动从动件实现预期运动规律的一种高副机构,它广泛地应用于各种机械,特别是自动机械、自动控制装置和装配生产线中,是工程实际中用于实现机械化和自动化的一种常用机构。
所以,在凸轮的加工中,精确的确定凸轮的轮廓,这对于保证凸轮所带动从动件的运动规律是尤为重要的。
1.2已知条件偏置移动从动件盘形凸轮设计已知条件(图1):凸轮作逆时针方向转动,从动件偏置在凸轮轴心的右边从动件在推程作等加速/等减速运动,在回程作余弦加速度运动基圆半径rb = 40 mm,滚子半径rt = 10mm,推杆偏距e = 15 mm,推程升程h = 50 mm,推程运动角ft = 100度,远休止角fs = 60度回程运动角fh = 90度,推程许用压力角alp = 35度。
基于MATLAB的平面凸轮机构通用凸轮曲线设计
短 时间 、最 圆滑 、无 振 动 、耗 能 少 的方 式 来驱 动 从 动 (推程 ),所 设计 的从 动件 运动 曲线 。通 用 凸轮 曲线 件 。现有许 多种 类 的凸轮 曲线 ,这些 凸 轮 曲线 不 仅 的构造 和方程 ,如 图 1所 示 。通 用 凸轮 曲线 加 速度
是 在凸轮上使用 ,对其 他运动也适 用 。
全 区域 中连续 。
sl _一一 ./
,
/
. —
订
d l 厂 ‘、. } ‘、 1 一一
。 ,
、、
};
\ .
. 口 ./‘
, ,
2009年 1O月 15 日收 到 第一作者简介 :吴 卓(1963一 ),女 ,黑龙江富裕人 ,兰州理 工大学 教 授 ,硕 士 ,研 究方 向 :机 械 CAD ,现代 设 计 理论 及 方 法 。
区间 V <T< , =一‰ 1T( 一
一 );
区间VI 《 , = 一口 ;
区间Ⅶ <T<<T7, :amm c0s ̄r(T- )/2( 一瓦)。 上式 中 对时 间 顺次 积分 ,可得 和 s。为使 边界 条件 连 续 ,设 在 T:ro时 ,V=Vo,S=S。;在 T=
凸轮廓线设计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.平时表现:通过课堂参与、提问、小组讨论等环节,评估学生的学习态度和课堂表现。
凸轮廓线的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点行矢量。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于MATLAB软件的凸轮轮廓曲线设计摘要:以偏置移动从动件盘形凸轮为例,基于MATLAB软件对凸轮轮廓曲线进行了解析法设计.绘制出轮廓曲线。
运行结果表明:在从动件运动规律确定的情况下,利用MATLAB软件以很方便、快捷地得到凸轮的轮廓曲线。
关键词:凸轮机构;凸轮轮廓曲线;MATLAB;解析法前言凸轮轮廓曲线的设计,一般可分为图解法和解析法.利用图解法能比较方便地绘制出各种平面凸轮的轮廓曲线.但这种方法仅适用于比较简单的结构,用它对复杂结构进行设计则比较困难,而且利用图解法进行结构设计,作图误差较大,对一些精度要求高的结构不能满足设计要求。
解析法可以根据设计要求,通过推导机构中各部分之间的几何关系,建立相应的方程,精确地计算出轮廓线上各点的坐标,然后把凸轮的轮廓曲线精确地绘制出来.但是,当从动件运动规律比较复杂时,利用解析法获得凸轮的轮廓曲线的工作量比较大.而MATLAB软件提供了强大的矩阵处理和绘图功能,具有核心函数和工具箱.其编程代码接近数学推导公式,简洁直观,操作简易,人机交互性能好,且可以方便迅速地用三维图形、图像、声音、动画等表达计算结果、拓展思路[1]。
因此,基于MATLAB软件进行凸轮机构的解析法设计,可以解决设计工作量大的问题。
本文基于MATLAB软件进行凸轮轮廓曲线的解析法设计,利用《机械原理》课程的计算机辅助教学,及常用机构的计算机辅助设计.其具体方法为首先精确地计算出轮廓线上各点的坐标,然后运用MATLAB绘制比较精确的凸轮轮廓曲线。
1 设计的意义与已知条件1.1意义凸轮机构是由具有曲线轮廓或凹槽的构件,通过高副接触带动从动件实现预期运动规律的一种高副机构,它广泛地应用于各种机械,特别是自动机械、自动控制装置和装配生产线中,是工程实际中用于实现机械化和自动化的一种常用机构。
所以,在凸轮的加工中,精确的确定凸轮的轮廓,这对于保证凸轮所带动从动件的运动规律是尤为重要的。
1.2已知条件偏置移动从动件盘形凸轮设计已知条件(图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软件编程并运行程序3.1MATLAB程序disp ' ******** 偏置移动从动件盘形凸轮设计********'disp '已知条件:'disp ' 凸轮作逆时针方向转动,从动件偏置在凸轮轴心的右边'disp ' 从动件在推程作等加速/等减速运动,在回程作余弦加速度运动' rb = 40;rt = 10;e = 15;h = 50;ft = 100;fs = 60;fh = 90;alp = 35;fprintf (1,' 基圆半径rb = %3.4f mm \n',rb)fprintf (1,' 滚子半径rt = %3.4f mm \n',rt)fprintf (1,' 推杆偏距 e = %3.4f mm \n',e)fprintf (1,' 推程升程h = %3.4f mm \n',h)fprintf (1,' 推程运动角ft = %3.4f 度\n',ft)fprintf (1,' 远休止角fs = %3.4f 度\n',fs)fprintf (1,' 回程运动角fh = %3.4f 度\n',fh)fprintf (1,' 推程许用压力角alp = %3.4f 度\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)=-.5 * pi * h * sin(pi * k / fh) / (fh * hd);ds = ds(f);d2s(f)= -.5 * 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) ^ 1.5;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)= -.5 * 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,'基圆轮廓线') % 标注基圆轮廓线3.2运行的结果******** 偏置移动从动件盘形凸轮设计********已知条件:凸轮作逆时针方向转动,从动件偏置在凸轮轴心的右边从动件在推程作等加速/等减速运动,在回程作余弦加速度运动基圆半径rb = 40.0000 mm滚子半径rt = 10.0000 mm推杆偏距 e = 15.0000 mm推程升程h = 50.0000 mm推程运动角ft = 100.0000 度远休止角fs = 60.0000 度回程运动角fh = 90.0000 度推程许用压力角alp = 35.0000 度计算过程和输出结果:1- 计算凸轮理论轮廓的压力角和曲率半径1-1 推程(等加速/等减速运动)1-2 回程(余弦加速度运动)2- 计算凸轮理论廓线与实际廓线的直角坐标2-1 推程(等加速/等减速运动)凸轮转角理论x 理论y 实际x 实际y 10.0000 21.3848 34.8977 18.7440 25.252720.0000 28.1459 33.4732 26.5660 23.598830.0000 36.0309 32.4073 34.7788 22.486040.0000 45.6105 31.0206 43.9004 21.167950.0000 57.1986 28.4142 54.4870 18.788960.0000 69.0579 22.5501 63.1030 14.516570.0000 78.5024 12.6099 70.2060 7.027080.0000 84.4235 -0.3453 74.7846 -3.008390.0000 86.0810 -15.0000 76.0894 -14.5890100.0000 83.1533 -29.8936 73.7429 -26.51052-2 回程(余弦加速度运动)凸轮转角理论x 理论y 实际x 实际y 160.0000 15.6881 -86.9597 13.9127 -77.1185170.0000 0.0875 -86.8780 1.9206 -77.0474 180.0000 -15.0000 -81.2321 -9.9808 -72.5829 190.0000 -27.7230 -70.8432 -20.2897 -64.1539 200.0000 -36.8131 -57.2861 -27.8219 -52.9092 210.0000 -41.8603 -42.5041 -32.0770 -40.4336 220.0000 -43.3607 -28.3394 -33.3609 -28.2733 230.0000 -42.5280 -16.1041 -32.6176 -17.4398 240.0000 -40.9188 -6.3040 -31.0634 -7.9985 250.0000 -39.9750 1.4129 -29.9813 1.0597绘制凸轮的理论轮廓和实际轮廓(见图2):图2 用MATLAB绘制凸轮的轮廓图4设计总结通过编程的结果的分析可以得知,利用MATLAB的强大计算功能能够很好地实现凸轮机构的设计计算、廓线绘制。