Está en la página 1de 3

clear all

clc

L1=input("introduzca valor de L1 fija en m");


theta1=input("introduzca valor del angulo 1 fijo en grados");
L2=input("introduzca valor de L2 manivela en m");
L3=input("introduzca valor de L3 en m");
L4=input("introduzca valor de L4 en m");
omega2=input("introduzca valor de la velocidad angular de 2 en rpm");

% angulo de entrada de la manivela theta 2:


theta2=0:0.1:4*pi;

% angulo fijo barra1 theta 1:


L=ones(length(theta2),1);
theta1=theta1*pi/180.*L;
theta1=theta1';

% calculo del tiempo que tarda en completar los ciclos en segundos


omega2=omega2*2*pi/60; % pasando de rpm a rad/s
t=theta2./omega2;

% calculo de las constantes A,B,C, y D:

A=L1.*cos(theta1)-L2.*cos(theta2);
B=L1.*sin(theta1)-L2.*sin(theta2);
C=(L3^2-L4^2+A.^2+B.^2)/(2*L3);
D=(L3^2-L4^2-A.^2-B.^2)/(2*L4);

% calculo del angulo theta 3 en rad


theta3=2.*atan((B-sqrt(A.^2+B.^2-C.^2))./(A+C));

% calculo del angulo theta 3 en rad


theta4=2.*atan((B+sqrt(A.^2+B.^2-D.^2))./(A+D));

% calculo de la velocidad absoluta de la junta A en m/s:

VAx=(omega2*L2).*(-sin(theta2));
VAy=(omega2*L2).*(cos(theta2));

VA=sqrt(VAx.^2+VAy.^2);

% calculo de la velocidad angular del eslabon 3 en rad/s:


omega3=(L2/L3).*(sin(theta4-theta2))./(sin(theta3-theta4)).*omega2;

% calculo de la velocidad angular del eslabon 4 en rad/s:


omega4=(L2/L4).*(sin(theta2-theta3))./(sin(theta4-theta3)).*omega2;

% calculo de la velocidad en la union B en m/s:

VBx=(omega4.*L4).*(-sin(theta4));
VBy=(omega4.*L4).*(cos(theta4));

VB=sqrt(VBx.^2+VBy.^2);
% calculo de la aceleracion en la union A en m/s^2:

aAx=-omega2.^2.*L2.*cos(theta2);
aAy=-omega2.^2.*L2.*sin(theta2);

aA=sqrt(aAx.^2+aAy.^2);

% calculo de la aceleracion angular del eslabon 3 en rad/s^2:

alpha3=(-omega2.^2.*L2.*sin(theta2+theta4)+omega3.^2.*L3.*sin(theta3-
theta4)+omega4.^2.*L4)./(L3.*cos(theta3-theta4));

% calculo de la aceleracion angular del eslabon 4 en rad/s^2:

alpha4=(-omega2.^2.*L2.*sin(theta2+theta3)+omega4.^2.*L4.*sin(theta4-theta3)-
omega3.^2.*L3)./(L4.*cos(theta4-theta3));

% calculo de la aceleracion en la union B en m/s^2:

aBx=-omega4.^2.*L4.*cos(theta4)-alpha4*L4.*sin(theta4);
aBy=-omega4.^2.*L4.*sin(theta4)+alpha4*L4.*cos(theta4);

aB=sqrt(aBx.^2+aBy.^2);

% posicion puntos A y B

X0=zeros(length(theta2),1)';
Y0=zeros(length(theta2),1)';
R0x=L1.*cos(theta1);
R0y=L1.*sin(theta1);
RAx=L2.*cos(theta2);
RAy=L2.*sin(theta2);
RBx=L3.*cos(theta3);
RBy=L3.*sin(theta3);
RCx=L4.*cos(theta4);
RCy=L4.*sin(theta4);

XA=RAx;
YA=RAy;
XB=XA+RBx;
YB=YA+RBy;
XC=R0x;
YC=R0y;

figure(1)
n=length(theta2);
X=[XA XB XC];
Y=[YA YB YC];
xmin=min(X);
xmax=max(X);
ymin=min(Y);
ymax=max(Y);

for i=1:n
clf()
plot([X0(i),XA(i)],[Y0(i),YA(i)],X0,Y0,'o',[XA(i),YA(i)],'o',[XA(i),XB(i)],
[YA(i),YB(i)],XB,YB,'o',[XB(i),XC(i)],[YB(i),YC(i)],XC,YC,'o',[X0(i),XC(i)],
[Y0(i),YC(i)],'--')
axis([xmin xmax ymin ymax])
pause (0.01)
end

% grafica de la posicion del punto B:


figure(2)
plot(XB,YB),grid on
title("posicion del punto B (Acoplador)")

% grafica de los angulos theta3 y theta4 vs theta2:

figure(3)
plot(theta2,theta3,theta2,theta4),grid on
title("angulos theta3 y theta4 vs theta2")

% grafica de las velocidades angulares omega 3 y 4 vs omega 2:


figure(4)
plot(theta2,omega3,theta2,omega4),grid on
title("velocidades angulares omega 3 y 4 vs omega 2")

% grafica de la velocidad VB vs theta2:


figure(5)
plot(theta2,VB),grid on
title("velocidad en B vs omega 2")

% grafica de la aceleracion angula eslabon 3 vs theta2:


figure(6)
plot(theta2,alpha3),grid on
title("aceleracion angular 3 vs omega 2")

% grafica de la aceleracion angula eslabon 4 vs theta2:


figure(7)
plot(theta2,alpha4),grid on
title("aceleracion angular 4 vs omega 2")

% grafica de la aceleracion union A vs theta2:


figure(8)
plot(theta2,aA),grid on
title("aceleracion en A vs omega 2")

% grafica de la aceleracion union B vs theta2: figure(9)


plot(theta2,aB),grid on
title("aceleracion en B vs omega 2")

También podría gustarte