Respuesta Dinámica de Sistemas Lineales de Primer Orden Antonio Flores T. ∗ August 29, 2006 1 Introducción En esta sección nos interesa determinar la respuesta en el tiempo (es decir, la respuesta dinámica) de un cierto sistema cuando ocurre un cambio de algún tipo. En particular, nuestro interes reside en modificar alguna variable asociada con una corrriente de entrada al proceso. Por ejemplo, en el caso de un reactor quı́mico operado de manera continua podrı́amos modificar el flujo volumétrico de la corriente de alimentación y observar la manera como la concentración de reactivos y productos se modifica por este hecho. La respuesta dinámica de un sistema se puede representar en términos de la figura 1, donde u(t) es una función variable de entrada, y(t) es la respuesta del sistema. u(t) System y(t) Figura 1: Respuesta de un sistema en presencia de una perturbación en la entrada. 2 Sistemas lineales de primer orden La respuesta dinámica de muchos sistemas se puede representar mediante la siguiente ecuación diferencial lineal de primer orden, a1 dy + ao y = bu(t) dt (2.1) τ dy + y = Ku(t) dt (2.2) o de manera equivalente, ∗ E-mail: antonio.flores@uia.mx, http://200.13.98.241/˜antonio 1 donde, a1 ao b K = ao τ = (2.3) (2.4) K es la ganancia a lazo abierto del sistema y τ la constante de tiempo a lazo abierto. Tomando la transformada de Laplace de ambos lados de la ecuación 2.2 tenemos: ( ) dy L τ + y = L {Ku(t)} dt ( ) dy + L {y} = KL {u(t)} τL dt τ sy(s) + y(s) = Ku(s) (τ s + 1)y(s) = Ku(s) (2.5) (2.6) (2.7) (2.8) de donde y(s) K = u(s) τs + 1 (2.9) al cociente y(s)/u(s) se le denomina la función de transferencia G(s) : y(s) = G(s) u(s) (2.10) donde para un sistema de primer orden: G(s) = K τs + 1 (2.11) la solución de esta ecuación, en el dominio del tiempo, dada por: t y(t) = uK(1 − e− τ ) (2.12) Ejemplo 1 Considere el modelo de un reactor continuo tanque agitado discutido en el ejemplo 1 del capı́tulo “Linealización de Funciones No-Lineales”. Obtener la función de transferencia entre la entrada (Q) y la respuesta del sistema (CA ). El modelo linealizado está dado por: ¶ µ µ ¶ CAo − CAs dC̄A Qs s =− + 2kCA C̄A + Q̄ dt V V o bien en términos de la ecuación 2.2, ³ ³ 1 Q V + 2kCA ´ CAo −CA V ´ dC̄A ´ Q̄ + C̄A = ³ Q dt + 2kC A V 2 tomando la transformada de Laplace a ambos lados de la ecuación anterior: ´ ³ CAo −CA n o 1 dC̄A V ´ ´ Q̄ L ³Q + L C̄A = L ³ Q + 2kCA dt + 2kCA V V tenemos, ³ ³ 1 Q V + 2kCA ´ sC̄A (s) + C̄A (s) = ³ CAo −CA V Q V ´ + 2kCA ´ Q̄(s) entonces ³ C̄A (s) = Q̄(s) CAo −CA V ´ ( VQ +2kCA ) 1 s+1 ( VQ +2kCA ) o bien, y(s) K = G(s) = u(s) τs + 1 donde, y = C̄A u = Q̄ 1 τ = ³Q + 2kCA V ³ K = ³Q CAo −CA V V ´ ´ + 2kCA ´ Ejemplo 2 Considere el modelo de un reactor continuo tanque agitado discutido en el ejemplo 2 del capı́tulo “Linealización de Funciones No-Lineales”. Obtener las funciones de transferencia entre todas las variables de entrada y de salida, usando como variables de entrada el flujo volumétrico Q, la concentración del reactivo A en la corriente de alimentación CAo , y la concentración de B en la misma corriente CBo . Las variables de salida, o respuesta del sistema, son CA y CB . El modelo matemático linealizado del proceso está dado por el siguiente sistema de ecuaciones: µ ¶ µ ¶ µ ¶ CAo − CAs dC̄A Qs Qs = − + 2k1 CAs C̄A + Q̄ + C̄Ao dt V V V ¶ µ µ s ¶ µ s¶ dC̄B CBo − CBs Q Q = (2k1 CAs ) C̄A − + k2 C̄B + Q̄ + C̄Bo dt V V V 3 por facilidad notacional definamos las siguientes variables: a1 = a2 = a3 = a4 = a5 = a6 = Qs + 2k1 CAs V CAo − CAs V Qs V 2k1 CAs Qs + k2 V CBo − CBs V entonces el modelo linealizado se puede reescribir de la siguiente manera: dC̄A = −a1 C̄A + a2 Q̄ + a3 C̄Ao dt dC̄B = a4 C̄A − a5 C̄B + a6 Q̄ + a3 C̄Bo dt • (2.13) (2.14) C̄A (s) Q̄(s) Aplicando la transformada de Laplace a la ecuación 2.13: sC̄A (s) = −a1 C̄A (s) + a2 Q̄(s) rearreglando terminos: C̄A (s) a2 = Q̄(s) s + a1 • (2.15) C̄A (s) C̄Ao (s) Aplicando nuevamente la transformada de Laplace a la ecuación 2.13: sC̄A (s) = −a1 C̄A (s) + a3 C̄Ao (s) rearreglando terminos: a3 C̄A (s) = C̄Ao (s) s + a1 • (2.16) C̄B (s) Q̄(s) Aplicando la transformada de Laplace a la ecuación 2.14: sC̄B (s) = a4 C̄A (s) − a5 C̄B (s) + a6 Q̄(s) 4 (2.17) como la concentracción del reactivo B depende de la concentración del reactivo A necesitamos sustituir en la ecuación anterior la relación entre C̄A (s) y Q̄(s) de tal forma que en la ecuación resultante el único estado sea C̄B . De la ecuación 2.15: a2 C̄A (s) = Q̄(s) s + a1 sustituyendo esta ecuación en la ecuación 2.17: µ sC̄B (s) = a4 ¶ a2 Q̄(s) − a5 C̄B (s) + a6 Q̄(s) s + a1 despues de un poco de álgebra tenemos: C̄B (s) a6 s + a1 a6 + a2 a4 = 2 Q̄(s) s + (a1 + a5 )s + a1 a5 • C̄B (s) C̄Ao (s) De la ecuación 2.14: sC̄B (s) = a4 C̄A (s) − a5 C̄B (s) en esta ecuación debemos sustituir C̄A por una función en términos de la entrada (C̄Ao ). Esta relación la obtenemos de la ecuación 2.16: C̄A (s) = a3 C̄Ao (s) s + a1 sustituyendo y rearreglando términos: C̄B (s) a3 a4 = 2 C̄Ao (s) s + (a1 + a5 )s + a1 a5 • C̄B (s) C̄Bo (s) Aplicando la transformada de Laplace a la ecuación 2.14: sC̄B (s) = a4 C̄A (s) − a5 C̄B (s) + a3 C̄Bo (s) debido a que no existe ninguna relación entre C̄A (s) y C̄Bo (s) se debe cancelar el término referente a C̄A (s) en la ecuación anterior. Por lo tanto después de rearreglar dicha ecuación obtenemos: a3 C̄B (s) = C̄Bo (s) s + a5 5 Ejemplo 3 Considere nuevamente el modelo de un reactor continuo tanque agitado cuya información de diseño fue proporcionada en el ejemplo 4 del capı́tulo “Linealización de Funciones No-Lineales”. Obtener las funciones de transferencia entre todas las entradas (Q, CAo , CBo ) y todas las salidas (CA , CB ) del sistema. Simular la respuesta dinámica de las respectivas funciones de transferencia y comparar contra los resultados obtenidos en el ejemplo 4 del capı́tulo “Linealización de Funciones No-Lineales” donde la respuesta dinámica fue obtenida simulando el sistema correspondiente en el dominio del tiempo. En las Figuras 2, 3 y 4 se muestran los resultados de las respuestas dinámicas obtenidas de las funciones de transferencia entre las salidas y las entradas. Tal como se muestra, las respuestas dinámicas obtenidas obtenidas simulando el sistema en el dominio del tiempo (espacio de estado) o en el dominio de Laplace (función de transferencia) son idénticas. Los resultados fueron obtenidos con el siguiente programa Matlab. Step Response 0.2 CA 0.15 CB Amplitude 0.1 0.05 0 −0.05 0 1 2 3 4 5 Time (sec) 6 7 8 9 10 Figura 2: Respuesta a un cambio tipo escalón en Q Step Response 0.16 0.14 CB CA 0.12 Amplitude 0.1 0.08 0.06 0.04 0.02 0 0 1 2 3 4 5 Time (sec) 6 7 8 9 10 Figura 3: Respuesta a un cambio tipo escalón en CAo 6 Step Response 0.18 0.16 C 0.14 B Amplitude 0.12 0.1 0.08 0.06 0.04 0.02 0 0 1 2 3 4 5 Time (sec) 6 7 8 9 10 Figura 4: Respuesta a un cambio tipo escalón en CBo clear all; clc; % % Design data... % qs = 100 ; cao = 200 ; cbo = 0 ; v = 1000 k1 = 0.01 k2 = 0.5 cas = 40 ; ; ; ; cbs = 26.7 ; % % Poynomial coefficients... % a1 = qs/v+2*k1*cas ; a2 = (cao-cas)/v ; a3 = qs/v ; a4 = 2*k1*cas ; a5 = qs/v+k2 ; a6 = (cbo-cbs)/v ; % % Transfer functions... % ca_q = tf([a2],[1 a1]); ca_cao = tf([a3],[1 a1]); cb_q = tf([a6 (a1*a6+a2*a4)],[1 (a1+a5) 7 a1*a5]); cb_cao = tf([a3*a4],[1 (a1+a5) a1*a5]); cb_cbo = tf([a3],[1 a5]); % % Dynamic reponses % figure (1), step(ca_q), hold, step(cb_q) text(1.3,0.15,’C_A’), text(3,0.1,’C_B’) figure (2), step(ca_cao), hold, step(cb_cao) text(6,0.12,’C_A’), text(3.5,0.13,’C_B’) figure (3), step(cb_cbo) text(2,0.14,’C_B’) 2.1 Efecto de la ganancia sobre la respuesta del sistema. Dado el siguiente sistema lineal de primer orden, G(s) = K τs + 1 examinaremos el efecto, sobre la respuesta del sistema, de modificar la ganancia de la planta. En la figura 5 se muestra la respuesta del sistema como función de la ganancia del sistema a lazo abierto K. como puede notarse para un sistema lineal de primer 3 K=3 2.5 K=2 Amplitude 2 1.5 K=1 1 0.5 0 0 0.5 1 1.5 2 2.5 3 Time (secs) 3.5 4 4.5 5 Figura 5: Efecto de la ganacia a lazo abierto sobre la respuesta del sistema usando τ = 1. orden la respuesta del sistema cambia por un factor K. Si la respuesta del sistema es 1 entonces doblando K la repuesta del sistema será 2. 8 2.2 Efecto de la constante de tiempo sobre la respuesta del sistema Si la constante de tiempo a lazo abierto se modifica se obtendrá una respuesta del sistema semejante a la mostrada en la figura 6. Como puede notarse si se aumenta 1 0.9 tau=1 0.8 tau=2 0.7 Amplitude 0.6 tau=3 0.5 0.4 0.3 0.2 0.1 0 0 2 4 6 8 Time (secs) 10 12 14 16 Figura 6: Efecto de la constante de tiempo a lazo abierto sobre la respuesta del sistema usando K =1. la constante de tiempo a lazo abierto, manteniendo constante la ganancia del sistema, se obtendrán las nuevas condiciones de operación en estado estacionario en mayor tiempo. Duplicando el valor de la constante de tiempo también se duplica el tiempo para alcanzar el estado estacionario 1 . 3 Polos y ceros de una función de transferencia Recordemos que una función de transferencia G(s) se expresa como el cociente de dos polinomios: bm sm + bm−1 sm−1 + ... + bo G(s) = (3.18) an sn + an−1 sn−1 + ... + ao a las raices z1 , ..., zm del polinomio del numerador, bm sm + bm−1 sm−1 + ... + bo = 0 se les llama los ceros del sistema,mientras que las raices p1 ..., pn del polinomio del denominador, an sn + an−1 sn−1 + ... + ao = 0 se llaman los polos del sistema. En particular para una función de transferencia de primer orden G(s) estará dada por la ecuación: b1 s + bo G(s) = (3.19) a1 s + ao 1 posteriormente se dará una definición más formal de la constante de tiempo. 9 las raices de los polinomios de G(s) pueden evaluarse facilmente usando la función roots de Matlab como se muestra en el siguiente ejemplo. Ejemplo 4 Calcular los polos y los ceros de la siguiente función de transferencia: G(s) = s3 s+5 − 4s2 + 2s − 1 En Matlab la forma de definir el polinomio del numerador es usando la intrucción: num=[1 5] de manera semejante se define el polinomio del denominador: den=[1 -4 2 -1] o sea, se definen sólo los coeficientes del polinomio en cuestión empezando con los coeficientes que afectan a los exponentes de mayor hasta el de menor grado. Para calcular las raices del polinomio del denominador se usa la instrucción: roots(num) lo cual produce -5 como resultado. De manera analoga las raices o polos del polinomio del denominador se evaluan usando la instrucción: roots(den) con lo cual se obtiene como resultado 3.5115, 0.2442+.4745i y 0.2442-.4745i. en ocasiones los polos y los ceros de un sistema pueden tener tanto parte real como parte imaginaria como muestra el ejemplo anterior donde dos de los 3 polos del sistema + tienen parte real y parte imaginaria (.2442−.4745i). 3.1 Polos Los polos de un sistema definen si dicho sistema es estable o no lo es. Por estabilidad entenderemos aqui, como una definición preliminar, el hecho de que un sistema, después de experimentar alguna perturbación, tienda hacia un nuevo estado estacionario. Si el sistema no tiende hacia ningun estado estacionario (esto es, el valor de los estados tiende hacia ±∞) diremos que dicho sistema es inestable. La condición necesaria y suficiente para que un sistema lineal sea estable fue establecida por Lyapunov a finales de 1800. A continuación mencionaremos dicha condición en forma de teorema sin probarlo. 10 Teorema 1 Un sistema lineal cuya función de transferencia está dada por la ecuación, G(s) = bm sm + bm−1 sm−1 + ... + bo an sn + an−1 sn−1 + ... + ao es estable si y sólo si la parte real de todos los polos del sistema es estrictamente menor que cero: Re(pi ) < 0, i = 1, .., n notese que en el teorema anterior hemos especificado claramente que únicamente la parte real del polo debe ser estrictamente negativa. Esto se ha hecho porque, en general, siendo los polos las raices de un polinomio pueden tener tanto parte real como parte imaginaria. Notese también que de acuerdo al teorema anterior un sistema que tenga un polo exactamente igual a cero no es estable. Esta situación se muestra en la figura 7 donde la región a la izquirda del eje imaginario (zona punteada) denota que el sistema en cuestiópn será estable sólo si todos los polos de dicho sistema están ubicados en el interior de tal región. Im Region de estabilidad Re Region de estabilidad Figura 7: Región de estabilidad. Como ejemplo de un sistema estable considere el reactor de polimerización discutido en el ejemplo 6. La gráfica 14 muestra la concentración de monómero del reactor cuando se modifica el flujo de monómero a dicho reactor. Como podemos observar el reactor tiende, después de un cierto tiempo, hacia otro estado estacionario. Esto significa entonces que el reactor mencionado es estable. Debemos mencionar que el mismo reactor operado en otro punto pudiera ser inestable. O sea que el hecho de que el reactor sea o no estable depende en buena medida de las condiciones de operación. Para checar que el reactor de polimerización es estable a lazo abierto simplemente chequemos el signo de las raices del polinomio del denominador. Del ejercicio 6 la función de transferencia entre el flujo y la concentración de monómero está dada por: G(s) = 1.39 0.3346s + 1 11 de donde es fácil ver que el único polo del sistema está en s = −2.98, por lo que concluimos que el sistema (en el punto de operación donde se linealizó al reactor) es estable. Ademas de servir para determinar la estabilidad de un sistema, la magnitud de los polos también nos indica la velocidad de respuesta de un sistema que sea estable. Esto se muestra en el siguiente ejemplo. Ejemplo 5 Determinar la velocidad de respuesta de un sistema modelado por la siguiente función de transferencia: G(s) = 1 λs + 1 siendo λ = 1, 2, 5. En la figura 8 se muestra la respuesta dinámica en el dominio del tiempo del anterior sistema dinámico. Como puede apreciarse a medida que el polo se ”coloca” más alejado 1 0.9 0.8 0.7 x 0.6 0.5 0.4 p=−1 0.3 p=−3 0.2 0.1 p=−5 0 0 1 2 3 t 4 5 6 Figura 8: Efecto de la colocación del polo sobre la respuesta dinámica de un sistema de primer orden. del eje imaginario la respuesta dinámica del sistema es más rápida. Por el contrario a media que el polo se coloca más cerca del eje imaginario la respuesta dinámica es más lenta. Esta tendencia se muestra en la gráfica 9 3.2 Ceros Los ceros del sistema, al igual que en el caso de los polos, pueden tener tanto parte real como parte imaginaria y la parte real puede ser tanto positiva como negativa. Los ceros de un sistema no tienen ningún efecto sobre la estabilidad de un sistema. Si la parte real de los ceros de un sistema es estrictamente negativa entonces el sistema se llama de fase mı́nima. Si sucede que algún cero tiene parte real positiva entonces el sistema se llama de fase no mı́nima. Esta situación se muestra en la figura 10. 12 Im Respuesta mas rapida x x x Re Respuesta mas lenta Figura 9: Colocación de polos y su efecto sobre velocidad de respuesta de un sistema de primer orden. Im Sistema de Sistema de fase minima fase no minima o o o o Re Figura 10: La ubicación de los ceros de un sistema determinan si el sistema es de fase mı́nima o de fase no mı́nima. Una de las caracterı́sticas de la respuesta de un sistema de fase mı́nima es que la pendiente de dicha respuesta jamáz cambia de signo. O sea si la parte real de todos los ceros de un sistema es negativa entonces la respuesta del sistema siempre llevará el mismo sentido (ver figura 11). Por el contrario si al menos uno de los ceros del sistema tiene parte real positiva entonces la respuesta del sistema cambia, en algún momento, de signo. Por esta razón a este tipo de sistemas también se les conoce como de respuesta inversa (es decir el sentido inicial de la respuesta es el inverso del de la respuesta final). Esta situación se ilustra en la figura 11. 4 Constante de tiempo a lazo abierto La constante de tiempo a lazo abierto τ es una medida de la rapidez con la que un sistema determinado responde en presencia de alguna perturbación. La constante de 13 Sistema de fase minima (ceros negativos) x Sistema de fase no minima (algun cero positivo) t Figura 11: Respuesta de un sistema con ceros negativos y respuesta con al menos un cero positivo. tiempo se puede evaluar facilmente de la ecuación 2.12: y = y∞ (1 − e−t/τ ) entonces cuando t = τ (o sea, el tiempo para alcanzar la constante de tiempo): y = y∞ (1 − e−1 ) = .6321y∞ está ecuación significa que el tiempo a el cual la respuesta del sistema es el 63.21 % de la respuesta final es definido como la constante de tiempo τ . Esta situación se muestra en la figura 12(a). y yinf inf 63.21 % y y τ τ t (a) t (b) Figura 12: Interpretación de la constante de tiempo a lazo abierto. 5 Calculando K y τ Las dos constantes caracterı́sticas de un sistema lineal de primer orden (K y τ ) se pueden evaluar a partir de información a lazo abierto de planta o de información de 14 la simulación dinámica de un modelo dado. En cualquier caso, para este propósito, se puede emplear un procedimiento analı́tico o numérico (basado en regresión lineal). 5.1 Método analı́tico t Si evaluamos la ecuación 2.12 haciendo que t → ∞ entonces e− τ → 0 dicha ecuación se reduce a: ∆y(t) = ∆uK = ∆y∞ (5.20) de la ecuación anterior la ganancia a lazo abierto K se puede evaluar facilmente 2 , K= ∆y∞ y∞ − yo = ∆u u∞ − uo (5.21) la constante de tiempo se puede evaluar como sigue. La ecuación 2.12 se puede escribir como: t ∆y(t) = ∆y∞ (1 − e− τ ) (5.22) esta ecuación puede ser facilmente linealizada, à ∆y∞ − ∆y(t) ln ∆y∞ si graficamos ln (ver figura 13). ³ ∆y∞ −∆y(t) ∆y∞ ´ ! =− t τ (5.23) contra t obtenemos una lı́nea recta cuya pendiente es −1 τ en vez de graficar la información de planta podrı́amos evaluar τ tomando un punto y resolviendo la ecuación anterior. Ejemplo 6 El siguiente conjunto de datos corresponde a la simulación dinámica a lazo abierto de un reactor tanque agitado donde se lleva a cabo la polimerización del MMA. La variable de entrada es el flujo de monómero mientras que la variable de salida es la concentración de monómero. La variable de entrada fue sujeta a un cambio de tipo escalón de 10 % . 2 Recuerdese que las variables tanto de entrada como de salida están en forma de variables de desviación aún si dicha notación no se muestra. 15 y- y ln inf yinf t slope = -1/τ oo Figura 13: Determinación analı́tica de la constante de tiempo para un sistema de primer orden. Tiempo (h) 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3.0 Flujo de Monómero Concentración de Monómero (m3 /h) (kmol/m3 ) 1.0 5.965 1.1 6.004 1.1 6.031 1.1 6.049 1.1 6.063 1.1 6.074 1.1 6.081 1.1 6.087 1.1 6.092 1.1 6.095 1.1 6.097 1.1 6.099 1.1 6.100 1.1 6.101 1.1 6.102 1.1 6.102 1.1 6.103 1.1 6.103 1.1 6.103 1.1 6.103 1.1 6.103 1.1 6.103 1.1 6.103 1.1 6.104 1.1 6.104 16 1.1 6.104 1.1 6.104 1.1 6.104 1.1 6.104 1.1 6.104 1.1 6.104 A partir de la respuesta dinámica mostrada en la figura 14 puede notarse que la respuesta del sistema puede aproximarse por una función de transferencia de primer orden sin retardo. 6.12 Mononer concentration (kmol/m3) 6.1 6.08 6.06 6.04 6.02 6 5.98 5.96 0 0.5 1 1.5 Time (h) 2 2.5 3 Figura 14: Concentración de monómero para un cambio tipo escalón del 10 % en el flujo alimentado de monómero. • Solución analı́tica. La ganancia a lazo abierto está dada por: y∞ − yo u∞ − uo K= de los datos de la simulación dinámica, yo = 5.965, y∞ = 6.104, ∆y∞ = 0.139 uo = 1, u∞ = 1.1, ∆u = 0.1 por lo cual, K= 0.139 kmol − h = 1.39 0.1 m6 de la ecuación 5.23, τ =− ln ³ t ∆y∞ −∆y(t) ∆y∞ ´ del conjunto de datos podemos seleccionar arbitrariamente el punto t = 1 h. A este tiempo: ∆y(t) = 6.097 − 5.965 = 0.132 17 por lo tanto: τ =− ln ³ 1 0.139−0.132 0.139 ´ = 0.3346 h En la figura 15 se muestra la comparación entre la respuesta dinámica del sistema experimental y la del modelo lineal identificado. Como podemos observar la respuesta del modelo lineal identificado es satisfactoria. El programa Matlab empleado para obtener los resultados y la gráfica respectiva se muestran a continuación. time=datos(:,1); fm = datos(:,2); cm = datos(:,3); deltau =fm(2)-fm(1); k = 1.39; tau = .3346; planta = tf([k],[tau 1]); [y,t,x] = step(planta*deltau); plot(time,cm); hold plot(t,y+cm(1),’red’); legend(’Experimental’,’Modelo lineal’,0) xlabel(’Tiempo (h)’), ylabel(’Concentracion de Monomero(kmol/m3’); 6.14 6.12 Concentracion de Monomero (kmol/m3) 6.1 6.08 6.06 6.04 Experimental modelo lineal 6.02 6 5.98 5.96 0 0.5 1 1.5 Tiempo(h) 2 2.5 3 Figura 15: Comparación entre las respuestas dinámicas del sistema experimental y del modelo identificado. 18 6 Sistemas de primer orden con retardos En situaciones reales cuando se modifica el valor de alguna variable no se observa de inmediato el efecto de dicho cambio sobre la respuesta dinámica del sistema. Es decir, puede transcurrir un cierto tiempo hasta que el sistema empieza a responder o a “sentir” el efecto del cambio realizado. Supongamos que modificamos la concentración de alimentación a un reactor. Nuestra experiencia, o sentido común, nos dice que transcurrirá un cierto tiempo hasta que las variables que caraterizan la conducta dinámica del reactor (concentración por ejemplo) empiezen a modificar su valor en relación al que tenı́an antes del cambio. Esta situación se muestra en la figura 16. A el tiempo (θ) que el sistema tarda en responder se le conoce como retardo. x θ t Figura 16: Respuesta dinámica de una función de transferencia de primer orden con retardo. una función de transferencia de primer orden con retardo se representa por la siguiente función de transferencia: g(s) = K e−θs τs + 1 (6.24) donde e−θs es el término usado para representar el retardo, y θ representa el tiempo de retardo. Los retardos en un proceso dado también pueden surgir de otras formas como se discute a continuación. • Retardos por mediciones. En casi todos los procesos quı́micos las mediciones no están disponibles de inmediato (es decir, sin retardo). Esto significa que el tiempo que transcurre entre el instante en que se toma una muestra para su análisis, y el tiempo en que se reporta el resultado de dicho análisis por lo general es largo. Esto es sobre todo cierto en mediciones ”dificiles” tales como en la medición de concentraciones, viscosidades, tamaños de partı́culas, etc. Por lo común, las mediciones de presión, temperatura, flujo y nivel no implican retardos 19 apreciables, y para fines prácticos la mayorı́a de las veces se acostumbra suponer que el retardo en estas mediciones es nulo. • Retardos por transporte. En algunas plantas quı́micas la materia prima que se procesa en un sitio deberá, después de experimentar algun tipo de cambio, ser enviada a otra parte de la planta. Si los sitios están demasiado alejados fisicamente se incurrirá en un retardo debido al transporte de materia. Debido a que el término usado para representar un retardo, e−θs , es no lineal, para usarlo en sistemas lineales se deberá aproximarlo mediante alguna función lineal. Este es el propósito de la asi llamada aproximación de Padé que se discute a continuación. Notese que existen diferentes formas de aproximar el término e−θs dependiendo del grado de aproximación deseado. • Primer orden. −θs e 1 − 2θ s ≈ 1 + 2θ s (6.25) • Segundo orden. e −θs 1 − 2θ s + ≈ 1 + 2θ s + θ2 2 s 12 θ2 2 s 12 (6.26) • Tercer orden. e 7 −θs 1 − 2θ s + ≈ 1 + 2θ s + θ2 2 s 10 θ2 2 s 10 − + θ3 3 s 120 θ3 3 s 120 (6.27) Convirtiendo la representación de sistemas en espacio de estado a función de transferencia Dado el siguiente sistema lineal : ẋ = Ax + Bu y = Cx + Du (7.28) (7.29) la función de transferencia y(s)/u(s) del anterior sistema se obtiene de la siguiente forma. Tomando transformada de Laplace de las ecuaciones 7.28. L(ẋ) = AL(x) + BL(u) L(y) = CL(x) + DL(u) 20 (7.30) (7.31) entonces, sx(s) = Ax(s) + Bu(s) y(s) = Cx(s) + Du(s) (7.32) (7.33) x(s)(sI − A) = Bu(s) (7.34) x(s) = (sI − A)−1 Bu(s) (7.35) de la ecuación (7.32) o bien, sustituyendo en la ecuación (7.33), y(s) = C(sI − A)−1 Bu(s) + Du(s) (7.36) y(s) = C(sI − A)−1 B + D u(s) (7.37) finalmente, Ejemplo. Obtener la función de transferencia entre y1 /u del siguente sistema lineal representado en espacio de estado: " y 1 = x1 , C = [1 # ẋ1 ẋ2 " = 1 −5 2 −3 # " x + 4 1 ! à # u 0] entonces, à (sI − A) = s 0 0 s ! à − 1 −5 2 −3 = s−1 5 −2 s + 3 para calcular (sI − A)−1 (sI − A)−1 = adjunta determinante en el cual determinante = (s − 1)(s + 3) − (−2)(5) = s2 + 2s+ 7 à −1 (sI − A) = s + 3 −5 2 s−1 ! s2 1 + s5 + 7 entonces, à −1 C(sI − A) = [1 0] s + 3 −5 2 s−1 21 ! s2 1 + s5 + 7 ! u1 y1 PLANTA u2 u3 y2 Figura 17: C(sI − A)−1 = [s + 3 − 5] µ· −1 C(sI − A) B = ¸ s2 · 1 + 2s + 7 5 s+3 − 2 2 s + 2s + 7 s + 2s + 7 · C(sI − A)−1 B = ¸¶ " 4s + 12 5 − s2 + 2s + 7 s2 + 2s + 7 4 1 # ¸ por lo tanto: y(s) 4s − 7 = 2 u(s) s + 2s + 7 La conversión de espacio de estado a función de transferencia se puede realizar facilmente usando la función ss2tf de Matlab. Declarando el sistema lineal en espacio de estado: > > > > > a = [1 -5; 2 -3]; b = [4 ; 1]; c = [1 0]; d = 0 [num,den] = ss2tf(a,b,c,d); obtenemos, 4s − 7 y(s) = 2 u(s) s + 2s + 7 En caso de tener más de una entrada y varias salidas, existirá una función de transferencia para cada salida y por cada entrada. Para ejemplificar este punto considerece el siguiente sistema (ver figura 17). Cada salida y entrada define una función de transferencia. Para el sistema anterior existirán gij funciones de transferencia dadas por: y1 y1 y1 = g11 , = g12 , = g13 u1 u2 u3 22 y2 y2 y2 = g21 , = g22 , = g23 u1 u2 u3 las cuales pueden representarse matricialmente como: " # y1 y2 " = g11 g12 g13 g21 g22 g23 #" u1 u2 # Notese claramente que cada una de las funciones de transferencı́a individuales gij posee su propia ganancia y su propia constante de tiempo. La situación más común es que dicha ganancia y constante de tiempo varien de una función de transferencia a otra. El siguiente ejemplo muestra como usar Matlab para obtener un sistema lineal en espacio de estado de múltiples entradas-múltiples salidas. Ejemplo. Obtener la matrix de funciones de transferencia para el siguiente sistema lineal en espacio de estado: " ẋ1 ẋ2 # " = " 1 −5 2 −3 y1 y2 # # x + " = " 1 0 0 1 4 0 3 1 2 5 #" x1 x2 # u1 u2 u3 # en Matlab introducimos las matrices: > > > > a b c d = = = = [1 -5; 2 -3]; [4 0 3; 1 2 5]; eye(2); zeros(2,3); • Funciones de transferencia para la primera entrada (u1 ) en Matlab. > [num,den] = ss2tf(a,b,c,d,1); donde el ”1” al final de los argumentos de ss2tf denota que se desean evaluar las funciones de transferencia desde la primera entrada a todas las salidas: y1 y2 , u1 u2 obtenemos: 4s + 7 y2 s+7 y1 = 2 , = 2 u1 s + 2s + 7 u1 s + 2s + 7 23 • Funciones de transferencia para la segunda entrada (u2 ) en Matlab: > [num,den] = ss2tf(a,b,c,d,2); produce: y1 −10 y2 2s − 2 = 2 , = 2 u2 s + 2s + 7 u2 s + 2s + 7 • Funciones de transferencia para la tercera entrada (u3 ) en Matlab: > [num,den] = ss2tf(a,b,c,d,3); produce: y1 3s − 16 y2 5s − 1 = 2 , = 2 u3 s + 2s + 7 u3 s + 2s + 7 a continuación se resume la matrix de transferencı́a del sistema: " y1 y2 # 4s + 7 s + 7 u1 1 2s − s u2 = 2 −10 s + 2s + 7 3s − 16 5s − 1 u3 Notese que todas las funciones de transferencia tienen exactamente el mismo denominador. Esto significa que poseen la misma ecuación caracterı́stica. Por lo tanto los polos del sistema son los mismos independientemente de cual, o cuales, variable(s) se seleccionen como entradas y salidas del sistema. Sin embargo, los ceros del sistema si dependen de que variable se selecciona como entrada y cual variable se selecciona como salida. 8 Sistemas con integradores Considere el proceso mostrado en la figura 18 el cual corresponde al llenado de un tanque. Supongamos que tanto el flujo de entrada (Fo ) como el flujo de salida (F ) se pueden variar independientemente. A continuación derivaremos el modelo dinámico de este proceso. Del balance de masa: dM = Fo − F dt (8.38) donde M es la masa (o holdup) en el interior del tanque. Dicha masa se puede escribir en términos del volumen del reactor utilizando la siguiente ecuación: M = ρV 24 (8.39) Fo h F Figura 18: Ejemplo de sistema con integradores: tanque de almacenamiento. donde ρ es la densidad del contenido del tanque. Suponiendo que ρ sea constante la ecuación 8.38 se puede reescribir como: dV = Qo − Q dt (8.40) donde Q se refiere al flujo volumétrico definido como: Q= F ρ (8.41) o en términos de la altura (h) del lı́quido contenido en el tanque: h= V A (8.42) donde A es el área transversal del tanque la cual se supone constante. Sustituyendo h en la ecuación 8.40: dh 1 = (Qo − Q) dt A (8.43) esta última ecuación la podemos escribir en estado estacionario como: 1 s (Q − Qs ) = 0 A o (8.44) donde el superı́ndice s denota condiciones de estado estacionario. Restando las ecuaciones 8.43 y 8.44: 1 1 d(h − hs ) = (Qo − Qso ) − (Q − Qs ) dt A A (8.45) si suponemos que el flujo de salida es siempre constante esto implica que: Q = Qs 25 (8.46) entonces la ecuación 8.45 la podemos escribir como: dh̄ Q̄o = dt A (8.47) dh̄ = K Q̄o dt (8.48) o bien: donde: K= 1 A (8.49) por lo tanto la función de transferencia de este sistema está dada por la siguiente ecuación: G(s) = h̄(s) K = Q̄o (s) s (8.50) esta función de transferencia tiene un polo el origen (s = 0). A tales sistemas con polos en el origen se les conoce como sistemas con integradores. Para obtener la respuesta dinámica de sistemas de primer orden con integradores debemos integrar la ecuación 8.48. La ecuación integrada está dada por: h = ho + Kt(Qo − Qso ) (8.51) Ejemplo 7 Obtener la respuesta dinámica del llenado de un tanque que posee una área transversal de 12.5 m2 y que contiene un lı́quido el cual ocupa un volumen de 25000 lt. El flujo alimentado al tanque es de 500 lt/m. El flujo del lı́quido que abandona el tanque se mantiene constante en 500 lt/m. El volumen total del tanque es de 50000 lt. Bajo estas condiciones la altura del lı́quido es de 2 mt. En la figura 19 se muestra la forma como el nivel del tanque cambia cuando el flujo volumétrico alimentado se incrementa de 500 a 520 lt/m. Como podemos observar el nivel del tanque aumenta indefinidamente hasta que eventualmente alcanza la altura máxima (4 m) despues de la cual ocurre derramamiento del liquido. Esta es una caracterı́stica del modo de respuesta de sistemas con integradores. En presencia de algún tipo de perturbación dicho tipo de sistemas no tienden hacia otro estacionario. Para evitar situaciones como esta los sistemas con integradores deben estar siempre bajo control. El sistema de control se encargará de mantener el nivel de lı́quido en un valor deseado y evitará situaciones en las cuales el lı́quido se derrame o bien el lı́quido se agote. 26 5 4.5 Altura (m) 4 3.5 3 2.5 2 0 200 400 600 800 1000 1200 Tiempo (min) 1400 1600 1800 2000 Figura 19: Respuesta dinámica de un sistema con integradores. 9 Función de transferencia del tipo Lead/Lag Existe un tipo especial de función de transferencia de primer orden conocida como la función de transferencia de tipo ”adelanto/retardo” (lead/lag): g(s) = K ²s + 1 τs + 1 (9.52) a diferencia de una función de transferencia de primer orden: g(s) = K 1 τs + 1 (9.53) la función de transferencia lead/lag posee un polinomio de primer orden en el numerador. Observese que dicha función de transferencia posee un polo en s = −1/τ y un cero en s = −1/². Para obtener la respuesta en el tiempo de esta función de transferencia reescribamos la ecuación 9.52 como: ρs + τ1 g(s) = K s + τ1 (9.54) donde ρ se ha definido como el cociente de la ubicación del cero entre la ubicación del polo: ² ρ= (9.55) τ 27 en la figura 20 se muestra la respuesta en el tiempo de la función de transferencia lead/lag para el caso particular del polo ubicado en -1. 2 1.8 rho=2 1.6 1.6 1.4 1.3 g(s)/K 1.2 1 1 .7 0.8 0.6 0.4 .4 0 0.2 0 0 1 2 3 Tiempo 4 5 6 Figura 20: Respuesta en el dominio del tiempo de la función de transferencia de tipo lead/lag si τ = 1. De la figura 20 podemos distinguir los siguientes casos (ver figura 21). x x (a) (b) x (c) Figura 21: Ubicación del polo (o) y cero (x) en una función de transferencia lead/lag. • ρ<1 Cuando el cero de la función de transferencia está ubicado a la izquierda del polo la respuesta dinámica del sistema se hace más lenta en relación a cuando ocurre lo contrario (o sea el cero ubicado a la derecha del polo). Notese de la ecuación 9.54 que en lı́mite cuando ρ → 0, la función de transferencia lead/lag tiende a tomar la forma de una función de transferencia de primer orden. 28 • ρ=1 En este caso el polo y cero de la función de transferencia se cancelan mutuamente ya que están ubicados en el mismo lugar. Esto da lugar a que la función de transferencia resultante sea: g(s) = k (9.56) la cual corresponde a un sistema dinámico de ganancia pura. Este tipo de sistemas poseen conducta dinámica muy rápida. Es decir, la transiccón de un estado a otro ocurre de manera inmediata. • ρ>1 10 Ejemplo: Sistema de 2 CSTRs en series C1 T T 1 C 2 T2 f 1 2 Qc Figura 22: System of two series connected CSTRs. The Simultaneous MIDO approach is applied to a system of two series-connected CSTRs systems as shown in Figure 22. Design parameters values and notation are shown in Table 1 for the following DAE model. • First reactor. dC1 (Cf − C1 ) = + rA1 dt θ dT1 (Tf − T1 ) = + βrA1 − α(T1 − Tc1 ) dt θ Qc (Tcf − Tc1 ) dTc1 = + αc (T1 − Tc1 ) dt Vc 29 (10.57) (10.58) (10.59) Parameter Q Tf Cf V Qc Tcf Vc E K0 R ρ Cp ∆Hr ρc Cpc A U Value 2.5 29 0.6 900 2 25 100 10.1 2x103 1.98x10−3 850 1.35x10−4 -35 1000 1x10−3 900 4x10−5 Volumetric feedflowrate Feedstream temperature Feedstream concentration Volume Cooling water flowrate Cooling water feedstream temp. Cooling water volume Activation energy Pre-exponential factor Ideal gas constant Products density products heat capacity Heat of reaction Cooling water density Cooling water heat capacity Heat transfer area Heat transfer coefficient Units l/s o C mol/l l l/s o C l Kcal/mol 1/s Kcal/mol-o K g/l Kcal/g-o C Kcal/mol g/l Kcal/g-o C cm2 Kcal/s-cm2 -o C Table 1: Parameters for Case Study Model • Second reactor. dC2 (C1 − C2 ) = + rA2 dt θ dT2 (T1 − T2 ) = + βrA2 − α(T2 − Tc2 ) dt θ dTc2 Qc (Tc1 − Tc2 ) = + αc (T2 − Tc2 ) dt Vc Here we also define: θ = E − RT V , Q β= ∆Hr , ρCp α= UA , ρV Cp αc = UA , ρc Vc Cpc (10.60) (10.61) (10.62) E − RT rA1 = −K0 e 1 C1 , rA2 = −K0 e 2 C2 . Under these operating conditions, the system of two series-connected reaction system exhibits up to 5 steady-state solutions at the outlet of the second reactor. Figure 23 depicts the continuation diagrams for both co-current and counter-current cooling systems using the feed stream temperature as the main continuation parameter. Determine: • Steady-state operating conditions around the high temperature region (see Figure 23). In Table 2 the Matlab program used to compute the high-temperature steadystate operating conditions is shown. Running the steady-state values are as follows. C1 = 0.0683 30 T1 Tc1 C2 T2 Tc2 = = = = = 172.9 27.6 0.0077 173.5 30.2 • Assuming that the system inputs are the main feed stream temperature (Tf ) and the cooling water flow rate (Qc ), and the system outputs are the concentration and temperature at each reactor the transfer functions (C1 , T1 , C2 , T2 ), the statespace representation of the system. In Table 3 the Matlab program used to linearize the systems of 2 CSTRs series connected is shown. • The transfer function among all the outputs and inputs. • The dynamic system response when increasing each input by 1% and 10% of its respective steady-state values. • Repeat the past point by using now the nonlinear model. • Compare the dynamic system responses when the nonlinear reaction model is approximated by a linear one. 31 clear all; clc; x0 = [0.1 170 30 0.01 180 35]; options = optimset(’display’,’iter’); x = fsolve (’cstrs2ss’,x0,options) function fx = cstrs2ss (x) c1 = x(1); t1 = x(2); tc1 = x(3); c2 = x(4); t2 = x(5); tc2 = x(6); % % Parameters... % q = 2.5; tf = 29; cf = 0.6; v = 900; qc = 2; tcf = 25; vc = 100; e = 10.1; ko = 2e3; r = 1.98e-03; rho = 850; cp = 1.35e-04; dhr = -35; rhoc = 1000; cpc = 1e-03; a = 900; u = 4e-05; % % Math model % theta = v/q; beta = dhr/(rho*cp); alpha = u*a/(rho*v*cp); alphac = u*a/(rhoc*vc*cpc); ra1 = -ko*exp(-e/(r*(t1+273.16)))*c1; ra2 = -ko*exp(-e/(r*(t2+273.16)))*c2; dc1 = (cf-c1)/theta+ra1; dt1 = (tf-t1)/theta+beta*ra1-alpha*(t1-tc1); dtc1 = qc*(tcf-tc1)/vc+alphac*(t1-tc1); dc2 = (c1-c2)/theta+ra2; dt2 = (t1-t2)/theta+beta*ra2-alpha*(t2-tc2); dtc2 = qc*(tc1-tc2)/vc+alphac*(t2-tc2); fx = [dc1 dt1 dtc1 dc2 dt2 dtc2]; %-- End of the cstr2ss.m file Table 2: Matlab program to compute the steady-state operating conditions. 32 clear all ; clc; xss = [6.8289e-002; 1.7294e+002; 2.7616e+001; 7.6832e-003; 1.7345e+002; 3.0194e+001]; tf = 29; qc = 2; uss = [tf qc]; [A,B,C,D] = linmod(’cstrs2sl’,xss,uss) function [sys,x0] = cstrs2dynsl (time,x,u,flag) if flag == 0 sys = [6 0 4 2 0 0]; x0 = [6.8289e-002; 1.7294e+002; 2.7616e+001; 7.6832e-003; 1.7345e+002; 3.0194e+001]; end if flag == 1 c1 = x(1); t1 = x(2); tc1 = x(3); c2 = x(4); t2 = x(5); tc2 = x(6); tf = u(1); qc = u(2); % % Parameters... % q = 2.5; cf = 0.6; v = 900; tcf = 25; vc = 100; e = 10.1 ; ko = 2e3; r = 1.98e-03; rho = 850; cp = 1.35e-04; dhr = -35 ; rhoc = 1000; cpc = 1e-03; a = 900; u = 4e-05; % % % Math model % theta = v/q; beta = dhr/(rho*cp); alpha = u*a/(rho*v*cp); alphac = u*a/(rhoc*vc*cpc); ra1 = -ko*exp(-e/(r*(t1+273.16)))*c1; ra2 = -ko*exp(-e/(r*(t2+273.16)))*c2; dc1 = (cf-c1)/theta+ra1; dt1 = (tf-t1)/theta+beta*ra1-alpha*(t1-tc1); dtc1 = qc*(tcf-tc1)/vc+alphac*(t1-tc1); dc2 = (c1-c2)/theta+ra2; dt2 = (t1-t2)/theta+beta*ra2-alpha*(t2-tc2); dtc2 = qc*(tc1-tc2)/vc+alphac*(t2-tc2); sys = [dc1 dt1 dtc1 dc2 dt2 dtc2]; end if flag == 3 sys = [x(1) x(2) x(4) x(5)]; end if flag == 9 sys = []; end 33 %-- End of the cstr2dynsl.m file Table 3: Matlab program to linearize the nonlinear 2 CSTRs series model. global tf qc % % Lineal response % np = 100; tend = 2000; delta = 1; time = linspace(0,tend,np); tf initial = 29; qc initial = 2; tf final = tf initial+tf initial*delta/100; qc final = qc initial+qc initial*delta/100; u tf = (tf final-tf initial)*ones(np,1); u tf(1) = 0; u qc = (qc final-qc initial)*ones(np,1); u qc(1) = 0; u = [u tf u qc]; [dylineal,x]= lsim(A,B,C,D,u,time); % % Nonlinear response % xss = [6.8289e-002; 1.7294e+002; 2.7616e+001; 7.6832e-003; 1.7345e+002; 3.0194e+001]; tf = 29*(1+delta/100); qc = 2; [time1,ynl tf] = ode15s(’cstrs2dyn’,time,xss); tf = 29; qc = 2*(1+delta/100); [time1,ynl qc] = ode15s(’cstrs2dyn’,time,xss); % % Compare lineal vs nonlinear responses % figure(1) subplot(221), plot(time,ynl tf(:,1),’r-’,time,dylineal(:,1)+6.8289e-002,’b--’) ylabel(’C 1’), xlabel(’Time’), legend(’Nonlinear’,’Lineal’,0) subplot(222), plot(time,ynl tf(:,2),’r-’,time,dylineal(:,2)+1.7294e+002,’b--’) ylabel(’T 1’), xlabel(’Time’) subplot(223), plot(time,ynl tf(:,4),’r-’,time,dylineal(:,3)+7.6832e-003,’b--’) ylabel(’C 2’), xlabel(’Time’) subplot(224), plot(time,ynl tf(:,5),’r-’,time,dylineal(:,4)+1.7345e+002,’b--’) ylabel(’T 2’), xlabel(’Time’) figure(2) subplot(221), plot(time,ynl qc(:,1),’r-’,time,dylineal(:,1)+6.8289e-002,’b--’) ylabel(’C 1’), xlabel(’Time’), legend(’Nonlinear’,’Lineal’,0) subplot(222), plot(time,ynl qc(:,2),’r-’,time,dylineal(:,2)+1.7294e+002,’b--’) ylabel(’T 1’), xlabel(’Time’) subplot(223), plot(time,ynl qc(:,4),’r-’,time,dylineal(:,3)+7.6832e-003,’b--’) ylabel(’C 2’), xlabel(’Time’) subplot(224), plot(time,ynl qc(:,5),’r-’,time,dylineal(:,4)+1.7345e+002,’b--’) ylabel(’T 2’), xlabel(’Time’) 34 Table 4: Matlab program to compare the nonlinear vs the linear dynamic responses. 200 180 220 1: Cf = 0.00065 2: Cf = 0.00060 3: Cf = 0.00055 1 160 1: Cf = 0.00065 2: Cf = 0.00060 200 3: Cf = 0.00055 2 180 3 160 140 1 140 2 3 T2 ( oC ) T1 ( oC ) 120 100 120 100 80 80 60 60 40 40 20 0 20 0 5 10 15 20 25 30 35 40 45 50 Tf ( oC ) 0 0 5 10 15 20 25 30 35 40 45 Tf ( oC ) (a) (b) Figura 23: Continuation diagrams at the outlet of the first and second reactor using the feed stream temperature as the main continuation parameter. 35 50