机械原理大作业凸轮.docx
《机械原理大作业凸轮.docx》由会员分享,可在线阅读,更多相关《机械原理大作业凸轮.docx(15页珍藏版)》请在冰点文库上搜索。
机械原理大作业凸轮
HarbinInstituteofTechnology
机械原理大作业二
课程名称:
机械原理
设计题目:
凸轮结构设计
院系:
机电工程学院
班级:
1308108
设计者:
仲星光
学号:
**********
******
设计时间:
2015年6月7日
一、设计题目
如图所示直动从动件盘形凸轮机构,其原始参数见表,据此设计该凸轮机构。
行程
(mm)
升程运动角(°)
升程运动规律
升程许用压力角(°)
回程运动角(°)
回程运动规律
回程许用压力角(°)
远休止角(°)
近休止角(°)
60
80
余弦加速度
30
60
摆抛摆
60
100
120
二.数学计算方法
(设计书中所给出的回程运动方程有误)
1.理论轮廓和工作轮廓廓线方程
正偏置平面凸轮,反转法,小滚子中心在反转运动中的轨迹即为凸轮的理论轮廓,推杆所在直线一直与偏心圆相切,由几何关系可得盘形凸轮理论轮廓线方程为:
滚子从动件盘形凸轮的实际轮廓线是以理论轮廓上各点为圆心,以小滚子半径为半径的圆族的包络线,理论廓线B点相对应的实际廓线B'点的方程为:
2.压力角
3.凸轮轮廓曲率半径
由数学分析知,凸轮理论轮廓曲线上任一点的曲率半径的计算公式为:
(以上方程来自《基于MatLab语言的机构设计与分析》上海科学技术出版社)
三.MatLab程序
程序设计流程
1.主程序:
推杆位clc;clear;
h=60;%行程
phi01=80;%推程运动角
phis1=100;%远休止角
phi02=60;%回程运动角
phis2=120;%近休止角
alpha1=pi/6;%升程许用压力角
alpha2=pi/3;%回程许用压力角
omiga=1;%凸轮角速度设为1
%计算凸轮转角、从动件位移,速度和加速度
%绘制从动件位移、速度、加速度线图
[psi,s,v,a]=CanShuJiSuan(h,phi01,phis1,phi02,phis2,...
omiga,alpha1,alpha2);
e=22;r0=57;%由ds/dpsi-s图像确定基圆半径和偏距
%计算凸轮轮廓线曲率半径及压力角
%绘制凸轮理论轮廓线上的压力角线图和曲率半径图
[ang,rou,DxDpsi,DyDpsi]=YaLiJiao_QuLvBanJin(r0,psi,s,v,a,e,omiga);
Rr=9;%由曲率半径最小值确定小滚子半径
%计算凸轮轮廓曲线
%绘制理论和实际轮廓曲线
LunKuoXian(r0,psi,s,e,Rr,DxDpsi,DyDpsi);
2.余弦加速运动规律子函数
function[s1,v1,a1,psi1]=Yuxian(phi01,h,omiga)
%计算余弦加速度运动规律
psi1=linspace(0,phi01,round(phi01));
s1=(h/2).*[1-cos(pi.*psi1./phi01)];
v1=(pi*h*omiga./(2.*(phi01*pi/180))).*sin(pi.*psi1./phi01);
a1=pi^2*h*omiga^2/(2*(phi01*pi/180)^2)*cos(pi.*psi1./phi01)
end
3.远休止程子函数
function[s2,v2,a2,psi2]=YuanXiu(phi01,phis1,h)
psi2=linspace(phi01+1,phi01+phis1,round(phis1));
s2=h*psi2./psi2;
v2=0*psi2;
a2=0*psi2;
end
4.摆抛摆子函数
function[s3,v3,a3,psi3]=BaiPaoBai(phi01,phis1,phi02,h,omiga)
%计算回程摆线-抛物线-摆线运动规律
%计算当phi01+phis1psi3_1=linspace(phi01+phis1+phi02/8/100,phi01+phis1+phi02/8,100);
s3_1=h-h*(2*(psi3_1-phi01-phis1)/phi02-sin(4*pi*(psi3_1-phi01-phis1)/...
phi02)/(2*pi))/(2+pi);
v3_1=-2*h*omiga*(1-cos(4*pi*(psi3_1-phi01-phis1)/phi02))/((2+pi)*...
phi02*pi/180);
a3_1=-8*h*pi*omiga^2*sin(4*pi*(psi3_1-phi01-phis1)/phi02)/((2+pi)*...
(phi02*pi/180)^2);
%计算当phi01+phis1psi3_2=linspace(phi01+phis1+phi02/8+phi02/4/100,phi01+phis1+3*phi02/8,100);
s3_2=h-h*(4*pi*((psi3_2-phi01-phis1).^2)/(phi02^2)-(pi-2)*(psi3_2-phi01...
-phis1)/phi02+pi/16-1/(2*pi))/(2+pi);
v3_2=-h*omiga*(8*pi*(psi3_2-phi01-phis1)/phi02-pi+2)/((2+pi)*phi02*pi/180);
a3_2=-8*h*pi*omiga^2/((2+pi)*(phi02*pi/180)^2)*psi3_2./psi3_2;
%计算当phi01+phis1psi3_3=linspace(phi01+phis1+3*phi02/8+phi02/4/100,phi01+phis1+5*phi02/8,100);
s3_3=h-h*(2*(pi+1)*(psi3_3-phi01-phis1)/phi02-pi/2-sin(4*pi*(psi3_3-phi01...
-phis1)/phi02-pi)/(2*pi))/(2+pi);
v3_3=-2*h*omiga*(pi+1-cos(4*pi*(psi3_3-phi01-phis1)/phi02-pi))/((2+pi)...
*phi02*pi/180);
a3_3=-8*h*pi*omiga^2*sin(4*pi*(psi3_3-phi01-phis1)/phi02-pi)/((2+pi)*...
(phi02*pi/180)^2);
%计算当phi01+phis1psi3_4=linspace(phi01+phis1+5*phi02/8+phi02/4/100,phi01+phis1+7*phi02/8,100);
s3_4=h-h*(-4*pi*((psi3_4-phi01-phis1).^2)/(phi02^2)+(7*pi+2)*(psi3_4-...
phi01-phis1)/phi02-33*pi/16+1/(2*pi))/(2+pi);
v3_4=-h*omiga*(-8*pi*(psi3_4-phi01-phis1)/phi02+7*pi+2)/((2+pi)*phi02*pi/180);
a3_4=8*h*pi*omiga^2/((2+pi)*(phi02*pi/180)^2)*psi3_4./psi3_4;
%计算当phi01+phis1psi3_5=linspace(phi01+phis1+7*phi02/8+phi02/8/100,phi01+phis1+phi02,100);
s3_5=h-h*(2*(psi3_5-phi01-phis1)/phi02+pi-sin(4*pi*(psi3_5-phi01-phis1)...
/phi02-2*pi)/(2*pi))/(2+pi);
v3_5=-2*h*omiga*(1-cos(4*pi*(psi3_5-phi01-phis1)/phi02-2*pi))/((2+pi)...
*phi02*pi/180);
a3_5=-8*h*pi*omiga^2*sin(4*pi*(psi3_5-phi01-phis1)/phi02-2*pi)/((2+pi)...
*(phi02*pi/180)^2);
%输出回程阶段凸轮的转角、从动件的位移速度加速度的数组
s3=[s3_1,s3_2,s3_3,s3_4,s3_5];
v3=[v3_1,v3_2,v3_3,v3_4,v3_5];
a3=[a3_1,a3_2,a3_3,a3_4,a3_5];
psi3=[psi3_1,psi3_2,psi3_3,psi3_4,psi3_5];
end
5.近休止程子函数
function[s4,v4,a4,psi4]=JinXiu(phi01,phis1,phi02,phis2)
psi4=linspace(phi01+phis1+phi02+1,phi01+phis1+phis2+phi02,round(phis2));
s4=0*psi4;
v4=0*psi4;
a4=0*psi4;
End
6.参数计算及图像绘制
[s1,v1,a1,psi1]=YuXian(phi01,h,omiga);%推程
[s2,v2,a2,psi2]=YuanXiu(phi01,phis1,h);%远休程
[s3,v3,a3,psi3]=BaiPaoBai(phi01,phis1,phi02,h,omiga);%回程
[s4,v4,a4,psi4]=JinXiu(phi01,phis1,phi02,phis2);%近休程
psi=[psi1,psi2,psi3,psi4];%凸轮转角
s=[s1,s2,s3,s4];%从动件位移
v=[v1,v2,v3,v4];%从动件速度
a=[a1,a2,a3,a4];%从动件加速度
%绘制从动件位移、速度、加速度线图
figure
(1)
subplot(3,1,1)
plot(psi,s);
gridon
xlabel('凸轮转角(度)');
ylabel('位移(mm)');
subplot(3,1,2);
plot(psi,v);
gridon
xlabel('凸轮转角(度)');
ylabel('速度(mm/s)');
subplot(3,1,3)
plot(psi,a);
gridon
xlabel('凸轮转角(度)');
ylabel('加速度(mm/s^2)');
%绘制ds/dphi-s线图,并确定凸轮基圆半径和偏距
DsDphi=v/omiga;
figure
(2)
plot(DsDphi,s);
holdon
x1=-150:
100;
y1=tan(pi/2-alpha1)*(x1-65.26)+22.33;
plot(x1,y1);
holdon
y2=tan(pi/2+alpha2)*(x1+107.6)+22.36;
plot(x1,y2);
7.轮廓线绘制
ifRr==0
x=x0;
y=y0;
else
A=sqrt(DxDpsi.^2+DyDpsi.^2);
x=x0+Rr*DyDpsi./A;
y=y0-Rr*DxDpsi./A;
end
figure(4)
plot(r0.*cos(psi.*pi/180),r0.*sin(psi.*pi/180),'-.',...
x0,y0,'--',x,y,e*cos(psi.*pi/180),e*sin(psi.*pi/180));
gridon;
legend('基圆','凸轮理论轮廓','凸轮实际轮廓','偏距圆');
axisequal
end
8.压力角曲线及曲率半径
function[ang,rou,DxDpsi,DyDpsi]=YaLiJiao_QuLvBanJin(r0,psi,s,v,a,e,omiga)
s0=sqrt(r0.^2-e.^2);
rs1=s0+s;
ang=abs(atan((v/omiga-e)./rs1))*180/pi;
DxDpsi=(v./omiga-e).*sin(psi.*pi/180)+...
(s0+s).*cos(psi.*pi/180);
DyDpsi=(v./omiga-e).*cos(psi.*pi/180)-...
(s0+s).*sin(psi.*pi/180);
DDxDpsi=(a./(omiga^2)-(s0+s)).*sin(psi.*pi/180)...
+(2*v./omiga-e).*cos(psi.*pi/180);
DDyDpsi=(a./(omiga^2)-(s0+s)).*cos(psi.*pi/180)...
+(2*v./omiga-e).*sin(psi.*pi/180);
A=(DxDpsi.^2+DyDpsi.^2).^1.5;
B=abs(DxDpsi.*(DDyDpsi)-DyDpsi.*(DDxDpsi));
rou=A./B;%凸轮理论轮廓曲率半径
%绘图
figure(3)
axison
plotyy(psi,rou,psi,ang);%绘制曲率半径图
[AX]=plotyy(psi,rou,psi,ang);
set(AX
(1),'yTick',[0:
20:
200]);
set(AX
(2),'yTick',[0:
10:
100]);
end
四.程序运行结果与生成图像