凸轮机构设计大作业精选文档.docx
《凸轮机构设计大作业精选文档.docx》由会员分享,可在线阅读,更多相关《凸轮机构设计大作业精选文档.docx(17页珍藏版)》请在冰点文库上搜索。
![凸轮机构设计大作业精选文档.docx](https://file1.bingdoc.com/fileroot1/2023-5/16/dd497928-7c75-48b1-9b4e-b0d797c91517/dd497928-7c75-48b1-9b4e-b0d797c915171.gif)
凸轮机构设计大作业精选文档
TTMSsystemofficeroom【TTMS16H-TTMS2A-TTMS8Q8-TTMSHHJ8】
凸轮机构设计大作业精选文档
大作业
(二)
凸轮机构设计
(题号:
8)
班级:
姓名、学号:
成绩:
完成日期:
1.凸轮机构大作业题目……………………………………2
2.推杆运动规律及凸轮廓线方程…………………………3
3.程序流程图………………………………………………3
4.源程序…………………………………………………^5
5.计算结果…………………………………………………14
6.凸轮机构图………………………………………………16
7.体会及建议………………………………………………19
8.参考资料…………………………………………………20
一、凸轮机构大作业题目
试用计算机辅助设计完成下列摆动滚子推杆盘形凸轮机构的设计,已知数据如下表所示,凸轮沿着逆时针方向做匀速转动。
表1凸轮机构的推杆运动规律
推程运动规律
正弦加速度运动
回程运动规律
等加速等减速运动
表2两种凸轮机构的推杆在近休、推程、远休及回程阶段的凸轮转角
题号
近休凸轮转角
推程凸轮转角
远休凸轮转角
回程凸轮转角
A
0゜~60゜
60゜~180゜
180゜~270゜
270゜~360゜
B
0゜~45゜
45゜~210゜
210゜~260゜
260゜~360゜
C
0゜~30゜
30゜~210゜
210゜~280゜
280゜~360゜
表3摆动滚子推杆盘形凸轮机构的已知参数
题号
初选基圆半径r0/mm
机架长度lOA/mm
摆杆长度lAB/mm
滚子半径
rr/mm
推杆摆角
许用压力角
许用最小曲率半径[ρamin]
[α1]
[α2]
A
15
60
55
10
24゜
35゜
70゜
B
20
70
65
14
26゜
40゜
70゜
C
22
7275
68
18
28゜
45゜
65゜
要求:
每组(每三人为一组,每人一题)至少打印出一份源程序,每人打印出原始数据;凸轮理论轮廓和实际轮廓的坐标值;推程和回程的最大压力角,以及出现最大压力角时凸轮的相应转角;凸轮实际轮廓曲线的最小曲率半径,以及相应的凸轮转角;和最后说确定的基圆半径。
计算点数N=72~120。
绘出凸轮的理论轮廓和实际轮廓(可用计算机绘图)。
二、推杆运动规律及凸轮廓线方程:
推程(正弦加速度):
s=h[(δ/δ0)-sin(2πδ/δ0)/(2π)]
回程(等加速段):
s=h-2hδ2/δ'02
回程(等减速段):
s=2h(δ'0-δ)2/δ'02
凸轮理论廓线方程:
x=lOAsinδ-lABsin(δ+φ+φ0)
y=lOAcosδ-lABcos(δ+φ+φ0)
式中,φ0为推杆的初始位置角,其值为:
φ0=arccos
三、程序流程图
四、源程序
clear;
r0=22;%初选的基圆半径
dr0=;
a=72;%机架长度
L=68;%摆杆长度
rr=18;%滚子半径
fai=28*pi/180;%推杆摆角
PI=;
alpha1=45;%许用压力角α1
alpha2=65;%许用压力角阿尔法2
lambda=;%许用最小曲率半径
N=120;%取用点的个数
delta1=180*pi/180;%推程凸轮最大转角
delta2=70*pi/180;%远休凸轮最大转角
delta3=80*pi/180;%回程凸轮最大转角
delta4=30*pi/180;%近休凸轮最大转角
alphamax1=0;%推程最大压力角初值
alphamax2=0;%回程最大压力角初值
roumin=100;%凸轮最小曲率半径初值
X=ones(1,121);
Y=ones(1,121);
XP=ones(1,121);
YP=ones(1,121);
FAI=ones(1,121);
I=0;
%初始化
while(I<=N)
F0=acos((a*a+L*L-r0*r0)/(2*a*L));
delta=3*I*pi/180;
if(delta<180*pi/180&delta>=0)%正弦推程
F0=acos((a*a+L*L-r0*r0)/(2*a*L));
F=fai*((delta/delta1)-sin(2*pi*delta/delta1)/(2*pi));
x=a*sin(delta)-L*sin(delta+F+F0);
y=a*cos(delta)-L*cos(delta+F+F0);
dF=fai*(1/delta1-cos(2*pi*delta/delta1)/delta1);
ddF=fai*2*pi*sin(2*pi*delta/delta1)/(delta1*delta1);
dx=a*cos(delta)-L*cos(delta+F+F0)*(1+dF);
ddx=-a*sin(delta)+L*sin(delta+F+F0)*(1+dF)^2-L*cos(delta+F+F0)*ddF;
dy=-a*sin(delta)+L*sin(delta+F+F0)*(1+dF);
ddy=-a*cos(delta)+L*cos(delta+F+F0)*(1+dF)^2+L*sin(delta+F+F0)*ddF;
stheta=dx/sqrt(dx*dx+dy*dy);
ctheta=-dy/sqrt(dx*dx+dy*dy);
xp=x-rr*ctheta;
yp=y-rr*stheta;
alpha=atan((L*abs(dF)+(a*cos(F+F0)-L))/(a*sin(F+F0)))*180/pi;
alpha=abs(alpha);
if(alpha>alphamax1)
alphamax1=alpha;
deltamax1=delta*180/pi;
end
end
if(delta>=180*pi/180&delta<250*pi/180)%远休
F0=acos((a*a+L*L-r0*r0)/(2*a*L));
F=fai;
x=a*sin(delta)-L*sin(delta+F+F0);
y=a*cos(delta)-L*cos(delta+F+F0);
dF=0;
ddF=0;
dx=a*cos(delta)-L*cos(delta+F+F0)*(1+dF);
ddx=-a*sin(delta)+L*sin(delta+F+F0)*(1+dF)^2-L*cos(delta+F+F0)*ddF;
dy=-a*sin(delta)+L*sin(delta+F+F0)*(1+dF);
ddy=-a*cos(delta)+L*cos(delta+F+F0)*(1+dF)^2+L*sin(delta+F+F0)*ddF;
stheta=dx/sqrt(dx*dx+dy*dy);
ctheta=-dy/sqrt(dx*dx+dy*dy);
xp=x-rr*ctheta;
yp=y-rr*stheta;
end
if(delta>=250*pi/180&delta<290*pi/180)%等加速回程
F0=acos((a*a+L*L-r0*r0)/(2*a*L));
F=fai-2*fai*(delta-250*pi/180)*(delta-250*pi/180)/(delta3*delta3);
x=a*sin(delta)-L*sin(delta+F+F0);
y=a*cos(delta)-L*cos(delta+F+F0);
dF=-4*fai*(delta-250*pi/180)/(delta3*delta3);
ddF=-4*fai/(delta3*delta3);
dx=a*cos(delta)-L*cos(delta+F+F0)*(1+dF);
ddx=-a*sin(delta)+L*sin(delta+F+F0)*(1+dF)^2-L*cos(delta+F+F0)*ddF;
dy=-a*sin(delta)+L*sin(delta+F+F0)*(1+dF);
ddy=-a*cos(delta)+L*cos(delta+F+F0)*(1+dF)^2+L*sin(delta+F+F0)*ddF;
stheta=dx/sqrt(dx*dx+dy*dy);
ctheta=-dy/sqrt(dx*dx+dy*dy);
xp=x-rr*ctheta;
yp=y-rr*stheta;
alpha=atan((L*abs(dF)-(a*cos(F+F0)-L))/(a*sin(F+F0)))*180/pi;
alpha=abs(alpha);
if(alpha>alphamax2)
alphamax2=alpha;
deltamax2=delta*180/pi;
end
end
if(delta>=290*pi/180&delta<330*pi/180)%等减速回程
F0=acos((a*a+L*L-r0*r0)/(2*a*L));
F=2*fai*(delta3-(delta-250*pi/180))*(delta3-(delta-250*pi/180))/(delta3*delta3);
dF=-4*fai*(delta3-(delta-250*pi/180))/(delta3*delta3);
ddF=4*fai/(delta3*delta3);
x=a*sin(delta)-L*sin(delta+F+F0);
y=a*cos(delta)-L*cos(delta+F+F0);
dx=a*cos(delta)-L*cos(delta+F+F0)*(1+dF);
ddx=-a*sin(delta)+L*sin(delta+F+F0)*(1+dF)^2-L*cos(delta+F+F0)*ddF;
dy=-a*sin(delta)+L*sin(delta+F+F0)*(1+dF);
ddy=-a*cos(delta)+L*cos(delta+F+F0)*(1+dF)^2+L*sin(delta+F+F0)*ddF;
stheta=dx/sqrt(dx*dx+dy*dy);
ctheta=-dy/sqrt(dx*dx+dy*dy);
xp=x-rr*ctheta;
yp=y-rr*stheta;
alpha=atan((L*abs(dF)-(a*cos(F+F0)-L))/(a*sin(F+F0)))*180/pi;
alpha=abs(alpha);
if(alpha>alphamax2)
alphamax2=alpha;
deltamax2=delta*180/pi;
end
end
if(delta>=330*pi/180&delta<=360*pi/180)%近休
F0=acos((a*a+L*L-r0*r0)/(2*a*L));
F=0;
x=a*sin(delta)-L*sin(delta+F+F0);
y=a*cos(delta)-L*cos(delta+F+F0);
dF=0;
ddF=0;
dx=a*cos(delta)-L*cos(delta+F+F0)*(1+dF);
ddx=-a*sin(delta)+L*sin(delta+F+F0)*(1+dF)^2-L*cos(delta+F+F0)*ddF;
dy=-a*sin(delta)+L*sin(delta+F+F0)*(1+dF);
ddy=-a*cos(delta)+L*cos(delta+F+F0)*(1+dF)^2+L*sin(delta+F+F0)*ddF;
stheta=dx/sqrt(dx*dx+dy*dy);
ctheta=-dy/sqrt(dx*dx+dy*dy);
xp=x-rr*ctheta;
yp=y-rr*stheta;
end
if(alphamax1>alpha1)||(alphamax2>alpha2)%优化条件
r0=r0+dr0;
I=0;
alphamax1=0;
alphamax2=0;
continue
end
rou=((dx^2+dy^2)^(3/2))/(dx*ddy-dy*ddx);%计算曲率半径
if(rou<0)
rou=-rou;
if((rou-rr)<*rr))%优化条件
r0=r0+dr0;
I=0;
alphamax1=0;
alphamax2=0;
continue
end
if(rouroumin=rou;
deltamin=delta*180/pi;
roumina=roumin-rr;
end
end
X(I+1)=x;
Y(I+1)=y;
XP(I+1)=xp;
YP(I+1)=yp;
I=I+1;
end
figure
(1);
axisequal
holdon
t=0:
3:
360;
X_1=r0*cosd(t);%画基圆
Y_1=r0*sind(t);
X_2=rr*cosd(t)+X(10);%画滚子
Y_2=rr*sind(t)+Y(10);
plot(X_1,Y_1,'m--',X,Y,':
',XP,YP,'k',X_2,Y_2,'c--');
legend('基圆','理论轮廓','实际轮廓');
plot(0,0,'ko');%固定凸轮点
plot(X(10),Y(10),'ko');%固定滚子点
title('凸轮轮廓曲线图');
xlabel('X/mm');
ylabel('Y/mm');
holdoff
disp('推程最大压力角:
');
alphamax1
disp('推程最大压力角相应转角:
');
deltamax1
disp('回程最大压力角:
');
alphamax2
disp('回程最大压力角相应转角:
');
deltamax2
disp('凸轮最小曲率半径:
');
roumin
disp('凸轮最小曲率半径相应转角:
');
roumina
disp('最后确定的凸轮基圆半径:
');
r0
五、计算结果
A组:
推程最大压力角:
alphamax1=
推程最大压力角相应转角:
deltamax1=45
回程最大压力角:
alphamax2=
回程最大压力角相应转角:
deltamax2=255
凸轮最小曲率半径:
roumin=
凸轮最小曲率半径相应转角:
roumina=
最后确定的凸轮基圆半径:
r0=
B组:
推程最大压力角:
alphamax1=
推程最大压力角相应转角:
deltamax1=
回程最大压力角:
alphamax2=
回程最大压力角相应转角:
deltamax2=
凸轮最小曲率半径:
roumin=
凸轮最小曲率半径相应转角:
roumina=
最后确定的凸轮基圆半径:
r0=
C组:
推程最大压力角:
alphamax1=
推程最大压力角相应转角:
deltamax1=
回程最大压力角:
alphamax2=
回程最大压力角相应转角:
deltamax2=
凸轮最小曲率半径:
roumin=
凸轮最小曲率半径相应转角:
roumina=
最后确定的凸轮基圆半径:
r0=
六、凸轮机构图
A组:
B组:
C组:
七、体会及建议
本次凸轮机构的设计,我们熟悉了解析法在机构设计中的应用,锻炼了编程能力。
这次大作业用到了非常多的MATLAB编程知识,我们查阅了大量资料,也请教了不少同学,最后编出来程序实属不易。
通过这次亲手设计实践,我们也认识到具体的操作远远比想象中的难,尤其是工程问题,涉及到方方面面的知识,这一点在以后的学习生活中也应该引起注意,注重细节才能做得更好。
另外,大作业带给我们最大的好处就是我们更加熟悉凸轮的运动规律,这比起上课老师的讲解印象更深,因为加入了自己的思考和亲手设计,我们也能更加熟练地理解凸轮的设计实践,我想这是大作业带给我们最大的好处。
这次凸轮设计的大作业也引起了我们的思考,因为这实在是涉及到太多的编程知识,C语言、MATLAB等都可能用到,然而我们平常的教学过程中没有怎么教到这些知识,尤其是MATLAB,我们想学校应该给大家开设这样的课程,这对于同学们的科研能力和综合水平都是由很大提高和帮助的。
八、参考资料
孙桓陈作模葛文杰,等,机械原理【M】,8版,北京:
高等教育出版社,2013
苏金明,等,MATLAB高级编程【M】2版,电子工业出版社,2008