Sie sind auf Seite 1von 32

TALLER FINAL DE CONTROL

1. a) La respuesta al impulso simulada en la figura 1 nos muestra una rampa


creciente, la entrada es una fuerza aplicada en un instante de tiempo corto
al tren, lo que significa que el tren fue impulsado y continua desplazndose
sin control (no se detiene). La causa de este comportamiento es la ausencia
de friccin y amortiguamiento viscoso del modelo.

Impulse Response
40

35

30

25
Amplitude

20

15

10

0
0 10 20 30 40
Time (seconds)

Figura 1
El cdigo usado para calcular la respuesta al impulso es:
Gs=tf([1],[1 0 0],'InputDelay', 0.3);
impulse(Gs)

b) Un sistema que crece indefinidamente se interpreta como un sistema inestable.


En la aplicacin real se requiere que el tren se detenga en determinados lugares,
por esta razn es necesario un sistema de control que le indique al sistema
cuando detenerse con base en informacin suministrada por el lazo de
realimentacin. El controlador agrega la friccin requerida para que el tren se
detenga.

2. Debido a que el sistema solo tiene polos en el origen y se comporta como


una rampa cualquier periodo de muestreo en lazo abierto es adecuado
como se aprecia en la figura 2.
Step Response
1000

Amplitude
500

0
0 5 10 15 20 25 30 35 40
Time (seconds)

Step Response
1000
Amplitude

500

0
0 5 10 15 20 25 30 35 40
Time (seconds)

Step Response
1000
Amplitude

500

0
0 5 10 15 20 25 30 35 40
Time (seconds)

Step Response
1000
Amplitude

500

0
0 5 10 15 20 25 30 35 40
Time (seconds)

Figura2
El cdigo para hallar las respuestas al escaln en lazo abierto son:
Gs=tf([1],[1 0 0],'InputDelay', 0.3);
Gz1=c2d(Gs,1,'foh');
Gz2=c2d(Gs,.1,'foh');
Gz3=c2d(Gs,.01,'foh');
subplot(4,1,1)
step(Gs,'r')
subplot(4,1,2)
step(Gz1,40)
subplot(4,1,3)
step(Gz2,40)
subplot(4,1,4)
step(Gz3,40)

Al realimentar el lazo se puede apreciar que no cualquier periodo de muestreo


funciona, en las figuras 3-6 se muestra la comparacin de la respuesta al escaln
de los sistemas operados en tiempo continuo y luego discretizados (figura azul) vs
los sistemas operados totalmente en su forma discreta (figura roja). Las figuras 3 y
6 corresponden a periodos de muestreo de .01 seg y 5 seg respectivamente,
ntese la gran diferencia de las dos respuestas, lo que significa que estos
periodos de muestreo no son adecuados.
En la figura 5 las dos respuestas son similares pero con una diferencia que an es
notoria, aqu la frecuencia de muestreo es de 1 seg y podra usarse aceptando un
pequeo margen de error. La figura 4 muestra las respuestas con un periodo de
muestreo de .005 segundos que es la mejor respuesta de los sistemas con una
desviacin casi imperceptible, este periodo es el ms adecuado para nuestro
sistema.
Figura 3

Figura 4
Figura 5

Figura 6
El cdigo para hallar las respuestas discretizada vs la operada discreta es:

clear all, close all, clc


p=5;
Gs=tf([1],[1 0 0]);
Gz=c2d(Gs,p,'foh');
Tz=Gz/(1+Gz);
Ts=Gs/(1+Gs);
ins=tf([.2 .3 .1],[1 0.09 10 1]);
nys=ins*Ts;
yn1z=c2d(nys,p,'foh');
inz=c2d(ins,p,'foh');
yn2z=inz*Tz;
step(yn1z,100)
hold on
step(yn2z,100,'r')

Donde p es el tiempo de muestreo que se vara cada vez que se genera una
respuesta e ins es la funcin de transferencia de una seal no peridica que
representa la entrada que excite el sistema de una forma ms dinmica.
Nota: foh es uno de los mtodos de discretizacin.
3.
Luego de hallar el polo deseado, buscamos las constantes del controlador PID
(a, b) de tal forma que se cumpla la condicin de ngulo, para ello se crea la
siguiente rutina de cmputo:

clear all, close all, clc


syms a b
i=1;
for a = 1:.1:10
for b = 1:.1:10
ca(i)=round(332.90583-(atan(3.47914/(-1.33333+a))*180/pi+180)-
(atan(3.47914/(-1.33333+b))*180/pi+180));
ca2=ca(i);
i=i+1;
if ca2 == -180
a
b
else
end
end
end

Los resultados obtenidos son:


a= 1.4 y b=3 ; a= 1.5 y b=2.9 ; a= 1.6 y b=2.8 ; a= 1.7 y b=2.7 ;
b= 1.4 y a=3 ; b= 1.5 y a=2.9 ; b= 1.6 y a=2.8 ; b= 1.7 y a=2.7 ;
Luego de hallar las constantes del PID y verificar las condiciones de magnitud y
ngulo verificamos que el lugar geomtrico de las races (LGR) pase por el polo
deseado con el siguiente cdigo:
clear all,close all,clc
Gs=tf([1],[1 0 0],'InputDelay', 0.3);
k=6.8;
rlocus(k*[1 4.43022 4.24231],[1 0 0 0]) %LGR del sistema en lazo abierto

Root Locus
5

3 System: sys
Imaginary Axis (seconds-1)

Gain: 0.562
2 Pole: -1.33 + 3.47i
Damping: 0.357
1 Overshoot (%): 30
0 Frequency (rad/s): 3.71

-1

-2

-3

-4

-5
-14 -12 -10 -8 -6 -4 -2 0 2
-1
Real Axis (seconds )

Figura 7

Luego se comprueba que el sistema realimentado cumpla con el tiempo de


establecimiento y sobreimpulso deseado con el siguiente cdigo:

clear all,close all,clc


k=6.8;
Tsc=tf(k*[1 4.43022 4.24231],k*[1/k 1 4.43022 4.24231]) %Sistema en lazo
cerrado. PID+Planta
step(Tsc,5) %Respuesta al escaln en lazo cerrado
System: Tsc
Time (seconds): 0.6 Step Response
1.5 Amplitude: 1.42

System: Tsc
Time (seconds): 3.95
Amplitude: 1
1
Amplitude

0.5

0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Time (seconds)

Figura 8

Aqu el sobreimpulso es de 42% y el tiempo de establecimiento es de 4 segundos


para una ganancia de 3.839, por ello es necesario buscar otro valor de ganancia
que mejore el sistema, el valor es 6.8 y la respuesta es:
System: Tsc
Time (seconds): 0.43 Step Response
1.4
Amplitude: 1.3

1.2 System: Tsc


Time (seconds): 2.98
Amplitude: 0.998
1
Amplitude

0.8

0.6

0.4

0.2

0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Time (seconds)

Figura 9
Ahora el sobreimpulso es de 30% y el tiempo de establecimiento es de 3
segundos o menos. Tambin se verifica el LGR y con la nueva ganancia sigue
pasando por el polo deseado.
4.
PUNTO 4.
Empleando el periodo de muestreo obtenido en el numeral 2) discretice el
controlador PID e implemente mediante una rutina de computo su realizacin en la
forma de posicin.

e= ones(1,71);
u = zeros(1,71);

%Valores iniciales del controlador


u(1)=166.8334;
u(2)=32.2897;

%Constantes del controlador


a1=1;b1=166.8334;b2=-301.3771;b3=135.9865;

for k=3:71
u(k) = (b1*e(k))+(b2*e(k-1))+(b3*e(k-2))+(a1*u(k-1));
end

subplot(1,2,1)
stem(e,'g')
grid
title ('Seal de Entrada al Controlador')
xlabel('k')
ylabel ('r(k)')
subplot(1,2,2)
stem(u,'m')
grid
title ('Salida del Controlador')
xlabel('k')
ylabel ('e(k)')

