滚子摆动从动件凸轮设计matlab程序

合集下载

基于MATLAB的凸轮设计

基于MATLAB的凸轮设计

基于MATLAB的凸轮设计

凸轮是一种用于转动机件的机械元件,常用于驱动一些运动部件做往

复运动或者周期性运动。在机械设计中,通过凸轮的设计可以实现复杂的

运动路径,以及具有特定速度和加速度要求的运动。

MATLAB是一种强大的数学计算和编程环境,可以用于进行科学计算、数据分析和算法开发。在凸轮设计中,MATLAB可以用于凸轮曲线的生成、设计和优化。本文将介绍如何基于MATLAB进行凸轮设计。

在凸轮设计中,最重要的是凸轮曲线的生成。凸轮曲线是一个由数据

点组成的模板,通过插值或者数值逼近的方法可以生成一个光滑的凸轮曲线。在 MATLAB 中,可以使用插值函数 interp1 或者曲线拟合函数

polyfit 进行凸轮曲线的生成。具体步骤如下:

1.定义凸轮的设计参数,例如凸轮的半径、凸轮转动的角度范围等;

2.根据凸轮的设计参数,生成一些数据点,这些数据点可以通过数学

计算或者几何建模等方式得到;

3. 使用插值函数 interp1 或者曲线拟合函数 polyfit 对这些数据

点进行插值或者拟合,得到一个平滑的曲线;

4.根据凸轮转动的角度范围,生成一系列角度的数据点;

5. 使用插值函数 interp1 或者曲线拟合函数 polyval 对这些角度

的数据点进行插值或者拟合,得到一系列对应的曲线坐标点;

6.将这些坐标点绘制成凸轮曲线,并进行可视化。

除了凸轮曲线的生成,MATLAB 还可以用于凸轮的设计和优化。凸轮

设计包括凸轮的尺寸设计、运动路径设计等。在 MATLAB 中,可以使用优

化函数 fmincon 或者遗传算法函数 ga 进行凸轮设计的优化,以获得符

MATLAB在摆动滚子从动件盘形凸轮机构设计中的应用

MATLAB在摆动滚子从动件盘形凸轮机构设计中的应用

J D
{ X . ' = : X  ̄ ± r r C 。 O i S ;
1 1 摆杆在推程阶段的运动方程 : 8 f 0 , 8 。 / 2 ] , 等加速运动阶段 :
q b=2 q 5
c s
2 . 2从动件运动规律 的确定 为给 定 的 运 动 规 律 中 的摆 角 推 杆 的 角 位 移 , 6 为 凸轮 的转 角 , 由于 摆 动从动件的升、 回程运动规律均为等加速等减速 运动 , 结合表1 , 得到从动件 的运 动 方 程 :
e q ui p me n t a nd a s s e mbl y p r o d u c t i o n l i ne . Th e a r t i c l e il w l i n t r o d uc e t he a p pl i c a t i o n o fM ATLAB i n t h e o s c i l l a t i n g r o l l e r f o l l o we r d i s c c a m me c h a n i s m d e s i g n f r o m

( 6 / 8 o ) : 8∈[ 8 0 / 2 , 8 , 等 减 速 运 动 阶段 :
,  ̄




2 ( 8 。 一 8 y / 8 o 2
2 ) 摆 杆 在 回程 阶段 的 运 动方 程 :

基于matlab的凸轮设计实例

基于matlab的凸轮设计实例

h=30;w=12;rb=50;e=12;rr=10;

s0=sqrt(rb*rb-e*e);

q=120*pi/180;

qs=(120+30)*pi/180;

q1=(120+30+150)*pi/180;

for i=1:1:120

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))+v1/w*sin(qq(i)); b(i)=-(s0+s1)*sin(qq(i))-e*cos(qq(i))+v1/w*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));

end

for i=121:1:150

qq(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))+v2/w*sin(qq(i)); b(i)=-(s0+s2)*sin(qq(i))-e*cos(qq(i))+v2/w*cos(qq(i)); xx(i)=x(i)+rr*b(i)/sqrt(a(i)*a(i)+b(i)*b(i));

滚子摆动从动件凸轮设计matlab程序

