机械原理大作业2-凸轮机构设计

更新时间:2023-05-03 05:51:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

机械原理大作业2-凸轮机构设计

Harbin Institute of Technology

机械原理大作业二

课程名称:机械原理

设计题目:凸轮机构设计

院系:机电工程学院

姓名:

学号:

班级:

指导教师:

1 / 1

机械原理大作业2-凸轮机构设计

1 / 1

1.设计题目

设计直动从动件盘形凸轮机构,其原始参数见表

1

表一: 凸轮机构原始参数 升程(mm ) 升程运动角(o) 升程运动规律 升程许用压力角(o)

回程运动角(o) 回程运动规律

回程许用压力角(o) 远休止角 (o) 近休止角 (o) 30 70 等加

等减

30 170 正弦加速度 60 100 120

机械原理大作业2-凸轮机构设计

1 / 1 2.凸轮推杆运动规律

(1)推程运动规律(等加速等减速运动) 推程 0350≤≤?

推程 007035≤≤?

(2)回程运动规律(正弦加速度) 回程 00240170≤≤?

机械原理大作业2-凸轮机构设计

1 / 1

开始 输入初始参数 运行各部分程序 输出1 输出2 输出3 输出4 结束

从动件位移、速度、加速度曲线

ds/d ψ-s 曲线,确定基圆半径和偏距 理论轮廓线上的压力角和曲率半径图 绘制理论轮廓线和实际轮廓线

机械原理大作业2-凸轮机构设计

1 / 1 3.运动线图及凸轮s d ds

线图

采用Matlab 编程,其所有源程序见附页: 令

可得运动规律图如下:

机械原理大作业2-凸轮机构设计

1 / 1 1.凸轮的基圆半径和偏距

以ds/df ψ-s 图为基础,可分别作出三条限制线(推程许用压力角的切界限D t d t ,回程许用压力角的限制线D t 'd t ',起始点压力角许用线B 0d ''),以这三条线可确定最小基圆半径及所对应的偏距e,在其下方选择一合适点,即可满足压力角的限制条件。

得图如下:得最小基圆对应的坐标位置大约为(20,-35)

经计算取偏距e=20mm ,

r0=40.3mm.

机械原理大作业2-凸轮机构设计

1 / 1 2.绘制理论轮廓线上的压力角曲线和曲率半径曲线

针对凸轮转向及推杆偏置,令N1=1凸轮逆时针转;N2=1偏距为正。

压力角数学模型:

曲率半径数学模型:

)/

)(/()/)(/(])/()/[(22222

/322??????ρd x d d dy d y d d dx d dy d dx -+= 其中:

)sin(])/[()cos(])/(2[/102212122?????N s s d s d N e N N d ds d x d --+-=

)cos(])/[()(sin ])/(2[/202212122?????N s s d s d N e N N d ds d y d --+--=

机械原理大作业2-凸轮机构设计

1 / 1 3.凸轮理论廓线和实际廓线

理论廓线数学模型:

???

?sin cos )(cos sin )(00e s s y e s s x -+=++=

凸轮实际廓线坐标方程式:

2

2'2

2')/()/()

/()/()/()/(??????d dy d dx d dy r y y d dy d dx d dx r x x t t +-=++=

其中rt 为确定的滚子半径。

根据上面公式,利用matlab 编程求解,其代码如下: 令rt=10mm

得图如下:

机械原理大作业2-凸轮机构设计

*附页

相关程序代码:

1>位移曲线

phi1=linspace(0,70/2/180*pi); %推程

phi2=linspace(70/2/180*pi,70/180*pi);

phi0=70/180*pi;h=30;

s1=2*h*(phi1/phi0).^2;

s2=h-2*h*(phi0-phi2).^2/(phi0).^2;

plot(phi1,s1)

hold on

plot(phi2,s2)

hold on

phi3=linspace(deg2rad(70),deg2rad(170),1000); %远休程

s3=h;

plot(phi3,s3,'-b')

hold on

phi4=linspace(deg2rad(170),deg2rad(240)); %回程

s4=h*(1-(phi4-phi0-deg2rad(100))/deg2rad(70)+1/2/pi*sin(2*pi*(phi4-ph i0-deg2rad(100))/deg2rad(70)));

plot(phi4,s4)

hold on

phi5=linspace(deg2rad(240),deg2rad(360),1000); %近休程

s5=0;

plot(phi5,s5,'-b')

axis([0,4/3*deg2rad(360),0,0+3/2*h]);

grid on

ylabel('位移/mm');

xlabel('凸轮转角/rad');

2>速度曲线

phi0=deg2rad(70); %推程

phi1=linspace(0,deg2rad(70/2));

h=30;n=1;w=2*pi*n/60;v1=4*h*w/(deg2rad(70))^2*phi1;

plot(phi1,v1)

hold on

phi2=linspace(deg2rad(70/2),deg2rad(70));

v2=4*h*w*(phi0-phi2)/(deg2rad(70))^2;

plot(phi2,v2)

hold on

phi3=linspace(deg2rad(70),deg2rad(170),1000); %远休程

v3=0;

plot(phi3,v3,'-b')

hold on

1 / 1

机械原理大作业2-凸轮机构设计

phi4=linspace(deg2rad(170),deg2rad(240)); %回程

v4=-h*w/deg2rad(70)*(1-cos(2*pi/deg2rad(70)*(phi4-deg2rad(70)-deg2rad (100))));

plot(phi4,v4)

hold on

phi5=linspace(deg2rad(240),deg2rad(360),1000); %近休程

v5=0;

plot(phi5,v5,'-b')

grid on

ylabel('速度/mm/s');

xlabel('凸轮转角/rad');

3>加速度曲线

phi0=deg2rad(70);

phi1=linspace(0,deg2rad(70/2),10^3);

h=30; n=1; w=2*pi*n/60; a1=4*h*w^2/(phi0)^2;

plot(phi1,a1,'-b')

hold on

phi2=linspace(deg2rad(70/2),deg2rad(70),10^3);

a2=-4*h*w^2/(phi0)^2;

plot(phi2,a2,'-b')

hold on

phi3=linspace(deg2rad(70),deg2rad(170),1000);

a3=0;

plot(phi3,a3,'-b')

hold on

phi4=linspace(deg2rad(170),deg2rad(240));

a4=-2*pi*h*w^2/(deg2rad(70))^2*sin(2*pi/deg2rad(70)*(phi4-deg2rad(70) -deg2rad(100)));

plot(phi4,a4)

hold on

phi5=linspace(deg2rad(240),deg2rad(360),1000);

a5=0;

plot(phi5,a5,'-b')

hold on

phi6=[deg2rad(35),deg2rad(35)];

a6=[4*h*w^2/(phi0)^2,-4*h*w^2/(phi0)^2];

plot(phi6,a6)

grid on

ylabel('加速度/mm/s^2');

xlabel('凸轮转角/rad');

4>曲线

phi1=linspace(0,70/2/180*pi,1000);

phi2=linspace(70/2/180*pi,70/180*pi,1000);

1 / 1

机械原理大作业2-凸轮机构设计

phi0=70/180*pi;h=30;

s01=2*h*(phi1/phi0).^2;

s02=h-2*h*(phi0-phi2).^2/(phi0).^2;

phi3=linspace(deg2rad(70),deg2rad(170),1000);

s03=h;

phi4=linspace(deg2rad(170),deg2rad(240));

s04=h*(1-(phi4-phi0-deg2rad(100))/deg2rad(70)+1/2/pi*sin(2*pi*(phi4-p hi0-deg2rad(100))/deg2rad(70)));

phi5=linspace(deg2rad(240),deg2rad(360),1000)

s05=0;

%ds/f

s1=4*h*phi1/(phi0)^2;

s2=4*h*(phi0-phi2)/(phi0).^2;

s3=0;

s4=h*(-1/deg2rad(70)+1/deg2rad(70)*cos(2*pi*(phi4-phi0-deg2rad(100))/ deg2rad(70)));

s5=0;

x=[s1,s2,s3,s4,s5];

y=[s01,s02,s03,s04,s05];

plot(x,y)

hold on

%确定凸轮半径和偏距

k1=tan(pi/2-30/180*pi);k2=-tan(pi/2-60/180*pi);

y1=-k1*x+y;

y2=-k2*x+y;

y1s=min(y1);

y2s=min(y2);

x=linspace(-50,50,1000);

d1=k1*x+y1s;

d2=k2*x+y2s;

x0=linspace(0,60,200);

d0=-k1*x0;

plot(x,d1)

hold on

plot(x,d2)

hold on

plot(x0,d0)

grid on

axis([-55,55,-80,40])

axis equal

%由图像得r0=40.3,e=20

xlabel('ds/d|×')

ylabel('s/mm')

5>压力角曲线

1 / 1

机械原理大作业2-凸轮机构设计

h=30;

r0=40.3;e=20;N1=1;%凸轮逆时针转N2=1;%偏距为正n=1;

omiga=2*pi*n/60;

s0=sqrt(r0^2-e^2);

phi1=linspace(0,70/2/180*pi);

phi2=linspace(70/2/180*pi,70/180*pi);

phi0=70/180*pi;

s1=2*h*(phi1/phi0).^2;

s20=h-2*h*(phi0-phi2).^2/(phi0).^2;

v1=4*h*omiga/(deg2rad(70))^2*phi1;

v2=4*h*omiga*(phi0-phi2)/(deg2rad(70))^2;

phi3=linspace(deg2rad(70),deg2rad(170),1000);

s3=h;

phi4=linspace(deg2rad(170),deg2rad(240));

s40=h*(1-(phi4-phi0-deg2rad(100))/deg2rad(70)+1/2/pi*sin(2*pi*(phi4-p hi0-deg2rad(100))/deg2rad(70)));

v4=-h*omiga/deg2rad(70)*(1-cos(2*pi/deg2rad(70)*(phi4-deg2rad(70)-deg 2rad(100))));

phi5=linspace(deg2rad(240),deg2rad(360),1000);

s5=0;

%计算压力角

DsDphi1=v1./omiga;

rs1=s0+s1;

ang1=abs(atan((DsDphi1-N1*N2*e)./rs1))*180/pi;%ang1:推程压力角

DsDphi2=v2./omiga;

rs3=s0+s20;

ang2=abs(atan((DsDphi2-N1*N2*e)./rs3))*180/pi;%ang3:推程压力角

DsDphi3=v4./omiga;

rs5=s0+s40

ang4=abs(atan((DsDphi3-N1*N2*e)./rs5))*180/pi;%ang5:回程压力角

rs2=(s0+h)*ones(1,size(s3,2));

rs4=s0*ones(1,size(s5,2));

ang3=abs(atan((-N1*N2*e)./rs2))*180/pi+0*phi3;%ang2:远休止压力角

ang5=abs(atan((-N1*N2*e)./rs4))*180/pi+0*phi5;%ang4:近休止压力角

ang=[ang1,ang2,ang3,ang4,ang5];

phi=[phi1,phi2,phi3,phi4,phi5];

plot(phi,ang)

grid on

ylabel('压力角α/°');

xlabel('凸轮转角/rad');

title('压力角曲线')

6>曲率半径曲线

h=30;r0=40.3; e=20;N1=1;%凸轮逆时针转N2=1;%偏距为正

rt=10;%滚子半径n=1; M=-1;

1 / 1

机械原理大作业2-凸轮机构设计

omiga=2*pi*n/60;

s0=sqrt(r0^2-e^2);

phi1=linspace(0,70/2/180*pi);

phi2=linspace(70/2/180*pi,70/180*pi);

phi0=70/180*pi;

s1=2*h*(phi1/phi0).^2;

s2=h-2*h*(phi0-phi2).^2/(phi0).^2;

v1=4*h*omiga/(deg2rad(70))^2*phi1;

a1=4*h*omiga^2/(phi0)^2+0*phi1;

v2=4*h*omiga*(phi0-phi2)/(deg2rad(70))^2;

a2=-4*h*omiga^2/(phi0)^2+0*phi2;

phi3=linspace(deg2rad(70),deg2rad(170));

s3=h+0*phi3;

v3=0+0*phi3;

a3=0+0*phi3;

phi4=linspace(deg2rad(170),deg2rad(240));

s4=h*(1-(phi4-phi0-deg2rad(100))/deg2rad(70)+1/2/pi*sin(2*pi*(phi4-ph i0-deg2rad(100))/deg2rad(70)));

v4=-h*omiga/deg2rad(70)*(1-cos(2*pi/deg2rad(70)*(phi4-deg2rad(70)-deg 2rad(100))));

a4=-2*pi*h*omiga^2/(deg2rad(70))^2*sin(2*pi/deg2rad(70)*(phi4-deg2rad (70)-deg2rad(100)));

phi5=linspace(deg2rad(240),deg2rad(360)); %?üDY3ì

s5=0+0*phi5;

v5=0+0*phi5;

a5=0+0*phi5;

phi=[phi1,phi2,phi3,phi4,phi5];

s=[s1,s2,s3,s4,s5];

v=[v1,v2,v3,v4,v5];

a=[a1,a2,a3,a4,a5];

Dx0Dphi=(v./omiga-N2*N1*e).*sin(N1*phi.*pi/180)+N1*(s0+s).*cos(N1*phi .*pi/180);

Dy0Dphi=(v./omiga-N2*N1*e).*cos(N1*phi.*pi/180)-N1*(s0+s).*sin(N1*phi .*pi/180);

phi=[phi1,phi2,phi3,phi4,phi5];

s=[s1,s2,s3,s4,s5];

v=[v1,v2,v3,v4,v5];

a=[a1,a2,a3,a4,a5];

DsDphi=v./omiga;

DDsDphi=(a./omiga^2);

DDxDphi=(DDsDphi-s0-s).*sin(N1*phi.*pi/180)+(2*DsDphi-N1*N2*e).*N1.*c os(N1*phi.*pi/180);

DDyDphi=(DDsDphi-s0-s).*cos(N1*phi.*pi/180)-(2*DsDphi-N1*N2*e).*N1.*s in(N1*phi.*pi/180);

1 / 1

机械原理大作业2-凸轮机构设计

A=(Dx0Dphi.^2+Dy0Dphi.^2).^1.5;

B=Dx0Dphi.*DDyDphi-Dy0Dphi.*DDxDphi;

rou=A./B; %理论轮廓曲率半径

rou0=abs(rou+M*rt);%实际轮廓曲率半径

plot(phi,rou0)

axis([1,7,0,100])

xlabel('凸轮转角/rad')

ylabel('曲率半径/mm')

grid on

title('曲率半径曲线')

7>轮廓线

h=30;r0=40.3; e=20; N1=1;%凸轮逆时针转N2=1;%偏距为正

rt=10;%滚子半径n=1; M=-1;

omiga=2*pi*n/60;

s0=sqrt(r0^2-e^2);

phi1=linspace(0,70/2/180*pi); %推程

phi2=linspace(70/2/180*pi,70/180*pi);

phi0=70/180*pi;

s1=2*h*(phi1/phi0).^2;

s2=h-2*h*(phi0-phi2).^2/(phi0).^2;

v1=4*h*omiga/(deg2rad(70))^2*phi1;

a1=4*h*omiga^2/(phi0)^2+0*phi1;

v2=4*h*omiga*(phi0-phi2)/(deg2rad(70))^2;

a2=-4*h*omiga^2/(phi0)^2+0*phi2;

phi3=linspace(deg2rad(70),deg2rad(170)); %远休程

s3=h+0*phi3;

v3=0+0*phi3;

a3=0+0*phi3;

phi4=linspace(deg2rad(170),deg2rad(240)); %回程

s4=h*(1-(phi4-phi0-deg2rad(100))/deg2rad(70)+1/2/pi*sin(2*pi*(phi4-ph i0-deg2rad(100))/deg2rad(70)));

v4=-h*omiga/deg2rad(70)*(1-cos(2*pi/deg2rad(70)*(phi4-deg2rad(70)-deg 2rad(100))));

a4=-2*pi*h*omiga^2/(deg2rad(70))^2*sin(2*pi/deg2rad(70)*(phi4-deg2rad (70)-deg2rad(100)));

phi5=linspace(deg2rad(240),deg2rad(360)); %近休程

s5=0+0*phi5;

v5=0+0*phi5;

a5=0+0*phi5;

phi=[phi1,phi2,phi3,phi4,phi5];

s=[s1,s2,s3,s4,s5];

v=[v1,v2,v3,v4,v5];

a=[a1,a2,a3,a4,a5];

1 / 1

机械原理大作业2-凸轮机构设计

%理论轮廓线

x0=(s0+s).*sin(N1*phi)+N2*e.*cos(N1*phi);

y0=(s0+s).*cos(N1*phi)-N2*e.*sin(N1*phi);

plot(x0,y0,'--g')

hold on

%计算实际轮廓线

Dx0Dphi=(v./omiga-N2*N1*e).*sin(N1*phi)+N1*(s0+s).*cos(N1*phi); Dy0Dphi=(v./omiga-N2*N1*e).*cos(N1*phi)-N1*(s0+s).*sin(N1*phi); if rt==0

x1=x0;

y1=y0;

else

A=sqrt(Dx0Dphi.^2+Dy0Dphi.^2);

x1=x0-N1*M*rt*Dy0Dphi./A;

y1=y0+N1*M*rt*Dx0Dphi./A;

end

plot(x1,y1,'r')

hold on

r1=r0;

aerf=0:0.01:2*pi;

x2=r1*sin(aerf);

y2=r1*cos(aerf);

plot(x2,y2,'-.')

grid on

xlabel('凸轮转角/rad')

ylabel('长度/mm')

legend('理论轮廓线','实际轮廓线','基圆')

%小滚子

%(20,34.99)

x4=20+1*sin(aerf);

y4=34.99+1*cos(aerf);

x5=20+10*sin(aerf);

y5=34.99+10*cos(aerf);

x6=20;

y6=34.99;

y7=110;

x=[x4,x5,x6,x6];

y=[y4,y5,y6,y7];

plot(x,y,'k','LineWidth',2)

hold on

axis equal

1 / 1

本文来源:https://www.bwwdw.com/article/1lne.html

Top