《凸轮机构设计大作业.pdf》由会员分享,可在线阅读,更多相关《凸轮机构设计大作业.pdf(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 大作业(二)凸轮机构设计(题号:8)班 级:姓 名、学 号:成 绩:完 成 日 期:目录 1.凸轮机构大作业题目2 2.推杆运动规律及凸轮廓线方程3 3.程序流程图3 4.源程序 5 5.计算结果14 6.凸轮机构图16 7.体会及建议19 8.参考资料20 一、凸轮机构大作业题目 试用计算机辅助设计完成下列摆动滚子推杆盘形凸轮机构的设计,已知数据如下表所示,凸轮沿着逆时针方向做匀速转动。表 1 凸轮机构的推杆运动规律 推程运动规律 正弦加速度运动 回程运动规律 等加速等减速运动 表 2 两种凸轮机构的推杆在近休、推程、远休及回程阶段的凸轮转角 题号 近休凸轮转角 推程凸轮转角 远休凸轮转角
2、 回程凸轮转角 A 060 60180 180270 270360 B 045 45210 210260 260360 C 030 30210 210280 280360 表 3 摆动滚子推杆盘形凸轮机构的已知参数 题号 初选基圆机架长度摆杆长度滚子半径 推杆摆角 许用压力角 许用最小曲率半径r0/mm lOA/mm lAB/mm rr/mm 1 2 半径amin A 15 60 55 10 24 35 70 B 20 70 65 14 26 40 70 C 22 7275 68 18 28 45 65 要求:每组(每三人为一组,每人一题)至少打印出一份源程序,每人打印出原始数据;凸轮理论轮廓
3、和实际轮廓的坐标值;推程和回程的最大压力角,以及出现最大压力角时凸轮的相应转角;凸轮实际轮廓曲线的最小曲率半径,以及相应的凸轮转角;和最后说确定的基圆半径。计算点数 N=72120。绘出凸轮的理论轮廓和实际轮廓(可用计算机绘图)。二、推杆运动规律及凸轮廓线方程:推程(正弦加速度):s=h(/0)-sin(2/0)/(2)回程(等加速段):s=h-2h2/02 回程(等减速段):s=2h(0-)2/02 凸轮理论廓线方程:x=lOAsin-lABsin(+0)y=lOAcos-lABcos(+0)式中,0为推杆的初始位置角,其值为:0=arccos2220()/2()alalr 三、程序流程图|
4、1开始 读入:r0,r0,rt,h或(),e或计算:s0 I=1 计算:s,x,y,ds/d,dx/d,dy/d,x,计算:r0=r0+r0 r0=r0=r0 是回程|2选出1max及相应的凸轮转角选出2max及相应的凸轮转角计算:0|-rtami计算a选出|amin|及相应的凸轮转角I=I+1 四、源程序 clear;r0=22;%初选的基圆半径 dr0=;a=72;%机架长度 L=68;%摆杆长度 rr=18;%滚子半径 fai=28*pi/180;%推杆摆角 PI=;alpha1=45;%许用压力角1 alpha2=65;%许用压力角阿尔法 2 lambda=;%许用最小曲率半径 N=1
5、20;%取用点的个数 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
6、*r0)/(2*a*L);delta=3*I*pi/180;if(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*
7、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;alp
8、ha=atan(L*abs(dF)+(a*cos(F+F0)-L)/(a*sin(F+F0)*180/pi;alpha=abs(alpha);if(alphaalphamax1)alphamax1=alpha;deltamax1=delta*180/pi;end end if(delta=180*pi/180&delta=250*pi/180&deltaalphamax2)alphamax2=alpha;deltamax2=delta*180/pi;end end if(delta=290*pi/180&deltaalphamax2)alphamax2=alpha;deltamax2=delt
9、a*180/pi;end end if(delta=330*pi/180&deltaalpha1)|(alphamax2alpha2)%优化条件 r0=r0+dr0;I=0;alphamax1=0;alphamax2=0;continue end rou=(dx2+dy2)(3/2)/(dx*ddy-dy*ddx);%计算曲率半径 if(rou0)rou=-rou;if(rou-rr)*rr)%优化条件 r0=r0+dr0;I=0;alphamax1=0;alphamax2=0;continue end if(rouroumin)roumin=rou;deltamin=delta*180/pi
10、;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);axis equal hold on 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
11、);%固定滚子点 title(凸轮轮廓曲线图);xlabel(X/mm);ylabel(Y/mm);hold off disp(推程最大压力角:);alphamax1 disp(推程最大压力角相应转角:);deltamax1 disp(回程最大压力角:);alphamax2 disp(回程最大压力角相应转角:);deltamax2 disp(凸轮最小曲率半径:);roumin disp(凸轮最小曲率半径相应转角:);roumina disp(最后确定的凸轮基圆半径:);r0 五、计算结果 A 组:推程最大压力角:alphamax1=推程最大压力角相应转角:deltamax1=45 回程最大压力
12、角:alphamax2=回程最大压力角相应转角:deltamax2=255 凸轮最小曲率半径:roumin=凸轮最小曲率半径相应转角:roumina=最后确定的凸轮基圆半径:r0=B 组:推程最大压力角:alphamax1=推程最大压力角相应转角:deltamax1=回程最大压力角:alphamax2=回程最大压力角相应转角:deltamax2=凸轮最小曲率半径:roumin=凸轮最小曲率半径相应转角:roumina=最后确定的凸轮基圆半径:r0=C 组:推程最大压力角:alphamax1=推程最大压力角相应转角:deltamax1=回程最大压力角:alphamax2=回程最大压力角相应转角:
13、deltamax2=凸轮最小曲率半径:roumin=凸轮最小曲率半径相应转角:roumina=最后确定的凸轮基圆半径:r0=六、凸轮机构图 A 组:B 组:C 组:七、体会及建议 本次凸轮机构的设计,我们熟悉了解析法在机构设计中的应用,锻炼了编程能力。这次大作业用到了非常多的 MATLAB 编程知识,我们查阅了大量资料,也请教了不少同学,最后编出来程序实属不易。通过这次亲手设计实践,我们也认识到具体的操作远远比想象中的难,尤其是工程问题,涉及到方方面面的知识,这一点在以后的学习生活中也应该引起注意,注重细节才能做得更好。另外,大作业带给我们最大的好处就是我们更加熟悉凸轮的运动规律,这比起上课老师的讲解印象更深,因为加入了自己的思考和亲手设计,我们也能更加熟练地理解凸轮的设计实践,我想这是大作业带给我们最大的好处。这次凸轮设计的大作业也引起了我们的思考,因为这实在是涉及到太多的编程知识,C 语言、MATLAB 等都可能用到,然而我们平常的教学过程中没有怎么教到这些知识,尤其是 MATLAB,我们想学校应该给大家开设这样的课程,这对于同学们的科研能力和综合水平都是由很大提高和帮助的。八、参考资料 孙桓 陈作模 葛文杰,等,机械原理【M】,8 版,北京:高等教育出版社,2013 苏金明,等,MATLAB 高级编程【M】2 版,电子工业出版社,2008
限制150内