H a r b i n I n s t i t u t e o f T e c h n o l o g y大作业设计说明书课程名称:机械原理设计题目:凸轮机构院系:机电学院班级:姓名:学号:指导教师:丁刚设计时间:哈尔滨工业大学1.设计题目2.运动方程式及运动线图由题目要求凸轮逆时针旋转(1)确定凸轮机构推杆升程、回程运动方程,并绘制推杆位移、速度、加速度线图。
升程第一段:(0 <φ< pi /4)φ0=pi/2;s1 = 73*φ^2;v1=146*w*φ;a1 = 146*w^2;升程第二段:(pi/4 <φ< pi /2)s2 =90-73*(pi/2-φ)^2;v2=146*w*( pi/2-φ);a2 =-146*w.^2;远休止程:(pi/2 <φ< 10*pi/9)s3 = 90;v3 = 0;a3 = 0;回程:(10*pi/9)< φ< ( 14*pi/9)s4 =45*(1+cos(9/4*(φ-10*pi/9)));v4 =*w*sin(9/4*(φ-10*pi/9)) ;a4 =*w^2* cos(9/4*(φ-10*pi/9));近休止程:(14*pi/9)< φ < ( 2*pi);s5 =0;v5 =0;a5 =0;1.由上述公式通过编程得到位移、速度、加速度曲线如下:(编程见附录).2. 凸轮机构的线图及基圆半径和偏距的确定凸轮机构的线图如下图所示(代码详见附录):因为凸轮逆时针旋转,,所以滚子从动件右偏,但由于绘图原因,采用向左为正方向,由此确定凸轮基圆半径与偏距:基圆半径为r0 = (50^2+100^2)=112mm,偏距e = 50mm。
3.凸轮实际轮廓,理论轮廓,基圆,偏距圆绘制4.整体图像附录1.求位移、速度、加速度的程序(matlab)w = input('请输入W=');x = 0:(pi/1000):(pi/4);s1 = 73*x.^2;v1=146*w*x;a1 = 146*w.^2;y = (pi/4):(pi/1000):(pi/2);s2 =90-73*(pi/2-y).^2;v2=146*w*( pi/2-y);a2 =-146*w.^2;z = (pi/2 ):(pi/1000):(10*pi/9);s3 = 90;v3 = 0;a3 = 0;c = (10*pi/9):(pi/1000):( 14*pi/9);s4 =45*(1+cos(9/4*(c-10*pi/9)));v4 =*w*sin(9/4*( c-10*pi/9)) ;a4 =*w.^2* cos(9/4*(c-10*pi/9));d=(14*pi/9):(pi/1000):( 2*pi);s5 =0; v5 =0; a5 =0;subplot (2,2,1)plot(x,s1,'b',y,s2,'b',z,s3,'b',c,s4,'b', d,s5,'b');xlabel('转角/rad')ylabel('位移/(mm/s)')title('位移与转角曲线')grid onsubplot (2,2,2)plot(x,v1,'g',y,v2,'g',z,v3,'g ',c,v4,'g', d,v5,'g')xlabel('转角/rad')ylabel('速度/(mm/s)')title('转角与速度曲线')grid onsubplot (2,2,3)plot(x,a1,'r',y,a2,'r',z,a3,'r ',c,a4,'r',d,a5,'r')xlabel('转角/rad')ylabel('加速度/(mm/s)')title('转角与加速度曲线')grid on2.绘制凸轮机构dφ/ds – s线图w = input('请输入W=');x = 0:(pi/1000):(pi/4);s1 = 73*x.^2;ds1 =-73*2*x;y = (pi/4):(pi/1000):(pi/2);s2 =90-73*(pi/2-y).^2;ds2 =-73*2*(pi/2-y);z = (pi/2 ):(pi/1000):(10*pi/9);s3 = 90;ds3 =0;c = (10*pi/9):(pi/1000):( 14*pi/9);s4 =45*(1+cos(9/4*(c-10*pi/9)));ds4 =45*9/4*sin(9/4*(c-10*pi/9));d=(14*pi/9):(pi/1000):( 2*pi);s5 =0;ds5 =0;plot(ds1,s1,'b',ds2,s2,'b',ds3,s3,'b',ds4,s4,'b',ds5,s5,'b'); xlabel('ds/dp');ylabel('(位移s/mm)')title('ds/dp 与位移s曲线')grid onhold onx3=-150::0;y3 = *x3;plot (x3,y3,'r');hold onx1=-150::150;for i=1:1:250;k1=(s1(i+1)-s1(i))/ (ds1(i+1)-ds1(i));if(k1>= && k1<=y1=k1*(x1-ds1(i))+s1(i);plot (x1,y1,'r');endendhold onx1=-150::150;for i=1:1:250;k2=(s2(i+1)-s2(i))/ (ds2(i+1)-ds2(i));if(k2>= && k2<=y1=k2*(x1-ds1(i))+s2(i);plot (x1,y1,'r');endendhold onx2=-150::150;for i=1:1:444;k3=(s4(i+1)-s4(i))/ (ds4(i+1)-ds4(i));if(k3>= && k3<=y2=k3*(x2-ds4(i))+s4(i);plot (x2,y2,'r');endendhold ony3=*(x2-ds1(251))+s1(251);plot(x2,y3,'r')text(-50,-100,'O点(-50,-100)')3.确定滚子半径(1)先求凸轮理论轮廓曲线,程序如下:Clc;clear;w = input('请输入w=');s0 = 100;s = 90;e = 50; x = 0:(pi/100):(pi/4);x1 = (s + s0)*cos(x)-e*sin(x);y1 = (s0 + s)*sin(x) - e*cos(x);y = (pi/4):(pi/100):(pi/2);x2 = (s + s0)*cos(y)-e*sin(y);y2 = (s0 + s)*sin(y) - e*cos(y);z = (pi/2 ):(pi/100):(10*pi/9);x3 = (s + s0)*cos(z)-e*sin(z);y3 = (s0 + s)*sin(z) - e*cos(z);c = (10*pi/9):(pi/1000):( 14*pi/9);x4 = (s + s0)*cos(c)-e*sin(c);y4 = (s0 + s)*sin(c) - e*cos(c);d=(14*pi/9):(pi/1000):( 2*pi);x5 = (s + s0)*cos(d)-e*sin(d);y5 = (s0 + s)*sin(d) - e*cos(d);plot(x1,y1,'b',x2,y2,'b',x3,y3,'b',x4,y4,'b',x5,y5,'b');xlabel('x/mm')ylabel('y/mm')title('理论轮廓曲线')grid on(2)理论轮廓线最小曲率半径编程代码:由下程序结果可知pmin =这里滚子半径为 r r < pmin-ΔΔ=3~5mm;取r r=10mm; clear;clc;v=[];syms x1 x2 x3 x4 x5s0 = 100;e = 50;s1 = 73*x1.^2;t1 = (s1 + s0)*cos(x1)-e*sin(x1);y1 = (s0 + s1)*sin(x1) - e*cos(x1);tx1=diff(t1,x1);txx1=diff(t1,x1,2);yx1=diff(y1,x1);yxx1=diff(y1,x1,2);for xx1= 0:(pi/100):(pi/4);k1=subs(abs((tx1*yxx1-txx1*yx1)/(tx1^2+yx1^2)^,{x1},{xx1}); v=[v,1/k1];ends2 =90-73*(pi/2-x2).^2;t2 = (s2 + s0)*cos(x2)-e*sin(x2);y2 = (s0 + s2)*sin(x2) - e*cos(x2);tx2=diff(t2,x2);txx2=diff(t2,x2,2);yx2=diff(y2,x2);yxx2=diff(y2,x2,2);for xx2=(pi/4):(pi/100):(pi/2);k2=subs(abs((tx2*yxx2-txx2*yx2)/(tx2^2+yx2^2)^,{x2},{xx2}); v=[v,1/k2];ends3 = 90;t3 = (s3 + s0)*cos(x3)-e*sin(x3);y3 = (s0 + s3)*sin(x3) - e*cos(x3);tx3=diff(t3,x3);txx3=diff(t3,x3,2);yx3=diff(y3,x3);yxx3=diff(y3,x3,2);for xx3=(pi/2 ):(pi/100):(10*pi/9);k3=subs(abs((tx3*yxx3-txx3*yx3)/(tx3^2+yx3^2)^,{x3},{xx3}); v=[v,1/k3];ends4 =45*(1+cos(9/4*(x4-10*pi/9)));t4 = (s4 + s0)*cos(x4)-e*sin(x4);y4 = (s0 + s4)*sin(x4) - e*cos(x4);tx4=diff(t4,x4);txx4=diff(t4,x4,2);yx4=diff(y4,x4);yxx4=diff(y4,x4,2);for xx4=(10*pi/9):(pi/100):( 4*pi/3);k4=subs(abs((tx4*yxx4-txx4*yx4)/(tx4^2+yx4^2)^,{x4},{xx4}); v=[v,1/k4];ends5 =0;t5 = (s5 + s0)*cos(x5)-e*sin(x5);y5 = (s0 + s5)*sin(x5) - e*cos(x5);tx5=diff(t5,x5);txx5=diff(t5,x5,2);yx5=diff(y5,x5);yxx5=diff(y5,x5,2);for xx5=(10*pi/9):(pi/100):( 4*pi/3);k5=subs(abs((tx5*yxx5-txx5*yx5)/(tx5^2+yx5^2)^,{x5},{xx5}); v=[v,1/k5];endpmin=min(v)4.绘制凸轮轮廓曲线clear ;clc;syms x y z c dw= input('请输入w=');s0= 100;e = 50;r = 10;xx =0:(pi/100):(pi/4);s1 = 73*x.^2;x1 = (s1 + s0).*cos(x) - e*sin(x);y1 = (s0 + s1).*sin(x) - e*cos(x);n1 = diff (x1);m1 = diff(y1);xt1 = subs(x1+(r*m1)./(sqrt(n1.^2+m1.^2)),x,xx);yt1 = subs(y1 - (r*n1)./sqrt(m1.^2 +n1.^2),x,xx);yy = (pi/4):(pi/100):(pi/2);s2 = 90-73*(pi/2-y).^2;x2 = (s2 + s0).*cos(y)-e*sin(y);y2 = (s0 + s2).*sin(y) - e*cos(y);n2 = diff(x2);m2 = diff(y2);xt2 = subs(x2 + (r*m2)./sqrt(m2.^2+n2.^2),y,yy);yt2 = subs(y2 - (r*n2)./sqrt(m2.^2+n2.^2),y,yy);zz = (pi/2 ):(pi/100):(10*pi/9);s3 = 90;x3 = (s3 + s0).*cos(z)-e*sin(z);y3 = (s0 + s3).*sin(z) - e*cos(z);n3 = diff(x3);m3 = diff(y3);xt3= subs(x3 + (r*m3)./sqrt(m3.^2+n3.^2),z,zz);yt3 = subs(y3 - (r*n3)./sqrt(m3.^2+n3.^2),z,zz);cc= (10*pi/9):(pi/1000):( 14*pi/9);s4 =45*(1+cos(9/4*(c-10*pi/9)));x4 = (s4 + s0).*cos(c)-e*sin(c);y4 = (s0 +s4).*sin(c) - e*cos(c);n4 = diff(x4);m4 = diff(y4);xt4= subs(x4 + (r*m4)./sqrt(m4.^2+n4.^2),c,cc);yt4 =subs( y4 - (r*n4)./sqrt(m4.^2+n4.^2),c,cc);dd=(14*pi/9):(pi/1000):( 2*pi);s5 =0;x5 = (s5 + s0).*cos(d)-e*sin(d);y5 = (s0 +s5).*sin(d) - e*cos(d);n5 = diff(x5);m5 = diff(y5);xt5= subs(x5 + (r*m5)./sqrt(m5.^2+n5.^2),d,dd);yt5 =subs( y5 - (r*n5)./sqrt(m5.^2+n5.^2),d,dd);plot(xt1,yt1,'b',xt2,yt2,'b',xt3,yt3,'b',xt4,yt4,'b',xt5,yt5,'b');hold onxlabel('x/mm')ylabel('y/mm')title('凸轮工作曲线')grid on由于分步程序有很多重复,所以采用条件判断语句,求出分段的位移,速度,加速度表达式。