资源描述
偏置盘型凸轮创新课程设计
课程名称: 机械原理
设计题目: 偏置盘型凸轮设计
院 系: 机电学院
班 级: 09机41
设 计 者: 彭辉
学 号: 09294040
指导老师: 王卫辰
学 校: 江苏师范大学
序言
凸轮轮廓曲线设计,通常可分为图解法和解析法.利用图解法能比较方便地绘制出多种平面凸轮轮廓曲线.但这种方法仅适适用于比较简单结构,用它对复杂结构进行设计则比较困难,而且利用图解法进行结构设计,作图误差较大,对部分精度要求高结构不能满足设计要求.解析法能够依据设计要求,经过推导机构中各部分之间几何关系,建立对应方程,正确地计算出轮廓线上各点坐标,然后把凸轮轮廓曲线正确地绘制出来.不过,当从动件运动规律比较复杂时,利用解析法取得凸轮轮廓曲线工作量比较大.而MATLAB软件提供了强大矩阵处理和绘图功效,含相关键函数和工具箱.其编程代码靠近数学推导公式,简练直观,操作简易,人机交互性能好,且能够方便快速地用三维图形、图像、声音、动画等表示计算结果、拓展思绪口。所以,基于MATLAB软件进行凸轮机构解析法设计,能够处理设计工作量大问题。
本此课程设计基于MATLAB软件进行凸轮轮廓曲线 解析法设计,并正确运动规律凸轮进行仿真,其具体方法为首先正确地计算出轮 廓线上各点坐标,然后利用MATLAB绘制比较精 确凸轮轮廓曲线和推杆位移、速度及加速度曲线和仿真。
目录
序言 1
第一章:工作意义 3
1.1此次课程设计意义 3
1.2 已知条件 4
第二章:工作设计过程 5
2.1:设计思绪 5
2.2:滚子从动件各个阶段相关方程 6
2.3:盘型凸轮理论和实际轮廓方程 7
第三章:工作程序过程 7
3.1:滚子从动件各各阶段MATLAB程序编制 8
3.2:凸轮理论实际运动仿真程序编制 12
第四章:运行结果 17
4.1:滚子运动位移图 17
4.2:滚子运动速度图 17
4.3:滚子运动加速度图,局部加速度图 18
4.4:滚子运动仿真图 19
4.5:滚子运动理论和实际轮廓图 20
第五章:设计总结 21
5.1:总结 21
第六章:参考文件 22
6.1:参考文件 22
第一章:工作意义
1.1此次课程设计意义
凸轮是一个含有曲线轮廓或凹槽构件,通常为主动件,作等速回转运动或往复直线运动。和凸轮轮廓接触,并传输动力和实现预定运动规律构件,通常做往复直线运动或摆动,称为从动件。凸轮机构在应用中基础特点在于能使从动件取得较复杂运动规律。因为从动件运动规律取决于凸轮轮廓曲线,所以在应用时,只要依据从动件运动规律来设计凸轮轮廓曲线就能够了。
由凸轮回转运动或往复运动推进从动件作要求往复移动或摆动机构。凸轮含有曲线轮廓或凹槽,有盘形凸轮、圆柱凸轮和移动凸轮等,其中圆柱凸轮凹槽曲线是空间曲线,所以属于空间凸轮。从动件和凸轮作点接触或线接触,有滚子从动件、平底从动件和尖端从动件等。尖端从动件能和任意复杂凸轮轮廓保持接触,可实现任意运动,但尖端轻易磨损,适适用于传力较小低速机构中。
在带滚子直动从动件盘形凸轮机构中,凸轮回转一周从动件依次作升-停-降-停4个动作。从动件位移s(或行程高度h)和凸轮转角Φ(或时间t)关系称为位移曲线。从动件行程h有推程和回程。 凸轮轮廓曲线决定于位移曲线形状。在一些机械中,位移曲线由工艺过程决定,但通常
情况下只有行程和对应凸轮转角依据工作需要决定,而曲线形状则由设计者选定,能够有多个运动规律。传统凸轮运动规律有等速、等加速-等减速、余弦加速度和正弦加速度等。等速运动规律因有速度突变,会产生强烈刚性冲击,只适适用于低速。等加速-等减速和余弦加速度也有加速度突变,会引发柔性冲击,只适适用于中、低速。正弦加速度运动规律加速度曲线是连续,没有任何冲击,可用于高速。
曲线是凸轮机构设计关键,常见设计方法有解析法和图解法。
在此次课程设计对偏心盘型凸轮进行设计,首先是为对以前机械原理内容进行加深印象,其次是为提升CAE/CAM/CAD计算机辅助设计,为下学期毕业设计做好前期准备,和提升自我能力。提升编程能力,了解产品设计相关准备,为以后工作打下及基础。利用计算机进行凸轮设计解析法设计,从而取得设计凸轮实际和理论轮廓曲线轨迹。
1.2 已知条件
偏心距e=15,基圆半径=40,滚子半径=10,推程运动角Ф=,远休止角Ф=,回程运动角Ф'=,近休止角Ф’=,从动件推杆滚子在推程以等加速等减速
运动规律上升,升程规律=60,回程以简谐运动规律返回原处,凸轮逆时针回转,推杆偏于凸轮回转中心右侧。
(s为滚子推杆从动件移动规律)升程许用压力角
,回程需用压力角。
第二章:工作设计过程
2.1设计思绪
依据机械原理书上用解析法设计凸轮轮廓线实质是建立凸轮轮廓线数学方程式。已知偏距e,基圆半径r,从动件运动规律s=s(δ),则理论凸轮轮廓曲线方程:
,。()
而实际凸轮曲线方程:
以此作为程序编制基础算法,然后明确程序编制需要哪些变量,利用MATLAB中相关函数进行计算,求出需要设计理论,实际凸轮轮廓曲线,而且利用PLOT函数进行画图,把从动件加速度,速度,位移进行画出来,并生成一个小型动画,进行凸轮和滚子推杆从动件之间运动规律仿真设计。
2.2:滚子从动件各个阶段相关方程
推程等加速段 : ,即
依据: ,,:
,,。
推程等减速: ,即
依据:,,
,,
当处于远休止:,即
S=h,v=0,a=0
即:s=60,v=0,a=0
回程简谐远动:,即
,,
则:,
处于近休止:,即
2.3:盘型凸轮理论和实际轮廓方程
盘型凸轮理论方程:
,()
盘型凸轮实际方程:
第三章:工作程序过程
3.1:滚子从动件各各阶段MATLAB程序编制
求从动件位移,加速度,速度曲线,这里依据前面所列函数,我定义矩阵步长为,r0为基圆半径,rr为滚子半径,h为升程,e为偏心距,delta01为推程运动角,delta02为远休止角,delta03为回程运动角,hd为角度转换弧度制,du为弧度制转换为角度制,n=360,并定义5个计数向量,分别是tan1,tan2,tan3,tan4,tan4, tan5,分别属于前面讨论5情况
matlab程序:
clear;
r0=40;
rr=10;
h=60;
e=15;
delta01=100;
delta02=60;
delta03=90;
hd=pi/180;
du=180/pi;
se=sqrt(r0*r0-e*e);
n1=delta01+delta02;
n3=delta01+delta02+delta03;
n=360;
tan1=0:pi/200:delta01/2;
s1=2*h*tan1.^2/delta01^2;
v1=4*h*tan1*hd/(delta01*hd)^2;
a1=3/125;
tan2=delta01/2:pi/200:delta01;
s2=h-2*h*(delta01-tan2).^2/delta01^2;
v2=4*h*(delta01-tan2)*hd/(delta01*hd)^2;
a2=-3/125;
tan3=delta01:pi/200:n1;
s3=h;
v3=0;
a3=0;
tan4=n1:pi/200:n3;
k=tan4-n1;
s4=0.5*h*(1+cos(pi*k/delta03));
v4=-0.5*pi*h*sin(pi*k/delta03)/(delta03*hd)^2;
a4=0.5*pi*pi*h*cos(pi*k/delta03)/(delta03*hd)^2;
tan5=n3:pi/200:n;
s5=0;
v5=0;
a5=0;
figure(1);
hold on;grid on;
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(tan1,s1,'r',tan2,s2,'r',tan3,s3,'r',tan4,s4,'r',tan5,s5,'r');
figure(2);
title('偏置盘形凸轮从动件速度');
hold on;grid on;
xlabel('x/mm');
ylabel('y/mm');
plot([-(r0+h-40) (r0+h)],[0 0],'k');
plot([0,0],[-(r0+h) (r0+rr)],'k');
plot(tan1,v1,'r',tan2,v2,'r',tan3,v3,'r',tan4,v4,'r',tan5,v5,'r');
figure(3);
title('偏置盘形凸轮从动件加速度');
hold on;grid on;
xlabel('x/mm');
ylabel('y/mm');
plot(tan1,a1,'r',tan2,a2,'r',tan3,a3,'r',tan4,a4,'r',tan5,a5,'r');
figure(4);
title('偏置盘形凸轮从动件局部加速度');
hold on;grid on;
xlabel('x/mm');
ylabel('y/mm');
plot(tan1,a1,'r',tan2,a2,'r',tan3,a3,'r',tan5,a5,'r');
在这里figure(1)代表从动件位移曲线,figure(2)代表从动件速度曲线,figure(3)代表从动件全部加速度曲线,
Figure(4)代表从动件局部加速度,因为在第四段曲线跳跃太大所以多一个图进行观察。
3.2:凸轮理论实际运动仿真程序编制
因为所需要变量跟前面曲线程序一样所以这里就不反复,基础算法步骤图:
程序步骤图一
matlab程序:
clear;
r0=40;
rr=10;
h=60;
e=15;
delta01=100;
delta02=60;
delta03=90;
hd=pi/180;
du=180/pi;
se=sqrt(r0*r0-e*e);
n1=delta01+delta02;
n3=delta01+delta02+delta03;
n=360;
for i=1:n
if i<=delta01/2
s(i)=2*h*i^2/delta01^2;
ds(i)=4*h*i*hd/(delta01*hd)^2; ds=ds(i);
elseif i>delta01/2 & i<=delta01
s(i)=h-2*h*(delta01-i)^2/delta01^2;
ds(i)=4*h*(delta01-i)*hd/(delta01*hd)^2; ds=ds(i);
elseif i>delta01 & i<=n1
s(i)=h; ds=0;
elseif i>n1 & i<=n3
k=i-n1;
s(i)=0.5*h*(1+cos(pi*k/delta03));
ds(i)=-0.5*pi*h*sin(pi*k/delta03)/(delta03*hd)^2; ds=ds(i);
elseif i>n3 & i<=n
s(i)=0;; ds=0;
end
xx(i)=(se+s(i))*sin(i*hd)+e*cos(i*hd);
yy(i)=(se+s(i))*cos(i*hd)-e*sin(i*hd);
dx(i)=(ds-e)*sin(i*hd)+(se+s(i))*cos(i*hd);
dy(i)=(ds-e)*cos(i*hd)-(se+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
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,'0');
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(e*cos(ct),e*sin(ct),'c-');
plot(e+rr*cos(ct),se+rr*sin(ct),'k');
plot(e,se,'o');
plot([e e],[se se+30],'k');
plot(xp,yp,'b');
xp0=(r0-rr)/r0*e;
yp0=(r0-rr)/r0*se;
dss=sqrt(diff(xp).^2+diff(yp).^2);
ss(1)=sqrt((xp(1)-xp0)^2+(yp(1)-yp0)^2);
for i=1:359
ss(i+1)=ss(i)+dss(i);
end
phi=ss/rr;
figure(2)
m=moviein(20);
j=0;
for i=1:360
j=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 0],'k');
plot([0 0],[-(r0+h) (r0+rr)],'k');
plot(r0*cos(ct),r0*sin(ct),'g');
plot(e*cos(ct),e*sin(ct),'c-');
plot(e+rr*cos(ct),se+s(i)+rr*sin(ct),'k');
plot([ee+rr*cos(-phi(i))],[se+s(i)se+s(i)+rr*sin( -phi(i))],'k');
plot([e e],[se+s(i) se+s(i)+40],'k');
plot([1:360]+r0+h,s+se);
plot([(r0+h) (r0+h+360)],[se se],'k');
plot([(r0+h) (r0+h)],[se se+h],'k');
plot(i+r0+h,s(i)+se,'*');
title('偏置凸轮设计');
xlabel('x/mm')
ylabel('y/mm')
m(j)=getframe;
end
movie(m);
第四章:运行结果
4.1:滚子运动位移图
图三:位移图
4.2:滚子运动速度图
图四:速度图
4.3:滚子运动加速度图
图五:全加速度
滚子运动局部加速度图
图六:局部加速度
4.4:滚子运动仿真图
图七:凸轮仿真图
图上曲线即是凸轮运动时和从动件之间运动关系函数图,经过matlab动画能够看出从动件和主动件凸轮运动运动关系符合上述线图关系。
4.5:滚子运动理论和实际轮廓图
图八:凸轮理论和实际轮廓曲线
在上图中红色代表凸轮实际轮廓曲线,蓝色是代表凸轮理论轮廓曲线。
第五章:设计总结
5.1:总结
经过两周课程设计,我认真复习机械原理相关凸轮设计对应原理设计,了解机械原理相关凸轮设计对应解析法过程,比当初在大二时学机械原理懂了很多,同时在这几天我锻炼自己编程能力,查找相关资料,自己matlab编程水平相对于当初而言进步了很多,而且在图形化编程进步了很多,我相信这次课程设计相对以前课程设计而言,自己进步了很多,在开始拿到问题到现在完成课程设计过程,我参考了不少资料,自己感觉这次课程设计对自己以后毕业设计,和工作提供了不少经验,为下学期毕业设计怎么做,指明了目标,同时在此次课程设计里,我自学PROE仿真,能够来说自己机械设计水平提升了不少,当然在课程设计,我发觉了自己还存在不少不足,所以针对那些不足,我计划在大四下学期进行补救,要把大学四年相关专业可进行重新复习一遍,因为很多学科是相通,在以后工作上全部要用上。
感谢老师在此次课程给技术指导,也感谢同组同学在此次课程设计给相关帮助。
第六章:参考文件
6.1:参考文件
[1]孙恒,陈作模主编.机械原理.北京:高等教育出版社,.
[2]杨兰生主编.机械原理电算程序设计.北京:展望出版社,
1986.
[3]王知行,李柜贤编著.机械原理电算程序设计.哈尔滨:
哈尔滨工业大学出版社,1985.
[4]郑文纬,吴克坚主编.机械原理.北京:高等教育出版社,
1997.
[5]曲秀全著.matlab平面连杆机构得动态仿真.哈尔滨:
哈尔滨工业大学出版社,.
[6]申永胜主编.机械原理教程.北京:清华大学出版社,
1999.
[7]孙恒主编.机械原理教学指南.北京:高等教育出版社,
.
[8]姚立刚,王景昌主编.常见机构电算程序设计.哈尔滨:
哈尔滨工业大学出版社,.
展开阅读全文