基于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( γ+ϕ)其中,。
- 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的强大计算功能能够很好地实现凸轮机构的设计计算、廓线绘制。