偏置直动滚子推杆盘形凸轮Matlab编程附录程序分解.docx
《偏置直动滚子推杆盘形凸轮Matlab编程附录程序分解.docx》由会员分享,可在线阅读,更多相关《偏置直动滚子推杆盘形凸轮Matlab编程附录程序分解.docx(15页珍藏版)》请在冰豆网上搜索。
![偏置直动滚子推杆盘形凸轮Matlab编程附录程序分解.docx](https://file1.bdocx.com/fileroot1/2022-10/26/9036a231-27a3-404a-a109-a4be87f8f50b/9036a231-27a3-404a-a109-a4be87f8f50b1.gif)
偏置直动滚子推杆盘形凸轮Matlab编程附录程序分解
机械原理大作业
学院:
机械与电子信息学院
授课老师:
曾小慧
姓名:
张京
学号:
20131004547
日期:
2015-5-23
1.求轮廓曲线
推程阶段
远休止阶段
回程阶段
近休止阶段
Matlab程序设计
轮廓图形
2.求工作廓线
推程阶段
远休止阶段
回程阶段
近休止阶段
Matlab程序设计
轮廓图形
3.求解最大压力角
压力角公式
MATLAB程序设计
根据MATLAB程序作图可得出其压力角与角度的关系并分析
失真情况分析
4.附录Matlab程序
凸轮轮廓
9-14试设计偏置直动滚子推杆盘形凸轮机构的理论轮廓曲线和工作廓线。
已知凸轮轴置于推杆轴线右侧,偏距e=20mm,基圆半径r。
=50mm,滚子半径rr=10mm。
凸轮以等角速度沿顺时针方向回转,在凸轮转过角d1=120º的过程中,推杆按正弦加速度运动规律上升h=50mm;凸轮继续转过d2=30º时,推杆保持不动;其后,凸轮再回转角度d3=60º时,推杆又按余弦加速度运动规律下降至起始位置;凸轮转过一周的其余角度时,推杆又静止不动。
解:
1.求理论廓线
对于偏置直动滚子推杆盘形凸轮机构,凸轮理论廓线上B点(即滚子中心)的直角坐标为
(a)
式中
1推程阶段
()
2远休止阶段
3回程阶段
4近休止阶段
Matlab程序设计:
a1=linspace(0,2*pi/3);%推程阶段的自变量
s1=h*(3*a1/2/pi-sin(3*a1)/2/pi);%推杆产生的相应位移
x1=-((s0+s1).*sin(a1)+e*cos(a1));%x函数
y1=(s0+s1).*cos(a1)-e*sin(a1);%y函数
a2=linspace(0,pi/6);%远休止阶段的自变量
s2=50;%推杆位移
x2=-((s0+s2).*sin(a2+2*pi/3)+e*cos(a2+2*pi/3));%x函数
y2=(s0+s2).*cos(a2+2*pi/3)-e*sin(a2+2*pi/3);%y函数
a3=linspace(0,pi/3);%回程阶段的自变量
s3=h*(1+cos(3*a3))/2;%推杆位移
x3=-((s0+s3).*sin(a3+5*pi/6)+e*cos(a3+5*pi/6));%x函数
y3=(s0+s3).*cos(a3+5*pi/6)-e*sin(a3+5*pi/6);%y函数
a4=linspace(0,5*pi/6);%近休止阶段的自变量
s4=0;%推杆位移
x4=-((s0+s4).*sin(a4+7*pi/6)+e*cos(a4+7*pi/6));%x函数
y4=(s0+s4).*cos(a4+7*pi/6)-e*sin(a4+7*pi/6);%y函数
a0=linspace(0,2*pi);%基圆自变量
x5=r0*cos(a0);%x函数
y5=r0*sin(a0);%y函数
轮廓图形
通过Matlab软件,编写程序,将以上各相应值代入式(a)计算理论轮廓线上各点的坐标值。
在计算时应注意:
在推程阶段取,在远休止阶段取,在回程阶段取,在近休止阶段取。
画出的图形如下图所示
2.求工作廓线
(b)
其中
1推程阶段
2远休止阶段
3回程阶段
4近休止阶段
Matlab程序设计:
%工作廓线
m1=-(h*3/2/pi*(1-cos(3*a1))-e).*sin(a1)-(s0+s1).*cos(a1);%中间变量dx/d$
n1=(h*3/2/pi*(1-cos(3*a1))-e).*cos(a1)-(s0+s1).*sin(a1);%中间变量dy/d$
p1=-m1./sqrt(m1.^2+n1.^2);%sin&
q1=n1./sqrt(m1.^2+n1.^2);%cos&
x6=x1-r*q1;%x'函数
y6=y1-r*p1;%y'函数
m2=-(s0+s2).*cos(a2+2*pi/3)+e*sin(a2+2*pi/3);%中间变量dx/d$
n2=-(s0+s2).*sin(a2+2*pi/3)-e*cos(a2+2*pi/3);%中间变量dy/d$
p2=-m2./sqrt(m2.^2+n2.^2);%sin&
q2=n2./sqrt(m2.^2+n2.^2);%cos&
x7=x2-r*q2;%x'函数
y7=y2-r*p2;%y'函数
m3=(h*3/2*sin(3*a3)+e).*sin(a3+5*pi/6)-(s0+s3).*cos(a3+5*pi/6);%中间变量dx/d$
n3=-(h*3/2*sin(3*a3)+e).*cos(a3+5*pi/6)-(s0+s3).*sin(a3+5*pi/6);%中间变量dy/d$
p3=-m3./sqrt(m3.^2+n3.^2);%sin&
q3=n3./sqrt(m3.^2+n3.^2);%cos&
x8=x3-r*q3;%x'函数
y8=y3-r*p3;%y'函数
m4=-(s0+s4).*cos(a4+7*pi/6)+e*sin(a4+7*pi/6);%中间变量dx/d$
n4=-(s0+s4).*sin(a4+7*pi/6)-e*cos(a4+7*pi/6);%中间变量dy/d$
p4=-m4./sqrt(m4.^2+n4.^2);%sin&
q4=n4./sqrt(m4.^2+n4.^2);%cos&
x9=x4-r*q4;%x'函数
y9=y4-r*p4;%y'函数
轮廓图形
同理,通过Matlab软件,编写程序,将以上各相应值代入式(a)计算理论轮廓线上各点的坐标值。
获得凸轮的工作廓线如下图所示。
将滚子画在上图中,可得最终的图形。
将Matlab中编程获得的凸轮轮廓曲线点的坐标保存为后缀名为dat文件,导入到UG中,完成凸轮的三维建模,如下图所示。
3.求解最大压力角
压力角公式
压力角
MATLAB程序设计
clear
r0=50;
e=20;
h=50;
s0=sqrt(r0^2-e^2);
r=10;
a1=0:
0.01:
2*pi/3;
s1=h*(3*a1/2/pi-sin(3*a1)/2/pi);
c1=h*(3/2/pi-3*cos(3*a1)/2/pi);%中间变量ds/dб
t1=atan(abs((c1-e)/(s0+s1)));%压力角的计算
plot(a1,t1)
gridon
holdon
a2=2*pi/3:
0.01:
5*pi/6;
s2=50;
c2=0;
t2=atan(abs((c2-e)/(s0+s2)));
plot(a2,t2)
gridon
holdon
a3=5*pi/6:
0.01:
7*pi/6;
s3=h*(1+cos(3*(a3-5*pi/6)))/2;
c3=-h*3*sin(3*(a3-5*pi/6))/2;
t3=atan(abs((c3-e)/(s0+s3)));
plot(a3,t3)
gridon
holdon
a4=7*pi/6:
0.01:
2*pi;
s4=0;
c4=0;
t4=atan(abs((c4-e)/(s0+s4)));
plot(a4,t4)
gridon
根据MATLAB程序作图可得出其压力角与角度的关系并分析
当在推程段时,度时,得最大压力角;
当在远休止段时,其压力角为定值,;
当其在回程段时,,得最大压力角
当在近休止段时,其压力角为定值,
失真情况分析
由实际轮廓线可知其并未出现尖端,故其没有发生失真情况。
4.附录Matlab程序
%凸轮理论廓线与工作廓线的画法
clear%清除变量
r0=50;%定义基圆半径
e=20;%定义偏距
h=50;%推杆上升高度
s0=sqrt(r0^2-e^2);
r=10;%滚子半径
%理论廓线
a1=linspace(0,2*pi/3);%推程阶段的自变量
s1=h*(3*a1/2/pi-sin(3*a1)/2/pi);%推杆产生的相应位移
x1=-((s0+s1).*sin(a1)+e*cos(a1));%x函数
y1=(s0+s1).*cos(a1)-e*sin(a1);%y函数
a2=linspace(0,pi/6);%远休止阶段的自变量
s2=50;%推杆位移
x2=-((s0+s2).*sin(a2+2*pi/3)+e*cos(a2+2*pi/3));%x函数
y2=(s0+s2).*cos(a2+2*pi/3)-e*sin(a2+2*pi/3);%y函数
a3=linspace(0,pi/3);%回程阶段的自变量
s3=h*(1+cos(3*a3))/2;%推杆位移
x3=-((s0+s3).*sin(a3+5*pi/6)+e*cos(a3+5*pi/6));%x函数
y3=(s0+s3).*cos(a3+5*pi/6)-e*sin(a3+5*pi/6);%y函数
a4=linspace(0,5*pi/6);%近休止阶段的自变量
s4=0;%推杆位移
x4=-((s0+s4).*sin(a4+7*pi/6)+e*cos(a4+7*pi/6));%x函数
y4=(s0+s4).*cos(a4+7*pi/6)-e*sin(a4+7*pi/6);%y函数
a0=linspace(0,2*pi);%基圆自变量
x5=r0*cos(a0);%x函数
y5=r0*sin(a0);%y函数
%工作廓线
m1=-(h*3/2/pi*(1-cos(3*a1))-e).*sin(a1)-(s0+s1).*cos(a1);%中间变量dx/d$
n1=(h*3/2/pi*(1-cos(3*a1))-e).*cos(a1)-(s0+s1).*sin(a1);%中间变量dy/d$
p1=-m1./sqrt(m1.^2+n1.^2);%sin&
q1=n1./sqrt(m1.^2+n1.^2);%cos&
x6=x1-r*q1;%x'函数
y6=y1-r*p1;%y'函数
m2=-(s0+s2).*cos(a2+2*pi/3)+e*sin(a2+2*pi/3);%中间变量dx/d$
n2=-(s0+s2).*sin(a2+2*pi/3)-e*cos(a2+2*pi/3);%中间变量dy/d$
p2=-m2./sqrt(m2.^2+n2.^2);%sin&
q2=n2./sqrt(m2.^2+n2.^2);%cos&
x7=x2-r*q2;%x'函数
y7=y2-r*p2;%y'函数
m3=(h*3/2*sin(3*a3)+e).*sin(a3+5*pi/6)-(s0+s3).*cos(a3+5*pi/6);%中间变量dx/d$
n3=-(h*3/2*sin(3*a3)+e).*cos(a3+5*pi/6)-(s0+s3).*sin(a3+5*pi/6);%中间变量dy/d$
p3=-m3./sqrt(m3.^2+n3.^2);%sin&
q3=n3./sqrt(m3.^2+n3.^2);%cos&
x8=x3-r*q3;%x'函数
y8=y3-r*p3;%y'函数
m4=-(s0+s4).*cos(a4