滚子摆动从动件凸轮设计matlab程序

disp ' ******** 滚子摆动从动件凸轮设计 ********'

disp '已知条件:'

disp ' 凸轮作顺时针方向转动,从动件做摆动'

disp ' 从动件在推程作等加速/等减速运动,在回程作等加速等减速运动'

rb =52;rt = 10;qm=15;ft = 60;fs = 10;fh = 60;alp = 35;a=140;l=122;q0=asin(rb/a)*180/pi;

fprintf (1,' 基圆半径 rb = %3.4f mm \n',rb)

fprintf (1,' 滚子半径 rt = %3.4f mm \n',rt)

fprintf (1,' 起始角度 q0= %3.4f mm \n',q0)

fprintf (1,' 最大摆动角度 qm = %3.4f mm \n',qm)

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; %角度弧度互换

d1 = ft + fs;d2 = ft + fs + fh;

disp ' '

disp '计算过程和输出结果:'

disp ' 1- 计算凸轮理论轮廓的压力角和曲率半径'

disp ' 1-1 推程(等加速/等减速运动)'

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

matlab凸轮轮廓设计及仿真说明书
程和回程。凸轮轮廓曲线决定于位移曲线的
形状。在某些机械中,位移曲线由工艺过程决定,但一般
情况下只有行程和对应的凸轮转角根据工作需要决定,而
曲线的形状则由设计者选定,可以有多种运动规律。传统的凸轮运动
规律有等速、等加速-等减速、余弦加速度和正弦 加速度等。等速运 动规律因有速度突变,会产生强烈的刚性 冲击,只适用于低速。等加 速-等减速和余弦加速度也有加速度突变,会引起柔性冲击,只适用
思路口。因此,基于MATLAB件进行凸轮机构的解析法设计,可以解
决设计工作量大的问题。
本此课程设计基于MATLAB软件进行凸轮轮廓曲线的 解析法 设计,并 对的运动规律凸轮进行仿真,其具体方法为首先精确地 计算出轮 廓线
上各点的坐标,然后运用MATLAB绘制比较精 确的凸轮轮廓曲线和推杆 的位移、速度及加速度曲线以及仿真。
1.2
滚子半径
=40
凸轮轮廓曲线,所以在应用时,只要根据从动件的运动规律来设计凸
轮的轮廓曲线就可以了。
由凸轮的回转运动或往复运动推动从动件作规定往复移 动或摆动 的机构。凸轮具有曲线轮廓或凹槽,有盘形凸轮、 圆柱凸轮和移动凸 轮等, 其中圆柱凸轮的凹槽曲线是空间曲 线,因而属于空间凸轮。 从动件与凸轮作点接触或线接触, 有滚子从动件、平底从动件和尖端 从动件等。尖端从动件能 与任意复杂的凸轮轮廓保持接触,可实现任 意运动,但尖端 容易磨损,适用于传力较小的低速机构中。 在带滚子的直动从动件盘形凸轮机构中, 凸轮回转一周从动 件依次作升-停-降-停4个动作。从动件位移s(或行程高度h)与凸 轮转角 ①(或时间t)的关系称为位移曲线。从动件的行程h有推

机械原理课程设计matlab程序 凸轮机构

机械原理课程设计matlab程序 凸轮机构

clear

h=70;w=2*pi*300/60; %行程h(单位mm),凸轮角转速(rad/s)d1=pi/2; d2=10/180*pi; d3=pi/2; d4=170/180*pi;%算出凸轮的推程角,远休止角,回程角,近休止角(弧度)

d=1:1:360; d0=d/180*pi; %定义向量

%推程

for i=1:45 %等加速运动

s(i)=2*h*d0(i)^2/d1^2;

v(i)=4*h*w*d0(i)/d1^2;

a(i)=4*h*w^2/d1^2;

end

for i=46:90 %等减速运动

s(i)=h-2*h*(d1-d0(i))^2/d1^2;

v(i)=4*h*w*(d1-d0(i))/d1^2;

a(i)=-4*h*w^2/d1^2;

end

for i=91:101

s(i)=s(i-1);

v(i)=0;

a(i)=0;

end

%回程

for i=102:146 %等加速运动

