controladores2
controladores2
controladores2
RESUMEN: El análisis de un sistema de control para un proceso implica la evaluación de la estabilidad del sistema para ser
implementado en un proceso real. Una vez evaluado la estabilidad, en casi un cien por ciento de los casos se requiere de
un compensador para mejorarla. Como introducción al diseño de compensadores se requiere conocer los diferentes
algoritmos de control con los que se puede diseñar estos compensadores. Por medio de Scilab, la evaluación de los
compensadores con el resto del sistema en lazo cerrado y parámetros específicos; y por medio de Xcos, el desarrollo de un
compensador por ensayo y error.
1. ALGORITMOS DE CONTROL
El controlador automático es el componente del sistema que facilita el lazo cerrado. El compensador o controlador
automático compara el valor de una planta con la entrada de referencia (el valor deseado), determina la desviación y
produce una señal de control que reduce la desviación a cero o a un valor pequeño. La manera en que el compensador
produce una señal de control es a través del algoritmo de control o acción de control.
En un sistema de control automático típico, formado por el compensador, un actuador, una planta y un sensor, como se
muestra en el diagrama de bloques de la Fig. 1, el compensador detecta la señal del sensor y la compara con la entrada de
referencia, la modifica para reducir o eliminar el error y alimenta para aplicar la corrección al actuador, que puede ser un
motor o una válvula. El punto de ajuste del compensador debe convertirse en una entrada de referencia con las mismas
unidades que la señal de realimentación del sensor o del elemento de medición.
La mayoría de los controladores emplean como fuente de energía electricidad o un fluido presurizado, como aire o
aceite. Por lo tanto los controladores se pueden clasificar según el tipo de energía que utilicen, como neumáticos,
hidráulicos o electrónicos. El tipo de controlador que se use se debe decidir según la naturaleza de la planta y las
condiciones de operación.
La señal de salida del controlador es U(s) y la señal de error es E(s). En el control de dos posiciones, la señal U(s)
esta en un valor máximo o mínimo que depende de que la señal de error sea positiva o negativa:
Donde U1 y U2 son constantes. Generalmente el valor mínimo de U2 es 0 o -U1. En la Fig. 2 se puede observar dos
controladores de dos posiciones. El rango de movimiento de la señal de error en el controlador con salto diferencial se
denomina brecha diferencial; y hace que la salida del controlador U(s) conserve el valor presente hasta que la señal del
error se haya desplazado mas allá del 0. La brecha diferencial se provoca intencionalmente para evitar una operación muy
frecuente del mecanismo de encendido y apagado.
Figura 2. Diagramas de bloques del controlador on-off común y con salto diferencial.
La salida de una planta obtenida en la respuesta de la Fig. 3 es de un sistema con un control de dos posiciones típico
con una configuración de encendido con U1 = -0,1 y apagado con U2 = 0,1,; para un punto de consigna unitario.
Esta configuración es común en sistemas de control de temperatura, como el de un horno. En este caso se puede ver
como se mantiene la temperatura de un horno alrededor de 1000° C. El punto de consigna es 1000° C y el controlador se
encargará de mantenerlo en ± 100° C. Se observa con esto que la curva ascendente corresponde a la subida de
temperatura, y la curva descendente corresponde a la caída de la temperatura.
Figura 4. Respuesta de un sistema gobernado con un controlador on-off con salto diferencial.
La salida de la misma planta mostrada en la respuesta de la Fig. 4 es el mismo sistema con un control de dos
posiciones con salto diferencial; la configuración de encendido con U1 = -0,8 y apagado con U2 = 0; para un punto de
consigna unitario.
Esta es una configuración común para un sistema de nivel de líquido como un tanque de agua. Como se puede
observar, en el ejemplo de un tanque de agua de 10000 litros, la señal de salida se mueve continuamente entre dos limites a
partir del punto de consigna en 10000 litros; uno que se apaga en 10000 litros y el otro inferior a -8000 litros donde se
realiza el encendido, en el limite resultante de 2000 litros. Se puede apreciar con esto que la curva ascendente al valor
deseado corresponde al llenado del tanque y la curva descendente corresponde al vaciado del tanque.
1.2. CONTROL PROPORCIONAL
El control proporcional [ P ] es esencialmente, un amplificador con una ganancia ajustable. La acción de control es
proporcional a la señal del error.
Como se indica en la Fig. 5, la relación entre la salida del controlador U(s) y la entrada de la señal de error E(s) es:
u(t) = K p e(t)
U (s)
= Kp (1)
E (s)
La aplicación del control proporcional resulta en una tendencia a la reducción del error en estado estacionario pero la
respuesta es más oscilatoria.
En la Fig. 6 se puede apreciar un sistema de control sin compensación proporcional, lo que es decir Kp = 1.
Al incluir un compensador proporcional como controlador, la respuesta resultante del sistema indica una mejora
sustancial en la disminución del error en estado estacionario visible en la Fig. 6, pero también un aumento desfavorable en
la sobreelongación máxima y la oscilación de la respuesta como se puede observar en la Fig. 7. La compensación
proporcional usada para esta respuesta fue de un Kp = 9.
Su uso permite la reducción del error en estado estacionario pero no lo elimina. Su uso en exceso buscando la
eliminación del ess puede llevar al diseño del compensador a disminuir desfavorablemente, la estabilidad marginal del
sistema.
La relación entre la salida del controlador U(s) y la entrada de la señal de error E(s) es en principio:
d
u(t) = K i e(t)
dt
u(t) = K i ∫ e(t)dt
0
U (s) 1
= Ki (2)
E (s) s
1
Ki = Kp (3)
Ti
Donde Ti es la constante de tiempo integral, y es el parámetro mas importante para el ajuste del compensador. Su
valor define la posición del polo en el plano s.
El controlador integral agrega un polo en el origen y el sistema tiende a volverse menos estable. A continuación se
analiza la respuesta temporal en un sistema de características comunes con el que se compara el resultado con la adición
del controlador integral:
U (s) 1
= (4)
E (s) s
A continuación se añade el controlador integral al sistema y se analiza la respuesta temporal del sistema:
Al agregar un polo en el origen, se permite eliminar el error en estado estacionario, pero se incrementan la
sobreelongación máxima y el tiempo de asentamiento, es decir, que la respuesta es mas oscilatoria y mas lenta. Este
comportamiento se puede observar en la respuesta obtenida del sistema al agregar un controlador integral, en el diagrama
de la Fig. 10.
La relación entre la salida del controlador U(s) y la entrada de la señal de error E(s) se representa en principio:
t
1
Ti ∫
u(t) = K p e(t) + K p e(t)dt
0
U (s) 1
E (s ) [
= Kp 1 +
Ti s ] (5)
Con la Ec. (5) se representa el bloque concerniente al controlador proporcional-integral representado en el diagrama
de la Fig. 11. Para elaborar un diagrama de bloques para el controlador PI, para su análisis a conveniencia de los valores
necesarios se puede escribir la Ec. (5) de otras maneras:
U (s) 1 1
= Kp + Kp (6)
E (s ) Ti s
De la manera en que la Ec. (6) ha tomado forma, el diagrama de bloques del controlador se construye como sigue:
Figura 12. Diagrama de bloques del controlador PI basado en la Ec. (6).
U (s) 1
= K p + Ki (7)
E (s ) s
La Ec. (7) resultante toma forma para poder ser utilizada en un diagrama de bloques como el siguiente en la Fig. 13:
Si se continúa desarrollando desde la Ec. (7), se escribe una ecuación que permite visualizar la posición del cero que
agrega el controlador en el sistema:
1 1 1
s + Ki s + Kp
U (s) Kp s + Ki Kp Ti K p
= = Kp = Kp
E (s ) s s s
1
s+
U (s) Ti s+ z 1
= Kp = Kp ; donde z = (8)
E (s ) s s Ti
Con la Ec. (8) se puede construir un diagrama de bloques con el que se puede visualizar con z la posición del cero en
el plano s a simple vista:
Como se puede apreciar en la Fig. 14, el controlador proporcional-integral [ PI ] agrega en el sistema un cero z
ajustable y un polo en el origen en el plano s, que representa la actuación del sistema en lazo cerrado.
Se tiene como ejemplo una planta cualquiera con una función de transferencia de primer grado. El análisis de la
respuesta temporal muestra como salida un ess del 50% como se puede apreciar en la Fig. 15.
Se añade entonces, un controlador PI a la planta con una constante proporcional Kp de 4 y un inverso del tiempo
integral Ti de 0.25. Al realizar el análisis de respuesta temporal al sistema se obtiene lo que se muestra en la Fig. 16.
Figura 15. Respuesta del sistema en lazo cerrado sin controlador.
En la respuesta del sistema de la Fig. 16 se puede observar la eliminación del ess, una sobreelongación de un 20% y
un tiempo de asentamiento de 3 segundos aproximadamente, con una ganancia de 4 y la inclusión de un polo en el origen y
un cero en -4. El sistema se puede mejorar incluso aumentando la ganancia Kp a valores por encima de 10 y manteniendo el
cero donde se encuentra en -4 con un Ti de 0.25.
Al sistema se le añade una señal de disturbio tipo entrada escalón de 0,5 a los 6 segundos, se analiza entonces a
continuación la respuesta temporal del sistema controlado al disturbio, ver Fig. 17:
El control PI elimina el error en estado estacionario, mejora la estabilidad y el desempeño en régimen estacionario,
pero reduce la velocidad de respuesta del sistema.
1.4. CONTROL DERIVATIVO
El control derivativo [ D ] es un controlador cuyo valor de salida u(t) es la derivada de la señal de error e(t). La
salida del controlador es una corrección anticipada a la respuesta a la velocidad del cambio de la señal del error actuante en
el momento en que se analiza el sistema.
La relación entre la salida del controlador U(s) y la entrada de la señal de error E(s) es en principio:
d
u(t) = K d e(t)
dt
U (s)
= Kd s (9)
E (s )
Kd = Kp Td (10)
Donde Td es la constante de tiempo derivativo, es otro parámetro importante para el ajuste del compensador. Su valor
define la posición de un cero en el plano s.
El controlador derivativo agrega un cero en el origen y da tendencia al sistema a la estabilidad. Como ejemplo se
analiza la respuesta temporal en un sistema con características a la extrema inestabilidad con el que se compara el
resultado con la adición del controlador derivativo:
Se puede apreciar en la Fig. 9 la respuesta temporal del sistema de control sin controlador alguno. Para este caso en
particular, se define el controlador derivativo a partir de la Ec. (9) cuando Kp = 1 y Td = 1, o lo que es igual que Kd = 1, la Ec.
(9) queda indicando un controlador derivativo sin parámetros modificadores como el que se puede apreciar en el diagrama
de la Fig. 8:
U (s)
=s (11)
E (s )
La Ec. (11) indica que el controlador solo añade un cero en el origen del plano s. El sistema de ejemplo cuya respuesta
temporal se muestra en la Fig. 18, demuestra un sistema con una amortiguación nula y una gran inestabilidad, lo que lo
hace un sistema totalmente descartable. Como intento de darle cierta estabilidad a este sistema, se añade el controlador
derivativo al sistema y se analiza su respuesta temporal:
Figura 19. Respuesta del sistema mejorado con el controlador derivativo.
Al agregar el cero en el origen, se logra estabilizar el sistema. Pero hay que tener en cuenta que es un sistema con
características especiales y no siempre se lograra estabilizar un sistema con una salida como la mostrada en la Fig. 18 con
un compensador derivativo.
Se debe tomar en cuenta que el controlador derivativo añade solo un cero en el origen y no siempre funcionara para
mejorar cualquier otro sistema. No se debe usar nunca solo para mejorar la estabilidad de un sistema; se debe implementar
con el control proporcional ya que al aplicar la derivada a una señal constante su resultado va a ser cero. Solo es eficaz
durante periodos transitorios.
La relación entre la salida del controlador U(s) y la entrada de la señal de error E(s) se representa como:
d
u(t) = K p e(t) + K p Td e(t)
dt
U (s)
= Kp [ 1 + Td s ] (12)
E (s )
Con la Ec. (12) se representa el bloque que representa al controlador proporcional-derivativo en el diagrama de la Fig.
20. Para elaborar el diagrama de bloques para el controlador PD, que facilite su análisis a conveniencia de los valores
necesarios se puede escribir la Ec. (12) de otras maneras:
U (s)
= K p + K p Td s (13)
E (s )
Según la forma en que se ha escrito la Ec. (13), el diagrama de bloques del controlador se construye como se muestra
en la Fig. 21.
Desde la Ec. (10) que define la constante derivativa Kd, se desarrolla la Ec. (13) para escribir la salida del controlador
PD de otra manera.
U (s)
= K p + Kd s (14)
E (s )
Figura 21. Diagrama de bloques del controlador PD basado en la Ec. (13).
La Ec. (14) resultante tiene la forma para elaborar el diagrama de bloques del controlador de la Fig. 22:
Desde la Ec. (12), se escribe otro modo de la ecuación del controlador PD que permite visualizar la posición del cero
que agrega el controlador en el sistema:
U (s) 1 1
E (s ) [
= Kp Td s +
T d ]
= K p T d [s + z] ; donde z =
Td
(15)
Con la Ec. (15) se puede construir un diagrama de bloques con el que se puede visualizar con z la posición del cero en
el plano s a simple vista:
Se tiene como ejemplo una planta cualquiera con una función de transferencia de segundo grado grado y un polo en el
origen. El análisis de la respuesta temporal muestra como salida tiempo de asentamiento por encima de los 10 segundos
como se puede observar en la Fig. 24.
Se puede observar en la respuesta del sistema de la Fig. 25 una reducción significativa en el tiempo de asentamiento
de 4 segundos aproximadamente, con una constante derivativa de 2,4 y la inclusión del cero en -4,17. Al sistema se le
añade una señal de disturbio tipo entrada escalón de 0,5 a los 6 segundos, y se analiza la respuesta temporal del sistema
con el disturbio:
Figura 26. Respuesta del sistema con disturbio ante un controlador proporcional-derivativo.
Se concluye que el control PD mejora el desempeño en régimen estacionario y aumenta la velocidad de respuesta, lo
que se observa en la reducción en los tiempos de levantamiento y retardo. Pero un tiempo derivativo puede producir un
aumento del ruido inherente a las señales proporcionadas por los sensores y la aparición de rizos en la respuesta que
puede provocar un efecto de saturación en el actuador.
La relación entre la salida del controlador U(s) y la entrada de la señal de error E(s) se representa como sigue:
t
1 d
Ti ∫
u(t) = K p e(t) + K p e(t)dt + K p T d e (t)
0
dt
U (s) 1
E (s ) [
= Kp 1 +
Ti s
+ Td s
] (16)
La Ec. (16) identifica al bloque del controlador proporcional-integral-derivativo del diagrama de la Fig. 27. Los
diagramas de bloques para el controlador PID, se pueden construir de diferentes maneras para su análisis dependiendo de
las variables y los algoritmos de programación a usar en Scilab o Matlab a conveniencia. Al desarrollar la Ec. (16) se obtiene
diferentes maneras de escribir la función de transferencia del controlador:
U (s) 1 1
= Kp + Kp + Kp Td s (17)
E (s ) Ti s
Con la Ec. (17), el diagrama de bloques del controlador se construye como se indica a continuación en la Fig. 28:
Figura 28. Diagrama de bloques del controlador PID basado en la Ec. (17).
Teniendo en cuenta la Ec. (3) y la Ec. (10), con la constante integral Ki y la constante derivativa Kd, la función de
transferencia del controlador PID se escribe:
U (s) 1
= K p + Ki + Kd s (18)
E (s ) s
La Ec. (18) resultante toma forma para poder ser utilizada en un diagrama de bloques como el siguiente en la Fig. 29:
Figura 29. Diagrama de bloques del controlador PID basado en la Ec. (18).
Se continúa desarrollando desde la Ec. (18), para escribir una ecuación que permite visualizar la posición de los ceros
que agrega el controlador en el sistema:
2
U (s) K d s + K p s + K i
=
E (s ) s
2
Kd Kd
Kd s + s+
U (s) Td Ti Td
=
E (s ) s
2 1 1 2 1 1
s + s+ s + s+
U (s) Td T i Td Td Ti Td
= Kd = K p Td
E (s ) s s
2
U (s) s +a s+b 1 1
= Kp Td ; donde a = ∧ b= (19)
E (s ) s Td Ti Td
Al resolver la ecuación cuadrática del numerador de la Ec. (19), se puede obtener la posición de los ceros que el
controlador agrega al sistema:
U (s) (s + z 1 ) + (s + z 2 )
= Kp Td (20)
E (s ) s
Con la Ec. (20) se puede construir el diagrama de bloques con el que se puede visualizar con z1 y z2 la posición de los
ceros en el plano s a simple vista:
Figura 30. Diagrama de bloques del controlador PID basado en la Ec. (20).
Como se puede ver en la Fig. 30, el controlador proporcional-integral-derivativo [ PID ] agrega en el sistema dos ceros,
z1 y z2, ajustables y un polo en el origen en el plano s, esta disposición ayuda mucho en el diseño analítico del controlador.
Se tiene una planta cualquiera con una función de transferencia simple de segundo grado sin ganancia proporcional. El
análisis de la respuesta temporal muestra como salida un ess del 83% como se puede apreciar en la Fig. 31. El valor
medido es de 0,17 cuando el valor deseado es 1:
Se diseña por el método de ensayo y error un controlador PID para la planta con valores iniciales para la constante
proporcional Kp de 1, el inverso del tiempo integral Ti de 0 y el tiempo derivativo Td de 0. La salida con estos valores
iniciales debe ser como el que se muestra en la Fig. 31, como si el sistema no tuviera controlador alguno.
Se comienza con un Kp de 32, manteniendo 1/Ti y Td en 0. El análisis de respuesta temporal del sistema da como
resultado lo que se muestra en la Fig. 32.
La parte proporcional del controlador reduce el ess y produce oscilación. Para eliminar el error se le da valor a 1/Ti a
0,8 sin realizar otros cambios:
Figura 33. Respuesta del sistema con un PID de Kp = 32, 1/Ti = 0,8 y Td = 0.
La parte integral del controlador elimina el ess del sistema y un tiempo de asentamiento de casi 3 segundos. Para
mejorar el tiempo de asentamiento se le da valor a Td a 0,8 sin realizar otros cambios:
Figura 34. Respuesta del sistema con un PID de Kp = 32, 1/Ti = 0,8 y Td = 0,04.
La parte derivativa del controlador requiere de cambios muy pequeños por ser de mucha sensibilidad. Se logro con el
Td en 0,8, reducir el tiempo de asentamiento a menos de 2 segundos y una sobreelongación menor al 15%.
Como prueba adicional, al sistema se le añade una señal de disturbio tipo entrada escalón de 0,5 a los 6 segundos, la
respuesta temporal del sistema controlado por el PID con el disturbio se puede ver en la Fig. 35:
Figura 35. Respuesta del sistema con un disturbio ante el controlador proporcional-integral-derivativo.
Se concluye que el control proporcional actúa sobre el tamaño del error, el control integral rige el tiempo para corregir
el error y el control derivativo le da rapidez a la actuación.
El control PID permite la rapidez ante el cambio de la señal de referencia en la entrada con la parte derivativa,
incrementa la señal de entrada para que el error sea cero con la parte integral y reduce el tiempo de asentamiento con la
parte proporcional. Su desventaja radica en que la parte derivativa podría amplificar cualquier ruido presente en la variable
controlada.
2. APLICACIÓN PRÁCTICA
El análisis de los controladores es un proceso que puede realizarse de manera algebraica a mano o con herramientas
computacionales.
2.1. EJEMPLO 1
Se requiere analizar una planta cuya función de transferencia es la contenida en la Ec. (21) para un control
proporcional Kp de 1, 10, y calcular el Kp para un ess de 5%.
1
G (s) = 2
(21)
s +3s+2
Se va a analizar la posición de los polos del sistema en lazo abierto y en lazo cerrado, el error en estado estacionario y
los parámetros básicos de sobreelongación máxima y tiempo pico del sistema para cada valor de:
K p = 1 , 10 ∧ ess = 5 %
Para Kp = 1:
1
K sp = lim 2
= 0,5
s→0 s +3 s+2
1
e ss = = 66,7 % (22)
1 + K sp
s 1 = −1 ∧ s2 = −2 (23)
1
2
Y (s) s +3 s+2 1
= = 2
R (s) 1 s + 3 s +3
1+ 2
s +3 s+2
ωn 2 = 3 → ω n = 1,732 (24)
2 ζ ωn = 3 → ζ = 0,866 (25)
σ = ζ ωn → σ = 1,5 (26)
ωd = ωn √ 1 − ζ 2 → ω d = 0,866 (27)
Para Kp = 10:
10
K p G (s) = 2
s + 3 s +2
10
K sp = lim 2
=5
s→0 s +3 s+2
1
e ss = = 16,7 % (29)
1 + K sp
10
2
Y (s) s +3 s+2 1
= = 2
R (s) 10 s + 3 s + 12
1+ 2
s +3 s+2
ω n 2 = 12 → ω n = 3,464 (30)
2 ζ ωn = 3 → ζ = 0,433 (31)
σ = ζ ωn → σ = 1,5 (32)
ωd = ωn √ 1 − ζ 2 → ω d = 3,122 (33)
1 Kp
K p G (s) = 2 → K p G(s) = 2
s + 3 s +2 s +3s+2
1 1
e ss = → 0,05 = → K sp = 19
1 + K sp 1 + K sp
Kp Kp Kp
K sp = lim 2 = → 19 = → K p = 38 (35)
s→0 s +3 s+2 2 2
Para Kp = 38:
38
2
Y (s) s +3 s+2 38
= = 2
R (s) 38 s + 3 s + 40
1+ 2
s +3 s+2
ω n 2 = 40 → ω n = 6,324 (36)
2 ζ ωn = 3 → ζ = 0,237 (37)
σ = ζ ωn → σ = 1,5 (38)
2
ωd = ωn √ 1 − ζ → ω d = 6,143 (39)
Sobreelongación máxima:
σπ
−
ωd
Mp = e → M p = 0,0043 → 0% (41)
σπ
−
ωd
Mp = e → M p = 0,221 → 22,1 % (42)
Tiempo pico:
Tp = π → T p = 3,62 s (41)
ωd
Tp = π → Tp =1 s (42)
ωd
Tp = π → T p = 0,51 s (43)
ωd
Al analizar detenidamente los polos del sistema en lazo cerrado se puede determinar que los polos se alejan del eje
real en el punto medio entre los polos del sistema en lazo abierto en la Ec. (23), se puede detallar observando el valor
común de σ entre Ec. (28), Ec. (34) y Ec. (40). A mayor valor de Kp, mayor recorrido tienen los polos desde su punto inicial
en lazo abierto.
A mayor valor de Kp, mayor es la sobreelongación en la respuesta temporal del sistema; para un Kp de 10 se tiene una
respuesta mas aceptable que la obtenida al tratar de reducir el ess a un 5%. Tratar de reducir el ess no resulta
recomendable ya que el sistema con una sobreelongación del 46,43% es un sistema con mucha oscilación, y por tanto, con
reducida estabilidad.
Se logra también mejorar el tiempo de respuesta del sistema, desde un tiempo pico de 3,62 segundos hasta 0,51
segundos con el sistema cuyo ess es del 5%. Por la excesiva sobreelongación del sistema con 5% de error, es aceptable el
sistema de prueba con un Kp del 10, en el que se logra un tiempo pico de 1 segundo y una aceptable sobreelongación de
22,1%.
Se hace una comparación gráfica entre las pruebas realizadas en la planta presentada en la Fig. 36 con un sencillo
guión en Scilab 5.5.2, cuya codificación fue la siguiente:
// Ejemplo 1
// Controlador Proporcional (P)
clear; clc;
xdel(winsid());
// variables
s = poly(0,'s');
Kp = [1 10 38]; // matriz de variables K_p
Kn = ['K_p=1','K_p=10','K_p=38']; // matriz de cadenas de caracteres K_p
cr = [13 21 16]; // matriz de variables de color para la gráfica plano s
num = 1;
den = s^2+3*s+2;
// figura plano s
subplot(1,2,2); // ubicación de figura en la ventana contenedora de gráficos
plzr(gsr); // ubicación de los polos del sistema
xtitle('Polos en Lazo Cerrado','Eje real','Eje imaginario'); // etiquetas de la figura
a = gca(); // definición de detalles de la gráfica plano s
a.box = "off"; // borrado del marco por defecto de la gráfica plano s
a.data_bounds = [-3,-8;0,8]; // límites de la gráfica plano s
delete(a.children(1)); // borrado de la leyenda por defecto de la gráfica plano s
k = a.children(2); // definición de capa de marcas
k.mark_foreground = cr(i); // definición de color de marcas
// impresion en consola
pl = roots(gsr.den);
disp(pl,mprintf('polos | %s', Kn(i)));
mprintf("\n");
end;
La salida estándar imprime por consola la ubicación de los polos del sistema para cada valor de Kp:
polos | K_p=10 polos del sistema en lazo cerrado con Kp de 10, se mantiene estático el
-1.5 + 3.122499i valor de la parte real de los polos en -1,5
-1.5 - 3.122499i
polos | K_p=38 polos del sistema en lazo cerrado con Kp de 38 basado en un error en
-1.5 + 6.1441029i
estado estacionario de 5%
-1.5 – 6.1441029i
Adicionalmente a la salida estándar, la salida gráfica muestra la respuesta temporal del sistema y el plano s con la
ubicación de los polos del sistema en lazo cerrado para cada valor de Kp al que se sometió el sistema en la Fig. 37.
En la gráfica del plano s, la ubicación de los polos en lazo cerrado, comparado entre los diferentes valores de la
ganancia proporcional Kp, indica visualmente que cuanto mas alejados se encuentran los polos del eje real, mas bajo es el
factor de amortiguamiento ζ y por consecuencia mas oscilatoria es la respuesta del sistema como se puede observar en la
gráfica de la respuesta temporal, comparando cada respuesta para cada valor de Kp.
Tenga en cuenta que los valores de Kp modifican el comportamiento del sistema directamente modificando el valor del
término independiente de la ecuación característica del sistema al estar en lazo cerrado.
Figura 37. Respuesta temporal del sistema en lazo cerrado de la planta del ejemplo 1.
El recorrido de los polos afecta sustancialmente la estabilidad del sistema, y esto es provocado por el incremento de la
constante de ganancia proporcional Kp en la reducción del error en estado estacionario.
Se puede concluir, con lo que indican las gráficas de la Fig. 37, que la reducción del ess modificando el valor de la
ganancia proporcional Kp tiene consecuencias directas en la estabilidad del sistema; aunque se logra reducir los tiempos de
respuesta del sistema, también se vuelve mas oscilatoria la respuesta y con esto un sistema mas inestable.
2.2. EJEMPLO 2
Se requiere analizar una planta cuya función de transferencia se muestra en la Ec. (44) para un control proporcional-
integral. Se desea obtener valores exploratorios por ensayo y error de Kp y Ti.
La planta tiene una función de transferencia de primer orden, básica como se muestra a continuación:
1
G (s) = (44)
s+1
El sistema en lazo abierto tiene un error en estado estacionario como se puede apreciar a continuación:
1
K sp = lim =1
s→0 s+1
1
ess = = 50% (45)
1 + K sp
Se agrega un controlador proporcional-integral [ PI ] exploratorio con valores por ensayo y error. El diagrama de
bloques a utilizar para el diseño es como se muestra a continuación en la Fig. 38:
Figura 38. Diagrama de bloques del sistema en lazo cerrado con controlador PI para la planta del ejemplo 2.
Después de realizar pruebas exploratorias con diversos valores, se decide tomar los siguientes para el diseño del
controlador:
1 1
Kp = 4 ∧ =4 , donde z = (46)
Ti Ti
s +4 1 4 s + 16
Gc(s) G (s)= 4 = (48)
s s+1 2
s +s
4 s + 16
2
Y (s) s +s 4 s + 16
= = (49)
R (s) 4 s + 16 s2 + 5 s + 16
1+ 2
s +s
s = −4 (50)
Como se puede observar, al comparar la Ec. (46) y la Ec. (50) el cero no se desplaza a través del plano s como lo
hacen los polos en lazo cerrado.
Se desarrolla con Scilab 5.5.2, un sencillo guión basado en el diagrama de bloques del sistema de la Fig. 38, cuya
codificación es la siguiente:
// Ejemplo 2
// Controlador Proporcional-Integral (PI)
clear; clc;
xdel(winsid());
// variables
s = poly(0,'s');
num = 1;
den = s+1;
Kp = 4; // definición constante ganancia proporcional Kp
z = 4; // definición inverso tiempo integral 1/Ti
t = 0:0.005:10;
u = ones(1,length(t));
sgsn = csim('step',t,gsn); // simulación del sistema sin compensar en lazo cerrado
// salidas a consola
mprintf('Lazo cerrado sin compensar:'); // impresión de línea de texto en consola
disp(pgsn,'polos del sistema');
mprintf('\n'); // impresión de línea en blanco en consola
mprintf('Lazo abierto:')
disp(gs,'G(s)');
disp(ess,'e_ss [%]');
disp(gcs,'Gc(s)');
disp(gss,'Gc(s)*G(s)');
mprintf('\n');
// salidas graficas
scf(0); // definición de la ventana de gráficos 1
m = gcf();
m.figure_size = [800,400];
scf(0);
subplot(1,2,1); // arreglo figura 1 en ventana contenedora de gráficos 1
plot(t,u,t,sgsn);
xtitle('Respuesta temporal','t (seg)','Entrada y salida');
xgrid(color('gray'));
a = gca();
a.box = "off";
a.data_bounds = [0,0;6,1.2];
legend(['entrada','salida'],pos=4);
scf(0);
subplot(1,2,2); // arreglo figura 2 en ventana contenedora de gráficos 1
plzr(gsn);
xtitle('Polo en Lazo Cerrado','Eje real','Eje imaginario');
b = gca();
b.box = "off";
b.data_bounds = [-6,-6;0,6];
delete(b.children(1));
scf(1);
subplot(1,2,1); // arreglo figura 1 en ventana contenedora de gráficos 2
plot(t,u,t,sgsc);
xtitle('Respuesta temporal','t (seg)','Entrada y salida');
xgrid(color('gray'));
c = gca();
c.box = "off";
c.data_bounds = [0,0;6,1.2];
legend(['entrada','salida'],pos=4);
scf(1);
subplot(1,2,2); // arreglo figura 2 en ventana contenedora de gráficos 2
plzr(gsc);
xtitle('Polos en Lazo Cerrado','Eje real','Eje imaginario');
sgrid(cdz,cwn,[13 10]); // líneas de referencia valores ζ y ωn en plano s
d = gca();
d.box = "off";
d.data_bounds = [-6,-6;0,6];
delete(d.children(1));
Para la salida estándar por consola se imprimen los parámetros más importantes del análisis del sistema, en lazo
cerrado y en lazo abierto:
-2.
1
------
1 + s
16 + 4s
--------
Gc(s)*G(s)
función de transferencia resultante del producto entre el controlador PI
y la planta en lazo abierto
16 + 4s
--------
2
s + s
16 + 4s
------------
2
16 + 5s + s
-4.
-2.5 + 3.122499i
-2.5 - 3.122499i
4. 0.625
Se puede comparar con las gráficas de la Fig. 39 del sistema sin ser compensado y las gráficas de la Fig. 40 con el
sistema siendo compensado con un controlador PI con un Kp de 4 y un Ti de 0,25.
Figura 39. Respuesta del sistema no compensado en lazo cerrado para el ejemplo 2.
En la respuesta temporal del sistema no compensado de la Fig. 39 se puede observar que con un ess de un 50%, el
valor de la variable medida es tan solo de 0.5 cuando la variable deseada o punto de consigna es de 1. El plano s indica que
el polo único de un sistema de primer grado se encuentra en lazo cerrado en -2.
Figura 40. Respuesta del sistema compensado con un controlador PI en lazo cerrado para el ejemplo 2.
La respuesta temporal del sistema compensado mostrado en las gráficas de la Fig. 40, indica una serie de mejoras a
considerar; la eliminación del ess, una sobreelongación de cerca de un 18%, tiempo de asentamiento de alrededor de 2
segundos, tiempo de subida de 0,3 segundos aproximadamente. El plano s demuestra la inclusión de un polo en el origen
en lazo abierto y un cero que se mantiene en -4, que con el aumento de la ganancia proporcional se posicionan de manera
conjugada hasta lograr los valores indicados de un ζ de 0,625 y un ωn de 4, siendo estas características indicativos de un
sistema estable dentro de lo aceptable.
2.3. EJEMPLO 3
Se requiere el análisis de una planta cuya función de transferencia se muestra en la Ec. (52) y el diseño por ensayo y
error de un controlador proporcional-integral-derivativo [ PID ].
1
G (s) = 2
(52)
s +6s+5
Para desarrollar el controlador se va a usar el diagrama de la Fig. 41 a continuación. Se pretende determinar los
valores de la constante proporcional Kp, el inverso del tiempo integral 1/Ti y el tiempo derivativo Td:
Figura 41. Diagrama de bloques del sistema compensado con un controlador PID para el ejemplo 3.
Para realizar el diseño por ensayo y error se puede utilizar la aplicación Xcos contenida en Scilab. Teniendo en cuenta
los parámetros de simulación se construye el diagrama de bloques en Xcos como se muestra en la Fig. 42:
Figura 42. Diagrama del bloques del sistema basado en el diagrama de la Fig. 41 en Xcos.
Los parámetros iniciales para el controlador son para comenzar con un Kp = 1, el 1/Ti = 0 y el Td = 0. Primero se
incrementa el Kp de manera que la respuesta oscile a conveniencia, luego se modifica el Td hasta tener un tiempo de
establecimiento aceptable y por último se va modificando el valor de 1/Ti para lograr mejoras en el tiempo de respuesta.
El ajuste se hace de manera que se pueda dar forma a la respuesta del sistema a conveniencia; es aceptable un
sobreimpulso no mayor del 20% y los tiempos de respuesta y asentamiento mas reducidos posibles, cuidando de reducir la
oscilación de la respuesta lo mas que se pueda.
Para efecto práctico, los valores del compensador fueron fijados como se puede observar en la Fig. 42, con la Kp = 32,
el 1/Ti = 0,8 y el Td = 0,04. La respuesta temporal resultante del sistema esta registrada en la gráfica de la Fig. 43
usando un controlador PID diseñado por ensayo y error indicando una compensación aceptable. Se pueden realizar ajustes
y mejorar la respuesta, pero es a conveniencia del diseñador.
1
K sp = lim 2
= 0,2
s→0 s +6 s+5
1
e ss = = 83,3 % (53)
1 + K sp
s 1 = −1 ∧ s2 = −5 (54)
Análisis del sistema en lazo cerrado, función de transferencia de la planta en lazo cerrado:
1
2
Y (s) s +6 s+5 1
= = 2 (55)
R (s) 1 s + 6 s +6
1+ 2
s +6 s+5
Para el análisis del sistema con un controlador PID, se usa para este caso, el diagrama de bloques del sistema que se
muestra en la Fig. 44 a continuación:
La función de transferencia del controlador PID se determina basado en la Ec. (19), donde:
1 1
Kd = Kp Td , a= ∧ b=
Td Ti T d
Según el controlador PID establecido con la simulación del sistema en Xcos anteriormente, como se puede observar
en la Fig 42, para los valores:
1
K p = 32 , = 0,8 ∧ T d = 0,04 (57)
Ti
2
1,28 s + 32 s + 25,6
Gc(s) = (58)
s
2
1,28 s + 32 s + 25,6
Gc(s) G (s)= 3 2
(59)
s +6 s +5s
2
Y (s) 1,28 s + 32 s + 25,6
= (60)
R (s) s 3 + 7,28 s2 + 37 s + 25,6
Para hallar los polos dominantes del sistema y calcular otros parámetros de la respuesta temporal del sistema
compensado, se escribe la Ec. (60) en su forma factorizada:
En la función de transferencia del sistema compensado en su forma factorizada se puede observar que el cero ubicado
en -0,82 cancela el polo en -0,8. Con esto se concluye que los polos dominantes del sistema los da la función cuadrática de
la ecuación característica.
Como una manera de reducir la función de transferencia a un sistema de segundo grado, se tiene en cuenta que el
cero en -24,17 esta tan alejado del origen, que no produce interferencia alguna a los polos dominantes del sistema.
Los parámetros principales de análisis del sistema, como son la frecuencia natural no amortiguada ωn y el factor de
amortiguamiento ζ, se obtienen de los polos dominantes indicados por la función cuadrática de la ecuación característica
resultante en la Ec. (61):
Los valores obtenidos son consistentes en sistemas estables, en este caso se demuestra la estabilidad recibida por la
acción del control PID diseñado de la manera mas simple; este método es conocido como ajuste de compensador por
ensayo y error, y es el mas importante de los métodos de diseño utilizado hoy en día para los compensadores PID.
2.3.2. SIMULACIÓN DEL SISTEMA
Como se ha demostrado anteriormente, el método analítico en el análisis de los parámetros del sistema, se desarrolla
en Scinotes, un guión para visualizar los parámetros del sistema, las respuestas temporales del sistema en lazo cerrado sin
compensar y compensado y sus respectivas ubicaciones de los polos del sistema en el plano s. El código es el siguiente:
// Ejemplo 3
// Controlador Proporcional-Integral-Derivativo (PID)
clear; clc;
xdel(winsid());
// variables
s = poly(0,'s');
num = 1;
den = s^2+6*s+5;
Kp = 32; // definición contante proporcional Kp
Ii = 0.8; // definición inverso tiempo integral 1/Ti
Td = 0.04; // definición tiempo derivativo Td
ksp = horner(gs,0);
ess = 1/(1+ksp) * 100;
t = 0:0.005:10;
u = ones(1,length(t));
sgsn = csim('step',t,gsn);
zgsc = roots(gsc.num);
pgsc = roots(gsc.den);
[cwn,cdz] = damp(pgsc(1));
sgsc = csim('step',t,gsc);
// salidas a consola
mprintf('Lazo cerrado sin compensar:')
disp(pgsn,'polos del sistema');
mprintf('\n');
mprintf('Lazo abierto:')
disp(gs,'G(s)');
disp(pgs,'polos de G(s)');
disp(ess,'e_ss [%]');
disp(gcs,'Gc(s)');
disp(gss,'Gc(s)*G(s)');
mprintf('\n');
// salidas graficas
scf(0);
m = gcf();
m.figure_size = [800,400];
scf(0);
subplot(1,2,1);
plot(t,u,t,sgsn);
xtitle('Respuesta temporal','t (seg)','Entrada y salida');
xgrid(color('gray'));
a = gca();
a.box = "off";
a.data_bounds = [0,0;6,1.2];
legend(['entrada','salida'],pos=1);
scf(0);
subplot(1,2,2);
plzr(gsn);
xtitle('Polos en Lazo Cerrado','Eje real','Eje imaginario');
b = gca();
b.box = "off";
b.data_bounds = [-6,-8;0,8];
delete(b.children(1));
scf(1);
n = gcf();
n.figure_size = [800,400];
scf(1);
subplot(1,2,1);
plot(t,u,t,sgsc);
xtitle('Respuesta temporal','t (seg)','Entrada y salida');
xgrid(color('gray'));
c = gca();
c.box = "off";
c.data_bounds = [0,0;6,1.2];
legend(['entrada','salida'],pos=4);
scf(1);
subplot(1,2,2);
plzr(gsc);
xtitle('Polos en Lazo Cerrado','Eje real','Eje imaginario');
sgrid(cdz,cwn,[13 10]);
d = gca();
d.box = "off";
d.data_bounds = [-6,-8;0,8];
delete(d.children(1));
Lazo abierto:
G(s) función de transferencia de la planta en lazo abierto. Ec. (52)
1
-----------
2
5 + 6s + s
polos de G(s) polos de la planta en lazo abierto. Ec. (54)
-5.
-1.
83.333333
Gc(s) función de transferencia del controlador PID en lazo abierto. Ec. (58)
2
25.6 + 32s + 1.28s
-------------------
omega_n - dzeta
valores de ζ y ωn del sistema compensado en lazo cerrado. Ec. (64) y
5.637849 0.5742081 Ec. (65)
La respuesta del sistema en lazo cerrado de la planta sin el controlador, se puede apreciar en las gráficas de la Fig. 45.
Se puede observar un error en estado estacionario de un 83,3%, definiendo un sistema sobreamortiguado. Con algo de
cálculo se puede llegar a que el valor del factor de amortiguamiento relativo ζ es de 1,22.
El controlador PID para esta planta ha sido la solución para dar estabilidad al sistema. Al observar la respuesta
temporal en la Fig. 45 y se compara con la respuesta temporal en la Fig. 46, se observa una gran diferencia en cuanto a lo
que se ha logrado estabilizar el sistema; se anulo el error en estado estacionario y los tiempos de respuesta son bastante
favorables.
Al observar el plano s, se puede observar que mientras un cero anula el polo en -0,8, esto hace que los polos
complejos conjugados sean los polos dominantes del sistema, y el otro cero, bastante alejado del origen, no se toma en
cuenta en el análisis del sistema.
Con el compensador PID se logra un factor de amortiguamiento relativo ζ bastante favorable de 0,574, lo cual denota
un sistema subamortiguado muy estable.
Figura 45. Respuesta del sistema no compensado en lazo cerrado.
Figura 46. Respuesta del sistema compensado con el controlador PID en lazo cerrado.
Se concluye entonces el diseño y comprobación de un compensador PID por ensayo y error. Con habilidad en código
de lenguaje Scilab, se puede obtener los valores para la ganancia proporcional Kp, el inverso del tiempo integral 1/Ti y el
tiempo derivativo Td sin necesidad de montar el diagrama en Xcos. La ventaja esta en la comodidad de Xcos que radica en
su funcionalidad visual para representar en diagramas de bloques un sistema dado y la facilidad para trabajar ensayando
valores con respuestas instantaneas.
1
G (s) = 3 2
(66)
s +4s +7 s+6
Se necesita determinar la mejor opción para compensar la planta entre un Kp de 2, y calcular el Kp para un ess de 10%
y de 4%. Se deja a criterio del diseñador la opción que mejor le parezca para su implementación.
Se requiere determinar los valores de la constante proporcional y el tiempo integral para un sobreimpulso no mayor del
10% y un tiempo de subida menor de 100 ms. Se requiere una analisis completo, error en estado estacionario, polos y
ceros, factores de amortiguamiento y frecuencias naturales.
2s+1
G (s) = 3 2
(68)
s +3s +2 s
Se requiere determinar los valores de la constante proporcional, el tiempo integral, y el tiempo derivativo para un
sobreimpulso menor al 20% y un tiempo de subida menor de 3 segundos. Se requiere hallar el error en estado estacionario,
polos y ceros, factores de amortiguamiento y frecuencias naturales de antes y después de implementado el compensador.
3. REFERENCIAS
[1] K. Ogata, “Ingeniería de Control Moderna”, 5ta. ed., Prentice Hall, Pearson Education, S.A., pp. 219-225. 2010.
[2] B. Kuo, “Sistemas de Control Automático”, 7ma. ed., Prentice Hall, Pearson Education, S.A., pp. 671-761. 2008.
[3] A. Creus, “Instrumentación Industrial”, 8va. ed., Alfaomega Grupo Editor, S.A., pp. 504-527. 2010.
[4] W. Bolton, “Ingeniería de Control”, 2da. ed., Alfaomega Grupo Editor, S.A., pp. 225-236. 2006.