Вы находитесь на странице: 1из 8

UNIVERSIDAD CATOLICA DE SANTA MARIA

FACULTAD DE INGENIERIAS FISICAS Y FORMALES

PROGRAMA PROFESIONAL DE INGENIERIA MECANICA,


MECANICA ELECTRICA Y MECATRONICA

“CONTROL MECATRONICO 1”

NOMBRES Y APELLIDOS:
Kevin Cortez Rojas
CUI:2012210251

Semestre IX
2020
Problema 1

Considere el sistema de orden alto definido por:

C( s) 6.3223 s2 +18 s+12.811


= 4
R( s) s +6 s3 +11.3223 s2 +18 s +12.811

Dibuje la curva de respuesta a un escalón unitario de este sistema utilizando MATLAB.


Obtenga también utilizando MATLAB el tiempo de subida, el tiempo de pico, la máxima sobre elongación y el
tiempo de asentamiento.

Escribimos el siguiente código en Matlab:

clc, clear all, close all


num=[6.3223 18 12.811];
den=[1 6 11.3223 18 12.811];
G=tf(num,den);
%% -----------------CÁLCULO DE LA SALIDA EN ESTADO ESTACIONARIO YSS-------------------
yss=polyval(num,0)/polyval(den,0);
%% -------------------------CÁLCULO DEL MÁXIMO SOBREIMPULSO---------------------------
[y,t]=step(G);% obtención de los vectores tiempo y "y".
[yp,pos]=max(y);
Mp=((yp-yss)/yss)*100;
tp=t(pos);
%% ------------------------CÁLCULO DEL TIEMPO DE SUBIDA-------------------------------
k=1;% Contador.
while y(k)<0.1
k=k+1;
end
t10=t(k);% tiempo necesario para llegar al 10%.
j=1;% contador.
while y(j)<0.9
j=j+1;
end
t90=t(j);% tiempo necesario para llegar al 90%.

tr=t90-t10;% tiempo de subida.


%% ------------------CÁLCULO DEL TIEMPO DE ESTABLECIMIENTO TSS------------------------
s=length(t);
while y(s)>0.98 && y(s)<1.02% criterio del 2% tss=4/swn
s=s-1;
end
%% ----------------------------PLOTEO DE RESPUESTAS-----------------------------------
tss=t(s);
fprintf('El máximo sobreimpulso es: %1f \n',Mp);
fprintf('El tiempo de pico es: %1f \n',tp);
fprintf('El tiempo de subida es: %1f \n',tr);
fprintf('El tiempo de establecimiento es: %1f \n',tss);
step (G)

EL código nos genera la siguiente respuesta en el Command Window de Matlab:


El máximo sobreimpulso es: 61.821975
El tiempo de pico es: 1.671473
El tiempo de subida es: 0.579444
El tiempo de establecimiento es: 10.028838
EL código nos genera la siguiente gráfica:
Problema 2

Considere el sistema en lazo cerrado definido por:

C( s) ω n2
=
R( s) s 2+ 2ζωn s+ω n2

Utilizando un “bucle for”, escriba un programa en MATLAB para obtener la respuesta de este
sistema en los cuatro casos siguientes:
Caso 1: ζ =0.3 , ωn =1
Caso 2: ζ =0.5 , ωn =2
Caso 3: ζ =0.7 , ω n=4
Caso 4: ζ =0.8 , ωn =6

Escribimos el siguiente código en Matlab:

%% RESPUESTA PARA VALORES DIFERENTES DE AMORTIGUAMIENTO Y FRECUENCIA NATURAL

%%----------------------LIMPIAMOS LA PANTALLA, VARIABLES Y PROCESOS-------------------


clc, clear all, close all

%% ----------DECLARACIÓN DE LOS VECTORES AMORTIGUAMIENTO Y FRECUENCIA NATURAL---------


d=[0.3 0.5 0.7 0.8];%Vector de valores para al Amortiguamiento.
wn=[1 2 4 6];%Vector de valores para la frecuencia natural.

%% ------------------------------------BUCLE FOR--------------------------------------
for i=1:4
num=wn(i)^2;
den=[1 2*d(i)*wn(i) wn(i)^2];
G=tf(num,den);
step(G)
hold on
gtext('d')
end

%% ------------------------SE AGREGA ETIQUETAS PARA CADA CASO-------------------------


legend('d=0.3 y wn=1','d=0.5 y wn=2','d=0.7 y wn=4','d=0.8 y wn=6')

El código genera la respuesta:


Problema 3

Utilizando MATLAB, obtenga la respuesta a una rampa unitaria del sistema de control en lazo cerrado cuya
función de transferencia en lazo cerrado es:

C( s) s+ 10
=
R( s) s 3+ 6 s 2+ 9 s+ 10

Obtenga también la respuesta de este sistema cuando la entrada está dada por:

r =e−0.5t

Escribimos el siguiente código en Matlab:

%% RESPUESTA ANTE RAMPA UNITARIA

