第四节 导杆机构的运动分析
在图1-6所示的导杆机构中,已知各构件的尺寸及原动件1的方位角θ1和匀角速度ω1,需对其位置、速度和加速度进行分析。
一、数学模型的建立
为了对机构进行运动分析,先如图1-6建立直角坐标系,将各构件表示为杆矢,并将各杆矢用指数形式的复数表示。
图1-6 导杆机构
1.位置分析
如图1-6所示,由封闭图形ABCA可写出机构各杆矢所构成的封闭矢量方程
(1-17)
其复数形式表示为
(1-18)
将式(1-18)的实部和虚部分离,得
(1-19)
由式(1-19)得
(1-20)
2.速度分析
将式(1-18)对时间t求一次导数,得速度关系
(1-21)
将式(1-21)的实部和虚部分离,得
(1-22)
若用矩阵形式来表示,则式(1-22)可写为
(1-23)
解式(1-23)即可求得滑块2相对导杆3的线速度v23和导杆3的角速度ω3。
3.加速度分析
将式(1-18) 对时间t求二次导数,可得加速度关系表达式
(1-24)
解式(1-24)即可求得滑块2相对导杆3的线加速度a23和导杆3的角加速度α3。
二、计算实例
【例1-3】 如图1-6所示,已知导杆机构各构件的尺寸为:l1=120mm,l4=380mm,原动件1以匀角速度ω1=1rad/s逆时针转动,试确定导杆3的角位移、角速度和角加速度,以及滑块2在导杆3上的位置、速度和加速度,并绘制出运动线图。
三、程序设计
导杆机构MATLAB程序由主程序leader_main和子函数leader两部分组成。
1. 主程序leader_main文件
********************************************************
%1.输入已知数据
clear;
l1=0.12;
l3=0.6;
l4=0.38;
omega1=1;
alpha1=0;
hd=pi/180;
du=180/pi;
%2.调用子函数 leader 计算导杆机构位移,角速度,角加速度
for n1=1:400;
theta1(n1)=n1*hd;
[theta3(n1),s3(n1),omega3(n1),v23(n1),alpha3(n1),a2(n1)]=leader(theta1(n1),omega1,alpha1,l1,l4);
end
%3.位移,角速度,角加速度和导杆机构图形输出
figure(1);
n1=1:400;
subplot(2,2,1); %绘角位移及位移线图
plot(n1,theta3*du);
grid on;
hold on;
axis auto;
[haxes,hline1,hline2]=plotyy(n1,theta3*du,n1,s3);
grid on;
hold on;
title('角位移及位移线图');
xlabel('曲柄转角 \theta_1/\circ')
axes(haxes(1));
ylabel('角位移/\circ')
axes(haxes(2));
ylabel('位移/m')
hold on;
grid on;
subplot(2,2,2); %绘角速度及速度线图
plot(n1,omega3);
grid on;
hold on;
axis auto;
[haxes,hline1,hline2]=plotyy(n1,omega3,n1,v23);
grid on;
hold on;
title('角速度及速度线图');
xlabel('曲柄转角 \theta_1/\circ')
axes(haxes(1));
ylabel('角速度/ rad\cdots∧{-1}')
axes(haxes(2));
ylabel('速度/m\cdots∧{-1}')
hold on;
grid on;
subplot(2,2,3); %绘角加速度和加速度线图
plot(n1,alpha3);
grid on;
hold on;
axis auto;
[haxes,hline1,hline2]=plotyy(n1,alpha3,n1,a2);
grid on;
hold on;
title('角加速度及加速度线图');
xlabel('曲柄转角 \theta_1/\circ')
axes(haxes(1));
ylabel('角加速度/rad\cdots∧{-2}')
axes(haxes(2));
ylabel('加速度/m\cdots∧{-2}')
hold on;
grid on;
subplot(2,2,4); %导杆机构仿真
n1=1;
x(1)=(s3(n1)*1000-50)*cos(theta3(n1));
y(1)=(s3(n1)*1000-50)*sin(theta3(n1));
x(2)=0;
y(2)=0;
x(3)=0;
y(3)=l4*1000﹢50;
x(4)=0;
y(4)=l4*1000;
x(5)=l1*1000*cos(theta1(n1));
y(5)=l1*1000*sin(theta1(n1))﹢l4*1000;
x(6)=(s3(n1)*1000﹢50)*cos(theta3(n1));
y(6)=(s3(n1)*1000﹢50)*sin(theta3(n1));
x(7)=l3*1000*cos(theta3(n1));
y(7)=l3*1000*sin(theta3(n1));
x(10)=(s3(n1)*1000-50)*cos(theta3(n1));
y(10)=(s3(n1)*1000-50)*sin(theta3(n1));
x(11)=x(10)﹢25*cos(pi/2-theta3(n1));
y(11)=y(10)-25*sin(pi/2-theta3(n1));
x(12)=x(11)﹢100*cos(theta3(n1));
y(12)=y(11)﹢100*sin(theta3(n1));
x(13)=x(12)-50*cos(pi/2-theta3(n1));
y(13)=y(12)﹢50*sin(pi/2-theta3(n1));
x(14)=x(10)-25*cos(pi/2-theta3(n1));
y(14)=y(10)﹢25*sin(pi/2-theta3(n1));
x(15)=x(10);
y(15)=y(10);
i=1:5
plot(x(i),y(i));
grid on;
hold on;
i=6:7
plot(x(i),y(i));
grid on;
hold on;
i=10:15
plot(x(i),y(i));
grid on;
hold on;
plot(x(4),y(4),'o');
plot(x(2),y(2),'o');
plot(x(5),y(5),'o');
title('导杆机构仿真');
xlabel(' mm');
ylabel('mm');
axis equal;
2.子函数leader 文件
********************************************************
function [theta3,s3,omega3,v23,alpha3,a2]=leader(theta1,omega1,alpha1,l1,l4)
%1.计算角位移和线位移
s3=sqrt((l1*cos(theta1))*(l1*cos(theta1))﹢(l4﹢l1*sin(theta1))*(l4﹢l1*sin(theta1)));
%s3表示滑块2相对于CD杆的位移
theta3=acos((l1*cos(theta1))/s3); %theta3表示导杆3转过角度
%2.计算角速度和线速度
A=[sin(theta3),s3*cos(theta3); %从动件位置参数矩阵
-cos(theta3),s3*sin(theta3)];
B=[l1*cos(theta1);l1*sin(theta1)]; %原动件位置参数矩阵
omega=A\(omega1*B);
v23=omega(1); %滑块2的速度
omega3=omega(2); %导杆3的角速度
%3.计算角加速度和线加速度
A=[sin(theta3),s3*cos(theta3); %从动件位置参数矩阵
cos(theta3),-s3*sin(theta3)];
At=[omega3*cos(theta3),(v23*cos(theta3)-s3*omega3*sin(theta3));
-omega3*sin(theta3),(-v23*sin(theta3)-s3*omega3*cos(theta3))];
Bt=[-l1*omega1*sin(theta1);-l1*omega1*cos(theta1)];
alpha=A\(-At*omega﹢omega1*Bt); %机构从动件的加速度列阵
a2=alpha(1); %a2表示滑块2的加速度
alpha3=alpha(2); %alpha3表示杆3的角加速度
四、运算结果
图1-7为导杆机构的运动线图和机构运动仿真图。
图1-7 导杆机构运动线图和机构运动仿真图