机械原理大作业二.docx

上传人:b****5 文档编号:7611272 上传时间:2023-01-25 格式:DOCX 页数:19 大小:277.08KB
下载 相关 举报
机械原理大作业二.docx_第1页
第1页 / 共19页
机械原理大作业二.docx_第2页
第2页 / 共19页
机械原理大作业二.docx_第3页
第3页 / 共19页
机械原理大作业二.docx_第4页
第4页 / 共19页
机械原理大作业二.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

机械原理大作业二.docx

《机械原理大作业二.docx》由会员分享,可在线阅读,更多相关《机械原理大作业二.docx(19页珍藏版)》请在冰豆网上搜索。

机械原理大作业二.docx

机械原理大作业二

 

机械原理大作业二

 

课程名称:

机械原理

设计题目:

直动从动件盘形凸轮机构(13)

院系:

英才学院

班级:

完成者:

学号:

指导教师:

林琳

设计时间:

2015.5.13

哈尔滨工业大学

1.设计题目

设计如图1所示的直动从动件盘形凸轮机构,其原始参数见表1

图1

行程

(mm)

升程运动角(度)

升程运动规律

升程许用应力角(度)

回程运动角(度)

回程运动规律

回程许用应力角(度)

远休程角

(度)

近休程角

(度)

45

50

余弦加速度

35

90

抛-直-抛

70

100

120

表1

2.凸轮轮廓设计计算数学模型

2.1推程运动规律方程

位移方程:

速度方程:

加速度方程:

2.2回程运动规律方程(抛物线-直线-抛物线)

位移方程:

速度方程:

加速度方程:

式中,

-------推程运动角;

-------远休止角;

-------回程运动角

2.3滚子半径及凸轮的理论廓线和实际廓线

为求滚子许用半径,须确定最小曲率半径,以防止凸轮工作轮廓出现尖点或出现相交包络线,确定最小曲率半径数学模型如下:

;

利用上面的公式可以求得曲率半径的最小值,而后可以确定实际轮廓曲线。

理论轮廓线数学模型:

实际轮廓线数学模型:

其中

为选定的滚子半径,

3.计算流程图

图2.计算流程图

4.计算程序清单

编程语言为MATLAB,编程环境为MATLABR2014a,具体解释见备注

clc;

clear;

h=50;%行程

ds=pi/180;

fai0=50*ds;%升程运动角

fai0_=pi/2;%回程运动角

fais=100*ds;%远休止角

fais_=120*ds;%近休止角

alpha1=35*ds;%升程许用应力角

alpha2=70*ds;%回程许用应力角

n=5;%给定初始值5

w=5;%角速度

fai1=0:

0.01:

fai0;

fai2=fai0+fais:

0.01:

fai0+fais+fai0_/n;

fai3=fai0+fais+fai0_/n:

0.01:

fai0+fais+fai0_*(n-1)/n;

fai4=fai0+fais+fai0_*(n-1)/n:

0.01:

fai0+fais+fai0_;

fai5=fai0:

0.01:

fai0+fais;

fai6=fai0+fais+fai0_:

0.01:

2*pi;

%推程

s1=h/2*(1-cos(pi/fai0*fai1));

v1=pi*h*w/(2*fai0)*sin(pi/fai0*fai1);

a1=pi^2*h*w^2/(2*fai0^2)*cos(pi/fai0*fai1);

%回程抛物线一

s2p1=h-h*n^2/(2*(n-1)*fai0_^2)*power(fai2-fai0-fais,2);

v2p1=-h*n^2*w/((n-1)*fai0_^2)*(fai2-fai0-fais);

a2p1=-h*n^2*w^2/((n-1)*fai0_^2)*ones(1,length(fai2));

%回程直线

s2l=h-h/(n-1)*(n/fai0_*(fai3-fai0-fais)-1/2);

v2l=-h*n*w/((n-1)*fai0_)*ones(1,length(fai3));

a2l=zeros(1,length(fai3));

%回程抛物线二

s2p2=h*n^2/(2*(n-1))*power((1-(fai4-fai0-fais)/fai0_),2);

v2p2=-h*n^2*w/((n-1)*fai0_)*(1-(fai4-fai0-fais)/fai0_);

a2p2=h*n^2*w^2/((n-1)*fai0_^2)*ones(1,length(fai4));

%远休程

s3=h/2*(1-cos(pi/fai0*fai0))*ones(1,length(fai5));

v3=zeros(1,length(fai5));

a3=zeros(1,length(fai5));

%近休程

s4=h*n^2/(2*(n-1))*power((1-(fai0_)/fai0_),2)*ones(1,length(fai6));

v4=zeros(1,length(fai6));

a4=zeros(1,length(fai6));