Graficas
PUNTO 5.
Construya un algoritmo en MATLAB que permita simular la interaccin (en el
dominio del tiempo y no de la frecuencia) entre la planta y el controlador digital
considerado. Muestre los resultados de evolucin en el tiempo para la salida de la
planta, la seal de referencia y la seal de control. Analice el efecto de
perturbacin en el sistema.
El siguiente cdigo corresponde a la realizacin en posicin de todo el
sistema (controlador + planta con retroalimentacin)

%Punto 5: Rutina de computo en el tiempo discreto que describe la


%interaccin de la planta y el controlador.
clear all
close all

r= ones(1,501);
e = [1 0.79145825 zeros(1,499)];
u = zeros(1,501);
c = [0 0.20854175 zeros(1,499) ];

%Valores iniciales del controlador


u(1)=166.8334;
u(2)=-2.502029194;

%Constantes del controlador


a1=1;b1=166.8334;b2=-301.3771;b3=135.9865;
for k=3:501
c(k) = c(k-1)+ 0.00125*u(k-1);
e(k) = r(k)-c(k);
u(k) = (b1*e(k))+(b2*e(k-1))+(b3*e(k-2))+(a1*u(k-1));

end

subplot(1,2,1)
stem(r,'g')
grid
title ('Seal de Referencia')
xlabel('k')
ylabel ('r(k)')
subplot(1,2,2)
stem(e,'m')
grid
title ('Seal de Error')
xlabel('k')
ylabel ('e(k)')

figure
subplot(1,2,2)
stem(c)
grid
title ('Respuesta al Escaln Unitario')
xlabel('k')
ylabel ('c(k)')
subplot(1,2,1)
stem(u,'r')
grid
title ('Seal de Control')
xlabel('k')
ylabel ('u(k)')
El siguiente cdigo corresponde a la realizacin en posicin de todo el
sistema (controlador + planta con retroalimentacin) con perturbacin

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% REALIZACIN EN POSICIN CON PERTURBACIN
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
clear all
close all

r= ones(1,501);
e = [1 0.79145825 zeros(1,499)];
u = zeros(1,501);
c = [0 0.20854175 zeros(1,499) ];
p = [0 0 0 0 1 1 1 1 20*rand(1,493)]; % variacin de la perturbacin

%Valores iniciales del controlador


u(1)=166.8334;
u(2)=-2.502029194;

%Constantes del controlador


a1=1;b1=166.8334;b2=-301.3771;b3=135.9865;

for k=3:501
c(k) = c(k-1)+ 0.00125*u(k-1);
e(k) = r(k)-c(k);
u(k) = (b1*e(k))+(b2*e(k-1))+(b3*e(k-2))+(a1*u(k-1)) + p(k) - p(k-1);

end
REALIZACIN EN POSICIN CON PERTTUBACIONES ENTRE 0 Y 1

Como se puede observar la respuesta no vara con respecto al sistema sin


perturbacin.
- REALIZACIN EN POSICIN CON PERTTUBACIONES ENTRE 0 Y 20
(nmeros aleatorios)

Ahora al aumentar la magnitud de las perturbaciones se observa que el sistema es


muy sensible, ya que en esta forma de realizacin el error se multiplica
directamente con las tres ganancias del controlador PID.
PUNTO 6.
PUNTO 7.
Implemente la realizacin computacional del PID en su forma de velocidad y repita
el numeral 5.)
Qu diferencias y / o similitudes se obtienen en las simulaciones respectivas del
control?
Para agregar perturbaciones se realiza el proceso equivalente al punto 5.

El siguiente cdigo corresponde a la realizacin en velocidad de todo el


sistema (controlador + planta con retroalimentacin)

clear all
clc
close all
r = ones(1,501);
u = zeros(1,501);
c = [0 0.00180349 zeros(1,499) ];

%Valores iniciales del controlador


u(1)=1.442792146;
u(2)=2.584701887;

%Constantes de la ecuacin en diferencias controlador


