机械原理大作业3 凸轮结构设计

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

机械原理大作业(二)

作业名称:机械原理

设计题目:凸轮机构设计

院系:机电工程学院

班级:

设计者:

学号:

指导教师:丁刚陈明

设计时间:

哈尔滨工业大学机械设计

1.设计题目

如图所示直动从动件盘形凸轮机构,根据其原始参数设计该凸轮。

表一:凸轮机构原始参数

序号升程

(mm) 升程运动

角(º)

升程运动

规律

升程许用

压力角

(º)

回程运动

角(º)

回程运动

规律

回程许用

压力角

(º)

远休止角

(º)

近休止角

(º)

12 80 150 正弦加速

度30 100 正弦加速

60 60 50

2.凸轮推杆运动规律

(1)推杆升程运动方程

S=h[φ/Φ0-sin(2πφ/Φ0)]

V=hω1/Φ0[1-cos(2πφ/Φ0)]

a=2πhω12sin(2πφ/Φ0)/Φ02

式中:

h=150,Φ0=5π/6,0<=φ<=Φ0,ω1=1(为方便计算)

(2)推杆回程运动方程

S=h[1-T/Φ1+sin(2πT/Φ1)/2π]

V= -hω1/Φ1[1-cos(2πT/Φ1)]

a= -2πhω12sin(2πT/Φ1)/Φ12

式中:

h=150,Φ1=5π/9,7π/6<=φ<=31π/18,T=φ-7π/6 3.运动线图及凸轮线图

运动线图:

用Matlab编程所得源程序如下:

t=0:pi/500:2*pi;

w1=1;h=150;

leng=length(t);

for m=1:leng;

if t(m)<=5*pi/6

S(m) = h*(t(m)/(5*pi/6)-sin(2*pi*t(m)/(5*pi/6))/(2*pi));

v(m)=h*w1*(1-cos(2*pi*t(m)/(5*pi/6)))/(5*pi/6);

a(m)=2*h*w1*w1*sin(2*pi*t(m)/(5*pi/6))/((5*pi/6)*(5*pi/6));

% 求退程位移,速度,加速度

elseif t(m)<=7*pi/6

S(m)=h;

v(m)=0;

a(m)=0;

% 求远休止位移,速度,加速度

elseif t(m)<=31*pi/18

T(m)=t(m)-21*pi/18;

S(m)=h*(1-T(m)/(5*pi/9)+sin(2*pi*T(m)/(5*pi/9))/(2*pi));

v(m)=-h/(5*pi/9)*(1-cos(2*pi*T(m)/(5*pi/9)));

a(m)=-2*pi*h/(5*pi/9)^2*sin(2*pi*T(m)/(5*pi/9));

% 求回程位移,速度,加速度

else

S(m)=0;

v(m)=0;

a(m)=0;

% 求近休止位移,速度,加速度end

end

推杆位移图

推杆速度图

推杆加速度图

4.确定凸轮基圆半径和偏距

在凸轮机构的ds/dφ-s线图里再作斜直线D t d t与升程的[d s/dφ-s(φ)]曲线相切并使与纵坐标夹角为升程许用压力角[α],则D t d t线的右下方为选择凸轮轴心的许用区。作斜直线D t'd t'与回程的曲线相切,并使与纵坐标夹角为回程的许用压力角[α],则D t'd t'线的左下方为选择凸轮轴心的许用区。考虑到升程开始瞬时机构压力角也不超过许用值,自B0点作限制线B0d0''与纵坐标夹角为升程[α],则两直线D t d t和B0d0''组成的d t O1d0'' 以下区域为选取凸轮中心的许用区,如选O点作为凸轮回转中心,在推程和回程的任意瞬时,凸轮机构压力角均不会超过许用值,此时凸轮的基圆半径r0=OB0,偏距为e。若选在O1点则O1B0为凸轮最小基圆半径r0min。

%求ds/dα-sS线图

v1=-v;

plot(v1,S);

title('ds/d\phi-S');

hold on;

grid on;

%求Dtdt线

for m=1:leng

if v1(m)<0

b(m)=(S(m)-tan(120*pi/180)*v1(m));

else b(m)=0;

end

end

k=1;

for m=1:leng

if b(k)>b(m)

k=m;

end

end

X3=-150:150;

Y3=tan(120*pi/180)*X3+b(k);

plot(X3,Y3);

hold on

%求Dt'dt'线

for m=1:leng

if v1(m)>0

b(m)=(S(m)-tan(30*pi/180)*v1(m));

else b(m)=0;

end

end

n=1;

for m=1:leng

if b(n)>b(m)

n=m;

end

end

X=-150:150;

Y=tan(30*pi/180)*X+b(n);

plot(X,Y);

hold on

相关文档
最新文档