机械原理Matlab辅助分析(第二版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第四节 导杆机构的运动分析

在图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 导杆机构运动线图和机构运动仿真图