%从动件位移、速度、加速度图线

figure

(1);

s=[s1,s3,s2p1,s2l,s2p2,s4];

t=[fai1,fai5,fai2,fai3,fai4,fai6];

plot(t,s,'r');

gridon;

holdon;

title('从动件位移图线');

xlabel('凸轮转过的角度');

ylabel('从动件位移');

holdon;

figure

(2);

v=[v1,v3,v2p1,v2l,v2p2,v4];

plot(t,v,'r');

gridon;

holdon;

title('从动件速度图线');

xlabel('凸轮转过的角度');

ylabel('从动件速度');

holdon;

figure(3);

a=[a1,a3,a2p1,a2l,a2p2,a4];

plot(t,a,'r');

gridon;

holdon;

title('从动件加速度图线');

xlabel('凸轮转过的角度');

ylabel('从动件加速度');

holdon;

%画ds/dψ-s图像

symsfaist1st2st3st4diff1diff2diff3diff4;

st1=h/2*(1-cos(pi/fai0*fai));

diff1=diff(st1,fai);

k1=0:

0.01:

fai0;

dif1=eval(subs(diff1,fai,k1));

st2=h-h*n^2/(2*(n-1)*fai0_^2)*power(fai-fai0-fais,2);

diff2=diff(st2,fai);

k2=fai0+fais:

0.01:

fai0+fais+fai0_/n;

dif2=eval(subs(diff2,fai,k2));

st3=h-h/(n-1)*(n/fai0_*(fai-fai0-fais)-1/2);

diff3=diff(st3,fai);

k3=fai0+fais+fai0_/n:

0.01:

fai0+fais+fai0_*(n-1)/n;

dif3=ones(1,length(k3))*eval(diff3);

st4=h*n^2/(2*(n-1))*power((1-(fai-fai0-fais)/fai0_),2);

diff4=diff(st4,fai);

k4=fai0+fais+fai0_*(n-1)/n:

0.01:

fai0+fais+fai0_;

dif4=eval(subs(diff4,fai,k4));

k5=fai0:

0.01:

fai0+fais;

k6=fai0+fais+fai0_:

0.01:

2*pi;

dif5=zeros(1,length(k5));

dif6=zeros(1,length(k6));

dif=[dif1,dif5,dif2,dif3,dif4,dif6];

figure(4);

plot(dif,s,'k');

gridon;

holdon;

title('凸轮机构ds/dψ-s图线');

xlabel('ds/dψ');

ylabel('s');

holdon;

%确定凸轮基圆半径和偏距

%先画过原点的直线,该直线与纵坐标轴的夹角为alpha1

x=0:

0.01:

90;

y=-tan(alpha1)*x;

plot(x,y,'r');

holdon;

%画两条边界切线

x0=90*sin(18*0.398/5);

y0=25-25*cos(18*0.398/5);

x=0:

0.01:

90;

y=tan(pi/2-alpha1)*(x-x0)+y0;

plot(x,y,'r');

holdon;

x0_=90*sin(18*2.177/5);

y0_=25-25*cos(18*2.177/5);

x_=-50:

0.01:

90;

y_=tan(pi/2+alpha2)*(x_+x0_)+y0_;

plot(x_,y_,'r')

holdon;

%凸轮实际轮廓

cx=50;

cy=-45;%基圆圆心坐标

e=50;

r=sqrt(cx^2+cy^2);

s0=sqrt(r^2-e^2);

%凸轮压力角图线

fori=1:

88

Alpha1(i)=atan(abs(dif1(i)-e)/(s0+s1(i)));

end

fori=1:

32

Alpha2(i)=atan(abs(dif2(i)-e)/(s0+s2p1(i)));

end

fori=1:

95

Alpha3(i)=atan(abs(dif3(i)-e)/(s0+s2l(i)));

end

fori=1:

32

Alpha4(i)=atan(abs(dif4(i)-e)/(s0+s2p2(i)));

end

fori=1:

175

Alpha5(i)=atan(e/(s0+s1(88)));

end

fori=1:

210

Alpha6(i)=atan(e/(s0+s2p2(32)));

end

alpha_0=[Alpha1,Alpha5,Alpha2,Alpha3,Alpha4,Alpha6];

figure(5);

plot(t,alpha_0,'r');

title('压力角变化曲线');

xlabel('转过的角度');

ylabel('压力角');

gridon;

holdon;

figure(6);

m=0:

0.01:

2*pi;

x=r*cos(m);

y=r*sin(m);

xe=e*cos(m);

ye=e*sin(m);

plot(x,y,'k');

holdon;

plot(xe,ye,'k');

title('凸轮的理论轮廓与实际轮廓');

axisequal;

gridon;holdon;