a1=1;b1=-166.8334031;b2=301.3771179;b3=-135.986507;c1=1.4427792146;
for k=3:501
c(k) = c(k-1) + 0.00125*u(k-1);
u(k) = (c1*r(k))+(b1*c(k))+(b2*c(k-1))+(b3*c(k-2))+(a1*u(k-1));

end

subplot(1,2,1)
stem(r,'g')
grid
title ('Seal de Referencia')
xlabel('k')
ylabel ('r(k)')

subplot(1,2,2)
stem(c)
grid
title ('Respuesta al Escaln Unitario')
xlabel('k')
ylabel ('c(k)')

figure
stem(u,'r')
grid
title ('Seal de Control')
xlabel('k')
ylabel ('u(k)')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% REALIZACIN EN VELOCIDAD CON PERTURBACIN
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%

r2 = ones(1,501);
u2 = zeros(1,501);
c2 = [0 0.00180349 zeros(1,499)];
p2 = [0 0 0 0 1 1 1 1 5*rand(1,493)];

%Valores iniciales del controlador


u2(1)=1.442792146;
u2(2)=2.584701887;

%Constantes de la ecuacin en diferencias controlador


a12=1;b12=-166.8334031;b22=301.3771179;b32=-135.986507;c12=1.4427792146;

for k=3:501
c2(k) = c2(k-1) + 0.00125*u2(k-1);
u2(k) = (c12*r(k))+(b12*c2(k))+(b22*c2(k-1))+(b32*c2(k-2))+(a12*u2(k-
1))+ p2(k)-p2(k-1);

end

REALIZACIN EN VELOCIDAD CON PERTUBACIONES ALEATORIAS ENTRE 0


Y5
Se observa que el sistema mantiene sus caractersticas de forma general, aunque
ya comienza a notarse los efectos indeseados de las muestras agregadas.

REALIZACIN EN POSICIN CON PERTUBACIONES ALEATORIAS ENTRE 0 Y


20
En este punto las perturbaciones han afectado la respuesta al sistema de forma
significativa.
COMPARACIN
Como se puede observar en la anterior imagen las realizaciones sin
perturbaciones son leventemente diferentes en el tiempo de establecimiento y las
amplitudes en el primer sobre impulso, idealmente debera ser 1.3

COMPARACIN CON PERTUBACIONES ALEATORIAS ENTRE 0 Y 2


Al comparar las realizaciones con perturbaciones, las diferencias son notorias a
pesar de que el valor de las perturbaciones es pequeo, se puede observar que la
realizacin del PID en forma de velocidad tiene mayor inmunidad a las
perturbaciones, ya que el sobreimpulso se mantiene en un valor cercano al ideal y
la respuesta en estado estable no presenta oscilaciones notorias.

COMPARACIN CON PERTUBACIONES ALEATORIAS ENTRE 0 Y 10

Al aumentar la amplitud de las muestras agregadas como perturbacin se puede


apreciar que las ventajas de la realizacin del PID en forma de velocidad son
mucho mayores bajo perturbaciones graves, ya que la accin derivativa y la accin
proporcional actan sobre la seal de salida y no sobre la seal de error
directamente.

PUNTO 8.

Se utilizo el bloque PID de simulink para simular el sistema de control en lazo


cerrado incluyendo la funcin de transferencia de la planta. Para el bloque PID se
usaron los coeficientes calculados en el punto 5; el bloque PID de simulink tiene la
opcin de corregir los factores derivativos e integral para obtener un mejor
resultado, se desactivo la opcin de limitar el factor integral y para el factor
derivativo, se us un coeficiente n muy grande tal que no afectar el resultado y
bajo estos parmetros se obtuvo la siguiente grfica:

Posteriormente se habilit la limitacin del factor integral y se us un coeficiente


n=10 para la parte derivativa (debido a que los valores tpicos de este coeficiente
estn entre 8 y 20). Y al ejecutar estos parmetros, se obtiene la siguiente grfica:
Comparando con el punto 5 y el punto 7 se observa una disminucin del
sobreimpulso de 1.3 a 1.09 manteniendo el mismo tiempo de establecimiento.

Das könnte Ihnen auch gefallen