You are on page 1of 11

SEGUNDA PRCTICA CALIFICADA MT221-A

Estudiante: Jerson Jose Artezano Rojas.


20124036A.

Cdigo:

Nombre del curso: Ingeniera de control.


Seccin: A.

1. PROBLEMA 1
1.1. Diagrama del sistema

Figura 1.

Sistema mecnico.

1.2. Funcin de transferencia

T=

X (s)
1
=
2
Fop(s) ms +cs+ k

1.1. Programa para el anlisis del sistema


%PROBLEMA 1
%***********************************************************************
% Programa : pc2control1.m
% Descripcin : Analiza el Sistema Lineal y controlado
%
X_(s)
1
% G(s)= --------- = --------------------------%
Fop_(s)
m*s^2 + c*s + k
% Autor: Jerson Jose Artezano Rojas
% Rferencia: FreedySotelo V.
%***********************************************************************
% Parametros del sistema mecanico
fprintf('Parametros del Sistema Mecanico\n');
m=input('m = ');

c=input('c = ');
k=input('k = ');
fprintf('\nFuncion de Transferencia del Sistema\n');
num =[0 0 1];
den =[m c k];
printsys(num,den);
%***********************************************************************
% A) ANALISIS DE CONTROLABILIDAD Y OBSERBABILIDAD
fprintf('Espacio de Estado del Sistema\n');
[A,B,C,D]=tf2ss(num,den)
RC=rank(ctrb(A,B));
RO=rank(obsv(A,C));
fprintf('Rango de Matriz de Controlabilidad: %d\n',RC);
fprintf('Rango de Matriz de Observabilidad : %d\n',RO);
if (RC==2)
fprintf('El Sistema SI es Controlable\n');
else
fprintf('El Sistema NO es Controlable\n');
end
if (RO==2)
fprintf('El Sistema SI es Observable\n');
else
fprintf('El Sistema NO es Observable\n');
end
%***********************************************************************
% Descripcin : Analiza el Sistema Lineal
%***********************************************************************
% B) RESPUESTA AL ESCALON UNITARIO
% B.1) RESPUESTA AL ESCALON UNITARIO STANDARD
step(num,den,20);
% B.2) RESPUESTA AL ESCALON UNITARIO POR EULER
%Ingreso de parametros
te=input('Tiempo de Evaluacion [Escalon] : ');
he=input('Periodo de Muestreo [h=0.1] : ');
ne=te/he;
% Matriz A
fprintf('Ingrese la Matriz A\n');
a11=input('a11 = ');
a12=input('a12= ');
a21=input('a21= ');
a22=input('a22= ');
% Matriz B
fprintf('Ingrese la Matriz B\n');
b11=input('b11 = ');
b21=input('b21 = ');
% Condiciones Iniciales
t(1)=0; u(1)=1; x1(1)=0; x2(1)=0;
% Solucion por Euler
he=0.1; % Periodo de Muestreo
%n=input('Numero de particiones: ');
for i=1:ne
t(i+1)=t(i)+he;
u(i+1)=1;
x1(i+1)=x1(i)+he*(a11*x1(i)+a12*x2(i)+b11*u(i));
x2(i+1)=x2(i)+he*(a21*x1(i)+a22*x2(i)+b21*u(i));
end
disp(' t u x1 x2')

[t' u' x1' x2']


% Grafica de resultados
figure; plot(t,u,'r',t,x1,'g',t,x2,'b'), grid, zoom on
legend('t vs u [fop(t)]', 't vs x1 [I(x2)]', 't vs x2 [X(t)]',
'Location', 'Best')
title('Solucion de Sistema Por Metodo de Euler')
xlabel('t'), ylabel('u(t),x1(t),x2(t)')
mx=0;
Mx=max(t);
my=min([min(u) min(x1) min(x2)]);
My=max([max(u) max(x1) max(x2)]);
axis([mx Mx my My])
%***********************************************************************
% C) Analiza el Sistema Controlado
%***********************************************************************
fprintf('Parametros del Controlador...\n');
Kp=input('Kp[20]= '); % Kp = 20
Ki=input('Ki[50]= '); % Ki = 50
Kd=input('Kd[1]= '); % Kd = 1
% RESPUESTA AL ESCALON UNITARIO STANDARD
fprintf('\nFuncion de Transferencia del Sistema...\n');
nums =[0 0 1];
dens =[m c k];
printsys(nums,dens,'s');
fprintf('\nFuncion de Transferencia del Controlador...\n');
numc=[Kd Kp Ki];
denc=[0 1 0];
printsys(numc,denc);
numg=conv(numc,nums);
deng=conv(denc,dens);
numh=[1];
denh=[1];
fprintf('\nF.T. del Sistema de Control\n');
[numsc,densc]=feedback(numg,deng,numh,denh);
printsys(numsc,densc);
step(nums,dens);
hold on, step(numsc,densc);
grid, zoom on
legend('X_S/C', 'X_C/C', 'Location', 'Best')
title('Respuesta al Escalon Con y Sin Controlador')
xlabel('t'), ylabel('X(t)CC&SC')
% RESPUESTA AL ESCALON UNITARIO POR EULER
fprintf('Espacio de Estado del Sistema controlado\n');
[A,B,C,D]=tf2ss(numsc,densc)
te=input('Tiempo de Evaluacion [Escalon] : ');
he=input('Periodo de Muestreo [h=0.1] : ');
ne=te/he;
% Matriz A
fprintf('Ingrese la Matriz A del sistema controlado\n');
a11=input('a11 = ');
a12=input('a12= ');
a13=input('a13= ');
a21=input('a21= ');
a22=input('a22= ');
a23=input('a23= ');
a31=input('a31= ');
a32=input('a32= ');
a33=input('a33= ');