%滚子的理论轮廓图线

fori=1:

88

c1x(i)=e*cos(fai1(i))+(s0+s1(i))*sin(fai1(i));

c1y(i)=-e*sin(fai1(i))+(s0+s1(i))*cos(fai1(i));

end

fori=1:

32

c2x(i)=e*cos(fai2(i))+(s0+s2p1(i))*sin(fai2(i));

c2y(i)=-e*sin(fai2(i))+(s0+s2p1(i))*cos(fai2(i));

end

fori=1:

95

c3x(i)=e*cos(fai3(i))+(s0+s2l(i))*sin(fai3(i));

c3y(i)=-e*sin(fai3(i))+(s0+s2l(i))*cos(fai3(i));

end

fori=1:

32

c4x(i)=e*cos(fai4(i))+(s0+s2p2(i))*sin(fai4(i));

c4y(i)=-e*sin(fai4(i))+(s0+s2p2(i))*cos(fai4(i));

end

fori=1:

175

c5x(i)=e*cos(fai5(i))+(s0+s1(88))*sin(fai5(i));

c5y(i)=-e*sin(fai5(i))+(s0+s1(88))*cos(fai5(i));

end

fori=1:

210

c6x(i)=e*cos(fai6(i))+(s0+s2p2(32))*sin(fai6(i));

c6y(i)=-e*sin(fai6(i))+(s0+s2p2(32))*cos(fai6(i));

end

cpx=[c1x,c5x,c2x,c3x,c4x,c6x];

cpy=[c1y,c5y,c2y,c3y,c4y,c6y];

plot(cpx,cpy,'r');

holdon;

%凸轮的滚子半径及其实际轮廓

symssx1sx2sx3sx4sy1sy2sy3sy4sx5sx6sy5sy6;

symss1x1s1x2s1x3s1x4s1y1s1y2s1y3s1y4s1x5s1y5s1y6s1x6;%一阶导数

symss2x1s2x2s2x3s2x4s2y1s2y2s2y3s2y3s2x5s2y5s2y6s2x6;%二阶导数

symsrou1rou2rou3rou4rou5rou6;%曲率半径表达式

sx1=e*cos(fai)+(s0+st1)*sin(fai);

sy1=-e*sin(fai)+(s0+st1)*cos(fai);

sx2=e*cos(fai)+(s0+st2)*sin(fai);

sy2=-e*sin(fai)+(s0+st2)*cos(fai);

sx3=e*cos(fai)+(s0+st3)*sin(fai);

sy3=-e*sin(fai)+(s0+st3)*cos(fai);

sx4=e*cos(fai)+(s0+st4)*sin(fai);

sy4=-e*sin(fai)+(s0+st4)*cos(fai);

sx5=e*cos(fai)+(s0+s1(88))*sin(fai);

sy5=-e*sin(fai)+(s0+s1(88))*cos(fai);

sx6=e*cos(fai)+(s0+s2p2(32))*sin(fai);

sy6=-e*sin(fai)+(s0+s2p2(32))*cos(fai);

s1x1=diff(sx1,fai);

s1y1=diff(sy1,fai);

s2x1=diff(sx1,fai,2);

s2y1=diff(sy1,fai,2);

n1=0:

0.01:

fai0;

rou1=abs((s1x1^2+s1y1^2)^1.5/(s1x1*s2y1-s2x1*s1y1));

rou_1=eval(subs(rou1,fai,n1));

s1x2=diff(sx2,fai);

s1y2=diff(sy2,fai);

s2x2=diff(sx2,fai,2);

s2y2=diff(sy2,fai,2);

n2=fai0+fais:

0.01:

fai0+fais+fai0_/n;

rou2=abs((s1x2^2+s1y2^2)^1.5/(s1x2*s2y2-s2x2*s1y2));

rou_2=eval(subs(rou2,fai,n2));

s1x3=diff(sx3,fai);

s1y3=diff(sy3,fai);

s2x3=diff(sx3,fai,2);

s2y3=diff(sy3,fai,2);

n3=fai0+fais+fai0_/n:

0.01:

fai0+fais+fai0_*(n-1)/n;

rou3=abs((s1x3^2+s1y3^2)^1.5/(s1x3*s2y3-s2x3*s1y3));

rou_3=eval(subs(rou3,fai,n3));

s1x4=diff(sx4,fai);

s1y4=diff(sy4,fai);

s2x4=diff(sx4,fai,2);

s2y4=diff(sy4,fai,2);

s1y5=diff(sy5,fai);

s1x5=diff(sx5,fai);

s1x6=diff(sx6,fai);

s1y6=diff(sy6,fai);

s2x5=diff(sx5,fai,2);

s2y5=diff(sy5,fai,2);

