Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Control de Procesos | Ejercicios de MatLab Raúl Bernal 1 Ejercicios de MatLab Problema 1: (archivo: clase10.m) Tenemos un sistema cuya función de transferencia de la planta es 𝐻𝑝 = 1 𝑠2 − 𝑠 + 1 y vamos a trabajar con un controlador de tipo PD cuya función de transferencia es 𝐻𝑐 = 𝑘𝑝(1 + 𝜏𝑑𝑠) La idea es que vamos a trabajar con un sistema de lazo cerrado donde la planta es algo que vamos a analizar al principio como los primeros problemas; ver el lugar geométrico de las raíces, ver la respuesta de esta planta ante una entrada tipo escalón unitario. Y después vamos a agregarle un controlador que va a tener estas características de manera tal de poder modificar la respuesta de esta planta, porque al graficar la respuesta de la planta se podrá ver que da algo que no tiene nada que ver con la respuesta deseada de que llegue a 1 para la entrada escalón unitario. Vamos a configurar el controlador; vamos a buscar qué valores de kp y de d le tenemos que dar de manera tal que la planta evolucione en un sistema de tipo de segundo orden subamortiguado, en el cual tenemos un valor de sobrepaso igual al 4% y un tiempo de establecimiento igual a los 2 segundos. 𝑀𝑝 = 4% 𝑇𝑠 = 2𝑠 (𝑠𝑒𝑔𝑢𝑛𝑑𝑜𝑠) Solución: Sabemos de teoría que 𝑇𝑠 = 3 𝑘𝑊𝑛 𝑦 𝑀𝑝 = 𝑒 − 𝜋𝑘 √1−𝑘2 Analizamos la función de transferencia de la planta Hp con Matlab: al hacer que grafique la función de transferencia con el código Control de Procesos | Ejercicios de MatLab Raúl Bernal 2 Vemos que al principio se mantiene y después fluctúa un poco y se dispara hasta un valor de 1012. O sea que el sistema no es estable. Analizamos los polos mediante los comandos zero, pole y pzmap: Control de Procesos | Ejercicios de MatLab Raúl Bernal 3 Nos da un sistema inestable porque los polos están ubicados en el semiplano derecho del plano de polos y ceros, el sistema no es de mínima fase. El cálculo a mano seria: Ceros: no tiene Control de Procesos | Ejercicios de MatLab Raúl Bernal 4 Polos: 𝑠2 − 𝑠 + 1 = 0 𝑠 = 1 ± √1 − 4 2 𝑠1 = 1 + √3 2 = 0,5 + 0,866𝑖 𝑠2 = 1 − √3 2 = 0,5 − 0,866𝑖 Para estabilizar el sistema colocamos un control con función de transferencia Hc. Para el sistema de lazo cerrado la función de transferencia global Hplc es 𝐻𝑝𝑙𝑐 = 𝐻𝑝𝐻𝑐 1 + 𝐻𝑝𝐻𝐶 = 𝜔𝑛 2 𝑠2 + 2𝑘𝜔𝑛𝑠 + 𝜔𝑛2 (1) Nos concentramos en los denominadores de las funciones, es decir que 1 + 𝐻𝑝𝐻𝐶 = 𝑠 2 + 2𝑘𝜔𝑛𝑠 + 𝜔𝑛 2 Los valores de las variables k, n, están dadas despejando de los datos iniciales: 𝑇𝑠 = 3 𝑘𝑊𝑛 𝑦 𝑀𝑝 = 𝑒 − 𝜋𝑘 √1−𝑘2 𝑙𝑛𝑀𝑝 = − 𝜋𝑘 √1 − 𝑘2 𝑙𝑛𝑀𝑝√1 − 𝑘2 = −𝜋𝑘 1 − 𝑘2 = (− 𝜋𝑘 𝑙𝑛𝑀𝑝 ) 2 1 − 𝑘2 = 𝜋2𝑘2 (𝑙𝑛𝑀𝑝) 2 Con 𝑀𝑝 = 0,04 𝑙𝑛0,04 = −3,219 1 − 𝑘2 = 3,1422𝑘2 (−3,219)2 1 − 𝑘2 = 9,872𝑘2 10,362 10,362 − 10,362𝑘2 = 9,872𝑘2 𝑘2 = 10,362 10,362 + 9,872 = 10,362 20,234 𝑘 = 0,716 Como 𝑇𝑠 = 2 2 = 3 𝑘𝜔𝑛 𝜔𝑛 = 3 2𝑘 Control de Procesos | Ejercicios de MatLab Raúl Bernal 5 𝜔𝑛 = 3 1,432 = 2,095 Reemplazando en (1) y sabiendo que 𝐻𝑝 = 1 𝑠2 − 𝑠 + 1 𝐻𝑝𝑙𝑐 = 𝐻𝑐 𝑠2 − 𝑠 + 1 1 + 𝐻𝑐 𝑠2 − 𝑠 + 1 = 2,095 𝑠2 + 2 ∙ 0,716 ∙ 2,095𝑠 + 2,0952 𝐻𝑝𝑙𝑐 = 𝐻𝑐 𝑠2 − 𝑠 + 1 + 𝐻𝑐 = 2,095 𝑠2 + 3𝑠 + 4,389 O sea que los denominadores son iguales 𝑠2 − 𝑠 + 1 + 𝐻𝐶 = 𝑠 2 + 3𝑠 + 4,389 𝐻𝑐 = 3𝑠 + 𝑠 + 4,389 − 1 𝐻𝑐 = 4𝑠 + 3,389 (2) Vemos que la ecuación (2) tiene la forma 𝐻𝑐 = 𝑘𝑝(1 + 𝜏𝐷𝑠) Porque 𝐻𝑐 = 𝑘𝑝 + 𝑘𝑝𝜏𝐷𝑠 𝑘𝑝 = 3,389 𝑘𝑝𝜏𝐷 = 4 𝜏𝐷 = 4 𝑘𝑝 = 1,180 La ecuación (1) se puede graficar; usamos el comando feedback en la línea 10 Control de Procesos | Ejercicios de MatLab Raúl Bernal 6 Vemos que se obtiene una buena respuesta, pero aún falta mejorarla ya que hay un valor de sobrepaso superior a lo esperado (58%). Para bajar este valor dividimos la función feedback por (1+Td*s) en la línea 13. El valor en estado estable es cercano a 1 pero el error se puede achicar. Step Response Time (seconds) A m p lit u d e 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 0 0.2 0.4 0.6 0.8 1 1.2 1.4 System: Hplc Peak amplitude: 1.22 Overshoot (%): 58 At time (seconds): 0.797 System: Hplc Final value: 0.772 Control de Procesos | Ejercicios de MatLab Raúl Bernal 7 Ahora el valor máximo de sobrepaso es de un 4%. Podemos ahora disminuir el error en estado estable, una forma de hacerlo es aumentar el valor de kp de la función de transferencia de Hc; simplemente agregamos un valor en la línea 8, por ejemplo, aumentamos a 8. Step Response Time (seconds) A m p lit u d e 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 System: Hplc2 Peak amplitude: 0.803 Overshoot (%): 3.97 At time (seconds): 2.15 Control de Procesos | Ejercicios de MatLab Raúl Bernal 8 Al analizar los polos y ceros de todo el sistema comprobaremos que es estable y de mínima fase, en la línea 18. Step Response Time (seconds) A m p lit u d e 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 System: Hplc2 Final value: 0.889 Control de Procesos | Ejercicios de MatLab Raúl Bernal 9 Problema 2: sintonía de controlador (archivo: clase11ejercicioparaapunte.m) La planta que deseamos controlar, con la que vamos a trabajar inicialmente tiene una función de transferencia de este tipo: La idea es aplicar varias de las cosas vistas en teoría, como los lugares geométricos de las raíces, aplicar el criterio de estabilidad de Nyquist y después observar cual es la respuesta de este sistema ante una entrada de tipo escalón minutario. Luego diseñaremos un controlador de tipo PI con el cual vamos a tratar de modificar la respuesta de este sistema haciéndolo funcionar a lazo cerrado, construir un sistema donde colocamos un controlador que tiene una cierta función transferencia Hc, en serie con la planta, esto va a generar que la función de transferencia global del sistema cambie de manera tal que la podamos pensar como que es un sistema de segundo orden de tipo subamortiguado, en el cual le vamos a pedir que tenga una respuesta de pico con un sobrepaso del 12%, y un tiempo de establecimiento 2 segundos. Solución: Tenemos un sistema que al aplicarle una entrada tipo escalón genera una respuesta con forma de S, pero no llega a un valor esperado, es decir, al 100%. 𝐻𝑝 = 1 𝑠2 + 10𝑠 + 20 𝑇𝑠 = 2𝑠 (𝑠𝑒𝑔𝑢𝑛𝑑𝑜𝑠) 𝑀𝑝 = 0.12 Queremos ver si con las herramientas que tenemos hasta ahora podemos llegar a lograr los objetivos propuestos para la plana. De no ser así, aplicaremos algunos métodos de la teoría para poder hacer un ajuste para que el controlador responda en ese mismo circuito. -8 -7 -6 -5 -4 -3 -2 -1 0 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 Pole-Zero Map Real Axis (seconds-1) Im a g in a ry A x is ( s e c o n d s -1 ) Control de Procesos | Ejercicios de MatLab Raúl Bernal 10 Analizamos la función de transferencia de la planta sola en sistemaen lazo abierto: Step Response Time (seconds) A m p lit u d e 0 0.5 1 1.5 2 2.5 3 0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04 0.045 0.05 System: Hp Final value: 0.05 Pole-Zero Map Real Axis (seconds-1) Im a g in a ry A x is ( s e c o n d s -1 ) -8 -7 -6 -5 -4 -3 -2 -1 0 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 Control de Procesos | Ejercicios de MatLab Raúl Bernal 11 Es un sistema de mínima fase y la respuesta es estable pero no llaga a un valor esperado (por ejemplo, a 100°C), llega hasta un 0,05 de 1, hay un error de 0,95 En el problema anterior se hicieron cálculos sabiendo que 𝑴𝒑 = 𝒆 − 𝝅𝒌 √𝟏+𝒌𝟐y 𝑻𝒔 = 𝟑 𝒌𝝎𝒏 , y así se obtenían los valores de k y 𝝎𝒏, para usarla en la ecuación característica 𝒔 𝟐 + 𝟐𝒌𝝎𝒏𝒔 + 𝝎𝒏 𝟐. Al conectar el controlador la función de transferencia global era 𝐺𝑠 = 𝐻𝑝𝐻𝑐 1 + 𝐻𝑝𝐻𝑐 = 𝜔𝑛 2 𝑠2 + 2𝑘𝜔𝑛𝑠 + 𝜔𝑛2 Donde igualando polemonios y cancelando denominadores llegábamos a una ecuación similar a la del controlado PD 𝐻𝑐 = 𝑘𝑝(1 + 𝜏𝐷𝑠) En este problema tendríamos que hacer lo mismo, pero deberíamos llegar a una ecuación similar a la de un controlador PI 𝐻𝑐 = 𝑘𝑝 (1 + 1 𝜏𝑖𝑠 ) Esto es muy difícil de lograr, por eso contamos con algunas herramientas teóricas que nos facilitan los cálculos. Podemos usar el criterio de estabilidad de Nyquist si tenemos polos y ceros en el semiplano derecho y los métodos de sintonía de Ziegler y Nichols para obtener los valores de las contantes características del controlador elegido. Como el sistema es de mínima fase no es necesario aplicar el criterio de Nyquist. Debemos usar un controlador para mejorar la respuesta del sistema. Como la señal de salida tiene la forma de una S, es aplicable el primer método de Ziegler y Nichols. La gráfica de la respuesta es similar a Control de Procesos | Ejercicios de MatLab Raúl Bernal 12 𝑡𝑚 = 0,0509 𝑠𝑒𝑔𝑢𝑛𝑑𝑜𝑠 𝑇 = (0,738 − 𝑡𝑚) 𝑠𝑒𝑔𝑢𝑛𝑑𝑜𝑠 Para el controlador proporcional integral la función de transferencia es 𝐻𝑐 = 𝑘𝑝 + 𝐾𝑖 𝑠 = 𝐾𝑝 (1 + 1 𝜏𝑖𝑠 ) Las recomendaciones de Ziegler y Nichols para los valores de las constantes de un controlador PI son: 𝑘𝑝 = 0,9𝑇 𝑡𝑚 𝜏𝑖 = 𝑇𝑚 0,3 𝜏𝑑 = 0 Entonces la función de transferencia global del sistema para lazo cerrado es 𝐻𝑝𝑙𝑐 = 𝐻𝑐𝐻𝑝 1 Control de Procesos | Ejercicios de MatLab Raúl Bernal 13 Con el comando feedback cerramos el lazo con realimentación 1. Luego graficamos la respuesta y observamos los resultados: Vemos que obtenemos una respuesta más cercana a lo esperado con un valor en estado estable de 1, un sobrepaso del 18% y un tiempo de establecimiento de 2,51 segundos; lo que hicimos fue una sintonía del controlador, un ajuste grueso de la ganancia del sistema para luego hacer un ajuste fino. Para que el valor del sobrepaso sea del 14% ajustamos el valor de kp, después de la línea 12 agregamos otro valor de kp, por ejemplo 10. Step Response Time (seconds) A m p lit u d e 0 0.5 1 1.5 2 2.5 3 3.5 0 0.2 0.4 0.6 0.8 1 1.2 1.4 System: Hplc Final value: 1 System: Hplc Settling time (seconds): 2.51 System: Hplc Peak amplitude: 1.18 Overshoot (%): 18 At time (seconds): 1.07 Control de Procesos | Ejercicios de MatLab Raúl Bernal 14 Si hacemos un pzmap veremos que el sistema de lazo cerrado es estable porque es de mínima fase. Step Response Time (seconds) A m p lit u d e 0 0.5 1 1.5 2 2.5 3 3.5 4 0 0.2 0.4 0.6 0.8 1 1.2 1.4 System: Hplc Peak amplitude: 1.15 Overshoot (%): 14.5 At time (seconds): 1.24 System: Hplc Settling time (seconds): 2.55 System: Hplc Final value: 1 Control de Procesos | Ejercicios de MatLab Raúl Bernal 15 -7 -6 -5 -4 -3 -2 -1 0 -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5 Pole-Zero Map Real Axis (seconds-1) Im a g in a ry A x is ( s e c o n d s -1 ) Control de Procesos | Ejercicios de MatLab Raúl Bernal 16 Problema 3: sintonía de controlador (archivo: clase13problemaapunte.m) Se tiene la función de transferencia Hp de lazo abierto de una planta. Diseñe un controlador PI o PID tal que el sistema tenga una respuesta aceptable. 𝐻𝑝 = 2(𝑠 + 1) 𝑠2 − 2𝑠 + 10 Solución: Analizamos la respuesta del sistema en lazo abierto Vemos que la respuesta ante una entrada escalón unitario no tiene forma de S, el sistema parece ser inestable. Obtenemos el mapa de polos y ceros 0 10 20 30 40 50 60 -6 -4 -2 0 2 4 6 x 10 25 Step Response Time (seconds) A m p lit u d e Control de Procesos | Ejercicios de MatLab Raúl Bernal 17 Tenemos dos polos en el semiplano derecho y un cero en el semiplano izquierdo de s; como hay polos en el lado derecho es un sistema que no es de mínima fase. Para averiguar si va a ser estable o inestable este sistema aplicamos el criterio de estabilidad de Nyquist, obtenemos la gráfica y observamos si la gráfica está envolviendo o no el punto −𝟏 + 𝒋𝟎 y vemos cuantas vueltas realiza. Pole-Zero Map Real Axis (seconds-1) Im a g in a ry A x is ( s e c o n d s -1 ) -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 -3 -2 -1 0 1 2 3 Control de Procesos | Ejercicios de MatLab Raúl Bernal 18 Hacemos un zoom para ver si la gráfica está envolviendo a −𝟏 + 𝒋𝟎 La gráfica de Nyquist no envuelve al punto -1. Calculamos el valor de Z 𝑍 = 𝑁 + 𝑃 𝑍 = 0 + 2 𝑍 = 2 El sistema va a ser inestable ya que da un valor mayor a cero. Vemos el lugar geométrico de las raíces, que nos da la posición donde se podrían ubicar los polos si comenzamos aumentar la ganancia del sistema. Para eso usamos el comando rlocus() -1.2 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 Nyquist Diagram Real Axis Im a g in a ry A x is -1.002 -1.001 -1 -0.999 -0.998 -0.997 -3 -2 -1 0 1 2 3 x 10 -3 Nyquist Diagram Real Axis Im a g in a ry A x is Control de Procesos | Ejercicios de MatLab Raúl Bernal 19 Vemos que si seguimos aumentando la ganancia del sistema los polos pueden al otro lado de plano, o sea que tiene aplicabilidad el método. Para poder aplicar el método tenemos que averiguar cuál es el valor de la ganancia para que los polos queden sobre el eje de los imaginarios, eso lo vamos a lograr con el comando margin, en la ventana de comandos (Command Window) se puede escribir help margin para ver la manera en la que la podemos usar. Usamos la forma [Gm,Pm,Wcg,Wcp] = margin(SYS) en la línea 13 En la ventana de comando sale el siguiente resultado: -10 -8 -6 -4 -2 0 2 -4 -3 -2 -1 0 1 2 3 4 Root Locus Real Axis (seconds-1) Im a g in a ry A x is ( s e c o n d s -1 ) Control de Procesos | Ejercicios de MatLab Raúl Bernal 20 El margen de ganancia Gm es igual a 1, ahora podemos aplicar el método diciendo que kp es igual a 1, cerramos el lazo de control con el comando feefback Control de Procesos | Ejercicios de MatLabRaúl Bernal 21 Vemos que es un sistema que oscila permanentemente. Para tener una mejor apreciación de la respuesta solo graficaremos la respuesta en 7 segundos, para eso en la línea 17 al comando step le agregamos el tiempo deseado. 0 50 100 150 200 250 300 350 400 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 Step Response Time (seconds) A m p lit u d e Control de Procesos | Ejercicios de MatLab Raúl Bernal 22 En esos 7 segundos se puede medir el tiempo entre dos picos, 𝑃𝑐 = 2,38 − 0,56 𝑃𝑐 = 1,82 𝑠𝑒𝑔𝑢𝑛𝑑𝑜𝑠 Ya tenemos entonces, k crítico y P crítico, ahora podemos diseñar el controlador utilizando la tabla de recomendaciones de Ziegler y Nichols. 0 1 2 3 4 5 6 7 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 Step Response Time (seconds) A m p lit u d e Step Response Time (seconds) A m p lit u d e 0 1 2 3 4 5 6 7 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 System: Hplc Time (seconds): 2.38 Amplitude: 0.764 System: Hplc Time (seconds): 0.56 Amplitude: 0.765 Control de Procesos | Ejercicios de MatLab Raúl Bernal 23 Controlador kp 𝝉𝒊 𝝉𝒅 P 0,5kpc ∞ 0 PI 0,45kpc Pcr/1,2 0 PID 0,6kpc Pcr/2 Pcr/8 Para un controlador PI la función de transferencia es 𝐻𝑐 = 𝑘𝑝 (1 + 1 𝜏𝑖𝑠 ) En MatLab escribimos 𝝉𝒊 como Ti y kp como kpc indicando que es el kp del controlador, no el kp crítico. Debemos aumentar ki para mejorar el error en estado estable y aumentar kp (kpc en el script) para bajar el sobrepaso y darle más amortiguación al sistema. El valor de ki se aumenta bajando el valor de Ti ya que 1 𝜏 = 𝑘𝑖 𝑘𝑝 0 20 40 60 80 100 120 -3 -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 x 10 29 Step Response Time (seconds) A m p lit u d e Control de Procesos | Ejercicios de MatLab Raúl Bernal 24 En las líneas 20 y 23 se ven estos ajustes finos Con el controlador PI se logró obtener una buena respuesta del sistema, aunque el valor del sobrepaso aun es alto. Modificamos el Ti para ver si mejoramos la respuesta: Step Response Time (seconds) A m p lit u d e 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 System: Hplc2 Final value: 1 System: Hplc2 Peak amplitude: 1.57 Overshoot (%): 56.6 At time (seconds): 0.0299 Control de Procesos | Ejercicios de MatLab Raúl Bernal 25 Step Response Time (seconds) A m p lit u d e 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0 0.5 1 1.5 System: Hplc2 Peak amplitude: 1.48 Overshoot (%): 48.4 At time (seconds): 0.0398 System: Hplc2 Final value: 1 Control de Procesos | Ejercicios de MatLab Raúl Bernal 26 Step Response Time (seconds) A m p lit u d e 0 0.05 0.1 0.15 0.2 0.25 0.3 0 0.2 0.4 0.6 0.8 1 1.2 1.4 System: Hplc2 Peak amplitude: 1.31 Overshoot (%): 31.2 At time (seconds): 0.0622 System: Hplc2 Final value: 1 Control de Procesos | Ejercicios de MatLab Raúl Bernal 27 Ahora ajustamos el Ti y también el kp (kpc en el script): Step Response Time (seconds) A m p lit u d e 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0 0.2 0.4 0.6 0.8 1 1.2 1.4 System: Hplc2 Final value: 1 System: Hplc2 Peak amplitude: 1.16 Overshoot (%): 16.5 At time (seconds): 0.0505
Compartir