Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Análisis de Un Sistema de Control PDF
Análisis de Un Sistema de Control PDF
Control de Procesos
Índice……………………………………………………………..……………………………………………………..… 2
Introducción………………………………………………….………………………………………………………… 3
Porciento Incompleto…………………………………………….………………………………………………… 4
Controladores……………………………………………………………………………………………………….… 20
Métodos De Sintonía………………………………………………………………………………….………..…... 23
Anexos……………………………………………………………………………………………………………………. 45
También se verá el análisis necesario para la aplicación de algún controlador en los sistemas,
además de diferentes métodos de sintonía para los mismos.
Otra de las actividades que se expondrán en este trabajo será la de llevar a cabo todas estas
operaciones mediante el uso de software, en específico Matlab, para obtener una respuesta más
exacta y rápida.
En este trabajo se verán todas las operaciones necesarias para el análisis de un sistema de control,
con todo y los controladores; esto haciéndolo de 2 maneras:
Forma Manual
Forma Automática (mediante Matlab)
Primero veremos todos los pasos de forma manual, al final veremos el proceso haciendo uso de
una librería especial de Matlab (incluida en este mismo trabajo) que nos facilitará el análisis del
sistema.
Por último se hablara acerca de los sistemas de tipo cascada además de su demostración en
cuanto a la forma de análisis de los mismos.
Su base está en graficar el porcentaje de lo que falta para que el proceso se complete con respecto
al tiempo. Es decir del 100% del proceso sustraer el porcentaje del proceso que ya se haya
completado.
La gráfica del porciento incompleto se grafica en una hoja semilogarítmica, donde el porciento
incompleto se grafica en el eje vertical; mientras que el tiempo se grafica en el eje horizontal.
Para poder realizar la curva denominada como “A” se necesitan tabular los valores del porcentaje
del proceso completado, “Y”, y restárselos al 100%. Es decir, que al inicio del proceso tendremos
una “Y” de 0% y por lo tanto el porciento incompleto será de un 100%.
Una vez con estos datos, veremos también en que tiempo se realiza cada uno de estos puntos
para poder así pasarlos al papel semilogarítmico.
Ya con la primera curva, tendremos que realizar la curva denominada como “B”. Esta curva se
obtiene extendiendo la parte linear de la curva “A” hasta el tiempo 0.
Al hacer esto, esta nueva curva tendrá un origen diferente a la primera curva. Este nuevo origen es
el denominado punto 1 “P1”
La constante de tiempo del sistema se obtiene encontrando el 36.8% de P1. Al encontrar este
determinado valor en la grafica podremos ver el valor en el tiempo, y ese será nuestra primera
constante de tiempo.
Para obtener la segunda constante de tiempo obtendremos la curva “C”, la cual es la diferencia de
las curvas “A” y “B” (C= B-A). El punto de origen de esta curva, será nuestro punto 4 y nos ayudará
a obtener la segunda constante de tiempo.
Para corroborar aproximadamente los resultados, los puntos se pueden obtener en base a las
constantes de tiempo obtenidas, es decir:
Ejemplo:
A partir del siguiente grafico de la respuesta a una entrada escalón (Step) de un sistema, obtenga
su función de transferencia.
Y 100% - Y T (Min)
0 100 0
10 90 0.6
Si usted cree necesario, puede
20 80 0.8
obtener más valores para así
30 70 1.1 obtener una mayor resolución
40 60 1.5 y exactitud en el grafico
50 50 2
60 40 2.4
70 30 3
80 20 3.8
90 10 5.2
Ya graficada nuestra curva “A”, para obtener la curva “B”, se traza una línea recta que toque la
mayor cantidad de puntos de la curva “A”, tal y como se muestra en la figura anterior.
Ya que se obtuvo la curva “B”, se obtiene el P1, el cual es el cruce de la curva B en el tiempo cero.
La primer constante de tiempo, se obtiene según el tiempo que hay en el P2 de cero hasta la curva
“A” como se mostro en el grafico anterior, para nuestro ejemplo, la Tao 1 es de 2 minutos.
Para obtener la curva “C” primero hay que obtener P3 (el cual nos marca el inicio de la curva “C”),
y después se obtiene la diferencia entre la curva B y la curva A:
Para obtener el P4 (Punto con el cual se obtendrá la segunda constante de tiempo), se utiliza la
siguiente fórmula:
La segunda constante de tiempo, se obtiene según el tiempo que hay en el P4 de cero hasta la
curva “C” como se mostró en el grafico anterior, para nuestro ejemplo, la Tao 2 es de 0.5 minutos.
Según las ecuaciones, se comprobó que nuestros puntos obtenidos son correctos, ya con esto, se
puede obtener nuestra función de transferencia mediante la siguiente ecuación:
Para este caso supóngase que nuestro escalón fue de 100%, por lo tanto:
Ejemplo:
Puntos de Fin
No hay ceros
Se despeja K de 1 + GH(s) = 0
Se deriva con respecto a s: dk/ds = 0, se obtienen las raíces
Se iguala a cero dk/ds y se obtienen raíces
De los valores obtenidos en dk/ds se determinan los puntos de quiebre
Nótese que el punto de quiebre y el centro de las asíntotas, coinciden en el mismo punto,
para este ejemplo.
Ya con los puntos anteriores, se puede obtener nuestro grafico de LGR de nuestro sistema, el cual
nos quedaría de la siguiente forma:
Es la ganancia requerida requiere para que la trayectoria cruce el eje imaginario; es decir que el
sistema sea críticamente estable.
En este ejemplo, como el sistema SIEMPRE es estable, NO existe una ganancia crítica (el LGR
nunca pasa al eje x positivo); en otras palabras, sin importar la ganancia del sistema (k), nunca
se va a volver inestable.
En este ejemplo como NO existe ganancia crítica, en consecuencia tampoco existe una
frecuencia crítica.
DIAGRAMA DE BODE
El diagrama de Bode nos muestra el comportamiento de la respuesta en frecuencia del sistema en
base a una determinada ganancia.
Ejemplo:
Ecuación de Magnitud
Ecuación de Fase
0.1 -0.1811 -14.1723
0.3 -1.4320 -39.4945
0.5 -3.2735 -59.0362
0.7 -5.2147 -73.7523
1 -7.9588 -90
3 -20.8008 -136.84 Si usted cree necesario, puede
5 -28.6465 -152.4879 obtener más valores para así
7 -34.1668 -159.9689 obtener una mayor resolución
10 -40.1811 -165.8276
y exactitud en los gráficos.
30 -59.1053 -175.2310
50 -67.9661 -177.1364
70 -73.8076 -177.9517
100 -80.0018 -178.5677
300 -99.0850 -179.5225
500 -107.9588 -179.7135
700 -113.8039 -179.7953
** NOTA: Las valores que se obtuvieron, fueron para las trazas de bode en LAZO ABIERTO, esto
debido a que se utilizo nuestra ecuación de función de transferencia en lazo abierto, para
obtener las trazas de bode para lazo cerrado, es necesario pasar la función de transferencia en
lazo cerrado y obtener las ecuaciones de bode de la forma que se mostro en este punto.
**NOTA: Un margen de ganancia infinito junto con un margen de fase positivo (arriba de -180°)
nos demuestra que el sistema es ESTABLE
Ejemplo:
Ecuación de Magnitud
Ya obtenidas las ecuaciones de magnitud y fase, se sustituyen los valores de frecuencia desde cero
hasta infinito para obtener la siguiente tabulación.
**TIP: Como el sistema que se va a graficar, es de segundo orden, el grafico de Nyquist que se
obtendrá no será muy complejo, por lo tanto una forma de graficarlo sencillamente es
obteniendo los valores para los cuales se obtiene un ángulo de 0, -90, -180 principalmente, o
bien los cruces por los ejes del plano.
Ya que obtuvimos nuestra tabulación, ya se pueden realizar nuestras trazas de Nyquist. Ya con el
grafico, se puede determinar el margen de fase y el margen de ganancia de nuestro
Ejemplo
Siendo nuestro sistema en lazo cerrado con retroalimentación unitaria, para determinar si nuestro
controlador es el adecuado para nuestro sistema, encontraremos su error en estado estable al
aplicarle un escalón unitario como entrada al sistema.
**NOTA: Este método funciona para cualquier tipo de control y/o entrada, solo sería necesario
cambiar la G(s) para que reflejara otro control, y cambiar la entrada (en este caso s/1) para
cambiar a otro tipo, como por ejemplo rampa (s2/1). Para este ejemplo en específico, los
controladores estables para una entrada ESCALÓN serían: P, PI y PID.
**NOTA: Otro dato importante es hacer notar que el manejo de las ganancias proporcional,
integral y derivativa en MATLAB es igual a como se manejaría a la manera “matemática”, a
diferencia de lo empleado en ejemplos prácticos, por ejemplo un valor de 200 seg/rep para el
valor integral para MATLAB serían 1/200, es decir 0.005 de ganancia integral.
Aquí se puede observar que MATLAB maneja ganancias, en consecuencia, al querer sintonizar
algún controlador se tendrá que tomar esta consideración al establecer los valores tanto en
Matlab como en el sistema físico.
El controlador que se utilizara será un PID, en este punto no se mostraran los análisis necesarios
de Error en estado estable con la finalidad de hacer menos extenso este punto, pero no hay que
olvidar que es necesario realizarlas para determinar si el controlador funcionara; Para el sistema
que se mostrara, se encontró que el error en estado estable (Ess) del controlador PID es de cero.
Primero se coloca nuestro sistema en operación normal de forma manual, una vez hecho esto,
pasamos nuestro controlador en modo automático y aplicamos un cambio de tipo escalón en el
“Set Point” y observamos el comportamiento en la salida.
Según los parámetros deseados en el comportamiento del sistema, será la forma de decidir la
forma en que se deberá sintonizar nuestro sistema.
Mapas de sintonía
A continuación se mostrara una tabla la cual nos mostrara que tipo de ajustes
serán necesarios en nuestra sintonía según el comportamiento del sistema.
Determinar cual mapa de sintonía se aproxima a nuestra grafica obtenida del sistema
Seleccionar el mapa de sintonía que, según nuestro juicio, es más satisfactoria para la
respuesta deseada.
Ajustar la banda proporcional, integral y derivativa en la dirección indicada en el mapa
de sintonía para obtener nuestro comportamiento del sistema de la manera más
satisfactoria.
Ejemplo:
Nuestro sistema a sintonizar será el obtenido en el punto del Porciento Incompleto con un
controlador PID:
PrimeramenteEllecontrolador
asignamos valores arbitrariostrabaja
PID de SIMULNK a nuestro
con controlador y analizamos su respuesta,
valores de ganancias
como se muestra en la siguiente figura:
P= 13
I= 0.5
D= 0.12
Como se puede ver en el grafico anterior, se aprecia que se tarde en llegar a su estado estable,
para corregir eso, es necesario reducir nuestro tiempo de integración, como SIMULINK trabaja con
ganancias, esto equivale a aumentar la ganancia de integración; al haber reasignado valores, se
obtiene lo siguiente.
En el grafico anterior, aparentemente el sistema luce mejor, con dichos valores se puede
considerar el sistema sintonizado, pero intentaremos encontrar una mejor respuesta, una más
rápida, para esto dejaremos la ganancia de integración tal y como se encuentra, aumentaremos la
ganancia proporcional y le aumentaremos un poco la ganancia derivativa para ver el
comportamiento del sistema.
P= 10
I= 3
D= 1.5
Ya con estos valores se puede considerar el sistema sintonizado y con un mejor tiempo de
respuesta a comparación del obtenido con los valores mostrados anteriormente.
Este método se puede aplicar cuando la respuesta del sistema ante un escalón unitario presenta
en su gráfica una forma de “s”.
Para este método ocuparemos encontrar gráficamente el tiempo de retardo “L” y la constante de
tiempo “T”; las cuales se sabrán al proyectar una línea tangente en el punto de inflexión de la
curva desde el 0 hasta el valor del escalón.
De esta manera nuestra gráfica quedara dividida en dos y siendo la primera parte el retardo y la
segunda hasta el punto donde cruza el escalón la constante de tiempo.
Mediante este método podemos encontrar los valores de los controladores gracias a unas tablas
de formulas, las cuales pueden variar según de la forma de resolver este método. A continuación
se muestra la tabla con las formulas de valores para los diversos controladores:
Tipo de Kp Ti Td
Controlador
P T/L ∞ 0
PI .9 T/L L/0.3 0
PID 1.2 T/L 2L 0.5L
Ejemplo:
A continuación se muestra el grafico obtenido del sistema al aplicarle una entrada escalón.
Ya teniendo nuestro grafico de respuesta a un escalón, se traza una línea recta por su punto de
inflexión (Punto en el cual tiende a hacer forma de S) la cual toque la mayor cantidad de puntos
posibles, tal y como se muestra en la figura anterior.
L T
L= 0.25, T= 2.85
Aplicando nuestra tabla para un controlador PID se obtiene que:
Tipo de Kp Ti Td
Controlador
P T/L ∞ 0
PI .9 T/L L/0.3 0
PID 1.2 T/L 2L 0.5L
P= 13.68
I= 27.36
D= 1.71
Según este método, se puede considerar con dichos valores que nuestro sistema se encuentra
sintonizado, pero como se puede observar, se puede lograr una mejor sintonía del sistema. Para
mayor detalle ver métodos de Prueba y Error y Mapas de Sintonía.
El procedimiento es el siguiente
Poner el tiempo de integración al máximo
Poner el tiempo derivativo en el mínimo
Poner la banda proporcional al máximo
Poner el controlador en modo automático
Reduzca la banda proporcional hasta que el sistema empiece a oscilar con una
ganancia unitaria (Ultima banda proporcional, Bu) y con una amplitud A lo más
pequeña posible.
Ejemplo
Nuestro sistema a sintonizar será el obtenido en el punto del Porciento Incompleto con un
controlador PID:
P= 3
I= 10
D= 0
Con el grafico anterior se puede observar que se tienen los siguientes valores:
P= 6
I= 2
D= 0.5
Según este método, se puede considerar con dichos valores que nuestro sistema se encuentra
sintonizado, a diferencia de los demás métodos, este obtuvo una mejor sintonía de una manera
más rápida y eficiente de tiempo requerido, pero la única desventaja de este método es que no
siempre se puede utilizar en campo, debido a la necesidad de producir oscilaciones en los
sistemas.
Para poder realizar un sistema tipo cascada, se deben tener la siguiente característica; la dinámica
(constante de tiempo) del lazo interno debe ser mucho más rápida que la del lazo externo.
Ejemplo
Nuestro sistema a sintonizar será el siguiente:
Este es un sistema cascada en el cual, el proceso esclavo cuenta con dos constantes de tiempo de
0.2 min y 0.05 min respectivamente y el proceso maestro también cuanta con dos constantes de
tiempo de 2 min y 0.5 min.
Para el análisis y sintonía de este tipo de sistemas, es necesario analizar primero el sistema de
mayor rapidez primero. Para sintonizar este sistema primero se analizara el proceso esclavo.
Una vez sintonizado nuestro sistema esclavo, se pasara a sintonizar el controlador maestro ya con
el controlador esclavo sintonizado.
El método de sintonización que se utilizara será el de último periodo, esto con la finalidad de
facilitar el trabajo, además que con la ayuda del programa SIMULINK de Matlab, este método se
puede utilizar sin ningún problema.
Ultimo periodo
(Recordando el método)
Para este método nuestro sistema debe ser de lazo cerrado. Este método se basa en hacer oscilar
nuestro sistema con una ganancia unitaria para obtener nuestros valores de sintonía.
El procedimiento es el siguiente
P= 1
I= 50
D= 0
Debido a que el controlador PID de SIMULINK opera con ganancias, los valores a utilizar serian:
P= 1.77
I= 12
D= 0
Ya que tenemos nuestro sistema esclavo sintonizado, ya se puede sintonizar el sistema maestro.
P= 0.0001
I= 10
D= 0
P= 1
I= 1.5
D= 0
P= 4
I= 2
D= 1
P= 5
I= 2.2
D= 0.5
Ya con este último grafico se puede concluir que ya nuestro Proceso en cascada se encuentra
debidamente sintonizado.
Las acciones que lleva a cabo esta función son las siguientes:
o Trazo de LGR
o Trazo de Bode
o Trazo de Nyquist
o Respuesta al escalón/rampa
o Cálculo de controladores, y posibles controladores estables (para entradas
escalón y rampas)
o Generación de modelo en SIMULINK de la planta, lista para sintonizar
pasos a seguir
1. Asegurar que se tienen instalados los archivos necesarios para la ejecución del archivo
.m llamado “determinarControlador”; para llevar a cabo esto es necesario copiar todo
lo contenido en el siguiente archivo a la carpeta de trabajo de Matlab, la cual se
obtiene escribiendo el comando CD.
resultados
Como podemos ver, para esta planta los posibles controladores estables (pero no precisamente
sintonizados con ganancias unitarias…) para una entrada ESCALÓN serían:
Control I
Control PI
Control PID
Para una entrada RAMPA, para este preciso sistema no habría un controlador estable.
Luego de mostrar esta pantalla saldrán unos diálogos de preguntas, acerca de qué tipo de
resultados queremos ver; sin embargo, si presionamos “Si” a todos esos mensajes, podremos
ver las siguientes ventanas.
A continuación veremos todas las ventanas de las gráficas de cada uno de los sistemas
generados, es decir, el sistema original, con P, con PI, con PID, etc. Estas mismas gráficas son
“exportadas” a alguna carpeta de nuestro sistema; esta carpeta se nos es preguntada al
momento de presionar “Si” a generar las gráficas de LGR.
Cabe señalar que los sistemas antes graficados todos son a lazo cerrado, con excepción el
sistema original, es decir, el sistema sin control alguno, ya que este es a lazo abierto. El lazo
se cierra con una retroalimentación unitaria.
Otra función más del sistema es la opción de generar el modelo de SIMULINK, listo para
sintonizar mediante los métodos de sintonía vistos anteriormente en este mismo trabajo.
Con este modelo ya solo es cuestión de ajustar las ganancias de cada una de las etapas
(Proporcional, Derivativo e Integral) para poder sintonizar de manera teórica el sistema con
su respectivo controlador.
Conclusiones
A manera de conclusión de esta sección, podemos decir que una manera bastante de sencilla de
analizar un sistema es mediante el uso de software computacional como MATLAB, aunque puede
llegar a ser aun más sencillo con el uso de funciones ya diseñadas específicamente para esto,
como el caso de la función utilizada en esta sección (determinarControlador). Lo que nos puede
llevar más de una hora en hacer a mano, nos puede llevar menos de 10 min en hacerlo con algún
software especializado.
%Determinamos si se mandaron los parámetros necesarios para generar las gráficas (NUM y
DEN)
if (generarGraficas == 1)
scrsz = get(0,'ScreenSize');
sys_Original_LazoAbierto= TF(num,den); %Lazo Abierto
fprintf('\n\nSe generarán las gráficas del sistema original y sus controladores...');
if (generarGraficasResp == 1)
ltiview('step', sys_Original_LazoAbierto, sys_ControlP_LazoCerrado,
sys_ControlPI_LazoCerrado, sys_ControlPID_LazoCerrado)
end;
if (isempty(dirImg))
dirImg = 'C:\';
end;
cd(dirImg);
end;
else
sys_Original_LazoAbierto= 0;
fprintf('\n\nNo se generarán las gráficas de cada controlador');
end;
if (generarModelo == 1)
PID
end;
catch
if ~isempty(dirOriginal)%(dirOriginal ~= '')
cd(dirOriginal) %Regresamos al directorio original
end;
end
fprintf('\n\n\n');