s(i)=h-2*h*d0(i-100)^2/d3^2;

v(i)=-4*h*w*d0(i-100)/d3^2;

a(i)=-4*h*w^2/d3^2;

end

for i=147:192 %等减速运动

s(i)=2*h*(d3-d0(i-100))^2/d3^2;

v(i)=-4*h*w*(d3-d0(i-100))/d3^2;

a(i)=4*h*w^2/d3^2;

end

for i=193:360

s(i)=s(i-1);

v(i)=0;

a(i)=0;

end

r0=61;e0=39;

s0=sqrt(r0^2-e0^2);

for i=1:1:360

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

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

首先看一下理论轮廓线的方程式

X=(S0+S1)sinθ+ ecosθ

Y= (S0+S1) cosθ+ esinθ

式中,e为偏心距,S0=sqrt(r0^2-e^2),r0为偏心圆半径

%先设置凸轮的基本参数,偏心距离e,基圆半径rb,滚轮半径rr,角速度w,推杆上升的最大行程h。

h=30;w=12;rb=50;e=12;rr=10;s0=sqrt(rb*rb-e*e);% 偏心距e=12,基圆rb=50,滚轮半径rr=10,角速度w=12,最大上升h=30

q=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));%实际工作轮廓线的坐标

matlab凸轮摇杆机构设计动画代码

matlab凸轮摇杆机构设计动画代码

matlab凸轮摇杆机构设计动画代码

一、引言

凸轮摇杆机构是机械工程中常见的一种机构,其运动特性决定了它在

很多领域都有广泛的应用,例如发动机、汽车、船舶等。而在设计凸

轮摇杆机构时,需要进行大量的计算和试验,这对于工程师来说是一

个非常繁琐的过程。但是,通过使用MATLAB软件可以大大简化这个过程,并且可以生成动画效果来更直观地展示凸轮摇杆机构的运动特性。

二、MATLAB凸轮摇杆机构设计代码

以下是MATLAB代码实现凸轮摇杆机构的动画效果:

1. 定义凸轮形状

首先需要定义凸轮的形状,可以采用圆弧、正弦曲线等方式进行定义。例如,在此我们采用正弦曲线进行定义:

```matlab

theta = linspace(0,2*pi,100);

r = 1+sin(theta);

```

2. 定义摇杆长度和连杆长度

根据具体情况定义摇杆长度和连杆长度:

```matlab

L1 = 3;

L2 = 6;

```

3. 计算连杆末端位置坐标

根据凸轮形状和连杆长度,可以计算出连杆末端的位置坐标:

```matlab

x1 = r.*cos(theta);

y1 = r.*sin(theta);

x2 = x1 + L1*cos(theta);

y2 = y1 + L1*sin(theta);

```

4. 计算摇杆末端位置坐标

根据连杆长度和摇杆长度,可以计算出摇杆末端的位置坐标:

```matlab

theta2 = asin((y2-L2)./L1);

x3 = x2 - L2*cos(theta-theta2);

y3 = y2 - L2*sin(theta-theta2);

凸轮机构matlab程序

凸轮机构matlab程序

凸轮轮廓程序:

>> e=20;

s0=77.46;

a1=0:pi/36:pi/3;

s1=50*[3*a1/pi-sin(6*a1)/(2*pi)];

x1=(s0+s1).*sin(a1)+e*cos(a1);

y1=(s0+s1).*cos(a1)-e*sin(a1);

k1=150/pi*[1-cos(6*a1)];

>> i1=[(k1-e).*sin(a1)+(s0+s1).*cos(a1)].*[(k1-e).*(k1-e)+(s0+s1).*(s0+s1)].^(-1/2);

>> j1=[-(k1-e).*cos(a1)+(s0+s1).*sin(a1)].*[(k1-e).*(k1-e)+(s0+s1).*(s0+s1)].^(-1/2);

>> x10=x1-10*j1;

>> y10=y1-10*i1;

a2=pi/3:pi/36:pi;

s2=50;

x2=(s0+s2).*sin(a2)+e*cos(a2);

y2=(s0+s2).*cos(a2)-e*sin(a2);

k2=0;

>> i2=[(k2-e).*sin(a2)+(s0+s2).*cos(a2)].*[(k2-e).*(k2-e)+(s0+s2).*(s0+s2)].^(-1/2);

j2=[-(k2-e).*cos(a2)+(s0+s2).*sin(a2)].*[(k2-e).*(k2-e)+(s0+s2).*(s0+s2)].^(-1/2);

x20=x2-10*j2;

基于MATLAB的凸轮机构运动分析与动画模拟

基于MATLAB的凸轮机构运动分析与动画模拟
21参数化绘 图方 法 . 利 用 MA L B提 供 的线形 绘 图命令 、图形 TA
心处于 B 点 。 0 当凸轮转过 8角度时 , 推杆相应地
产 生位移 S 见 图 4 , ( )滚子 中心 的坐标 方程 为 :
x foS s g e og = S+ )i + cs n
收稿 日期 :0 7 0 — 8 20 — 8 2 作者筒介: 罗世 民(9 8 ) 男, 16 一 , 江西南昌人 , 剐教授 , 主要研究方向: 电工程教学与研究 机
图1 所示 为对 心滚 子从 动件盘 形 凸轮机 构 。
tn a
式 中 0可在 O 60之 问变化 , 值 可根 据 0 30 其 d x 算

B 点为凸轮轮廓线起始点。开始时推杆滚子中 0
其在 限根去 所 象 可据 与
的 ± 号判断。
2 MA L B参数化 绘图方 法与动 画的 实现 TA
MA L B是 数 值分 析 中较强 的应 用 软 件, TA 它
y (oS e s- s g = S+ )og ei n
的数值计算 、 数据可视化 和编程功能 , 得到广大
科 技工作 者 的认可 。它 被广 泛应用 于数 理统 计 、
式 中 e为 偏 距 ,s 从 动 件 的 位 移 , 凸 ,为 8为 轮所转过 的角度 。这 是凸 轮的理论 轮廓线 方 程。

Matlab凸轮位移分析设计

Matlab凸轮位移分析设计

MATLAB机械工程

凸轮位移分析的实例

班级:

姓名:

学号:

指导教师:

一.实验目的

通过MATLAB上机编程,掌握MATLAB语言变量、函数、MATLAB常用程序结构和流程控制语句、交互控制语句、程序调试运行等。

二.实验内容

凸轮是把一种运动转化为另一种运动的装置,通常凸轮做旋转运动,并转化为从动件的振动、直线运动或者二者的结合。对基圆为

的凸轮,

为最小圆周半径,与凸轮表面相切,并和凸轮的转轴同心。则从动件的运动方程为:

+=

对于旋转运动,假定有:

其中,h为从动件的最大位移,

为凸轮转角,

为从动件摆角,并且

。如果凸轮的角速度

为常量,试求出当

时从动件的位移s、速度v、加速度a、瞬时加速度j的变化曲线。

三、建立M文件如下:

beat=60*pi/180;

phi=linspace(0,beat,40);

phi2=[beat+phi];

ph=[phi phi2]*180/pi;

arg=2*pi*phi/beat;

arg2=2*pi*(phi2-beat)/beat;

s=[phi/beat-sin(arg)/2/pil-(arg2-sin(arg2))/2/pi];

v=[1-cos(arg)/beat-(1-cos(arg2))/beat];

a=[2*pi/beat^2*sin(arg)2*pi/beat^2*sin(arg2)];

j=[4*pi^2/beat^3*cos(arg)4*pi^2/beat^3*cos(arg2)]; subplot(2,2,1);

plot(ph,s,´k´);

xlabel(´凸轮转角(度)´);

凸轮运动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坐标

凸轮廓线设计MATLAB程序

凸轮廓线设计MATLAB程序

凸轮轮廓及其综合

1. 凸轮机构从动件的位移

凸轮是把一种运动转化为另一种运动的装置。凸轮的廓线和从动件一起实现运动形式的转换。凸轮通常是为定轴转动,凸轮旋转运动可被转化成摆动、直线运动或是两者的结合。凸轮机构设计的内容之一是凸轮廓线的设计。

定义一个凸轮基圆r b 作为最小的圆周半径。从动件的运动方程如下:

L(ϕ)=r b +s(ϕ)

设凸轮的推程运动角和回程运动角均为β,从动件的运动规律均为正弦加速度运动规律,则有:

s(ϕ)=h(

βϕ-π

21

sin(2πϕ/β)) 0≤ϕ≤β

s(ϕ)=h -h(

ββϕ--π

21

sin(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(ϕ)=

2

22βπωh

sin(2πϕ/β)) 0≤ϕ≤β

a(ϕ)=-

2

22β

πωh

sin(2π(ϕ-β)/β) β≤ϕ≤2β

a(ϕ)=0 2β≤ϕ≤2π

瞬时加速度:

j(ϕ)=

3

324β

ωπh

cos(2πϕ/β)) 0≤ϕ≤β

j(ϕ)=-

3

324βωπh

cos(2π(ϕ-β)/β) β≤ϕ≤2β

j(ϕ)=0 2β≤ϕ≤2π

定义无量纲位移S=s/h 、无量纲速度V=υ/ωh 、无量纲加速度A=a/h ω3

matlab凸轮运动仿真课程设计

matlab凸轮运动仿真课程设计

matlab凸轮运动仿真课程设计

一、课程目标

知识目标:

1. 学生能够理解凸轮运动的基本原理,掌握运用MATLAB进行凸轮运动仿真的方法。

2. 学生能够运用MATLAB软件构建凸轮运动模型,分析凸轮运动的特点及其在不同参数下的变化。

3. 学生能够掌握MATLAB中与凸轮运动相关的基本命令和函数,并运用这些工具进行数据分析和处理。

技能目标:

1. 学生能够运用MATLAB软件设计简单的凸轮运动仿真程序,具备实际操作能力。

2. 学生能够通过MATLAB仿真实验,分析凸轮运动中的关键参数,并对其进行优化。

3. 学生能够独立解决在凸轮运动仿真过程中遇到的技术问题,具备一定的故障排查和问题解决能力。

情感态度价值观目标:

1. 学生通过学习MATLAB凸轮运动仿真,培养对机械运动的兴趣和热情,增强对工程技术的认识。

2. 学生能够意识到理论知识与实际应用之间的联系,增强学以致用的意识。

3. 学生在团队协作中培养沟通与协作能力,学会尊重他人意见,共同解决问

题。

本课程针对高年级学生,在掌握一定MATLAB基础知识和凸轮运动原理的基础上,以提高学生的实际操作能力和创新能力为目标。课程注重理论与实践相结合,强调学生的主体地位,通过项目式教学,培养学生独立思考和解决问题的能力。通过本课程的学习,使学生能够更好地将所学知识应用于实际工程问题中,提高综合运用知识的能力。

二、教学内容

1. 凸轮运动原理回顾:简要复习凸轮机构的基本构成、运动特点及运动规律,重点回顾教材中关于凸轮运动分析的章节内容。

2. MATLAB软件基础:复习MATLAB的基本操作、编程语法和数据类型,为后续凸轮运动仿真打下基础。

基于MATLAB的凸轮设计

基于MATLAB的凸轮设计

基于M A T L A B的凸轮设

Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

中国地质大学(武汉)

1. 凸轮要求

设计一对心直动滚子推杆盘形凸轮机构,滚子半径r r =10mm ,凸轮以等角速度逆时针回转。凸轮转角δ=0~120 时,推杆等速上升20mm ;δ=120~180 时,推杆远休止;δ=180~270时,推杆等加速等减速下降20mm ;δ=270~360时,推杆近休止。要求推程的最大压力角α<=30,试选取合适的基圆半径,并绘制凸轮的廓线。问此凸轮是否有缺陷,应如何补救。

2.列出凸轮运动方程 {S =30

π

∗δ

V =30π

a =0

0

{S =20

V =0a =0

2/3π

S =−140+

320

π∗δ−

160π∗δ^2

V =

320π

−320π2

∗δ

a =−320/π^2

π

{

S =360−480π∗δ+160π2

∗δ^2

V =−

480π

320

π2

∗δ

a =−320/π^2

5/4π

2π {S =0

V =0a =0

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;

凸轮廓线设计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和无量纲瞬时加速

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

disp ' ******** 滚子摆动从动件凸轮设计 ********'

disp '已知条件:'

disp ' 凸轮作顺时针方向转动,从动件做摆动'

disp ' 从动件在推程作等加速/等减速运动,在回程作等加速等减速运动'

rb =52;rt = 10;qm=15;ft = 60;fs = 10;fh = 60;alp = 35;a=140;l=122;q0=asin(rb/a)*180/pi;

fprintf (1,' 基圆半径 rb = %3.4f mm \n',rb)

fprintf (1,' 滚子半径 rt = %3.4f mm \n',rt)

fprintf (1,' 起始角度 q0= %3.4f mm \n',q0)

fprintf (1,' 最大摆动角度 qm = %3.4f mm \n',qm)

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; %角度弧度互换

d1 = ft + fs;d2 = ft + fs + fh;

disp ' '

disp '计算过程和输出结果:'

disp ' 1- 计算凸轮理论轮廓的压力角和曲率半径'

disp ' 1-1 推程(等加速/等减速运动)'

s = zeros(ft);ds = zeros(ft);d2s = zeros(ft);vt=zeros(ft);st1=zeros(ft);at=zeros(ft);

at = zeros(ft);atd = zeros(ft);pt = zeros(ft);

for f = 1 : ft

if f <= ft / 2

s(f)=2*(qm/ft^2)*f^2;st1(f)=s(f);s = s(f); %推程加速方程式

ds(f)=(qm/ft^2)*f;vt(f)=ds(f);ds = ds(f);

d2s(f)=4*qm/ft;at(f)=d2s(f);d2s = d2s(f);

else

s(f)=qm-2*qm*(ft-f)^2/ft^2;st1(f)=s(f); s = s(f); %推程减速方程式

ds(f)=4*qm*(ft-f)/ft^2;vt(f)=ds(f);ds = ds(f);

d2s(f)=-4 *qm/ft^2;at(f)=d2s(f);d2s = d2s(f);

end

at(f)= atan((-l*(1-ds))/(a*sin((s+q0)*hd))-(-1)*cos((s+q0)*hd)/sin((s+q0)*hd));atd(f) = at(f) * du; %推程压力角的角度和弧度表达式

p1= -a*sin(f*hd)+l*sin((s+q0-f)*hd)*(ds-1);

p2= a*cos(f*hd)+l*cos((s+q0-f)*hd)*(ds-1);

p3=-a*cos(f*hd)+l*(ds-1)^2*cos((s+q0-f)*hd)+l*d2s*sin((s+q0-f)*hd);

p4=-a*sin(f*hd)-l*(ds-1)^2*sin((s+q0-f)*hd)+l*ds*cos((s+q0-f)*hd);

pt(f)= (p1^2+p2^2)^1.5/(p1*p4-p2*p3) ;p = pt(f);

end

atm = 0;

for f = 1 : ft

if atd(f) > atm

atm = atd(f);

end

end

fprintf (1,' 最大压力角 atm = %3.4f 度\n',atm)

for f = 1 : ft

if abs(atd(f) - atm) < 0.1

ftm = f;break

end

end

fprintf (1,' 对应的位置角 ftm = %3.4f 度\n',ftm)

if atm > alp

fprintf (1,' * 凸轮推程压力角超过许用值,需要增大基圆!\n')

end

ptn = rb ;ftn=0;

for f = 1 : ft

if pt(f) < ptn

ptn = pt(f);

end

end

fprintf (1,' 轮廓最小曲率半径 ptn = %3.4f mm\n',ptn)

for f = 1 : ft

if abs(pt(f) - ptn) < 0.1

ftn = f;break

end

end

fprintf (1,' 对应的位置角 ftn = %3.4f 度\n',ftn)

if ptn < rt + 5

fprintf (1,' * 凸轮推程轮廓曲率半径小于许用值,需要增大基圆或减小滚子!\n') end

disp ' 1-2 回程(等加速等减速运动)'

s = zeros(fh);ds = zeros(fh);d2s = zeros(fh);

ah = zeros(fh);ahd = zeros(fh);ph = zeros(fh);

for f = d1 : d2

k = f - d1;

相关文档
最新文档