机械原理大作业二直动从动件盘形凸轮机构设计任务书课程名称:机械原理设计题目:盘形凸轮机构设计(20)院系:机电工程学院班级:1508104设计者:关宇珩学号:1150810423指导教师:陈明设计时间:2017.6.15哈尔滨工业大学机械设计制造目录一.凸轮设计要求 (1)二.凸轮轮廓设计数学模型 (3)三.计算流程框图 (4)四.matlab程序 (5)五.计算结果与分析 (10)一.凸轮设计要求二.凸轮轮廓设计数学模型1.确定凸轮偏心距与基圆半径(mm )通过matlab 对已给s 方程求导,通过许用压力角做斜率已知的直线,找出其与线图的切线,并找出切线的y 轴截距。
由于最大截距绝对值为65,则取偏心距3/56e =,基圆半径12/385r 0=,滚子半径3/28r =。
计算2200e -r s =。
2.建立压力角方程已知方程:⎪⎪⎭⎫ ⎝⎛+=e -d /ds arctan 0ϕα分段代入s 方程,计算升程和回程的压力角。
3.建立凸轮轮廓线的坐标方程已知凸轮轴心在从动件左方。
建立方程(理论轮廓线):()ϕϕecos sin s s x 0++=;()ϕϕesin -cos s s y 0+=;建立方程(外包络实际轮廓线):()()22d /dy d /dx d /dy r x X ϕϕϕ++=;()()22d /dy d /dx d /dx r -y Y ϕϕϕ+=;4.建立曲率方程已知方程:()()2/3222dx /dy 1dx /y d k +=;;k /1R =通过参数方程的求导方法建立R ~ψ的方程。
三.计算流程框图设时间ψ为未知量对s ,v ,a 方程求导,绘制位移、速度、加速度和ϕd /ds ~s 线图利用许用压力角做已知斜率曲线,寻找与ϕd /ds ~s线图相交的y 轴截距绝对值最大的直线为切线,取偏心距e 、基圆半径r0、滚子半径建立压力角方程建立理论轮廓线和实际轮廓线的坐标方程建立曲率半径方程以1为间隔在360度中取361个计数点,方程代入数值,绘图四.matlab程序syms phi xPhi_0=4*pi/9;%推程运动角Phi_1=pi/3;%回程运动角Phi_s0=5/9*pi;%远休止角Phi_s1=2/3*pi;%近休止角h=35;alpha_0=7/36*pi;alpha_1=7/18*pi;omiga=pi/4;e=56/3;r0=385/12;r=28/3;s0=sqrt(r0^2-e^2);s_0=h*(phi/Phi_0-sin(2*pi*phi/Phi_0)/(2*pi));v_0=h*omiga/Phi_0*(1-cos(2*pi*phi/Phi_0));a_0=2*pi*h*omiga^2/Phi_0^2*sin(2*pi*phi/Phi_0);s_1=h*(1-10*((phi-Phi_0-Phi_s0)/Phi_1)^3+15*((phi-Phi_0-Phi_s0)/Phi_1)^4-6*((phi-Phi_0-Phi_s0)/Phi_1)^5);v_1=-h*omiga/Phi_1*(30*((phi-Phi_0-Phi_s0)/Phi_1)^2-60*((phi-Phi_0-Phi_s0)/Phi_1)^3+30*((phi-Phi_0-Phi_s0)/ Phi_1)^4);a_1=-h*omiga^2/Phi_1^2*(60*((phi-Phi_0-Phi_s0)/Phi_1)-180*((phi-Phi_0-Phi_s0)/Phi_1)^2+120*((phi-Phi_0-Phi _s0)/Phi_1)^3);d_s0=diff(s_0);d_s1=diff(s_1);b0=s_0-d_s0*tan(pi/2-alpha_0);b1=s_1+d_s1*tan(pi/2-alpha_1);Alpha_0=atan(abs(d_s0-e)/(s_0+s0));Alpha_1=atan(abs(d_s1-e)/(s_1+s0));x_0=(s0+s_0)*sin(phi)+e*cos(phi);y_0=(s0+s_0)*cos(phi)-e*sin(phi);x_s0=(s0+subs(s_0,phi,Phi_0))*sin(phi)+e*cos(phi);y_s0=(s0+subs(s_0,phi,Phi_0))*cos(phi)-e*sin(phi);x_1=(s0+s_1)*sin(phi)+e*cos(phi);y_1=(s0+s_1)*cos(phi)-e*sin(phi);x_s1=(s0+subs(s_1,phi,4/3*pi))*sin(phi)+e*cos(phi); y_s1=(s0+subs(s_1,phi,4/3*pi))*cos(phi)-e*sin(phi);X_0=x_0+r*diff(y_0)/sqrt(diff(x_0)^2+diff(y_0)^2);Y_0=y_0-r*diff(x_0)/sqrt(diff(x_0)^2+diff(y_0)^2);X_s0=x_s0+r*diff(y_s0)/sqrt(diff(x_s0)^2+diff(y_s0)^2); Y_s0=y_s0-r*diff(x_s0)/sqrt(diff(x_s0)^2+diff(y_s0)^2); X_1=x_1+r*diff(y_1)/sqrt(diff(x_1)^2+diff(y_1)^2);Y_1=y_1-r*diff(x_1)/sqrt(diff(x_1)^2+diff(y_1)^2);X_s1=x_s1+r*diff(y_s1)/sqrt(diff(x_s1)^2+diff(y_s1)^2); Y_s1=y_s1-r*diff(x_s1)/sqrt(diff(x_s1)^2+diff(y_s1)^2);phi_0=0:pi/180:Phi_0;phi_1=pi:pi/180:4/3*pi;phi_s0=Phi_0:pi/180:pi;phi_s1=4/3*pi:pi/180:2*pi;S_0=subs(s_0,phi,phi_0);S_1=subs(s_1,phi,phi_1);S_s0=ones(1,101).*subs(s_0,phi,Phi_0);S_s1=ones(1,121).*subs(s_1,phi,4/3*pi);V_0=subs(v_0,phi,phi_0)./7.520072;V_1=subs(v_1,phi,phi_1)./7.520072;V_s0=zeros(1,101);V_s1=zeros(1,121);A_0=subs(a_0,phi,phi_0)./21.54342;A_1=subs(a_1,phi,phi_1)./21.54342;A_s0=zeros(1,101);A_s1=zeros(1,121);d_S0=subs(d_s0,phi,phi_0)./6.26672599;d_S1=subs(d_s1,phi,phi_1)./6.26672599;S_00=S_0./3.5;S_11=S_1./3.5;b_0=min(subs(b0,phi,phi_0));b_1=min(subs(b1,phi,phi_1));y0=x*tan(pi/2-alpha_0)+b_0;y1=-x*tan(pi/2-alpha_1)+b_1;y2=-x*tan(pi/2-alpha_0);X1=-54:6:54;X2=0:6:54;Y0=subs(y0,x,X1)./3.5;Y1=subs(y1,x,X1)./3.5;Y2=subs(y2,x,X2)./3.5;X1=X1./6.26672599;X2=X2./6.26672599;Alpha_00=subs(Alpha_0,phi,phi_0)./pi.*180;Alpha_11=subs(Alpha_1,phi,phi_1)./pi.*180;Alpha_s0=ones(1,101).*subs(Alpha_0,phi,Phi_0)./pi.*180;Alpha_s1=ones(1,121).*subs(Alpha_1,phi,4/3*pi)./pi.*180;x_00=double(subs(x_0,phi,phi_0));y_00=double(subs(y_0,phi,phi_0));x_S0=double(subs(x_s0,phi,phi_s0));y_S0=double(subs(y_s0,phi,phi_s0));x_11=double(subs(x_1,phi,phi_1));y_11=double(subs(y_1,phi,phi_1));x_S1=double(subs(x_s1,phi,phi_s1));y_S1=double(subs(y_s1,phi,phi_s1));X_00=subs(X_0,phi,phi_0).*12./7;Y_00=subs(Y_0,phi,phi_0).*12./7;X_S0=subs(X_s0,phi,phi_s0).*12./7;Y_S0=subs(Y_s0,phi,phi_s0).*12./7;X_11=subs(X_1,phi,phi_1).*12./7;Y_11=subs(Y_1,phi,phi_1).*12./7;X_S1=subs(X_s1,phi,phi_s1).*12./7;Y_S1=subs(Y_s1,phi,phi_s1).*12./7;for i=1:1:361if(i<75)r(1,i)=0.5*1/(((y_00(1,i+1)-y_00(1,i))/(x_00(1,i+1)-x_00(1,i))-(y_00(1,i+2)-y_00(1,i+1))/(x_00(1,i+2)-x_00(1,i+1)))/( x_00(1,i+1)-x_00(1,i))/(1+((y_00(1,i+1)-y_00(1,i))/(x_00(1,i+1)-x_00(1,i)))^2)^(3/2));elseif(i>=75&&i<80)r(1,i)=-0.5*1/(((y_00(1,i+1)-y_00(1,i))/(x_00(1,i+1)-x_00(1,i))-(y_00(1,i+2)-y_00(1,i+1))/(x_00(1,i+2)-x_00(1,i+1)))/( x_00(1,i+1)-x_00(1,i))/(1+((y_00(1,i+1)-y_00(1,i))/(x_00(1,i+1)-x_00(1,i)))^2)^(3/2));elseif(i>=80&&i<181)r(1,i)=r(1,79);elseif(i>=181&&i<209)r(1,i)=-0.5*1/(((y_11(1,i+1-180)-y_11(1,i-180))/(x_11(1,i+1-180)-x_11(1,i-180))-(y_11(1,i+2-180)-y_11(1,i+1-180))/ (x_11(1,i+2-180)-x_11(1,i+1-180)))/(x_11(1,i+1-180)-x_11(1,i-180))/(1+((y_11(1,i+1-180)-y_11(1,i-180))/(x_11(1,i+ 1-180)-x_11(1,i-180)))^2)^(3/2));elseif(i>=209&&i<240)r(1,i)=0.5*1/(((y_11(1,i+1-180)-y_11(1,i-180))/(x_11(1,i+1-180)-x_11(1,i-180))-(y_11(1,i+2-180)-y_11(1,i+1-180))/( x_11(1,i+2-180)-x_11(1,i+1-180)))/(x_11(1,i+1-180)-x_11(1,i-180))/(1+((y_11(1,i+1-180)-y_11(1,i-180))/(x_11(1,i+ 1-180)-x_11(1,i-180)))^2)^(3/2));elser(1,i)=r(1,239)/2;endendPHI_0=phi_0./pi.*180;PHI_1=phi_1./pi.*180;PHI_s0=phi_s0./pi.*180;PHI_s1=phi_s1./pi.*180;PHI=0:1:360;figure(1)subplot(2,2,1);plot(PHI_0,S_0);set(gca,'xtick',[0:15:360]);set(gca,'ytick',[0:3.5:38.5]);axis([0,360,0,38.5]);xlabel('凸轮转角(^o)');ylabel('位移(mm)');title('从动件位移曲线图');hold on;plot(PHI_1,S_1);plot(PHI_s0,S_s0);plot(PHI_s1,S_s1);hold off;grid onsubplot(2,2,2);plot(PHI_0,V_0);set(gca,'xtick',[0:15:360]);set(gca,'ytick',[-9:1:9]);axis([0360-99]);xlabel('凸轮转角(^o)');ylabel('速度(*7.520072mm·s^-^1)');title('从动件速度曲线图');hold on;plot(PHI_1,V_1);plot(PHI_s0,V_s0);plot(PHI_s1,V_s1);hold off;grid on subplot(2,2,3);plot(PHI_0,A_0);set(gca,'xtick',[0:15:360]);set(gca,'ytick',[-9:1:9]);axis([0360-99]);xlabel('凸轮转角(^o)');ylabel('加速度(*21.54342mm·s^-^2)'); title('从动件加速度曲线图');hold on;plot(PHI_1,A_1);plot(PHI_s0,A_s0);plot(PHI_s1,A_s1);hold off;grid onfigure(2)plot(d_S0,S_00);set(gca,'xtick',[-11:1:11]);set(gca,'ytick',[-20:1:11]);axis([-11,11,-20,11]);xlabel('ds/d\phi');ylabel('s(\phi)');title('ds/d\phi—s图');hold on;plot(d_S1,S_11);hold on;plot(X1,Y0);hold on;plot(X1,Y1);hold on;plot(X2,Y2);hold off;grid onfigure(3)plot(PHI_0,Alpha_00);set(gca,'xtick',[0:20:360]);set(gca,'ytick',[-90:10:90]);axis([0,360,-90,90]);xlabel('凸轮转角(^o)');ylabel('压力角(^o)');hold on;plot(PHI_1,Alpha_11);hold on;plot(PHI_s0,Alpha_s0);hold on;plot(PHI_s1,Alpha_s1);hold on;plot(PHI,r);hold off;grid onfigure(4)plot(X_00,Y_00);set(gca,'xtick',[-130:10:130]);set(gca,'ytick',[-150:10:80]);axis([-130,130,-120,80]);title('凸轮实际轮廓线');hold on;plot(X_S0,Y_S0);hold on;plot(X_11,Y_11);hold on;plot(X_S1,Y_S1);hold on;plot(x_00,y_00);hold on;plot(x_S0,y_S0);hold on;plot(x_11,y_11);hold on;plot(x_S1,y_S1);hold on;hold off;grid on五.计算结果与分析图1图2图3图4图5图6通过分析图像,可以知道凸轮的升程和回程时由于分别采用了正弦规律和3-4-5多项式规律,所以整个运动过程中从动件速度和加速度无突变,避免了刚性冲击和柔性冲击,适用于高速运动场合。