s2y6=diff(sy6,fai,2);

s2x6=diff(sx6,fai,2);

n4=fai0+fais+fai0_*(n-1)/n:

0.01:

fai0+fais+fai0_;

rou4=abs((s1x4^2+s1y4^2)^1.5/(s1x4*s2y4-s2x4*s1y4));

rou_4=eval(subs(rou4,fai,n4));

n5=fai0:

0.01:

fai0+fais;

rou5=abs((s1x5^2+s1y5^2)^1.5/(s1x5*s2y5-s2x5*s1y5));

rou_5=eval(subs(rou5,fai,n5));

n6=fai0+fais+fai0_:

0.01:

2*pi;

rou6=abs((s1x6^2+s1y6^2)^1.5/(s1x6*s2y6-s2x6*s1y6));

rou_6=eval(subs(rou6,fai,n6));

rou=[rou_1,rou_5,rou_2,rou_3,rou_4,rou_6];

n_=[n1,n5,n2,n3,n4,n6];

figure(7);

plot(n_,rou,'b');

axis([04.50100])

title('曲率半径变化曲线');

gridon;holdon;

rou_min=min(rou);

r0=9;

%凸轮的实际轮廓曲线

forj=1:

88

l1x=eval(subs(s1y1/sqrt(s1x1^2+s1y1^2),fai,fai1(j)));

l1y=eval(subs(s1x1/sqrt(s1x1^2+s1y1^2),fai,fai1(j)));

X1(j)=c1x(j)+r0*l1x;

Y1(j)=c1y(j)-r0*l1y;

end

forj=1:

32

l2x=eval(subs(s1y2/sqrt(s1x2^2+s1y2^2),fai,fai2(j)));

l2y=eval(subs(s1x2/sqrt(s1x2^2+s1y2^2),fai,fai2(j)));

X2(j)=c2x(j)+r0*l2x;

Y2(j)=c2y(j)-r0*l2y;

end

forj=1:

95

l3x=eval(subs(s1y3/sqrt(s1x3^2+s1y3^2),fai,fai3(j)));

l3y=eval(subs(s1x3/sqrt(s1x3^2+s1y3^2),fai,fai3(j)));

X3(j)=c3x(j)+r0*l3x;

Y3(j)=c3y(j)-r0*l3y;

end

forj=1:

32

l4x=eval(subs(s1y4/sqrt(s1x4^2+s1y4^2),fai,fai4(j)));

l4y=eval(subs(s1x4/sqrt(s1x4^2+s1y4^2),fai,fai4(j)));

X4(j)=c4x(j)+r0*l4x;

Y4(j)=c4y(j)-r0*l4y;

end

forj=1:

175

l5x=eval(subs(s1y5/sqrt(s1x5^2+s1y5^2),fai,fai5(j)));

l5y=eval(subs(s1x5/sqrt(s1x5^2+s1y5^2),fai,fai5(j)));

X5(j)=c5x(j)+r0*l5x;

Y5(j)=c5y(j)-r0*l5y;

end

forj=1:

210

l6x=eval(subs(s1y6/sqrt(s1x6^2+s1y6^2),fai,fai6(j)));

l6y=eval(subs(s1x6/sqrt(s1x6^2+s1y6^2),fai,fai6(j)));

X6(j)=c6x(j)+r0*l6x;

Y6(j)=c6y(j)-r0*l6y;

end

figure(6);

X=[X1,X5,X2,X3,X4,X6];

Y=[Y1,Y5,Y2,Y3,Y4,Y6];

plot(X,Y,'r');

holdon;

5计算结果分析

5.1计算结果

5.1.1从动件的位移速度加速度线图

图3.从动件的位移图线

图4.从动件的速度图线

图5.从动件的加速度图线

5.1.2凸轮机构

线图

图6.凸轮机构

线图

 

5.1.3凸轮的理论轮廓上的曲率半径线图

图7.理论轮廓上曲率半径

5.1.3凸轮的理论轮廓上的压力角线图

图8.理论轮廓上的压力角

5.1.4凸轮的理论轮廓与实际轮廓

图9.凸轮的理论轮廓与实际轮廓

5.2计算结果分析

①通过编程得到的图像与任务书上图像吻合,说明计算及编程无误。

②通过分别观察从动件的位移、速度和加速度随凸轮转过角度的变化图线,可以发现直动从动件盘形凸轮机构在回程运动规律分为三段。

③通过绘制凸轮机构的ds/dΨ-s线图及计算凸轮机构的曲率半径,得出滚子的半径取10mm。

④利用凸轮的理论轮廓和滚子半径可以通过计算编程得到凸轮的实际轮廓。

最终将二者显示在图9当中。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 教育学心理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1