% Matriz B
fprintf('Ingrese la Matriz B del sistema controlado\n');
b11=input('b11 = ');
b21=input('b21 = ');
b31=input('b31 = ');
% Condiciones Iniciales
t(1)=0; u(1)=1; x1(1)=0; x2(1)=0;x3(1)=0;
% Solucion por Euler
he=0.1; % Periodo de Muestreo
%n=input('Numero de particiones: ');
for i=1:ne
t(i+1)=t(i)+he;
u(i+1)=1;
x1(i+1)=x1(i)+he*(a11*x1(i)+a12*x2(i)+a13*x3(i)+b11*u(i));
x2(i+1)=x2(i)+he*(a21*x1(i)+a22*x2(i)+a23*x3(i)+b21*u(i));
x3(i+1)=x3(i)+he*(a31*x1(i)+a32*x2(i)+a33*x3(i)+b31*u(i));
end
disp(' t u x1 x2 x3')
[t' u' x1' x2' x3']
% Grafica de resultados
figure; plot(t,u,'r',t,x1,'g',t,x2,'b',t,x3,'o'), grid, zoom on
legend('t vs u [fop(t)]', 't vs x1', 't vs x2', 't vs x3','Location',
'Best')
title('Solucion de Sistema controlado Por Metodo de Euler')
xlabel('t'), ylabel('u(t),x1(t),x2(t),x3(t)')
mx=0;
Mx=max(t);
my=min([min(u) min(x1) min(x2)]);
My=max([max(u) max(x1) max(x2)]);
axis([mx Mx my My])

1. PROBLEMA 2

1.1. Diagrama del sistema

Figura 2.

Sistema electrico.

1.2. Funcin de transferencia

T=

V sal(s)
sc 1c 2R 2R 3
=
2
2
V ent (s) C 1C 2 R 1R 2R 3s + ( C 22R 1R 2+C 1C 2R 1R 2 )s+C 2(R 1+ R 2)

1.2. Programa para el anlisis del sistema


%PROBLEMA 2
%***********************************************************************
% Programa : pc2control1.m
% Descripcin : Analiza el Sistema Lineal y controlado
%

T=

V sal(s)
sc 1c 2R 2R 3
=
2
2
V ent (s) C 1C 2 R 1R 2R 3s + ( C 22R 1R 2+C 1C 2R 1R 2 )s+C 2(R 1+ R 2)

% Autor: Jerson Jose Artezano Rojas


% Rferencia: FreedySotelo V.
%***********************************************************************
% Parametros del sistema mecanico
fprintf('Parametros del Sistema Mecanico\n');
c1=input('c1 = ');
c2=input('c2 = ');
R1=input('R1 = ');
R2=input('R2 = ');
R3=input('R3 = ');
fprintf('\nFuncion de Transferencia del Sistema\n');
num =[0 0 -1];
den =[1 2 1];
printsys(num,den);
%***********************************************************************
% A) ANALISIS DE CONTROLABILIDAD Y OBSERBABILIDAD
fprintf('Espacio de Estado del Sistema\n');
[A,B,C,D]=tf2ss(num,den)
RC=rank(ctrb(A,B));
RO=rank(obsv(A,C));
fprintf('Rango de Matriz de Controlabilidad: %d\n',RC);
fprintf('Rango de Matriz de Observabilidad : %d\n',RO);
if (RC==2)
fprintf('El Sistema SI es Controlable\n');
else
fprintf('El Sistema NO es Controlable\n');
end
if (RO==2)
fprintf('El Sistema SI es Observable\n');
else
fprintf('El Sistema NO es Observable\n');
end
%***********************************************************************
% Descripcin : Analiza el Sistema Lineal
%***********************************************************************
% B) RESPUESTA AL ESCALON UNITARIO
% B.1) RESPUESTA AL ESCALON UNITARIO STANDARD
step(num,den,20);
% B.2) RESPUESTA AL ESCALON UNITARIO POR EULER
%Ingreso de parametros
te=input('Tiempo de Evaluacion [Escalon] : ');
he=input('Periodo de Muestreo [h=0.1] : ');
ne=te/he;

