机械原理_凸轮机构设计_机械原理凸轮机构设计
机械原理_凸轮机构设计由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“机械原理凸轮机构设计”。
机械原理课程设计——凸轮机构设计
(一)目录·········································1
_________________________
(一)、题目及原始数据··························2
(二)、推杆运动规律及凸轮廓线方程··············3
(三)、(四)、(五)、(六)、(七)、(八)、计算程序方框图··························5 计算源程序······························6 程序计算结果及分析······················10 凸轮机构图······························15 心得体会································16 参考书··································16
(一)、题目及原始数据
试用计算机辅助设计完成偏置直动滚子推杆盘形凸轮机构的设计,凸轮以1rad/s的角速度沿逆时针方向转动。要求:
(1)、推程运动规律为等加速等减速运动,回程运动规律为五次多项式运动规律;
(2)、打印出原始数据;
(3)、打印出理论轮廓和实际轮廓的坐标值;
(4)、打印出推程和回程的最大压力角,以及出现最大压力角时凸轮的相应转角;
(5)、打印出凸轮实际轮廓曲线的最小曲率半径,以及相应的凸轮转角;(6)、打印出凸轮运动的位移;
(7)、打印最后所确定的凸轮的基圆半径。
原始数据如下:
r0=0.015;
初选的基圆半径r0
Deltar0=0.0005;
当许用压力角或许用最小曲率半径不满足时,r0以Δr0
为步长增加重新计算
rr=0.010;
滚子半径rr h=0.028;
推杆行程h e=0.005;
偏距e
omega=1;
原动件凸轮运动角速度,逆时针ω delta1=pi/3;
近休止角δ1 delta2=2*pi/3;推程运动角δ2 delta3=pi/2;
远休止角δ3 delta4=pi/2;
回程运动角δ4 alpha1=pi/6;
推程许用压力角[α1] alpha2=(70/180)*pi;回程许用压力角[α2] rho0min=0.3*rr;
许用最小曲率半径ραmin
(二)、推杆运动规律及凸轮廓线方程
推杆运动规律:
(1)近休阶段:0o≤δ
v=4hω(δ-60o)/(120 o)
2a=4hω2/(120 o)2
等减速运动规律:120o≤δ
v=4hω(120o-(δ-60o))/(120 o)2
a=-4hω2/(120 o)2
(3)远休阶段:180o≤δ
s=h-(10h(δ-270o)3/(90 o)3-15h(δ-270o)4/(90 o)4+6h(δ-270o)5/(90 o)5)
v=-(30hω(δ-270o)2/(90 o)3-60hω(δ-270o)3/(90 o)4+30hω(δ-270o)4/(90 o)5)
a=-(60hω2(δ-270o)/(90 o)3-180hω2(δ-270o)2/(90
o)4+120hω2(δ-270o)3/(90 o)5)凸轮廓线方程:
(1)理论廓线方程:
s0=sqrt(r02-e2)x=(s0+s)sinδ+ecosδ y=(s0+s)cosδ-esinδ(2)实际廓线方程
先求x,y的一阶导数
x’=(v/ω-e)sinδ+(s0+s)cosδ y’=(v/ω-e)cosδ-(s0+s)sinδ 再求sinθ,cosθ
sinθ=x’/sqrt((x’)2+(y’)2)cosθ=-y’/sqrt((x’)2+(y’)2)
最后求实际廓线方程 四)、x1=x-rrcosθ y1=y-rrsinθ
压力角方程:
曲率半径计算公式:
计算源程序
(%凸轮机构大作业 Matlab语言源程序 %选题:偏置直动滚子推杆盘形凸轮机构 5—A %
推程运动规律:等加速等减速运动 %
回程运动规律:五次多项式运动
% 作者:WYH 学号:xxxxxxxx
日期:2007.12.26 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% clear all;%close all;clc;%赋初值
r0=0.015;
Deltar0=0.0005;rr=0.010;h=0.028;e=0.005;omega=1;
%原动件凸轮运动角速度,逆时针 delta1=pi/3;
%近休止角 delta2=2*pi/3;%推程运动角 delta3=pi/2;
%远休止角 delta4=pi/2;
%回程运动角 alpha1=pi/6;
%推程许用压力角 alpha2=(70/180)*pi;%回程许用压力角 rho0min=0.3*rr;
%许用最小曲率半径 del1=delta1+delta2;del2=del1+delta3;temp=0;
%判断是否执行r0=r0+Deltar0的变量 while(temp==0)
temp=1;
s0=sqrt(r0^2-e^2);
%求解 s0
alpha1max=0;delta1max=0;
%定义alpha1的最大值以及对应的delta1值
alpha2max=0;delta2max=0;
%定义alpha2的最大值以及对应的delta2值
rhoamin=r0-rr;deltamin=0;%定义rhoa的最小值以及对应的delta值
for I=0:120;
%圆周120等分
delta=(I*3/180)*pi;
if delta>=0&delta
%近休阶段
s=0;
%位移
v=0;
%速度
a=0;
%加速度
elseif delta>=delta1&delta
s=2*h*(delta-delta1)^2/delta2^2;
v=4*h*omega*(delta-delta1)/delta2^2;
a=4*h*omega^2/delta2^2;
elseif delta>=(delta2/2)+delta1&delta
s=h-2*h*(delta2-(delta-delta1))^2/delta2^2;
v=4*h*omega*(delta2-(delta-delta1))/delta2^2;
a=-4*h*omega^2/delta2^2;
elseif delta>=del1&delta
%远休阶段
s=h;
v=0;
a=0;
elseif delta>=del2&delta
%五次多项式运动规律回程
s=h-(10*h*(delta-del2)^3/delta3^3-15*h*(delta-del2)^4/delta3^4+6*h*(delta-del2)^5/delta3^5);
v=-(30*h*omega*(delta-del2)^2/delta4^3-60*h*omega*(delta-del2)^3/delta4^4+30*h*omega*(delta-del2)^4/delta4^5);
a=-(60*h*omega^2*(delta-del2)/delta4^3-180*h*omega^2*(delta-del2)^2/delta4^4+120*h*omega*(delta-del2)^3/delta4^5);
end
x=(s0+s)*sin(delta)+e*cos(delta);
%理论轮廓方程式
y=(s0+s)*cos(delta)-e*sin(delta);
x_=(v/omega-e)*sin(delta)+(s0+s)*cos(delta);%理论轮廓对delta求一次导数
y_=(v/omega-e)*cos(delta)-(s0+s)*sin(delta);
x__=(a/omega^2-(s0+s))*sin(delta)+(2*v/omega-e)*cos(delta);
%理论轮廓对delta求二次导数
y__=(a/omega^2-(s0+s))*cos(delta)-(2*v/omega--e)*sin(delta);
x1=x-rr*(-y_/sqrt(x_^2+y_^2));
%实际轮廓方程式
y1=y-rr*(x_/sqrt(x_^2+y_^2));
alpha=atan((v-e)/(sqrt(r0^2-e^2)+s));
%求压力角
if delta>=del2&delta
%判断是否为回程
if abs(alpha)>alpha2
%判断是否大于回程许用压力角
r0=r0+Deltar0;
temp=0;
break;
else
if abs(alpha)>alpha2max
%满足许用压力角,则找出回程最大压力角
alpha2max=abs(alpha);
delta2max=delta;
end
end
else
if abs(alpha)>alpha1
%判断是否大于推程许用压力角
r0=r0+Deltar0;
%不满足许用压力角,则增大基圆半径重新计算
temp=0;
break;
else
if abs(alpha)>alpha1max
%满足许用压力角,则找出推程最大压力角
alpha1max=abs(alpha);
delta1max=delta;
end
end
end rho=(x_^2+y_^2)^(3/2)/(x_*y__-y_*x__);
%计算曲率半径
if rho
rhoa=abs(rho)-rr;
if rhoa>=rho0min
%满足最小曲率半径
if rhoa
%找出实际轮廓曲线的最小曲率半径及其对应的delta角
rhoamin=rhoa;
deltamin=delta;
end
else
r0=r0+Deltar0;
temp=0;
break;
end
end
Delta(I+1)=(delta/pi)*180;
%delta由弧度值转化为角度值
X(I+1)=x*1000;
Y(I+1)=y*1000;
X1(I+1)=x1*1000;
Y1(I+1)=y1*1000;
S(I+1)=s;
V(I+1)=v;
A(I+1)=a;
ALPHA(I+1)=(alpha/pi)*180;
PHO(I+1)=rho*1000;
end
end
deltamin=(deltamin/pi)*180;
alpha1max=(alpha1max/pi)*180;
delta1max=(delta1max/pi)*180;
alpha2max=(alpha2max/pi)*180;
delta2max=(delta2max/pi)*180;
figure(1);
axis equal;
hold on
t=0:0.01:2*pi;
xx=r0*cos(t)*1000;
yy=r0*sin(t)*1000;
xxx=(rr*cos(t)+X(1)/1000)*1000;
yyy=(rr*sin(t)+Y(1)/1000)*1000;
xxxx=e*cos(t)*1000;
yyyy=e*sin(t)*1000;
plot(xx,yy,'m--',X,Y,':',X1,Y1,'k',xxx,yyy,'c-',xxxx,yyyy,'y-');%画出理论轮廓及实际轮廓以及基圆
legend('基圆','理论轮廓','实际工作轮廓');
plot(0,0,'ko')
plot(X(1),Y(1),'ko');
title('凸轮轮廓曲线图');
xlabel('X/mm');
ylabel('Y/mm');
figure(2);
plot(Delta,S,Delta,V,'r--',Delta,A,'k:');%画出位移、速度、加速度曲线图
title('凸轮运动规律曲线图');
xlabel('{delta}/(^o)');
ylabel('s/m
v/m.s^{-1}
a/m.s^{-2}');
legend('位移','速度','加速度');
%结果显示:
disp([num2str(Delta'),num2str(X'),num2str(Y'),num2str(X1'),num2str(Y1'),num2str(S'*1000)]);
disp(['rhoamin=',num2str(rhoamin*1000),'
deltamin=',num2str(deltamin)]);
disp(['alpha1max=',num2str(alpha1max),'
delta1max=',num2str(delta1max)]);
disp(['alpha2max=',num2str(alpha2max),'
delta2max=',num2str(delta2max)]);
disp(['r0=',num2str(r0*1000)]);
(五)、程序计算结果及分析
求得ραmin及对应的δαmin值:
rhoamin=14.0952
deltamin=288 求得α1max及对应的δ1max值:
alpha1max=29.782
delta1max=120 求得α2max及对应的δ2max值:
alpha2max=47.4426
delta2max=324 求得最后的基圆半径r0为: r0=24.5
(七)、心得体会
通过对凸轮机构的编程设计:
(1)、熟悉了推杆的运动规律特别是等加速等减速和五次多项式运动规律;
(2)、掌握了已知推杆运动规律用解析法对凸轮轮廓曲线的进行设计的方法以及设计时应该注意的各个性能要求;
(3)、加深了对Matlab语言的熟悉与应用
(八)、参考书
(1)《机械原理》第七版
高等教育出版社
(2)《MATLAB程序设计教程》
中国水利水电出版社