机械原理大作业牛头刨床.docx
《机械原理大作业牛头刨床.docx》由会员分享,可在线阅读,更多相关《机械原理大作业牛头刨床.docx(21页珍藏版)》请在冰点文库上搜索。
![机械原理大作业牛头刨床.docx](https://file1.bingdoc.com/fileroot1/2023-6/5/dd7886e8-601d-435d-bc41-c451f79cfd09/dd7886e8-601d-435d-bc41-c451f79cfd091.gif)
机械原理大作业牛头刨床
机械原理大作业——牛头刨床
大作业,一,
平面连杆机构的运动分析
题号:
6
班级:
姓名:
学号:
同组者:
成绩:
完成时间:
题目、原始数据及要求............................................................................................1一平面连杆机构运动分析方程...............................................................................1
1.1速度计算公式......................................................................................2
1.2加速度计算公式...................................................................................2二程序.....................................................................................................................3
2.1计算程序框图..........................................................................................3
2.2计算源程序..............................................................................................4三3.1(一组数据Lab=200mm)计算结果...................................................9
3.2运动线图....................................................................................................10
3.3体会.........................................................................................................12四4.1(第二组数据Lab=150mm)计算结果....................................................12
4.2运动线图...............................................................................................13
4.3体会.........................................................................................................15五5.1(第三组数据Lab=220mm)计算结果....................................................16
5.2运动线图...................................................................................................17
5.3体会...........................................................................................................21六参考资料......................................................................................................21
题目、原始数据及要求:
图所示为一牛头刨床(?
级机构)。
设已知各构件的尺寸如下所示,又如原动件1(AB杆)以角速度ψ1=1rad/s沿逆时针方向回转,试求各从动件的位移、角速度及角加速度以及刨头C点的位移、速度及加速度的变化情况。
第六组数据(6-A,6-B,6-C):
Lcd=960mm,Lde=160mm,h=900mm,h1=460mm,h2=120mmA:
Lab=200mm
B:
Lab=150mm
C:
Lab=220mm
要求:
每组至少打印一份源程序,每个同学计算出原动件从0?
到360?
时(计算点数N=36)所要求各运动变量的大小,并绘制出各组相应的运动线图。
一平面连杆机构运动分析方程:
先建立一直角坐标系。
其中共有四个未知量θ3、θ4、S3及Sc。
为求解需要建立两个封闭矢量方程,为此需利用两个封闭图形ABCA及CDEGC,由此可得
L4+L3=Le+Sc;La’+L1=S3+L4
并写成投影方程为
L4*cos4+L3*cos3-Sc=0,,
L4*sin4+L3*sin3-Le=0,La'*cos1+L1*cos1-S3*cos3-L4*cos4=0,,,,
La'*sin1+L1*sin1-S3*sin3-L4*sin4=0,,,,
、θ4、S3及Sc四个运动变量,而滑块2的方位角由以上各式即可求得θ3
θ2=θ3。
然后,分别将上列各式对时间取一次、二次导数,并写成矩阵形式,即得以
下速度和加速度方程式
速度计算公式:
-L4*sin4,-L3*sin3,-1,040,,,,,,,,,
,,,,,L4*cos4,L3*cos3,0,030,,,,,,,,,*,
,,,,,L4*sin4,S3*sin3,0,-cos3L1*1*sin1c,,,,,,
,,,,,-L4*cos4,-S3*cos3,0,-sin33-L1*1*cos1S,,,,,,,,,,,
加速度计算
-L4*sin4,-L3*sin3,-1,04,,,,,,,
,,,L4*cos4,L3*cos3,0,03,,,,,,,*,,,,,L4*sin4,S3*sin3,0,-cos3ac,,,
,,,-L4*cos4,-S3*cos3,0,-sin33S,,,,,,,
-L4*4*cos3,-L3*3*cos3,0,04,,,,,,,,,
,,,-L4*4*sin3,-L3*3*sin3,0,03,,,,,,,,,,*,
,,,L4*4*cos3,S3*sin3+S3*3*cos3,0,3*sin3;c,,,,,,,,
,,,L4*4*sin4,-S3*cos3+S3*3*sin3,0,-3*cos33S,,,,,,,,,,,
0,,
,0,,1*,L1*1*cos3,,,,,,L1*1*sin3,,,,
二程序
2.1计算程序框图:
开始
读入LabLcdLdehh1h2
w1
计算θ3、θ4、S3及Sc
计算w3、w4、Vc
计算α3α4αc
输出θ3θ4S3Scw3、
w4Vcα3α4αc
结束
2.2计算源程序:
(1)数据输入程序
使用Matlabguide设计的界面输入原始数据,使数据输入方便,变化灵活,结:
disp('牛头刨床(?
级机构):
');
L1=str2num(get(handles.edit1,'string'));L3=str2num(get(handles.edit2,'string'));L4=str2num(get(handles.edit3,'string'));H=str2num(get(handles.edit4,'string'));Y=str2num(get(handles.edit5,'string'));X=str2num(get(handles.edit6,'string'));W1=1;n=36;
fprintf('Lab=%d\nLcd=%d\nLde=%d\nH(Yce)=%d\nXae=%d\nYae=%d\n角速度W1=%drad/s\n计算点数n=%d\n',L1,L3,L4,H,X,Y,W1,n);
(2)解方程源程序
functionpushbutton1_Callback(hObject,eventdata,handles)
L=sqrt(X^2+Y^2);
th0=atan(Y/X);
th1=0:
2*pi/n:
2*pi;
opt=optimset('display','off');
ths=zeros(length(th1),4);
t=[0.10.788];
fori=1:
length(th1)
ths(i,:
)=fsolve(@Work,t,opt,th1(i),th0,L3,L4,H,L,L1);
t=ths(i,:
);
end
d=calculate(ths,n,L1,L3,L4,W1);
ths(:
4)=[];
th1=th1.*(180/pi);
data=[th1'thsd];
title={'转角';'杆CD转角';'杆DE转角';'C点位移';'杆CD角速度';'杆DE角速度';'C
点速度';'杆CD加速度';'杆DE加速度';'C点加速度'};
xlswrite('data.xls',title');
xlswrite('data.xls',data,'A2:
J38');
disp('计算点的运动量在当前文件夹下data.xls文件内');
functionf=Work(th,th1,th0,L3,L4,H,L,L1)
f=[L3*cos(th
(1))+L4*cos(th
(2))-th(3);...
L3*sin(th
(1))+L4*sin(th
(2))-H;...
L*cos(th0)+L1*cos(th1)-th(4)*cos(th
(1))-L4*cos(th
(2));...
L*sin(th0)+L1*sin(th1)-th(4)*sin(th
(1))-L4*sin(th
(2))];
(3)画运动线图源程序
function[data]=calculate(ths,N,L1,L3,L4,W1)th1=0:
2*pi/N:
2*pi;
C=zeros(4,length(th1));
figure
(1)
x=th1.*(180/pi);y1=ths(:
1)'.*(180/pi);y2=ths(:
2)'.*(180/pi);y3=ths(:
3)';
clfreset,h_ap=axes('Position',[0.13,0.13,0.7,0.75]);
set(h_ap,'Xcolor','b','Ycolor','b','Xlim',[0,360],'Ylim',[-30,330]);
nx=12;ny=12;
pxtick=0:
(360/nx):
360;pytick=-30:
(390/ny):
360;set(h_ap,'Xtick',pxtick,'Ytick',pytick,'Xgrid','on','Ygrid','on')
line(x,y1,'Color','b');
text(x(1,8),y1(1,8),'CD杆角度θ3','Color','b');
line(x,y2,'Color','k');
text(x(1,16),y2(1,16),'ED杆角度θ4')
set(get(h_ap,'Xlabel'),'String','AB杆角度θ1/(?
)')
set(get(h_ap,'Ylabel'),'String','θ3、θ4/(?
)')
%plot(x,y1,'b*');plot(x,y2,'kx');
h_at=axes('Position',get(h_ap,'Position'));set(h_at,'Color','none','Xcolor','r','Ycolor','r');set(h_at,'Xaxislocation','top')
set(h_at,'Yaxislocation','right','Ydir','rev')set(h_at,'Xlim',[0,360],'Ylim',[-1200,1200])tytick=-1200:
(2400/ny):
1200;
set(h_at,'Xtick',pxtick,'Ytick',tytick)
line(x,y3,'Color','r','Parent',h_at);
text(x(1,24),y3(1,24),'C点行程Sc','Color','r','Parent',h_at)
set(get(h_at,'Xlabel'),'String','AB杆角度θ1/(?
)')
set(get(h_at,'Ylabel'),'String','Sc/(m)')%plot(x,y3,'ro','Parent',h_at)
fori=1:
length(th1)
A=[-L4*sin(ths(i,2))-L3*sin(ths(i,1))-10;...
L4*cos(ths(i,2))L3*cos(ths(i,1))00;...
L4*sin(ths(i,2))(ths(i,4))*sin(ths(i,1))0-cos(ths(i,1));...
-L4*cos(ths(i,2))-(ths(i,4))*cos(ths(i,1))0-sin(ths(i,1))];
B=[0;0;L1*W1*sin(th1(i));-L1*W1*cos(th1(i))];
C(:
i)=inv(A)*B;
end
W4=C(1,:
);W3=C(2,:
);Vc=C(3,:
);S3=C(4,:
);
data(:
2)=C(1,:
)';data(:
1)=C(2,:
)';data(:
3)=C(3,:
)';figure
(2)
y1=W3;y2=W4;y3=Vc;
clfreset,h_ap=axes('Position',[0.13,0.13,0.7,0.75]);set(h_ap,'Xcolor','b','Ycolor','b','Xlim',[0,360],'Ylim',[-2,4]);
nx=12;ny=12;
pxtick=0:
(360/nx):
360;pytick=-2:
(6/ny):
4;
set(h_ap,'Xtick',pxtick,'Ytick',pytick,'Xgrid','on','Ygrid','on')
line(x,y1,'Color','b');
text(x(1,8),y1(1,8),'CD杆角速度W3','Color','b');
line(x,y2,'Color','k');
text(x(1,16),y2(1,16),'ED杆角速度W4')
)')set(get(h_ap,'Xlabel'),'String','AB杆角度θ1/(?
set(get(h_ap,'Ylabel'),'String','W3、W4/(rad/s)')
h_at=axes('Position',get(h_ap,'Position'));set(h_at,'Color','none','Xcolor','r','Ycolor','r');set(h_at,'Xaxislocation','top')
set(h_at,'Yaxislocation','right','Ydir','rev')set(h_at,'Xlim',[0,360],'Ylim',[-1200,1200])line(x,y3,'Color','r','Parent',h_at);
text(x(1,24),y3(1,24),'C点速度Vc','Color','r','Parent',h_at)tytick=-1200:
(2400/ny):
1200;
set(h_at,'Xtick',pxtick,'Ytick',tytick)
set(get(h_at,'Xlabel'),'String','AB杆角度θ1/(?
)')
set(get(h_at,'Ylabel'),'String','Vc/(m/s)')fori=1:
length(th1)
B=[-L4*W4(i)*cos(ths(i,2))L3*W3(i)*cos(ths(i,1))00;...
-L4*W4(i)*sin(ths(i,2))-L3*W3(i)*sin(ths(i,1))00;...
L4*W4(i)*cos(ths(i,2))S3(i)*sin(ths(i,1))+(ths(i,4))*cos(ths(i,1))0
W3(i)*sin(ths(i,1));...
L4*W4(i)*sin(ths(i,2))-S3(i)*cos(ths(i,1))+(ths(i,4))*sin(ths(i,1))0
-W3(i)*cos(ths(i,1))];
D=[0;0;L1*W1^2*cos(th1(i));L1*W1^2*sin(th1(i))];
E=[W4(i);W3(i);Vc(i);S3(i)];
C(:
i)=inv(A)*(-B*E+D);
end
a4=C(1,:
);a3=C(2,:
);ac=C(3,:
);
figure(3)
data(:
5)=C(1,:
)';data(:
4)=C(2,:
)';data(:
6)=C(3,:
)';y1=a3;y2=a4;y3=ac;
clfreset,h_ap=axes('Position',[0.13,0.13,0.7,0.75]);set(h_ap,'Xcolor','b','Ycolor','b','Xlim',[0,360],'Ylim',[-1,5]);
nx=12;ny=12;
pxtick=0:
(360/nx):
360;pytick=-1:
(6/ny):
5;
set(h_ap,'Xtick',pxtick,'Ytick',pytick,'Xgrid','on','Ygrid','on')
line(x,y1,'Color','b');
text(x(1,8),y1(1,8),'CD杆角加速度α3','Color','b');
line(x,y2,'Color','k');
text(x(1,16),y2(1,16),'DE杆角加速度α4')
set(get(h_ap,'Xlabel'),'String','AB杆角度θ1/(?
)')
set(get(h_ap,'Ylabel'),'String','α3、α4/(rad/s^{2})')
h_at=axes('Position',get(h_ap,'Position'));set(h_at,'Color','none','Xcolor','r','Ycolor','r');
set(h_at,'Xaxislocation','top')
set(h_at,'Yaxislocation','right','Ydir','rev')set(h_at,'Xlim',[0,360],'Ylim',[-1200,1200])line(x,y3,'Color','r','Parent',h_at);text(x(1,24),y3(1,24),'C点加速度ac','Color','r','Parent',h_at)
)')set(get(h_at,'Xlabel'),'String','AB杆角度θ1/(?
set(get(h_at,'Ylabel'),'String','ac/(rad/s^{2})')
tytick=-1200:
(2400/ny):
1200;
set(h_at,'Xtick',pxtick,'Ytick',tytick)
(4)画运动示意图源程序
%画运动示意图
x=L4*cos(ths(:
2)');
y=L4*sin(ths(:
2)');
xx=x+L3*cos(ths(:
1)');
yy=y+L3*sin(ths(:
1)');
x1=X+L1*cos(th1);
y1=Y+L1*sin(th1);
n=3;
whilen
fori=1:
length(th1)-1
axes(handles.axes1);
a=[0x(i)xx(i)xx(i)+200xx(i)-800];
b=[0y(i)yy(i)yy(i)yy(i)];
plot(a,b)
holdon
a=[Xx1(i)];
b=[Yy1(i)];
plot(a,b)
holdoff
axis([-10001000-1001000])
pause(0.1);
drawnow;
end
n=n-1;
end
三3.1(一组数据Lab=200mm)计算结果:
θθ3θ4α3α4αcScW3W4Vc
01.241166-0.052470.52910.158023-0.30732-146.090.229299-0.3089-218.176101.271697-0.10883441.92640.189229-0.33654-179.4430.15799-0.11399-152.338201.306571-0.16755408.4740.209104-0.33231-202.6410.1109410.019387-107.068301.344364-0.2237371.53530.223316-0.3085-219.8610.0771640.120768-73.1847401.38436-0.27446331.95530.23468-0.27115-233.1470.0507890.206435-45.9384501.426206-0.31771290.31610.244703-0.2227-243.5940.0290180.284061-23.2507601.469751-0.35159247.05050.25426-0.16392-251.8770.0106580.356439-4.49216701.514964-0.37433202.4920.26388-0.09493-258.483-0.004750.42364310.22401