%%----------------------LIMPIAMOS LA PANTALLA, VARIABLES Y PROCESOS-------------------


clc, clear all, close all

%% ----------DECLARACIÓN DE LOS VECTORES DENOMINADOR Y NUMERADOR Y LA G(s)------------


num=[1 10];
dem=[1 6 9 10];
G=tf(num,dem);

%% ---------------------------DECLARACIÓN DEL VECTOR TIEMPO---------------------------


t=0:0.01:10;
u=1*t;% declaramos variable u, es decir entrada tipo rampa unitaria para usar “lsim”.

%% -----------------------------------GRAFICAMOS--------------------------------------
subplot(211)
lsim(G,u,t)% Grafica respuesta en “t” para una entrada tipo escalón unitario “u”.
u2=exp(-0.5*t);% Grafica respuesta en “t” para una entrada “r =e−0.5 t ”.
subplot(212)
lsim(G,u2,t)

El código nos genera la siguiente gráfica:


Problema 4

Considere el sistema definido por:


C( s) 1
= 2
R( s) s + 2ζ n s+1

donde 𝜁 = 0, 0.2, 0.4, 0.6, 0.8 𝑦 1.0. Escriba un programa en MATLAB utilizando un «bucle for» para obtener las
gráficas en dos y en tres dimensiones de la salida del sistema. La entrada es una función escalón unitario. Usar la
función mesh para graficar en 3 dimensiones.

Escribimos el siguiente código en Matlab:

%% RESPUESTA ANTE RAMPA UNITARIA

%%----------------------LIMPIAMOS LA PANTALLA, VARIABLES Y PROCESOS-------------------


clc, clear all, close all

%% ---------DECLARACIÓN DE VECTORES PARA VALORES DE AMORTIGUAMIENTO Y TIEMPO----------


d=0:0.2:1;
t=0:0.1:12;

%% ------------------USO DE FOR PARA CREAR VECTORES d Y DENOMINADOR-------------------


figure(1) );% colocamos la gráfica en 2 dimensiones en la figura 1.

for i=1:length(d)
num=1;
den=[1 2*d(i) 1];
G=tf(num,den);
step(G,t)
y(1:length(t),i)=step(G,t);% creación del vector y de tamaño proporcional.
hold on
s=num2str(d(i));
gtext(s)
end

%% ---------------------USO DE MESH PARA LA GRÁFICA DE 3 DIMENSIONES------------------


figure(2);% colocamos la gráfica en 3 dimensiones en la figura 2.
mesh(t,d,y')

El código nos genera las siguientes gráficas:

Problema 5
Determine los valores de K y k del sistema en lazo cerrado, para que el sobrepaso máximo de la respuesta escalón
unitario sea de 25% y el tiempo pico sea de 2 seg. Suponga que J=1

Problema 5

Determine los valores de K y k del sistema en lazo cerrado, para que el sobrepaso máximo de la respuesta escalón
unitario sea de 25% y el tiempo pico sea de 2 seg. Suponga que J=1

Escribimos el siguiente código en Matlab:


%% OBTENCIÓN DE TIEMPO DE SUBIDA, DE PICO, DE ASENTAMIENTO Y EL MÁXIMO SOBREPASO

%% -----------------------------------------------------------------------
clc, clear all, close all
num=[6.3223 18 12.811];
den=[1 6 11.3223 18 12.811];
G=tf(num,den);
%% -----------------Cálculo de la salida en estado estacionario yss
yss=polyval(num,0)/polyval(den,0);
%% -----------------Cálculo del máximo sobreimpulso
[y,t]=step(G);%--obtención de los vectores tiempo y "y"
[yp,pos]=max(y);
Mp=((yp-yss)/yss)*100;
tp=t(pos);
%% -----------------Cálculo del tiempo de subida
k=1;%---contador
while y(k)<0.1
k=k+1;
end
t10=t(k);%------tiempo necesario para llegar al 10%
j=1;%---contador
while y(j)<0.9
j=j+1;
end
t90=t(j);%------tiempo necesario para llegar al 90%

tr=t90-t10;%-------tiempo de subida
%% -----------------Cálculo del tiempo de establecimiento tss
s=length(t);
while y(s)>0.98 && y(s)<1.02%--criterio del 2% tss=4/swn
s=s-1;
end
tss=t(s);
fprintf('El máximo sobreimpulso es: %1f \n',Mp);
fprintf('El tiempo de pico es: %1f \n',tp);
fprintf('El tiempo de subida es: %1f \n',tr);
fprintf('El tiempo de establecimiento es: %1f \n',tss);
step (G)
EL código nos genera la siguiente respuesta en el Command Window de Matlab:

El máximo sobreimpulso es: 61.821975

El tiempo de pico es: 1.671473

El tiempo de subida es: 0.579444

El tiempo de establecimiento es: 10.028838

El código nos genera la siguientes gráfica:

Вам также может понравиться