哈工大机械原理大作业凸轮机构第四题.docx
《哈工大机械原理大作业凸轮机构第四题.docx》由会员分享,可在线阅读,更多相关《哈工大机械原理大作业凸轮机构第四题.docx(23页珍藏版)》请在冰点文库上搜索。
哈工大机械原理大作业凸轮机构第四题
HarbinInstituteofTechnology
机械原理大作业二
课程名称:
机械原理
设计题目:
凸轮机构设计
姓名:
李清蔚
学号:
1140810304
班级:
1408103
指导教师:
林琳
一.设计题目
设计直动从动件盘形凸轮机构,其原始参数见表1
表一:
凸轮机构原始参数
升程(mm)
升程运动角(º)
升程运动规律
升程许用压力角(º)
回程运动角(º)
回程运动规律
回程许用压力角(º)
远休止角
(º)
近休止角
(º)
40
90
等加等减速
30
50
4-5-6-7多项式
60
100
120
二.凸轮推杆运动规律
(1)推程运动规律(等加速等减速运动)
推程F0=90°
1位移方程如下:
2速度方程如下:
3加速度方程如下:
(2)回程运动规律(4-5-6-7多项式)
回程
,F0=90°,Fs=100°,F0’=50°
其中回程过程的位移方程,速度方程,加速度方程如下:
三.运动线图及凸轮
线图
本题目采用Matlab编程,写出凸轮每一段的运动方程,运用Matlab模拟将凸轮的运动曲线以及凸轮形状表现出来。
代码见报告的结尾。
1、程序流程框图
开始
输入凸轮推程回程的运动方程
输入凸轮基圆偏距等基本参数
输出压力角、曲率半径图像
输出ds,dv,da图像
结束
输出凸轮的构件形状
2、运动规律ds图像如下:
速度规律dv图像如下:
加速度da规律如下图:
3.凸轮的基圆半径和偏距
以ds/dfψ-s图为基础,可分别作出三条限制线(推程许用压力角的切界限Dtdt,回程许用压力角的限制线Dt'dt',起始点压力角许用线B0d''),以这三条线可确定最小基圆半径及所对应的偏距e,在其下方选择一合适点,即可满足压力角的限制条件。
得图如下:
得最小基圆对应的坐标位置O点坐标大约为(13,-50)
经计算取偏距e=13mm,r0=51.67mm.
2.绘制理论轮廓线上的压力角曲线和曲率半径曲线
针对凸轮转向及推杆偏置,令N1=1凸轮逆时针转;N2=1偏距为正。
压力角数学模型:
曲率半径数学模型:
其中:
曲率半径以及压力角的图像如下图:
压力角图像:
曲率半径图像:
3.凸轮理论廓线和实际廓线
理论廓线数学模型:
凸轮实际廓线坐标方程式:
其中R0为确定的滚子半径,令R0=15mm
利用Matlab程序写出凸轮的理论廓线和实际廓线以及基圆、偏距圆的曲线方程,并且进行模拟,可以得出如下凸轮图像:
*附页
相关程序代码:
1位移曲线
phi1=linspace(0,90/2/180*pi);%ÍƳÌ
phi2=linspace(90/2/180*pi,90/180*pi);
phi0=90/180*pi;
h=40;
s1=2*h*(phi1/phi0).^2;
s2=h-2*h*(phi0-phi2).^2/(phi0).^2;
plot(phi1,s1)
holdon
plot(phi2,s2)
holdon
phi3=linspace(deg2rad(90),deg2rad(190),1000);%Ô¶ÐݳÌ
s3=h;
plot(phi3,s3,'-b')
holdon
phi4=linspace(deg2rad(190),deg2rad(240));%»Ø³Ì
s4=h*(1-35*((phi4-deg2rad(90)-deg2rad(100))/deg2rad(50)).^4+84*((phi4-deg2rad(90)-deg2rad(100))/deg2rad(50)).^5-70*((phi4-deg2rad(90)-deg2rad(100))/deg2rad(50)).^6+20*((phi4-deg2rad(90)-deg2rad(100))/deg2rad(50)).^7);
plot(phi4,s4)
holdon
phi5=linspace(deg2rad(240),deg2rad(360),1000);%½üÐݳÌ
s5=0;
plot(phi5,s5,'-b')
axis([0,0+11/10*deg2rad(360),0,0+11/10*h]);
gridon
ylabel('位移/mm');
xlabel('凸轮转角/rad');
②速度曲线
phi0=deg2rad(90);
phi1=linspace(0,deg2rad(90/2));
h=40;n=1;
w=2*pi*n/60;
v1=4*h*w/(deg2rad(90)).^2*phi1;
phi2=linspace(deg2rad(90/2),deg2rad(90));
v2=4*h*w*(phi0-phi2)/(deg2rad(90)).^2;
phi3=linspace(deg2rad(90),deg2rad(190),1000);
v3=0;
phi4=linspace(deg2rad(190),deg2rad(240));
v4=-h*w/deg2rad(50)*[140*((phi4-deg2rad(90)-deg2rad(100))/deg2rad(50)).^3-420*((phi4-deg2rad(90)-deg2rad(100))/deg2rad(50)).^4+420*((phi4-deg2rad(90)-deg2rad(100))/deg2rad(50)).^5-140*((phi4-deg2rad(90)-deg2rad(100))/deg2rad(50)).^6];
phi5=linspace(deg2rad(240),deg2rad(360),1000);
v5=0;
plot(phi1,v1)
holdon
plot(phi2,v2)
holdon
plot(phi3,v3,'-b')
holdon
plot(phi4,v4)
holdon
plot(phi5,v5,'-b')
gridon
ylabel('速度/mm');
xlabel('凸轮转角/rad')
③加速度曲线
phi0=deg2rad(90);%ÍƳÌ
phi1=linspace(0,deg2rad(90/2),10.^3);
h=40;
n=1;w=2*pi*n/60;
a1=4*h*w.^2/(phi0).^2;
phi2=linspace(deg2rad(90/2),deg2rad(90),10.^3);
a2=-4*h*w.^2/(phi0).^2;
phi3=linspace(deg2rad(90),deg2rad(190),1000);%Ô¶ÐݳÌ
a3=0;
phi4=linspace(deg2rad(190),deg2rad(240));%»Ø³Ì
a4=-(h*w.^2/(deg2rad(50)).^2)*[420*((phi4-deg2rad(90)-deg2rad(100))/deg2rad(50)).^2-1680*((phi4-deg2rad(90)-deg2rad(100))/deg2rad(50)).^3+2100*((phi4-deg2rad(90)-deg2rad(100))/deg2rad(50)).^4-840*((phi4-deg2rad(90)-deg2rad(100))/deg2rad(50)).^5];
phi5=linspace(deg2rad(240),deg2rad(360),1000);%½üÐݳÌ
a5=0;
phi6=[deg2rad(45),deg2rad(45)];
a6=[4*h*w.^2/(phi0).^2,-4*h*w.^2/(phi0).^2];
plot(phi1,a1,'-b')
holdon
plot(phi2,a2,'-b')
holdon
plot(phi3,a3,'-b')
holdon
plot(phi4,a4)
holdon
plot(phi5,a5)
holdon
plot(phi6,a6)
gridon
ylabel('加速度/mm');
xlabel('凸轮转角/rad');
3、
曲线
%ds/f-s
phi1=linspace(0,90/2/180*pi,1000);
phi2=linspace(90/2/180*pi,90/180*pi,1000);
phi0=90/180*pi;
h=40;
s01=2*h*(phi1/phi0).^2;
s02=h-2*h*(phi0-phi2).^2/(phi0).^2;
phi3=linspace(deg2rad(90),deg2rad(190),1000);
s03=h;
phi4=linspace(deg2rad(190),deg2rad(240));
s04=h*(1-35*((phi4-deg2rad(90)-deg2rad(100))/deg2rad(50)).^4+84*((phi4-deg2rad(90)-deg2rad(100))/deg2rad(50)).^5-70*((phi4-deg2rad(90)-deg2rad(100))/deg2rad(50)).^6+20*((phi4-deg2rad(90)-deg2rad(100))/deg2rad(50)).^7);
phi5=linspace(deg2rad(240),deg2rad(360),1000)
s05=0;
%ds/f
s1=4*h/(deg2rad(90))^2*phi1;
s2=4*h*(phi0-phi2)/(deg2rad(90))^2;
s3=0;
s4=-h/deg2rad(50)*[140*((phi4-deg2rad(90)-deg2rad(100))/deg2rad(50)).^3-420*((phi4-deg2rad(90)-deg2rad(100))/deg2rad(50)).^4+420*((phi4-deg2rad(90)-deg2rad(100))/deg2rad(50)).^5-140*((phi4-deg2rad(90)-deg2rad(100))/deg2rad(50)).^6];
s5=0;
x=[s1,s2,s3,s4,s5];
y=[s01,s02,s03,s04,s05];
plot(x,y)
holdon
%确定凸轮半径和偏距
k1=tan(pi/2-30/180*pi);k2=-tan(pi/2-60/180*pi);
y1=-k1*x+y;
y2=-k2*x+y;
y11=min(y1);
y22=min(y2);
x1=linspace(-5,50,10000);
x2=linspace(-95,55,10000);
d1=k1*x1+y11;
d2=k2*x2+y22;
x3=linspace(0,45,500);
x3=12;
y3=-48;
plot(line([0,x3],[0,y3]))
plot(line([x3,x3],[0,y3]))
plot(line([0,x3],[y3,y3]))
plot(x1,d1)
holdon
plot(x2,d2)
holdon
gridon
axis([-110,60,-100,50])
%选取O点
x4=13;y4=-50;
plot(line([0,x4],[0,y4]))
plot(line([x4,x4],[0,y4]),'k')
plot(line([0,x4],[y4,y4]),'k')
⑤压力角曲线,曲率半径曲线
xo=13;yo=50;%题目2铰链O点取值
e=xo;r0=sqrt(xo^2+yo^2);%基圆半径与偏距取值
N1=1;N2=2;
R0=15;%小滚子半径
n=2;
omiga=2*pi*n/60;
w=omiga;
phi1=linspace(0,90/2/180*pi,1000);
phi2=linspace(90/2/180*pi,90/180*pi,1000);
phi3=linspace(deg2rad(90),deg2rad(190),1000);
phi4=linspace(deg2rad(190),deg2rad(240),1000);
phi5=linspace(deg2rad(240),deg2rad(360),1000);
phi0=90/180*pi;
h=40;
%推程
s1=2*h*(phi1/phi0).^2+0*phi1;
v1=4*h*w/(deg2rad(90)).^2*phi1+0*phi1;
a1=4*h*w.^2/(phi0).^2+0*phi1;
s2=h-2*h*(phi0-phi2).^2/(phi0).^2+phi2*0;
v2=4*h*w*(phi0-phi2)/(deg2rad(90)).^2+phi2*0;
a2=-4*h*w.^2/(phi0).^2+phi2*0;
%远休程
s3=h+phi3*0;
v3=0+phi3*0;
a3=0+phi3*0;
%回程
s4=h*(1-35*((phi4-deg2rad(90)-deg2rad(100))/deg2rad(50)).^4+84*((phi4-deg2rad(90)-deg2rad(100))/deg2rad(50)).^5-70*((phi4-deg2rad(90)-deg2rad(100))/deg2rad(50)).^6+20*((phi4-deg2rad(90)-deg2rad(100))/deg2rad(50)).^7)+phi4*0;
v4=-h*w/deg2rad(50)*[140*((phi4-deg2rad(90)-deg2rad(100))/deg2rad(50)).^3-420*((phi4-deg2rad(90)-deg2rad(100))/deg2rad(50)).^4+420*((phi4-deg2rad(90)-deg2rad(100))/deg2rad(50)).^5-140*((phi4-deg2rad(90)-deg2rad(100))/deg2rad(50)).^6]+phi4*0;
a4=-(h*w.^2/(deg2rad(50)).^2)*[420*((phi4-deg2rad(90)-deg2rad(100))/deg2rad(50)).^2-1680*((phi4-deg2rad(90)-deg2rad(100))/deg2rad(50)).^3+2100*((phi4-deg2rad(90)-deg2rad(100))/deg2rad(50)).^4-840*((phi4-deg2rad(90)-deg2rad(100))/deg2rad(50)).^5]+phi4*0;
%近休程
s5=0+phi5*0;
v5=0+phi5*0;
a5=0+phi5*0;
%全部运动过程
s=[s1,s2,s3,s4,s5];
v=[v1,v2,v3,v4,v5];
a=[a1,a2,a3,a4,a5];
phi=[phi1,phi2,phi3,phi4,phi5];
%初始推程s0,起点坐标x0,y0
%理论廓线
s0=sqrt(r0^2-e^2);
x0=(s0+s).*sin(N1*phi)+N2*e.*cos(N1*phi);
y0=(s0+s).*cos(N1*phi)-N2*e.*sin(N1*phi);
LXphi=(v./omiga-N1*N2*e).*sin(N1*phi.*pi/180)+N1*(s0+s).*cos(N1*phi.*pi/180);
LYphi=(v./omiga-N1*N2*e).*cos(N1*phi.*pi/180)-N1*(s0+s).*sin(N1*phi.*pi/180);
%计算压力角
%推程压力角
r1=s0+s1;
ang1=abs(atan((v1/omiga-N1*N2*e)./r1))*180/pi;
r2=s0+s2;
ang2=abs(atan((v2/omiga-N1*N2*e)./r2))*180/pi;
%回程压力角
r4=s0+s4;
ang4=abs(atan((v4/omiga-N1*N2*e)./r4))*180/pi;
%远休程压力角
r3=(s0+h)*ones(1,size(s3,5));
ang3=abs(atan((-N1*N2*e)./r3))*180/pi+0*phi3;
%近休程压力角
r5=s0*ones(1,size(s5,5));
ang5=abs(atan((-N1*N2*e)./r5))*180/pi+0*phi5;
%凸轮的曲率半径
LLXphi=(a./omiga^2.-s0-s).*sin(N1*phi.*pi/180)+(2*v./omiga-N1*N2*e).*N1.*cos(N1*phi.*pi/180);
LLYphi=(a./omiga^2.-s0-s).*cos(N1*phi.*pi/180)-(2*v./omiga-N1*N2*e).*N1.*sin(N1*phi.*pi/180);
A=(LXphi.^2+LYphi.^2).^1.5;
B=-LXphi.*LLYphi+LYphi.*LLXphi;
rou=A./B;
M=-1;
rou0=abs(rou+M*R0);
plot(phi,rou0)
axis([0,6,10,100])
xlabel('凸轮转角/rad')
ylabel('长度/mm')
holdon
angle=[ang1,ang2,ang3,ang4,ang5];
plot(phi,angle)
axis([0,6,0,100])
4、理论轮廓线和实际轮廓线
xo=13;yo=-50;%题目2铰链O点取值
e=xo;r0=sqrt(xo^2+yo^2);%基圆半径与偏距取值
N1=1;N2=1;
R0=15;%小滚子半径
n=2;
omiga=2*pi*n/60;
w=omiga;
phi1=linspace(0,90/2/180*pi,1000);
phi2=linspace(90/2/180*pi,90/180*pi,1000);
phi3=linspace(deg2rad(90),deg2rad(190),1000);
phi4=linspace(deg2rad(190),deg2rad(240),1000);
phi5=linspace(deg2rad(240),deg2rad(360),1000);
phi0=90/180*pi;
h=40;
%推程
s1=2*h*(phi1/phi0).^2+0*phi1;
v1=4*h*w/(deg2rad(90)).^2*phi1+0*phi1;
a1=4*h*w.^2/(phi0).^2+0*phi1;
s2=h-2*h*(phi0-phi2).^2/(phi0).^2+phi2*0;
v2=4*h*w*(phi0-phi2)/(deg2rad(90)).^2+phi2*0;
a2=-4*h*w.^2/(phi0).^2+phi2*0;
%远休程
s3=h+phi3*0;
v3=0+phi3*0;
a3=0+phi3*0;
%回程s4=h*(1-35*((phi4-deg2rad(90)-deg2rad(100))/deg2rad(50)).^4+84*((phi4-deg2rad(90)-deg2rad(100))/deg2rad(50)).^5-70*((phi4-deg2rad(90)-deg2rad(100))/deg2rad(50)).^6+20*((phi4-deg2rad(90)-deg2rad(100))/deg2rad(50)).^7)+phi4*0;
v4=-h*w/deg2rad(50)*[140*((phi4-deg2rad(90)-deg2rad(100))/deg2rad(50)).^3-420*((phi4-deg2rad(90)-deg2rad(100))/deg2rad(50)).^4+420*((phi4-deg2rad(90)-deg2rad(100))/deg2rad(50)).^5-140*((phi4-deg2rad(90)-deg2rad(100))/deg2rad(50)).^6]+phi4*0;
a4=-(h*w.^2/(deg2rad(50)).^2)*[420*((phi4-deg2rad(90)-deg2rad(100))/deg2rad(50)).^2-1680*((phi4-deg2rad(90)-deg2rad(100))/deg2rad(50)).^3+2100*((phi4-deg2rad(90)-deg2rad(100))/deg2rad(50)).^4-840*((phi4-deg2rad(90)-deg2rad(100))/deg2rad(50)).^5]+phi4*0;
%近休程
s5=0+phi5*0;
v5=0+phi5*0;
a5=0+phi5*0;
%全部运动过程
s=[s1,s2,s3,s4,s5];
v=[v1,v2,v3,v4,v5];
a=[a1,a2,a3,a4,a5];
phi=[phi1,phi2,phi3,phi4,phi5];
%初始推程s0,起点坐标x0,y0
%理论廓线
s0=sqrt(r0^2-e^2);
x0=(s0+s).*sin(N1*phi)+N2*e.*cos(N1*phi);
y0=(s0+s).*cos(N1*phi)-N2*e.*sin(N1*phi);
LX=(v./omiga-N1*N2*e).*sin(N1*phi)+N1*(s0+s).*cos(N1*phi);
LY=(v./omiga-N1*N2*e).*cos(N1*phi)-N1*(s0+s).*sin(N1*phi);
plot(x0,y0,'R','linewidth',2)
axisequal
holdon
%实际廓线M=-1;
ifR0==0
Sx=x0;Sy=y0;
else
H=sqrt(LX.^2+LY.^2);
Sx=x0-N1*M*R0*LY./H;
Sy=y0+N1*M*R0*LX./H;
end
plot(Sx,Sy)
holdon
axisequal
%画出基圆
r1=r0;
k=0:
0.005:
2*pi;
x2=r1*sin(k);
y2=r1*cos(k);
plot(x2,y2,'-.')
axisequal
xlabel('凸轮转角/rad')
ylabel('长度/mm')
%画出偏距圆
r2=e;
k1=0:
0.001:
2*pi;
x3=r2*sin(k1);
y3