410 C Programs of Chapter 4: Dynamic Force Analysis
% Graphic of the mechanism
plot([0,xB],[0,yB],’r-o’,[xD,xF],[yD,yF],...
[xA,xG],[yA,yG],’g-o’),...
xlabel(’x (m)’), ylabel(’y (m)’),...
title(’positions for \phi = 30 (deg)’),...
text(xA,yA,’ A’),text(xB,yB,’ B=C2’),...
text(xC,yC,’ C’),text(xD,yD,’ D=C4’),...
text(xF,yF,’ F’),text(xG,yG,’ G’),...
text(xC1,yC1,’ C1’), text(xC3,yC3,’ C3’),...
text(xC5,yC5,’ C5’),...
axis([-0.3 0.3 -0.3 0.3]), grid on
fprintf(’\n’)
fprintf(’Velocity and acceleration analysis\n\n’)
n = 50.;
omega1=[00pi
*
n/30 ]; alpha1 = [000];
vA=[000];aA=[000];
vB1 = vA + cross(omega1,rB); vB2 = vB1;
aB1 = aA+cross(alpha1,rB)-dot(omega1,omega1)
*
rB;
aB2 = aB1;
fprintf(’aB1=aB2 = [ %g, %g, %g ] (m/sˆ2)\n’,aB1)
omega3z=sym(’omega3z’,’real’);
alpha3z=sym(’alpha3z’,’real’);
vB32=sym(’vB32’,’real’);
aB32=sym(’aB32’,’real’);
omega3=[00omega3z ];
vC=[000];
vB3 = vC + cross(omega3,rB-rC);
vB3B2 = vB32
*
[ cos(phi2) sin(phi2) 0];
eqvB = vB3 - vB2 - vB3B2;
eqvBx = eqvB(1); eqvBy = eqvB(2);
solvB = solve(eqvBx,eqvBy);
omega3zs=eval(solvB.omega3z);
vB32s=eval(solvB.vB32);
Omega3 = [0 0 omega3zs]; Omega2 = Omega3;
v32 = vB32s
*
[cos(phi2) sin(phi2) 0];
vD3 = vC + cross(Omega3,rD-rC); vD4 = vD3;
aB3B2cor = 2
*
cross(Omega3, v32);
alpha3=[00alpha3z ];
aC=[000];
aB3 = aC + cross(alpha3,rB-rC) - ...
dot(Omega3,Omega3)
*
(rB-rC);
aB3B2 = aB32
*
[ cos(phi2) sin(phi2) 0];
eqaB = aB3 - aB2 - aB3B2 - aB3B2cor;
eqaBx = eqaB(1); eqaBy = eqaB(2);