% Matriz A
fprintf('Ingrese la Matriz A\n');
a11=input('a11 = ');
a12=input('a12= ');
a21=input('a21= ');
a22=input('a22= ');
% Matriz B
fprintf('Ingrese la Matriz B\n');
b11=input('b11 = ');
b21=input('b21 = ');
% Condiciones Iniciales
t(1)=0; u(1)=1; x1(1)=0; x2(1)=0;
% Solucion por Euler
he=0.1; % Periodo de Muestreo
%n=input('Numero de particiones: ');
for i=1:ne
t(i+1)=t(i)+he;
u(i+1)=1;
x1(i+1)=x1(i)+he*(a11*x1(i)+a12*x2(i)+b11*u(i));
x2(i+1)=x2(i)+he*(a21*x1(i)+a22*x2(i)+b21*u(i));
end
disp(' t u x1 x2')
[t' u' x1' x2']
% Grafica de resultados
figure; plot(t,u,'r',t,x1,'g',t,x2,'b'), grid, zoom on
legend('t vs u [fop(t)]', 't vs x1 [I(x2)]', 't vs x2 [X(t)]',
'Location', 'Best')
title('Solucion de Sistema Por Metodo de Euler')
xlabel('t'), ylabel('u(t),x1(t),x2(t)')
mx=0;
Mx=max(t);
my=min([min(u) min(x1) min(x2)]);
My=max([max(u) max(x1) max(x2)]);
axis([mx Mx my My])
%***********************************************************************
% C) Analiza el Sistema Controlado
%***********************************************************************
fprintf('Parametros del Controlador...\n');
Kp=input('Kp[20]= '); % Kp = 20
Ki=input('Ki[50]= '); % Ki = 50
Kd=input('Kd[1]= '); % Kd = 1
% RESPUESTA AL ESCALON UNITARIO STANDARD
fprintf('\nFuncion de Transferencia del Sistema...\n');
nums =[0 0 1];
dens =[m c k];
printsys(nums,dens,'s');
fprintf('\nFuncion de Transferencia del Controlador...\n');
numc=[Kd Kp Ki];
denc=[0 1 0];
printsys(numc,denc);
numg=conv(numc,nums);
deng=conv(denc,dens);
numh=[1];
denh=[1];
fprintf('\nF.T. del Sistema de Control\n');
[numsc,densc]=feedback(numg,deng,numh,denh);
printsys(numsc,densc);
step(nums,dens);
hold on, step(numsc,densc);

grid, zoom on
legend('X_S/C', 'X_C/C', 'Location', 'Best')
title('Respuesta al Escalon Con y Sin Controlador')
xlabel('t'), ylabel('X(t)CC&SC')
% RESPUESTA AL ESCALON UNITARIO POR EULER
fprintf('Espacio de Estado del Sistema controlado\n');
[A,B,C,D]=tf2ss(numsc,densc)
te=input('Tiempo de Evaluacion [Escalon] : ');
he=input('Periodo de Muestreo [h=0.1] : ');
ne=te/he;
% Matriz A
fprintf('Ingrese la Matriz A del sistema controlado\n');
a11=input('a11 = ');
a12=input('a12= ');
a13=input('a13= ');
a21=input('a21= ');
a22=input('a22= ');
a23=input('a23= ');
a31=input('a31= ');
a32=input('a32= ');
a33=input('a33= ');
% Matriz B
fprintf('Ingrese la Matriz B del sistema controlado\n');
b11=input('b11 = ');
b21=input('b21 = ');
b31=input('b31 = ');
% Condiciones Iniciales
t(1)=0; u(1)=1; x1(1)=0; x2(1)=0;x3(1)=0;
% Solucion por Euler
he=0.1; % Periodo de Muestreo
%n=input('Numero de particiones: ');
for i=1:ne
t(i+1)=t(i)+he;
u(i+1)=1;
x1(i+1)=x1(i)+he*(a11*x1(i)+a12*x2(i)+a13*x3(i)+b11*u(i));
x2(i+1)=x2(i)+he*(a21*x1(i)+a22*x2(i)+a23*x3(i)+b21*u(i));
x3(i+1)=x3(i)+he*(a31*x1(i)+a32*x2(i)+a33*x3(i)+b31*u(i));
end
disp(' t u x1 x2 x3')
[t' u' x1' x2' x3']
% Grafica de resultados
figure; plot(t,u,'r',t,x1,'g',t,x2,'b',t,x3,'o'), grid, zoom on
legend('t vs u [fop(t)]', 't vs x1', 't vs x2', 't vs x3','Location',
'Best')
title('Solucion de Sistema controlado Por Metodo de Euler')
xlabel('t'), ylabel('u(t),x1(t),x2(t),x3(t)')
mx=0;
Mx=max(t);
my=min([min(u) min(x1) min(x2)]);
My=max([max(u) max(x1) max(x2)]);
axis([mx Mx my My])

You might also like