机械原理大作业二.docx
《机械原理大作业二.docx》由会员分享,可在线阅读,更多相关《机械原理大作业二.docx(12页珍藏版)》请在冰豆网上搜索。
机械原理大作业二
机械原理大作业二
课程名称:
直动从动件盘形凸轮结构设计设计题目:
32
院系:
机电工程学院
班级:
完成者:
学号:
指导教师:
林琳、刘福利
设计时间:
2015年6月
哈尔滨工业大学
1、设计题目
凸轮机构原始参数
升程
(mm
)
升程运动
角(º)
升程运动规律
升程许用压力
角(º)
回程运动
角(º)
回程运动规律
回程许用压力
角(º)
远休止角
(º)
近休止角
(º)
50
60
3-4-5多项
式
30
80
简-直
-简
60
100
120
2、凸轮推杆运动规律
1.推程运动规律方程(3-4-5多项式)位移方程
速度方程
加速度方程
2.回程运动规律方程位移方程
速度方程
加速度方程
三、从动件位移、速度、加速度线图绘制
计算程序
运用MATLAB编写的计算绘图源程序如下:
function[fai,s,v,a,f,F]=t1(h,phi01,phis01,phi02,phis02,n,N)w=2*pi*n/60;fai1=linspace(0,phi01,round(phi01)+1);%推程运动
s1=h*(10*(fai1/phi01).^3-15*(fai1/phi01).^4+6*(fai1/phi01).^5)
;f1=h*(30*(fai1/phi01).^2-60*(fai1/phi01).^3+30*(fai1/phi01).^4)
/(phi01*pi/180);
F1=h*(60*(fai1/phi01)-180*(fai1/phi01).^2+120*(fai1/phi01).^3)
/((phi01*pi/180).^2);v1=h*w*(30*(fai1/phi01).^2-60*(fai1/phi01).^3+30*(fai1/phi01).
^4)/(phi01*pi/180);a1=h*w.^2*(60*(fai1/phi01)-180*(fai1/phi01).^2+120*(fai1/phi01)
.^3)/((phi01*pi/180).^2);
fai2=linspace(phi01+1,phis01+phi01,round(phis01));%远休程s2=h*ones(1,length(fai2));f2=zeros(1,length(fai2));F2=f2;
v2=zeros(1,length(fai2));a2=zeros(1,length(fai2));
fai01=linspace(phi01+phis01,phi01+phis01+phi02/N,round(phi02/N));
%简-直-简s01=h-2*h/(4+(N-2)*pi)+2*h/(4+(N-2)*pi)*cos(N.*pi.*(fai01-phi0
1-phis01)/2/phi02);f01=-h*N*pi/(4+(N-2)*pi)/phi02*180/pi*sin(N*pi*(fai01-phi01-ph
is01)/2/phi02);
F01=-h.*N^2.*pi^2/2/(4+(N-2).*pi)/(phi02^2.*pi/180).*cos(N.*pi.
*(fai01-phi01-phis01)/2/phi02).*ones(1,length(fai01));v01=-h*N*pi*w/(4+(N-2)*pi)/phi02*180/pi*sin(N*pi*(fai01-phi01-
phis01)/2/phi02);a01=-h.*N^2.*pi^2.*w^2*cos(N.*pi.*(fai01-phi01-phis01)/(2.*phi02))/2/(4+(N-2).*pi.*(phi02.*pi/180)^2).*ones(1,length(fai01));
fai02=linspace(phi01+phis01+phi02/N+1,phi01+phis01+phi02*(N-1)
/N,round(phi02*(N-2)/N));s02=h-h*(N*pi*(fai02-phi01-phis01)/phi02-pi+2)/(4+(N-2)*pi);f02=-h.*N.*pi/(4+(N-2).*pi)/phi02.*180/pi*ones(1,length(fai02))
;
F02=zeros(1,length(fai02));
v02=-h*N*pi*w/(4+(N-2)*pi)/phi02*180/pi*ones(1,length(fai02));a02=zeros(1,length(fai02));
fai03=linspace(phi01+phis01+phi02*(N-1)/N+1,phi01+phis01+phi02,
round(phi02/N));s03=2.*h/(4+(N-2)*pi).*(1+cos(N.*pi.*(fai03-phi01-phis01)/2/ph
i02-(N-2)*pi/2));f03=-h.*N.*pi/(4+(N-2).*pi)/phi02.*180/pi.*sin(N.*pi.*(fai03-phi01-phis01)/2/phi02-(N-2).*pi/2).*ones(1,length(fai02));
F03=-h.*N^2.*pi^2/2/(4+(N-2).*pi)/(phi02^2.*pi/180).*cos(N.*pi.*(fai03-phi01-phis01)/2/phi02-(N-2).*pi/2).*ones(1,length(fai01))
;v03=-h.*N.*pi.*w/(4+(N-2).*pi)/phi02.*180/pi.*sin(N.*pi.*(fai0
3-phi01-phis01)/2/phi02-(N-2).*pi/2).*ones(1,length(fai02));a03=-h.*N^2.*pi^2.*w^2.*cos(N.*pi.*(fai03-phi01-phis01)/(2.*ph
i02)-pi.*(N-2)/2)/2/(4+(N-2).*pi.*(phi02.*pi/180)^2).*ones(1,length(fai01));s3=[s01,s02,s03];f3=[f01,f02,f03];F3=[F01,F02,F03];v3=[v01,v02,v03];a3=[a01,a02,a03];fai3=[fai01,fai02,fai03];
fai4=linspace(phi01+phis01+phi02+1,360,round(phis02));%近休程s4=zeros(1,length(fai4));f4=zeros(1,length(fai4));
F4=f4;
v4=zeros(1,length(fai4));a4=zeros(1,length(fai4));
fai=[fai1,fai2,fai3,fai4];s=[s1,s2,s3,s4];f=[f1,f2,f3,f4];F=[F1,F2,F3,F4];v=[v1,v2,v3,v4];a=[a1,a2,a3,a4];
End
输入绘图程序如下:
figure
(1)subplot(3,1,1);plot(fai,s),gridonxlabel('凸轮转角(^o)');ylabel('位移(mm)');title('位移(mm)')subplot(3,1,2);plot(fai,v),gridonxlabel('凸轮转角(^o)');ylabel('速度(mm/s)');
subplot(3,1,3);plot(fai,a),gridonxlabel('凸轮转角(^o)');ylabel('加速度(mm/s^2)');figure
(2)plot(f,s),gridonxlabel('ds/df');ylabel('s(f)')
End
可得位移、速度、加速度线图如图所示:
(1)位移图
(2)速度图
(4)加速度图
四、凸轮机构
ds线图及基圆半径和偏距的确定d
d
程许用压力角的限制线Dd'tt',起始点压力角许用线B0d''),以这三条线可确定最小基圆半径及所对应的偏距e,在其下方选择一合适点,即可满足压力角的限制条件。
利用Matlab作图,其源代码如下
function[x,d1,d2,x0,d0]=limit(s,f,a1,a2)%d1,d2,d0为三条限制线y值,
可确定最小基圆半径
k1=tan(pi/2-a1*pi/180);
k2=-tan(pi/2-a2*pi/180);ym1=0;ym2=0;fori=1:
341iff(i)>0y1=-k1*f(i)+s(i);ify1f01=f(i);s01=s(i);
end
elsey2=-k2*f(i)+s(i);ify2%求的推程限制线对应的切点坐标
f02=f(i);s02=s(i);
%回程的限制线切点坐标
end
end
endx=linspace(-100,200,300);d1=k1*(x-f01)+s01;d2=k2*(x-f02)+s02;x0=linspace(0,200,200);d0=-k1*x0;end
命令窗口输入:
>>[x,d1,d2,x0,d0]=limit(s,f,30,60)
>>hold
>>plot(x,d1,x,d2,x0,d0)
得到如下图所示图像
得最小基圆对应的坐标位置大约为(38.,-65)
经计算取偏距
e=38,r0=75.3
五、理论轮廓上压力角线图和曲率半径线图
利用matlab编程求解,代码如下:
function[pm,C]=qulv(fai,s,f,F,e,r0)s0=sqrt(r0^2-e^2);Q1=(s0+s).*cos(fai*pi/180)+(f-e).*sin(fai*pi/180);
Q2=-(s0+s).*sin(fai*pi/180)+(f-e).*cos(fai*pi/180);
A0=sqrt(Q1.^2+Q2.^2);
A=A0.^3;
S1=(2*f-e).*cos(fai*pi/180)+(F-s0-s).*sin(fai*pi/180);
S2=(F-s0-s).*cos(fai*pi/180)-(2*f-e).*sin(fai*pi/180);
S0=sqrt(S1.^2+S2.^2);
C=(1+A0.^2).^(3/2)./S0;B=Q1.*S2-Q2.*S1;p=A./B;pm=100;fori=1:
length(fai)
ifabs(p(i))pm=p(i);end
endend
在命令窗口输入:
[pm,C]=qulv(fai,s,f,F,38,75.3)
可判断出rt<40mm,现取rt=15mm。
利用matlab编程得理论轮廓上压力角线图和曲率半径线图在命令窗口输入:
>>plot(fai,C);
压力角
在命令输入框里再输入如下命令:
alpha=atan((f-38)./(s+sqrt(75.3^2-38^2)))plot(fai,abs(alpha))
得出曲率半径图:
曲率半径图
六、滚子半径及凸轮理论廓线和实际廓线
为求滚子许用半径,须确定最小曲率半径,以防止凸轮工作轮廓出现尖点或出现相交包络线,确定最小曲率半径数学模型如下:
其中:
利用上式可求的最小曲率半径,而后可确定实际廓线。
理论廓线数学模型:
凸轮实际廓线坐标方程式:
其中为确定的滚子半径。
利用matlab编程求解,代码如下:
function[pm,C]=qulv(fai,s,f,F,e,r0)s0=sqrt(r0^2-e^2);Q1=(s0+s).*cos(fai*pi/180)+(f-e).*sin(fai*pi/180);
Q2=-(s0+s).*sin(fai*pi/180)+(f-e).*cos(fai*pi/180);
A0=sqrt(Q1.^2+Q2.^2);
A=A0.^3;
S1=(2*f-e).*cos(fai*pi/180)+(F-s0-s).*sin(fai*pi/180);
S2=(F-s0-s).*cos(fai*pi/180)-(2*f-e).*sin(fai*pi/180);
S0=sqrt(S1.^2+S2.^2);
C=(1+A0.^2).^(3/2)./S0;B=Q1.*S2-Q2.*S1;p=A./B;pm=100;fori=1:
length(fai)
ifabs(p(i))pm=p(i);
endendend
在命令窗口输入:
[pm,C]=qulv(fai,s,f,F,38,75.3)
可判断出rt<38mm,现取rt=15mm。
利用matlab编程得实际和理论廓线,代码如下:
functionlunkuo2(fai,s,f,e,r0,rt)s0=sqrt(r0^2-e^2);x1=(s0+s).*sin(fai*pi/180)+e*cos(fai*pi/180);y1=(s0+s).*cos(fai*pi/180)-e*sin(fai*pi/180);Q1=(s0+s).*cos(fai*pi/180)+(f-e).*sin(fai*pi/180);
Q2=-(s0+s).*sin(fai*pi/180)+(f-e).*cos(fai*pi/180);
A0=sqrt(Q1.^2+Q2.^2);
x2=x1+rt*Q2./A0;y2=y1-rt*Q1./A0;figure(3)plot(r0.*cos(fai*pi/180),r0.*sin(fai*pi/180),'-',x1,y1,'--',x2,y2)
gridonlegend('基圆','凸轮理论轮廓','凸轮实际轮廓')
axisequalend
在窗口命令中输入:
>>lunkuo2(fai,s,f,38,75.3,rt)
得到如下图: