用解析法作四连杆机构的运动分析
——详细推导过程
聂金桥
1
2
3
4
=
=
=
=
AB
BC
CD
AD
ll
ll
ll
ll
?
??
?
?
??
(1)
我们已知1l、2l、3l、4l、1?、1w、1?。
根据连杆的几何关系,可推导出公式(2)
12340llll????(2)
将上面的狮子分理出,在,xy方向上的量,可推导出公式(3)
1122334
112233
coscoscossinsinsinlllllll?????????????
?
(3)
但是,公式(2)是一个非线性方程组,所以借助一条辅助线BD,
由公式(4)可求出BDl:
22141412cosBDlllll????(4)
1?
2?
3?1?
2?
根据公式(5),可推导出公式(6),进而可得到1?
1
11=sinsin
BDll??(5)
111sin=arcsin()
BDll
??(6)
知道2l、3l、BDl,进而可得到2?,如公式(7):
22232
23=arccos()2BDBDlllll???
(7)
由公式(6)、(7)可得到3?,如公式(8):
2312
232
0,=0,=????????????????
?
(8)
由公式(3)、(8)可得到2?,如公式(9):
33112
2
sinsin=arcsin()lll????(9)
由公式(3)对时间求导可得到公式(10):
111222333
111222333
sinsinsincoscoscoswlwlwlwlwlwl??????????????
?
(10)
由公式(10)可得到公式(11):
33221121
3223311
sinsinsincoscoscoslllwwwlll??????????????????????
??????
(11)
由公式(11)对时间求导可得到公式(12):
2333322221111222
11232233223311113sincossincossincoscoscossinsincossinllllllwwllllllw???????????????????????????????????????????????????????????
(12)
注:《机械原理MATLAB辅助设计》一书page3和西北工业大学《机械原理》一书,在推导
角加速度一项时,只有原动件连杆1做匀角速度时,11
1sincosll??????????
可省略。
MATLAB编写的程序如下见附录1
参考文献
【1】西北工业大学机械原理与机械零件教研室.机械原理.第8版[M].高等教育出版社,
2013.
【2】李滨城,徐超.机械原理MATLAB辅助分析[M].化学工业出版社,2011.
附录1
clc;
clearall;
L1=input(''请输入连杆AB的长度,单位mm:'');
L2=input(''请输入连杆BC的长度,单位mm:'');
L3=input(''请输入连杆CD的长度,单位mm:'');
L4=input(''请输入连杆AD的长度,单位mm:'');
theta_first=input(''请输入原动件初始角度,单位°:'');
w1=input(''请输入原动件角速度°/s:'');
i=1;
fort=0:1/w1:360/w1
theta1(i)=(theta_first+w1t)/180pi;
L=(L1^2+L4^2-2L1L2cos(theta1(i)))^0.5;%BD的长度
omega1(i)=asin(L1sin(theta1(i))/L);
omega2(i)=acos((L^2+L3^2-L2^2)/(2LL3));
if(omega2(i)>0)
theta3(i)=pi-omega1(i)-omega2(i);
else
theta3(i)=pi+omega2(i);
end
theta2(i)=asin((L3sin(theta3(i))-L1sin(theta1(i)))/L2);
i=i+1;
end
i=0;
[m,n]=size(theta1);
fori=1:n
A1=[-L2sin(theta2(i))L3sin(theta3(i));
L2cos(theta2(i))-L3cos(theta3(i))];
B1=w1[L1sin(theta1(i));-L1cos(theta1(i))];
C1=A1\B1;
w2(i)=C1(1,1);
w3(i)=C1(2,1);
A2_2=[-L2cos(theta2(i))L3cos(theta3(i));
-L2sin(theta2(i))L3sin(theta3(i))];
B2_2=[(w2(i))^2;
(w3(i))^2];
B2_1=(w1)^2[L1cos(theta1(i));L1sin(theta1(i))];
C2=A1\(B2_1-A2_2B2_2);
a1(i)=C2(1,1);
a2(i)=C2(2,1);
end
theta1=180/pitheta1;
theta2=180/pitheta2;
theta3=180/pitheta3;
%绘制角度、角速度、角加速度图;
figure(1);
n=1:361;
subplot(2,2,1);
plot(theta1,theta2,''b'',theta1,theta3,''r--'');
title(''角位移线图'');
xlabel(''曲柄转角\theta_1/\circ'')
ylabel(''角位移/\circ'')
gridon;
holdon;
text(140,170,''\theta_3'')
text(140,30,''\theta_2'')
subplot(2,2,2);
plot(theta1,w2,''b'',theta1,w3,''r--'');
title(''角速度线图'');
xlabel(''曲柄转角\theta_1/\circ'')
ylabel(''角速度/\circ\cdots^{-1}'')
gridon;
holdon;
text(250,130,''\omega_2'')
text(140,30,''\omega_3'')
subplot(2,2,3);
plot(theta1,a2,''b'',theta1,a3,''r--'');
title(''角加速度线图'');
xlabel(''曲柄转角\theta_1/\circ'')
ylabel(''角速度/\circ\cdots^{-2}'')
gridon;
holdon;
text(230,2e4,''\alpha_2'')
text(30,7e4,''\alpha_3'')
x(1)=0;
y(1)=0;
x(2)=L1sin(theta1(71));
y(2)=L1cos(theta1(71));
x(3)=L1sin(theta1(71))+L2sin(theta2(71));
y(3)=L1cos(theta1(71))+L2cos(theta2(71));
x(4)=L4;
y(4)=0;
x(5)=0;
y(5)=0;
subplot(2,2,4);
plot(x,y);
title(''铰链四杆机构'');
xlabel(''mm'')
ylabel(''mm'')
axis([-50350-20200]);
|
|