凸轮轮廓线的绘制(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的凸轮轮廓线设计与运动仿真毕业设计

(此文档为word格式,下载后您可任意编辑修改!)第1章绪论1.1 机构学的现状与发展1.1.1 机构学的概况机构学是以运动几何学和力学为主要理论基础,以数学分析为主要手段,对各类机构进行运动和动力分析与综合的学科。

机构学为创造新的机器和进行机械发明与改革提供正确有效的理论和方法,以设计出更经济合理、更先进的机械设备,来满足生产发展和人们生活的需求。

机构学的发展将直接影响到机械工业各类产品的工作性能以及许多行业生产设备的机械化和自动化程度。

机构学作为机械工程技术科学中的一门主要基础学科,近年来由于机电一体化高技术科学特别是工业机器人与特种机器人的发展对机构学理论和技术上的要求,使机构学学科达到了一个崭新的阶段。

在国际学术讨论会上,各国科学家一致认为它有如旭日东升,正显出其无比强大的生命力。

机构学一方面由简单的运动分析与综合向复杂的运动分析与综合方面发展,另一方面也由机构运动学向机构动力分析与综合方向发展,研究机构系统的合理组成的方法及其判据,分析研究机器在传递运动、力和做功过程中出现的各种问题。

机构精度问题也相应地由静态分析走向动态分析。

机构联结件的间隙在高速运转时有不容忽视的影响,因而需要研究机构间间隙、摩擦、润滑与冲击引起的机构变形、稳态与非稳态下的动态响应和过渡过程问题。

在惯性力作用下,由于机构上刚度薄弱环节的弹性变形,由此研究以振动理论多自由度模态化、线性与非线性、随机的功率谱与载荷谱等为分析手段和方法而形成的运动弹性动力学问题,以及视整个机构系统为柔性的多柔体系统动力学和逆动力学分析、综合及控制问题。

它是把整个机构看成是由多刚体组成的多刚体动力学、结构动力学及自动控制等学科发展的交叉边缘学科。

由多种、多个构件组成的机构称为组合机构。

组合机构与机构系统组成理论的发展使机构学已成为重型、精密及各种复合机械和智能机械、仿生机械、机器人等高技术科学的设计基础理论学科。

1.1.2机构学的现状(1)平面与空间连杆机构的结构理论研究研究机构的结构单元及机构拓扑结构特征,如主动副存在准则、活动度类型及其判定、拓扑结构的同构判定、消极子运动链判定等。

基于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的凸轮轮廓曲线的分析与研究
流 程 如 图 2所 示 。
型凸轮的理论廓线和实际廓线( 如图 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和Pro/E的凸轮轮廓曲线设计及从动件运动学仿真

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

凸轮廓线设计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凸轮轮廓设计及仿真说明书
1.2
滚子半径
=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绘制

附2:习题4-3解答(1)凸轮的理论廓线方程:000()sin cos ()cos sin x s s e y s s e s ϕϕϕϕ=++⎧⎨=+-⎩=式中 (2)从动件在不同阶段的位移方程:2sin()[0,120]230[120,150][150,300]'0[300,360]h h s h h πϕϕϕφπφϕϕϕφϕ⎧-∈︒︒⎪⎪∈︒︒⎪=⎨⎪-∈︒︒⎪⎪∈︒︒⎩推程阶段远休止阶段回程阶段近休止阶段(3)求解凸轮的实际廓线:a r a r 00x =x-r cos y =y-r sin sin cos ()cos sin sin ()sin cos cos dx dy dxds s s e d d dy ds s s e d d θθθθϕϕϕϕϕϕϕϕϕϕ⎧⎨⎩⎧⎪=⎪⎪⎪⎪⎪⎨⎪-⎪=⎪⎪⎪⎪⎩⎧=++-⎪⎪⎨⎪=++-⎪⎩式中而同样,由于位移s 与从动件所处的运动阶段有关,所以有:2cos()[0,120]0[120,150]s [150,300]'0[300,360]h hd hd πϕϕφφφϕϕϕφϕ⎧-∈︒︒⎪⎪∈︒︒⎪=⎨⎪∈︒︒⎪⎪∈︒︒⎩推程阶段远休止阶段回程阶段近休止阶段(4)代入已知条件,并用Matlab 语言编程求解,编程代码如下: disp ' ******** 偏置直动滚子从动件盘形凸轮设计 ********' disp '已知条件:'disp ' 凸轮作逆时针方向转动,从动件偏置在凸轮轴心的右边'disp ' 从动件在推程作摆线运动规律运动,在回程作等速运动规律运动' ro = 50;rr = 10;e = 12;h = 30;ft = 120;fs = 30;fh = 150;fprintf (1,' 基圆半径 ro = %3.4f mm \n',ro) fprintf (1,' 滚子半径 rr = %3.4f mm \n',rr) 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) hd = pi / 180;du = 180 / pi; so = sqrt( ro^2 - e^2 ); d1 = ft + fs;d2 = ft + fs + fh; disp ' 'disp '计算过程和输出结果:'disp ' 1-1 推程(摆线运动规律运动)' s = zeros(ft);ds = zeros(ft);d2s = zeros(ft); for f = 1 : fts(f) = h * f / ft - h * sin(2 * pi * f / ft) / (2 * pi);s = s(f);ds(f) = h / (ft * hd) - h / (ft * hd) * cos(2 * pi * f / ft);ds = ds(f); d2s(f) = 2 * pi * h / (ft * hd) ^ 2 * sin(2 * pi * f / ft);d2s = d2s(f); enddisp ' 1-2 回程(等速运动规律运动)' s = zeros(fh);ds = zeros(fh);d2s = zeros(fh); for f = d1 : d2s(f) = h - h * (f-150) / fh; s = s(f); ds(f) = - h / (fh * hd);ds = ds(f); d2s(f) = 0;d2s = d2s(f); enddisp ' 2- 计算凸轮理论廓线与实际廓线的直角坐标'n = 360;s = zeros(n);ds = zeros(n);r = zeros(n);rp = zeros(n);x = zeros(n);y = zeros(n);dx = zeros(n);dy = zeros(n);xx = zeros(n);yy = zeros(n);xa = zeros(n);ya = zeros(n);xxa = zeros(n);yya = zeros(n);for f = 1 : nif f <= fts(f) = h * f / ft - h * sin(2 * pi * f / ft) / (2 * pi);s = s(f);ds(f) = h /(ft * hd) - h / (ft * hd) * cos(2 * pi * f / ft); ds = ds(f);elseif f > ft & f <= d1s = h;ds = 0;elseif f > d1 & f <= d2s(f) = h - h * (f-150) / fh; s = s(f);ds(f) = - h / (fh * hd);ds = ds(f);elseif f > d2 & f <= ns = 0;ds = 0;endxx(f) = (so + s) * sin(f * hd) + e * cos(f * hd); x = xx(f);yy(f) = (so + s) * cos(f * hd) - e * sin(f * hd); y = yy(f);dx(f) = (ds - e) * sin(f * hd) + (so + s) * cos(f * hd); dx = dx(f);dy(f) = (ds - e) * cos(f * hd) - (so + s) * sin(f * hd); dy = dy(f);xxa(f) = x + rr * dy / sqrt(dx ^ 2 + dy ^ 2);xa = xxa(f);yya(f) = y - rr * dx / sqrt(dx ^ 2 + dy ^ 2);ya = yya(f);r(f) = sqrt (x ^2 + y ^2 );rp(f) = sqrt (xa ^2 + ya ^2 );enddisp ' 2-1 推程(摆线运动规律运动)'disp ' 凸轮转角理论x 理论y 实际x 实际y' for f = 10 : 10 :ftnu = [f xx(f) yy(f) xxa(f) yya(f)];disp(nu)enddisp ' 2-2 回程(等速运动规律运动)'disp ' 凸轮转角理论x 理论y 实际x 实际y' for f = d1 : 10 : d2nu = [f xx(f) yy(f) xxa(f) yya(f)];disp(nu)enddisp ' 2-3 凸轮轮廓向径'disp ' 凸轮转角理论r 实际r'for f = 10 : 10 : nnu = [f r(f) rp(f)];disp(nu)enddisp '绘制凸轮的理论轮廓和实际轮廓:'plot(xx,yy,'r-.') % 理论轮廓(红色,点划线)axis ([-(ro+h-10) (ro+h+10) -(ro+h+10) (ro+rr+10)]) % 横轴和纵轴的下限和上限axis equal % 横轴和纵轴的尺度比例相同text(ro+h+3,0,'X') % 标注横轴text(0,ro+rr+3,'Y') % 标注纵轴text(-5,5,'O') % 标注直角坐标系原点title('偏置直动滚子从动件盘形凸轮设计') % 标注图形标题hold on; % 保持图形plot([-(ro+h) (ro+h)],[0 0],'k') % 横轴(黑色)plot([0 0],[-(ro+h) (ro+rr)],'k') % 纵轴(黑色)plot([e e],[0 (ro+rr)],'k--') % 初始偏置位置(黑色,虚线) ct = linspace(0,2*pi); % 画圆的极角变化范围plot(ro*cos(ct),ro*sin(ct),'g') % 基圆(绿色)plot(e*cos(ct),e*sin(ct),'c--') % 偏距圆(蓝绿色,虚线)plot(e + rr*cos(ct),so + rr*sin(ct),'y') % 滚子圆(黄色)plot(xxa,yya,'b') % 实际轮廓(蓝色)(5)求解凸轮理论廓线和实际廓线坐标值如下:******** 偏置直动滚子从动件盘形凸轮设计********已知条件:凸轮作逆时针方向转动,从动件偏置在凸轮轴心的右边从动件在推程作摆线运动规律运动,在回程作等速运动规律运动基圆半径ro = 50.0000 mm滚子半径rr = 10.0000 mm推杆偏距 e = 12.0000 mm推程行程h = 30.0000 mm推程运动角ft = 120.0000 度远休止角fs = 30.0000 度回程运动角fh = 150.0000 度计算过程和输出结果:1-1 推程(摆线运动规律运动)1-2 回程(等速运动规律运动)计算凸轮理论廓线与实际廓线的直角坐标2-1 推程(摆线运动规律运动)凸轮转角理论x 理论y 实际x 实际y10.0000 20.2659 45.8284 16.5674 36.537520.0000 28.1734 42.3200 23.8536 33.301230.0000 36.0243 38.3959 31.4216 29.518140.0000 44.1625 33.9622 39.1460 25.311550.0000 52.6430 28.5078 46.7788 20.407760.0000 61.0261 21.3770 53.9159 14.345370.0000 68.4036 12.1267 59.9368 6.8057 80.0000 73.6533 0.8019 64.1128 -2.1946 90.0000 75.8133 -12.0000 65.8180 -12.3064 100.0000 74.4098 -25.3056 64.6887 -22.9602 110.0000 69.5921 -38.0996 60.7079 -33.5092 120.0000 62.0165 -49.6616 54.2107 -43.41102-2 回程(等速运动规律运动)凸轮转角理论x 理论y 实际x 实际y 150.0000 28.8770 -74.0165 25.2424 -64.7004 160.0000 14.9014 -76.0270 14.3851 -66.0404 170.0000 1.1258 -75.4900 2.4259 -65.5749 180.0000 -12.0000 -72.5386 -8.9229 -63.0238 190.0000 -24.0666 -67.3832 -19.3110 -58.5864 200.0000 -34.7179 -60.3010 -28.4390 -52.5180 210.0000 -43.6616 -51.6242 -36.0665 -45.1192 220.0000 -50.6772 -41.7260 -42.0190 -36.7223 230.0000 -55.6208 -31.0065 -46.1908 -27.6786 240.0000 -58.4280 -19.8770 -48.5462 -18.3440 250.0000 -59.1126 -8.7451 -49.1177 -9.0659 260.0000 -57.7635 1.9999 -48.0018 -0.1704 270.0000 -54.5386 12.0000 -45.3524 8.0487 280.0000 -49.6567 20.9409 -41.3723 15.3401 290.0000 -43.3865 28.5615 -36.3031 21.5028 300.0000 -36.0357 34.6616 -30.4141 26.39132-3 凸轮轮廓向径凸轮转角理论r 实际r10.0000 50.1094 40.118220.0000 50.8402 40.962930.0000 52.6498 43.111940.0000 55.7114 46.616350.0000 59.8663 51.036660.0000 64.6619 55.791770.0000 69.4702 60.322080.0000 73.6577 64.150490.0000 76.7571 66.9586100.0000 78.5951 68.6426110.0000 79.3387 69.3420120.0000 79.4501 69.4501130.0000 79.4501 69.4501140.0000 79.4501 69.4501150.0000 79.4501 69.4501160.0000 77.4736 67.5889170.0000 75.4984 65.6197180.0000 73.5245 63.6524190.0000 71.5521 61.6869200.0000 69.5812 59.7237210.0000 67.6121 57.7628220.0000 65.6448 55.8044230.0000 63.6795 53.8489240.0000 61.7165 51.8964250.0000 59.7559 49.9474260.0000 57.7981 48.0021270.0000 55.8432 46.0611280.0000 53.8916 44.1247290.0000 51.9438 42.1935300.0000 50.0000 40.2681310.0000 50.0000 40.0000320 50 40330.0000 50.0000 40.0000340 50 40350.0000 50.0000 40.0000360.0000 50.0000 40.0000(6)由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( γ+ϕ)其中,。

基于matlab凸轮轮廓设计

基于matlab凸轮轮廓设计

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

凸轮设计Matlab代码

凸轮设计Matlab代码

凸轮设计Matlab代码%凸轮理论廓线与工作廓线的画法clear %清除变量r0=50; %定义基圆半径e=20; %定义偏距h=50; %推杆上升高度s0=sqrt(r0^2-e^2);r=10; %滚子半径%理论廓线a1=linspace(0,2*pi/3); % 推程阶段的自变量s1=h*(3*a1/2/pi-sin(3*a1)/2/pi); % 推杆产生的相应位移x1=-((s0+s1).*sin(a1)+e*cos(a1)); %x 函数y1=(s0+s1).*cos(a1)-e*sin(a1); %y 函数a2=linspace(0,pi/6); % 远休止阶段的自变量s2=50; %推杆位移x2=-((s0+s2).*sin(a2+2*pi/3)+e*cos(a2+2*pi/3)); %x 函数y2=(s0+s2).*cos(a2+2*pi/3)-e*sin(a2+2*pi/3); %y 函数a3=linspace(0,pi/3); % 回程阶段的自变量s3=h*(1+cos(3*a3))/2; % 推杆位移x3=-((s0+s3).*sin(a3+5*pi/6)+e*cos(a3+5*pi/6)); %x 函数y3=(s0+s3).*cos(a3+5*pi/6)-e*sin(a3+5*pi/6); %y 函数a4=linspace(0,5*pi/6); % 近休止阶段的自变量s4=0; %推杆位移x4=-((s0+s4).*sin(a4+7*pi/6)+e*cos(a4+7*pi/6)); %x 函数y4=(s0+s4).*cos(a4+7*pi/6)-e*sin(a4+7*pi/6); %y 函数a0=linspace(0,2*pi); % 基圆自变量x5=r0*cos(a0); %x 函数y5=r0*sin(a0); %y 函数%工作廓线m1=-(h*3/2/pi*(1-cos(3*a1))-e).*sin(a1)-(s0+s1).*cos(a1); % 中间变量 dx/d$n1=(h*3/2/pi*(1-cos(3*a1))-e).*cos(a1)-(s0+s1).*sin(a1); % 中间变量 dy/d$p1=-m1./sqrt(m1.^2+n1.^2); %sin&q1=n1./sqrt(m1.^2+n1.^2); %cos&x6=x1-r*q1; %x' 函数y6=y1-r*p1; %y' 函数m2=-(s0+s2).*cos(a2+2*pi/3)+e*sin(a2+2*pi/3); % 中间变量dx/d$n2=-(s0+s2).*sin(a2+2*pi/3)-e*cos(a2+2*pi/3); % 中间变量dy/d$p2=-m2./sqrt(m2.^2+n2.^2); %sin&q2=n2./sqrt(m2.^2+n2.^2); %cos&x7=x2-r*q2; %x' 函数y7=y2-r*p2; %y' 函数m3=(h*3/2*sin(3*a3)+e).*sin(a3+5*pi/6)-(s0+s3).*cos(a3+5*pi/6); % 中间变量 dx/d$n3=-(h*3/2*sin(3*a3)+e).*cos(a3+5*pi/6)-(s0+s3).*sin(a3+5*pi/6);% 中间变量 dy/d$p3=-m3./sqrt(m3.^2+n3.^2); %sin&q3=n3./sqrt(m3.^2+n3.^2); %cos&x8=x3-r*q3; %x' 函数y8=y3-r*p3; %y' 函数m4=-(s0+s4).*cos(a4+7*pi/6)+e*sin(a4+7*pi/6); %n4=-(s0+s4).*sin(a4+7*pi/6)-e*cos(a4+7*pi/6); %p4=-m4./sqrt(m4.^2+n4.^2); %sin&q4=n4./sqrt(m4.^2+n4.^2); %cos&x9=x4-r*q4; %x' 函数y9=y4-r*p4; %y' 函数%画滚子g1=x1(1)+r*cos(a0);j1=y1(1)+r*sin(a0);g2=x1(25)+r*cos(a0);j2=y1(25)+r*sin(a0);g3=x1(50)+r*cos(a0);j3=y1(50)+r*sin(a0);g4=x1(60)+r*cos(a0);j4=y1(60)+r*sin(a0);g5=x1(75)+r*cos(a0);j5=y1(75)+r*sin(a0);g6=x1(90)+r*cos(a0);j6=y1(90)+r*sin(a0);g7=x2(1)+r*cos(a0);j7=y2(1)+r*sin(a0);g8=x2(50)+r*cos(a0);j8=y2(50)+r*sin(a0);g9=x3(1)+r*cos(a0);j9=y3(1)+r*sin(a0);g10=x3(25)+r*cos(a0);j10=y3(25)+r*sin(a0);g11=x3(40)+r*cos(a0);j11=y3(40)+r*sin(a0);g12=x3(50)+r*cos(a0); %中间变量 dx/d$ 中间变量 dy/d$j12=y3(50)+r*sin(a0);g13=x3(75)+r*cos(a0);j13=y3(75)+r*sin(a0); g14=x4(1)+r*cos(a0); j14=y4(1)+r*sin(a0);g15=x4(50)+r*cos(a0);j15=y4(50)+r*sin(a0);figure %创建图形窗口plot(x1,y1,'b-',x2,y2,'g-',x3,y3,'m-',x4,y4,'c-',...x6,y6,'b-',x7,y7,'g-',x8,y8,'m-',x9,y9,'c-',...'LineWidth',2) % 画函数曲线grid on %加网格hold on %保持图像plot(x5,y5,'r--',g1,j1,'k-',g2,j2,'k-',g3,j3,'k-',...g4,j4,'k-',g5,j5,'k-',g6,j6,'k-',g7,j7,'k-',...g8,j8,'k-',g9,j9,'k-',g10,j10,'k-',g11,j11,'k-',...g12,j12,'k-',g13,j13,'k-',g14,j14,'k-',g15,j15,'k-','LineWidth',2) % 画基圆 title(' 凸轮理论廓线与工作廓线 ','FontSize',16) %标题axis ([-100,80,-120,60])axis('equal')points=[x6',y6',zeros(100,1);x7',y7',zeros(100,1);...x8',y8',zeros(100,1);x9',y9',zeros(100,1)]。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

凸轮设计Matlab代码

凸轮设计Matlab代码
figure %创建图形窗口
plot(x1,y1,'b-',x2,y2,'g-',x3,y3,'m-',x4,y4,'c-',...
x6,y6,'b-',x7,y7,'g-',x8,y8,'m-',x9,y9,'c-',...
y6=y1-r*p1; %y' 函数
m2=-(s0+s2).*cos(a2+2*pi/3)+e*sin(a2+2*pi/3); % 中间变量 dx/d$
n2=-(s0+s2).*sin(a2+2*pi/3)-e*cos(a2+2*pi/3); % 中间变量 dy/d$
p2=-m2./sqrt(m2.^2+n2.^2); %sin&
y4=(s0+s4).*cos(a4+7*pi/6)-e*sin(a4+7*pi/6); %y 函数
a0=linspace(0,2*pi); % 基圆自变量
x5=r0*cos(a0); %x 函数
y5=r0*sin(a0); %y 函数
%工作廓线
m1=-(h*3/2/pi*(1-cos(3*a1))-e).*sin(a1)-(s0+s1).*cos(a1); % 中间变量 dx/d$
%凸轮理论廓线与工作廓线的画法
clear %清除变量
r0=50; %定义基圆半径
e=20; %定义偏距
h=50; %推杆上升高度
s0=sqrt(r0^2-e^2);
r=10; %滚子半径

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

用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附图:。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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
ω====
速度 同理可得:
dJ
ds dt
dv
a 2
2=
=加速度
4 程序运行结果
图一:余弦速运动规律下的凸轮轮廓曲线
图二:余弦加速作用下的S-α曲线
图三:余弦加速作用下的v-t曲线
图四:余弦加速作用下的a-t曲线
5 附程序:
function tulun
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
J11=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); %通过对位移求导后可得速度。

dJ=J(1:end-1);
d2S=diff(dS)./diff(dJ);%通过对速度求导后可得速度。

d2J=dJ(1:end-1);
figure(3);
plot(dJ,dS);
ylabel('V')
xlabel('t')
title('V-t曲线');
figure(4);
plot(d2J,d2S);
ylabel('a')
xlabel('t')
title('a-t曲线')
end。

相关文档
最新文档