2018年哈工大机械原理大作业凸轮第21题
- 格式:docx
- 大小:513.90 KB
- 文档页数:12
机械原理大作业二
课程名称:机械原理
设计题目:凸轮结构设计
院系:能源学院
班级:1602404
完成者:原辰宇
学号:1160200409
指导教师:林琳
设计时间:2018年12月25日
哈尔滨工业大学
一:题目以及要求
二:计算流程框图
三:计算程序清单
(1)从动件的位移,速度,加速度线图fai0=90/180*pi;
fai00=50/180*pi;
fais=100/180*pi;
faiss=120/180*pi;
n=1;
w=2*pi*n/60;
phi1=linspace(0,fai0);
phi2=linspace((fai0+fais),(fai0+fais+fai00));
phistop=linspace(fai0,(fai0+fais));
phistop0=linspace((fai0+fais+fai00),2*pi);
h=40;
s1=h.*( phi1./fai0-1./(2*pi).*sin( 2*pi.*phi1/fai0) );
s2=h.*( 1-35.*( ((phi2-fai0-fais)./fai00).^4 ) +84.
*( ((phi2-fai0-fais)./fai00).^5 ) -70.*...
(((phi2-fai0-fais)./fai00)) .^6+20.*( ((phi2-fai0-fais)./fai00).^7 ) );
figure(1)
plot(phi1,s1,phi2,s2,phistop,h,phistop0,0);
grid on
figure(2)
v1=h*w/fai0.*( 1-cos(2*pi/fai0.*phi1) );
v2=-h*w/fai00*[140*((phi2-fai0-fais)/fai00).^3-420*((phi2-fai0-fais)/ fai00).^4+420*((phi2-...
fai0-fais)/fai00).^5-140*((phi2-fai0-fais)/fai00).^6];
plot(phi1,v1);
hold on
plot(phistop,zeros(1,100));
hold on
plot(phi2,v2);
hold on;
plot(phistop0,zeros(1,100));
hold off;
grid on;
figure(3)
a1=2*pi*h*w*w/fai0/fai0.*sin(2*pi.*phi1/fai0);
a2=-h*w*w/fai00/fai00.*(420.*((phi2-fai0-fais)./(fai00)).^2 - 1680.*((phi2-fai0-fais)./(fai00)).^3 ...
+ 2100.*((phi2-fai0-fais)./(fai00)).^4-
840.*((phi2-fai0-fais)./(fai00)).^5 );
plot(phi1,a1,phi2,a2,phistop,zeros(1,100),phistop0,zeros(1,100));
grid on;
输出的从动件位移图:
输出从动件速度图
输出从动件加速度图:
(2)凸轮机构的ds/d fψ-s线图以及确定凸轮基圆半径和偏距:
syms phi1phi2fai0fai00fais h;
s1=h.*( phi1./fai0-1./(2*pi).*sin( 2*pi.*phi1/fai0) );
s2=h.*( 1-35.*( ((phi2-fai0-fais)./fai00).^4 ) +84.
*( ((phi2-fai0-fais)./fai00).^5 ) -70.*...
(((phi2-fai0-fais)./fai00)) .^6+20.*( ((phi2-fai0-fais)./fai00).^7 ) );
sstop=h;
sstop0=0;
ds1=diff(s1,phi1,1);
ds2=diff(s2,phi2,1);
fai0=90/180*pi;
fai00=50/180*pi;
fais=100/180*pi;
faiss=120/180*pi;
n=1;
w=2*pi*n/60;
phi1=linspace(0,fai0);%????
phi2=linspace((fai0+fais),(fai0+fais+fai00));%????
phistop=linspace(fai0,(fai0+fais));%????????
phistop0=linspace((fai0+fais+fai00),2*pi);
h=40;
ds1=eval(ds1);
ds2=eval(ds2);
s1=eval(s1);
s2=eval(s2);
s=[s1 h s2 0];
v=[ds1 0 ds2 0];
axis equal
plot(v,s);
hold on;
grid on;
k1=tan(pi/2-30/180*pi);
k2=-tan(pi/2-60/180*pi);
y1min=0;y2min=0;
for i=1:160
if v(i)>0
y1=-k1*v(i)+s(i);
if y1 y1min=y1;