Práctica 5: Diseño de controladores usando técnicas frecuenciales FUNDAMENTOS DE CONTROL AUTOMÁTICO. 2 GITI 1 Introducción El objetivo de esta práctica consiste en el diseño de controladores usando técnicas frecuenciales para un sistema de control de temperatura en un tanque de mezcla de agua. Para ello se trabajará con un modelo de SIMULINK disponible en la enseñanza virtual, sobre el que habrán de desarrollarse un conjunto de controladores usando las funciones de Matlab y metodologı́as de diseño que se han estudiado previamente. El alumno deberá entregar usando el servidor de docencia una plantilla con los resultados de los cálculos y simulaciones que se detallan en el desarrollo de la práctica. 2 Descripción del sistema El modelo que se va a considerar en esta práctica es el del sistema de un depósito recto que se ilustra en la figura 1. xc qc qf Tc xf Tf Ta h T Tm qs T hm Figure 1: Descripción del sistema. Las ecuaciones que rigen el comportamiento de este sistema son: 1 Actuadores qc (t) = qf (t) = √ ∆Pvc xvc (t) √ f Kvs ∆Pvf xvf (t) c Kvs Se sabe además que el motor de las válvulas hace que la apertura real de las válvulas xvc (t) y xvf (t) tengan una dinámica de primer orden con ganancia unidad y constante de tiempo 0.5s respecto al valor de apertura enviado a las válvula xc (t) y xf (t), que son las variables manipulables. Sistema qs (t) dh(t) A dt dT (t) Ce ρ V (t) dt V (t) = k √ h(t) = qc (t) + qf (t) − qs (t) = Ce ρ qc (t)(Tc − T (t)) + Ce ρ qf (t)(Tf − T (t)) − U P h(t)(T (t) − Ta ) = A h(t) Sensores hm (t) = Tm (t) = h(t) + rh (t) T (t) + rT (t) donde el significado de cada una de las señales se indica a continuación: • qc (t): Caudal de agua caliente que entra en el depósito (m3 /h). • qf (t): Caudal de agua frı́a que entra en el depósito (m3 /h). • qs (t): Caudal de agua que sale del depósito (m3 /h). • xvc (t): Apertura de la válvula de agua caliente (tanto por uno). • xvf (t): Apertura de la válvula de agua frı́a (tanto por uno). • xc (t): Valor de consigna enviado a la válvula de agua caliente (tanto por uno). • xf (t): Valor de consigna enviado a la válvula de agua frı́a (tanto por uno). • h(t): Altura del lı́quido en el depósito (m). • V (t): Volumen de lı́quido en el depósito (m3 ). • T (t): Temperatura del lı́quido contenido en el depósito (o C). • hm (t): Altura medida del lı́quido en el depósito (m). • Tm (t): Temperatura medida del lı́quido contenido en el depósito (o C). • rh (t): Ruido aditivo en el sensor de altura (m). • rT (t): Ruido aditivo en el sensor de temperatura (o C). 2 Mientras que los parámetros del sistema son: c • Kvs : Caudal de agua caliente con válvula totalmente abierta a 1 bar de caı́da de presión (m3 /h). • ∆Pvc : Caı́da de presión en la válvula de agua caliente (bar). f • Kvs : Caudal de agua frı́a con válvula totalmente abierta a 1 bar de caı́da de presión (m3 /h). • ∆Pvf : Caı́da de presión en la válvula de agua frı́a (bar). • r: Radio del depósito (m). • A: Área del depósito (m2 ). 3 √ ). • k: Coeficiente de descarga del depósito ( hm m • Ce : Calor especı́fico ( KgJo C ). • ρ: Densidad ( Kg m3 ). • U : Coeficiente de pérdida de calor ( m2Jo C ). • P : Perı́metro del depósito (m). • Tc : Temperatura del agua caliente (o C). • Tf : Temperatura del agua frı́a (o C). • Ta : Temperatura ambiente (o C). Este modelo se puede descomponer en tres partes, correspondientes a los actuadores, sistema depósito en sı́ y sensores, como aparece en la figura 2. Figure 2: Modelo descompuesto. Para cumplir los objetivos de control sólo consideraremos una entrada y una salida: valor de consigna enviado a la válvula de agua frı́a xf (t) y temperatura del depósito T (t), respectivamente y donde se supone que el sensor de temperatura proporciona el valor exacto de la señal de salida, sin ninguna dinámica ni ruidos asociados. El resto de las entradas del sistema se considerarán como perturbaciones.De entre ellas, tan sólo se analizarán las perturbaciones derivadas de las posibles variaciones en la señal xc (t). Véase la figura 3. Los valores fijos de los parámetros del sistema y de las variables consideradas constantes son: 3 xc Ta Tc Tf T xf Planta Figure 3: Modelo reducido. c Kvs ∆Pvc f Kvs = 5m3 /h = 1bar = 5m3 /h ∆Pvf = 1bar J Kg o C Kg ρ = 1000 3 m J U = 341 · 103 2 o m C Tf = 20o C Ce = 4185 Para el resto de los parámetros cada alumno elegirá su valor a partir de las siguientes relaciones r = 1 + 0.04D5 (m) Tc Ta = = 70 + 2D6 (o C) 15 + D7 (o C) k = m3 2.5 + 0.1 ∗ D8 ( √ ) h m Siendo D8 el dı́gito menos significativo del DNI, D7 el anterior y ası́ sucesivamente. Por ejemplo, para el DNI número: 53567448, se tendrı́a D8 = 8, D7 = 4, D6 = 4, D5 = 7, con lo que resultarı́an los siguientes valores de los parámetros: r = 1.28, Tc = 78, Ta = 19, k = 3.3 Con el fin de simular el comportamiento del sistema, se dispondrá de un modelo de MATLAB/SIMULINK proporcionado por los profesores de la asignatura. Este puede descargarse a través del entorno de enseñanza virtual de la asignatura (http ://ev.us.es). Las simulaciones de la planta ası́ como los ensayos de controladores se deben realizar utilizando este modelo. 4 3 Modelo linealizado En este apartado se facilita al alumno el modelo linealizado del sistema entorno a un punto de funcionamiento [x0f , x0c , T 0 ], tomando xf como entrada manipulable, T como salida del sistema y variable a controlar y xc como perturbación, manteniéndose el resto de las entradas al sistema constantes. 3.1 Obtención del punto de funcionamiento Para realizar la linealización en primer lugar hay calcular el punto de funcionamiento, que se obtiene haciendo cero las derivadas en el modelo del sistema. Realizando esa operación se obtienen las siguientes expresiones para el punto de funcionamiento. qc0 qf0 h0 T0 3.2 √ ∆Pvc x0c √ f = Kvs ∆Pvs x0f ( )2 qc0 + qf0 = k c = Kvs = Ce ρ qc0 Tc + Ce ρ qf0 Tf + U P h0 Ta Ce ρ qc0 + Ce ρ qf0 + U P h0 Linealización En primer lugar, atendiendo a las ecuaciones y variables del sistema se definen las siguientes variables incrementales α(t) = β(t) = h(t) − h0 qf (t) − qf0 γ(t) = qc (t) − qc0 θ(t) = δ(t) = T (t) − T 0 xf (t) − x0f η(t) = xc (t) − x0c El modelo linealizado de la planta se divide en una parte de actuadores y otro de sistema: Actuadores γ(s) = β(s) = √ 1 η(s) 0.5s + 1 √ 1 f ∆Pvs δ(s) Gaf (s)δ(s) = Kvs 0.5s + 1 c Gac (s)η(s) = Kvs 5 ∆Pvc Sistema θ(s) = Gs (s)β(s) + Gsd (s)γ(s) Gs (s) = UP 0 (Tf − T 0 ) A s + (Tf − T 0 ) 2√kh0 − C ρ (T − Ta ) [( ) ][ e ] 0 qc + qf0 + UCPe hρ + A h0 s A s + 2√kh0 = UP 0 (Tc − T 0 ) A s + (Tc − T 0 ) 2√kh0 − C ρ (T − Ta ) [( ) ][ e ] 0 qc + qf0 + UCPe hρ + A h0 s A s + 2√kh0 Gsd (s) de tal manera que el sistema final es θ(s) = G(s)δ(s) + Gsd (s)η(s) donde 4 G(s) = Gs (s)Gaf (s) Gd (s) = Gsd (s)Gac (s) Desarrollo de la práctica En este apartado se presenta el trabajo a realizar por el alumno, detallando los valores que necesite calcular para rellenar la plantilla a entregar al finalizar la práctica. En primer lugar es necesario darle valores a los parámetros en función del DNI del alumno, calcular los valores de las variables en el punto de funcionamiento y determinar la función de transferencia del sistema tanto para el problema de seguimiento como para el de regulación. Para simplificar esta tarea se facilita un script de Matlab llamado modelopractica5.m (que puede descargarse también de la enseñanza virtual de la asignatura (http ://ev.us.es)). Una vez ejecutado dicho script (se hace escribiendo el nombre del mismo en la pantalla de comandos de Matlab), se solicitarán los 4 últimos dı́gitos del DNI y devolverá los valores de los parámetros del sistema, ası́ como el punto de funcionamiento, las funciónes de transferencia G(s) y Gd (s) en forma de numerador y denominador y de función de transferencia. 4.1 Diseño de un controlador proporcional El objetivo es diseñar un controlador proporcional que cumpla las siguientes especificaciones: 1. Partiendo del punto de funcionamiento, si la referencia aumenta en 5o C, la diferencia entre la referencia y la temperatura T en régimen permanente debe ser inferior o igual a 0.25o C. 6 2. Partiendo del punto de funcionamiento, si el valor de consigna de apertura de la válvula de agua caliente xc aumente en 0.05, manteniéndose la referencia de temperatura en el punto de funcionamiento, la diferencia entre dicha referencia referencia y la temperatura T en régimen permanente debe ser inferior o igual a 0.25o C. 3. El sistema debe tener la menor sobreoscilación posible. Para ello el alumno deberá 1. Calcular la constante de error en posición Kp1 [p1]para que se cumpla la especificación 1. Calcular la constante de error en posición Kp2 [p2] para que se cumpla el objetivo de control 2. 2. Calcular la ganancia de un controlador proporcional Kc [p3] mediante métodos frecuenciales de forma que el sistema controlado satisfaga las especificaciones anteriores. 3. Realizar el diagrama de bode del conjunto controlador-planta y calcular el margen de fase [p4] y la frecuencia de corte [p5] del sistema (se recomienda usar la función margin de Matlab). 4. Simular el comportamiento del sistema no lineal usando el bloque de simulink suministrado, en el punto de funcionamiento con el controlador calculado ante un escalón de 5o C en la referencia sobre el punto de funcionamiento. Medir el valor de la temperatura T en régimen permanente [p6], la sobreoscilación en porcentaje(%) [p7] y el tiempo de subida [p8] del sistema controlado. 4.2 Diseño de un controlador PI El objetivo es diseñar un controlador con acción proporcional e integral que cumpla las siguientes especificaciones: 1. Partiendo del punto de funcionamiento, si la referencia aumenta en 5o C, la diferencia entre la referencia y la temperatura T en régimen permanente debe ser inferior o igual a 0.25o C. 2. Partiendo del punto de funcionamiento, si el valor de consigna de apertura de la válvula de agua caliente xc aumente en 0.05, manteniéndose la referencia de temperatura en el punto de funcionamiento, la diferencia entre dicha referencia referencia y la temperatura T en régimen permanente debe ser inferior o igual a 0.25o C. 3. Partiendo del punto de funcionamiento, si la referencia aumenta 5o C, la temperatura no debe superar en mas de 1o C el valor de la referencia, suponiendo que el sistema tenga error en régimen permanente nulo. 4. El sistema debe ser lo mas rápido posible. Para ello el alumno deberá 1. Calcular los parámetros (Kc [p9] y Ti [p10]) de un controlador PI expresado en la forma C(s) = Kc (1 + 1 ) Ti s usando métodos frecuenciales de forma que el sistema controlado satisfaga las especificaciones anteriores. 7 2. Realizar el diagrama de bode del conjunto controlador-planta y calcular el margen de fase [p11] y la frecuencia de corte [p12] del sistema en el mismo (se recomienda usar la función margin de Matlab). 3. Simular el comportamiento del sistema no lineal usando el bloque de simulink suministrado, en el punto de funcionamiento con el controlador calculado ante un escalón de 5o C en la referencia sobre el punto de funcionamiento. Medir el valor de la temperatura T en régimen permanente [p13], la sobreoscilación en porcentaje(%) [p14]y el tiempo de subida [p15] del sistema controlado. 4.3 Estudio del comportamiento del sistema controlado ante una perturbación En este apartado se pretende que el alumno compare los comportamientos del sistema controlado con los controladores diseñados anteriormente al producirse una variación en la apertura de la válvula de agua caliente. Para ello el alumno debe: 1. Realizar un ensayo usando el controlador proporcional antes diseñado para controlar el sistema no lineal aumentando la apertura de la válvula de agua caliente xc en 0.1 manteniendo la referencia en su punto de funcionamiento. Medir el valor de la temperatura T en régimen permanente [p16], el valor máximo de la temperatura T (valor de pico) [p17]y el tiempo de pico [p18] del sistema controlado. 2. Realizar un ensayo usando el controlador PI antes diseñado para controlar el sistema no lineal aumentando la apertura de la válvula de agua caliente xc en 0.1 manteniendo la referencia en su punto de funcionamiento. Medir el valor de la temperatura T en régimen permanente [p19], el valor máximo de la temperatura T (valor de pico) [p20]y el tiempo de pico [p21] del sistema controlado. 4.4 Diseño de un controlador PD El objetivo es diseñar un controlador con acción proporcional derivativa que cumpla las siguientes especificaciones: 1. Partiendo del punto de funcionamiento, si la referencia aumenta en 5o C, la diferencia entre la referencia y la temperatura T en régimen permanente debe ser inferior o igual a 0.25o C. 2. Partiendo del punto de funcionamiento, si el valor de consigna de apertura de la válvula de agua caliente xc aumente en 0.05, manteniéndose la referencia de temperatura en el punto de funcionamiento, la diferencia entre dicha referencia referencia y la temperatura T en régimen permanente debe ser inferior o igual a 0.25o C. 3. El sistema debe tener un margen de fase 45 grados mayor que el controlador proporcional obtenido en la subsección 4.1. Para ello el alumno deberá 8 1. Calcular los parámetros (Kc [p22], Td [p23] ) de un controlador PD expresado en la forma C(s) = Kc (1 + Td s) usando métodos frecuenciales de forma que el sistema controlado satisfaga las especificaciones anteriores. 2. Realizar el diagrama de bode del conjunto controlador-planta y calcular el margen de fase [p24] y la frecuencia de corte [p25] del sistema en el mismo (se recomienda usar la función margin de Matlab). 3. Simular el comportamiento del sistema no lineal usando el bloque de simulink suministrado, en el punto de funcionamiento con el controlador calculado ante un escalón de 5o C en la referencia sobre el punto de funcionamiento y medir el valor de la temperatura T en régimen permanente [p26], la sobreoscilación en porcentaje(%) [p27] y el tiempo de subida [p28] del sistema controlado. Para la simulación, deberá añadir al controlador PD un filtro de derivadas, quedando la función de transferencia del controlador C(s) = Kc 1 + T ds) (αf Td s + 1) en la que αf es el factor del filtro de derivadas y tomará un valor de αf = 0.03. 9 5 Instrucciones para entregar las respuestas en Goodle La entrega de la práctica a través del servidor de docencia consiste en rellenar una plantilla o formulario de texto, siguiendo las siguientes instrucciones: • Cada respuesta correspondiente a una cuestión de trabajo en el centro de cálculo tiene asignado un nombre. En el enunciado de la práctica se indica con una etiqueta entre corchetes cada respuesta que hay que entregar. • Para cada respuesta simple (un único número) hay que escribir una lı́nea con el siguiente formato: nombre = valor; Los decimales se separan utilizando el punto, no la coma. Por ejemplo, para responder que el valor de una constante de tiempo es 17.3, hay que escribir la siguiente lı́nea: p6 = 17.3; • Si desconoce alguno de los valores solicitados, evite dar respuestas que provoquen error de sintaxis como las siguientes: p5 = ; p6 = En lugar de esto, introduzca en la respuesta algún valor, preferentemente un valor nulo: p5 = 0; p6 = 0; 6 Funciones del Toolbox de Control de MATLAB A continuación, se expone una relación de las funciones del Toolbox que se pueden usar para la realización de la práctica. El alumno deberá estar familiarizado con ellas para completar las cuestiones que se proponen. 1. Introducción de polinomios en MATLAB: N = [1, 2, 3], conv, deconv. 2. Introducción de funciones de transferencia: pares N/D, G=tf(N,D,’ioDelay’,L), s=tf(’s’) ... . 3. Obtención de polos y ceros, etc: roots, poly, pole, tzero, tf2zp, zp2tf, pzmap, G.num{1}, G.den{1}. 4. Dominio frecuencial: bode, margin, nyquist, bode→semilogx, subplot, polyval, evalfr. 5. Archivos .m. 10