Professional Documents
Culture Documents
Figura 7.1. Sistema de tres tanques no interactuantes Se deduce del fenmeno que el sistema es no interactuante porque la temperatura en el primer tanque afecta a la temperatura en el segundo tanque, pero la temperatura en el segundo tanque no afecta a su vez a la temperatura en el primer tanque porque
108
desde el segundo tanque no hay retroalimentacin que afecte a la temperatura en el primer tanque. La relacin causa-efecto es un solo sentido. Igual comportamiento se observa entre el segundo y el tercer tanque.
VCv
1
(7.1)
dT1 (t ) + T1 (t ) = K 1Ti (t ) dt
(7.2)
Siendo T1(t), variable de salida y Ti(t), variable de entrada. Con planteamientos similares se obtienen las ecuaciones diferenciales que modelan las dinmicas del transporte de calor en el segundo y tercer tanque as:
dT2 (t ) + T2 (t ) = K 2T1 (t ) dt
(7.3)
dT3 (t ) + T3 (t ) = K 3T2 (t ) dt
(7.4)
Mach
109
Siendo los tanques de un volumen constante e igual a 10 pies3 y la densidad y el calor especfico constante e igual en cada uno de los tanques, las constantes de tiempo y las ganancias en cada uno de ellos se calculan con las siguientes expresiones:
VC v
ws C p
1 = 2 = 3 =
= 2 min
(7.5)
K1 = K 2 = K 3 =
ws C p ws C p
=1
(7.6)
De acuerdo a las ecuaciones diferenciales (7.2), (7.3) y (7.4), la dinmica de cada uno de los tanques es lineal de primer orden y el sistema es no interactuante. Las temperaturas en cada uno de ellos son las variables de estado del sistema. A partir de la ecuacin (7.3) se entiende, por ejemplo, que la temperatura en el segundo tanque es afectada por un cambio en la temperatura en el tanque uno pero la temperatura del primer tanque no es afectada por un cambio en la temperatura del segundo tanque. Igual observacin se deduce de la ecuacin (7.4) entre las temperaturas del segundo y tercer tanque. Al combinar las ecuaciones diferenciales (7.2), (7.3) y (7.4) se demuestra que las dinmicas del segundo y tercer tanque expresadas con respecto a la temperatura de alimentacin al primer tanque son de segundo y tercer orden sobreamortiguada, respectivamente, as: Segundo tanque:
d 2T2 (t ) dT (t ) + ( 1 + 2 ) 2 + T2 (t ) = K 1 K 2Ti (t ) 2 dt dt
1 2
(7.7)
Tercer tanque:
d 3T3 (t) dt 3 d 2T3 (t) + ( 1 + 2 + 3 )T3 (t) + T3 (t) = K1 K2 K3Ti (t) dt
1 2 3
+ ( 1 2 + 1 3 + 2 3 )
(7.8)
Mach
110
Figura 7.2 Respuesta Paso del Proceso de Calentamiento No Interactuante Para los tres tanques se observa una respuesta monotnica estable con un valor ltimo para la temperatura igual en cada uno de ellos. El primer tanque muestra una dinmica mas rpida caracterstica de un sistema de primer orden, pero el segundo y tercer tanque son de una dinmica ms atrasada debido a los dos y tres atrasos dinmicos, respectivamente, en cada uno de ellos. El perfil de la respuesta para el segundo y tercer tanque muestra la caracterstica forma de S itlica que se hace ms notoria con el aumento en el atraso de la respuesta Las respuestas rampa y sinusoidal de un sistema de orden mayor se dejan como ejercicio para que el estudiante las desarrolle como un ejercicio y concluya sobre sus caractersticas
Mach
111
Primer tanque:
T1 ( s ) =
(7.9)
Segundo tanque:
T2 ( s ) =
(7.10)
Tercer tanque:
T3 ( s ) =
(7.11)
Un diagrama de bloques que represente al sistema de los tanques en el dominio de Laplace es un conjunto de bloques conectados en serie procesando cada una de las funciones de transferencia y cuyas variables de entrada corresponden a las variables de salida del anterior (Ver figura 7.3).
K1 1s + 1
K2 2s + 1
K3 3s + 1
Figura 7.3 Funciones de Transferencia en Serie La figura 7.3 permite observar fcilmente las dinmicas de segundo y tercer orden sobreamortiguadas para el segundo y tercer tanque, respectivamente. La funcin de transferencia resultante de dos o ms en serie es la multiplicacin de cada una de ellas, de tal manera que para este caso las funciones de transferencia correspondientes son:
K1 K 2 Ti ( s ) ( 1 s + 1)( 2 s + 1) K1 K 2 K 3 Ti ( s ) ( 1 s + 1)( 2 s + 1)( 3 s + 1)
Segundo tanque:
T2 ( s ) =
(7.12)
Tercer tanque:
T3 ( s ) =
(7.13)
Mach
112
(7.14)
T ( s ) = G 1 ( s ) H ( s )Ti ( s )
(7.15)
Siendo T(s) y Ti(s), los vectores cuyos elementos son las variables de salida y entrada, respectivamente, G-1(s) la inversa de una matriz, G(s), cuyos elementos son las funciones de transferencia con respecto a cada una de las variables de salida y H(s) una matriz cuyos elementos son las funciones de transferencia con respecto a cada una de las variables de entrada. El orden de la matriz cuadrada G(s) es igual al nmero de variables de salida y H(s) es una matriz de n x m, siendo n el nmero de variables de salida y m el nmero de variables de entrada. Para el proceso de calentamiento modelado en esta seccin la matriz G(s) es de 3 x 3 y H(s) es una de 3 x 1, porque se tienen tres variables de salida y una variable de entrada.
Mach
113
0 1
K3
K1 1 0 T (t ) i 0
(7.16)
& = AX + Bu X
(7.17)
& y X, los vectores cuyos elementos son las derivadas de las variables de Siendo X estado y las variables de estado, respectivamente; A es la matriz cuadrada cuyos elementos son los coeficientes de los trminos lineales de las variables de estado, B es la matriz cuyos elementos son los coeficientes de los trminos lineales de las variables de entrada y u es el vector cuyos elementos son las variables de entrada. El orden de la matriz A es igual al nmero de variables de estado y B es una matriz de n x m, siendo n el nmero de variables de estado y m el nmero de variables de entrada.
Mach
114
En la escritura de un modelo en la forma del Espacio de los Estados, la ecuacin (7.17) se combina con una ecuacin algebraica matricial que expresa una relacin entre las variables de salida que se quieren resolver con las variables de estado y de entrada de la siguiente forma
Y = CX + Du
(7.18)
Siendo Y el vector cuyos elementos son las variables de salida y C es una matriz idntica de orden n x n. Generalmente, la matriz D se introduce cuando se quiere representar el cambio en las variables de entrada. En caso contrario su valor es igual a cero.
115
Se deduce del fenmeno que el sistema es interactuante porque la temperatura en el primer tanque afecta a la temperatura en el segundo tanque y viceversa afecta la del primer tanque porque hay una retroalimentacin que afecta a la temperatura en el primer tanque. La relacin causa-efecto es en ambos sentidos.
V1Cv
(7.19)
(7.20)
Se deduce de la ecuacin (7.20) que la temperatura del segundo tanque influye en la temperatura del primer tanque. Las expresiones para la constante de tiempo y las ganancias son:
Mach
116
1 =
C p [ f1 + 0.2( f1 + f 2 )]
V1Cv
= 2.5 min
(7.21)
K10 =
(7.22)
K1 =
(7.23)
V2 C v
(7.25)
Se deduce de la ecuacin (7.25) que la temperatura del primer tanque influye en la temperatura del segundo tanque y viceversa. Las expresiones para la constante de tiempo y las ganancias son:
V2 C v
2 =
1.2 C p ( f1 + f 2 )
= 2 min
(7.26)
K 20 =
f2 = 0.333 1.2( f1 + f 2 )
(7.27)
K2 =
(7.28)
De acuerdo a las ecuaciones diferenciales (7.20) y (7.25), la dinmica de cada uno de los tanques es lineal de primer orden y el sistema es interactuante, porque la temperatura en el segundo tanque es afectada por un cambio en la temperatura en el primer tanque y viceversa
Mach
117
Figura 7.5 Respuesta Paso del Proceso de Calentamiento Interactuante Para los dos tanques se observa una respuesta monotnica estable con un valor ltimo para la temperatura igual en cada uno de ellos. El primer tanque muestra una dinmica ms rpida que la del segundo tanque. Las respuestas rampa y sinusoidal de un sistema de orden mayor se dejan como ejercicio para que el estudiante las desarrolle como un ejercicio y concluya sobre sus caractersticas La Figura 7.6 muestra la respuesta del sistema para cuando se perturba con un cambio paso en la temperatura de entrada al primer tanque de 20 F manteniendo constante la temperatura de entrada al segundo tanque. La respuesta dinmica del primer tanque es ms rpida que la del segundo tanque. La Figura 7.7 muestra la respuesta del sistema para una perturbacin paso de 20 F en la temperatura de
Mach
118
Mach
119
Primer tanque:
T1 ( s ) =
(7.29)
Segundo tanque:
T2 ( s ) =
(7.30)
Un diagrama de bloques que represente al sistema de los tanques en el dominio de Laplace es un conjunto de bloques conectados en paralelo donde se observa que la temperatura del segundo bloque se retroalimenta al primero. (Ver figura 7.8).
K10 1s + 1
K1 1s + 1
K2 2s +1
K 20 2s +1
Figura 7.8 Diagrama de bloques de un sistema interactuante La combinacin de las ecuaciones (7.29) y (7.30) permite la obtencin de las funciones de transferencia para las temperaturas en cada uno de los tanques en funcin de las temperaturas de entrada as:
Mach
T1 ( s ) =
(7.31)
T2 ( s ) =
(7.32)
A partir de las ecuaciones (7.31) y (7.32) se deduce que las dinmicas de las respuestas tanto en el primer como en el segundo tanque son de segundo orden con respecto a las variables de entrada. Adems, muestran que con respecto a una variacin en T10, manteniendo a T20 constante, la dinmica de la respuesta en el primer tanque es ms rpida que en el segundo porque en la funcin de transferencia de T1 con respecto a T10, se incluye un trmino en el numerador, es decir, un zero. En forma similar, se muestra que con respecto a una variacin en T20, manteniendo a T10 constante, la dinmica de la respuesta en el segundo tanque es ms rpida que en el primero porque en la funcin de transferencia de T2 con respecto a T20, se incluye un trmino en el numerador, es decir, un zero.
(7.33)
Mach
121
T ( s ) = G 1 ( s ) H ( s )U ( s )
(7.34)
Siendo T(s) y U(s), los vectores cuyos elementos son las variables de salida y entrada, respectivamente, G-1(s) la inversa de una matriz, G(s), cuyos elementos son las funciones de transferencia con respecto a cada una de las variables de salida y H(s) una matriz cuyos elementos son las funciones de transferencia con respecto a cada una de las variables de entrada. El orden de la matriz cuadrada G(s) es igual al nmero de variables de salida y H(s) es una matriz de n x m, siendo n el nmero de variables de salida y m el nmero de variables de entrada. Para el proceso de calentamiento modelado en esta seccin la matriz G(s) es de 2 x 2 y H(s) es una de 2 x 2, porque se tienen dos variables de salida y dos variables de entrada.
(7.35)
La ecuacin (7.35) se puede simplificar a la forma compacta de un modelo en el espacio de los estados:
& = AX + Bu X
Y = CX + Du
(7.36) (7.37)
Los smbolos utilizados en las ecuaciones (7.36) y (7.37) son los empleados en las ecuaciones (7.17) y (7.18) con el mismo significado. Para el proceso de
Mach
122
& y X, son vectores 2 x 1 porque las variables calentamiento con retroalimentacin, X de estado son tres, A y B son matrices cuadradas de 2 x 2 porque son dos las variables de entrada y u es un vector de 2 x 1, Y es un vector de 2 x 1 cuyos elementos son las variables de salida y C es una matriz idntica de 2 x 2. La matriz D se introduce cuando se quiere representar el cambio en las variables de entrada. En caso contrario su valor es igual a cero.
Mach
123
Archivo solnointertime.m
function f = solnointertime(t,y) global Ti K1 K2 K3 rho V Cv Cp w tau1 tau2 tau3 Rango Inicio rho = input('Valor de la densidad, lb/pie3 = '); V = input('Volumen de los tanques, pie3 = '); Cv = input('Calor especifico a volumen constante, Btu/lb-F = '); w = input('Flujo masico, lb/min = '); Ti = input('Valor de Ti, F = '); Rango = input('Intervalo de tiempo = '); Inicio = input('Condiciones iniciales = '); Cp = Cv; tau1 = rho*V*Cv/(w*Cp) tau2 = tau1 tau3 = tau2 K1 = w*Cp/(w*Cv) K2 = K1 K3 = K2 [t,y] = ode45('nointertime', Rango, Inicio); plot(t,y)
Archivo nointerlap.m
function f = nointerlap(t,s) global K1 K2 K3 rho V h Cv Cp w tau1 tau2 tau3 rho = input('Valor de la densidad, lb/pie3 = '); V = input('Volumen de los tanques, pie3 = '); Cv = input('Calor especifico a volumen constante, Btu/lb-F = '); w = input('Flujo masico, lb/min = '); t0 = input('Tiempo de Simulacion, min = '); Cp = Cv; tau1 = rho*V*Cv/(w*Cp) tau2 = tau1 tau3 = tau2 K1 = w*Cp/(w*Cv) K2 = K1 K3 = K2 h = [1 2 3]
Mach
124
h = input('Caso a simular = '); switch h case 1 x1 = tf([K1], [tau1 1]); step(x1,t0) xlabel('Tiempo', 'FontSize', 14) ylabel('Temperatura', 'FontSize', 14) title('Respuesta', 'FontSize', 14) case 2 x1 = tf([K1], [tau1 1]); x2 = tf([K2], [tau2 1]); x12 = series(x1,x2); step(x1,t0); hold on step(x12,t0); xlabel('Tiempo', 'FontSize', 14) ylabel('Temperatura', 'FontSize', 14) title('Respuesta Paso', 'FontSize', 14) case 3 x1 = tf([K1], [tau1 1]); x2 = tf([K2], [tau2 1]); x3 = tf([K3], [tau3 1]); x12 = series(x1,x2); x123 = series(x12,x3); step(x1,t); hold on step(x12,t0); step(x123,t0); xlabel('Tiempo', 'FontSize', 14) ylabel('Temperatura', 'FontSize', 14) title('Respuesta Paso', 'FontSize', 14) end
Archivo nointermatriz.m
function f = nointermatriz(t,s) global n m rho V Cv Cp w K1 K2 K3 tau1 tau2 tau3 g11 g12 g13 g21 g22 g23 g31 g32 g33 G h11 h21 h31 H GH n = input('Numero de variables de estado = '); m = input('Numero de variables de entrada = '); rho = input('Valor de la densidad, lb/pie3 = '); V = input('Volumen de los tanques, pie3 = '); Cv = input('Calor especifico a volumen constante, Btu/lb-F = '); w = input('Flujo masico, lb/min = '); t0 = input('Tiempo de Simulacion, min = '); Cp = Cv;
Mach
125
tau1 = rho*V*Cv/(w*Cp) tau2 = tau1 tau3 = tau2 K1 = w*Cp/(w*Cv) K2 = K1 K3 = K2 g11 = 1; g12 = 0; g13 = 0; g21 = tf([-K2],[tau2 1]); g22 = 1; g23 = 0; g31 = 0; g32 = tf([-K3], [tau3 1]); g33 = 1; G = [g11 g12 g13; g21 g22 g23; g31 g32 g33] h11 = tf([1],[2 1]); h21 = 0; h31 = 0; H = [h11; h21; h31]; GH = 70*inv(G)*H step(GH,t0) figure [y,t] = step(GH,t0); plot(t,y)
Archivo nointerss.m
function f = nointerss(t,s) global n m rho V Cv Cp w K1 K2 K3 tau1 tau2 tau3 a11 a12 a13 a21 a22 a23 a31 a32 a33 A b11 b21 b31 B C D n = input('Numero de variables de estado = '); m = input('Numero de variables de entrada = '); rho = input('Valor de la densidad, lb/pie3 = '); V = input('Volumen de los tanques, pie3 = '); Cv = input('Calor especifico a volumen constante, Btu/lb-F = '); w = input('Flujo masico, lb/min = '); t0 = input('Tiempo de Simulacion, min = '); Cp = Cv; tau1 = rho*V*Cv/(w*Cp); tau2 = tau1; tau3 = tau2; K1 = w*Cp/(w*Cv); K2 = K1; K3 = K2; a11 = -1/tau1;
Mach
126
a12 = 0; a13 = 0; a21 = K1/tau2; a22 = -1/tau2; a23 = 0; a31 = 0; a32 = K2/tau3; a33 = -1/tau3; A = [a11 a12 a13; a21 a22 a23; a31 a32 a33] b11 = K1/tau1; b21 = 0; b31 = 0; B = [b11; b21; b31] C = [1 0 0; 0 1 0; 0 0 1] D=0 gh = 70*ss(A,B,C,D); step(gh,t0) figure [y,t] = step(gh,t0); plot(t,y)
Archivo intertime.m
function dy = intertime(t,y) global f1 f2 T10 T20 K10 K20 K1 K2 rho V1 V2 Cv Cp tau1 tau2 dy = [(K10*T10 + K1*y(2)- y(1))/tau1; (K20*T20 + K2*y(1) - y(2))/tau2];
Archivo solintertime.m
function f = solintertime(t,y) global f1 f2 T10 T20 K10 K20 K1 K2 rho V1 V2 Cv Cp tau1 tau2 Rango Inicio rho = input('Valor de la densidad, lb/pie3 = '); V1 = input('Volumen del primer tanque, pie3 = '); V2 = input('Volumen del segundo tanque, pie3 = '); f1 = input('Flujo volumetrico de entrada al primer tanque, pie3/min= '); f2 = input('Flujo volumetrico de entrada al segundo tanque, pie3/min= '); Cv = input('Calor especifico a volumen constante, Btu/lb-F = '); T10 = input('Temperatura de la corriente de entrada al primer tanque T10, F = '); T20 = input('Temperatura de la corriente de entrada al segundo tanque T20, F = '); Rango = input('Intervalo de tiempo = '); Inicio = input('Condiciones iniciales = '); Cp = Cv; tau1 = rho*V1*Cv/(rho*Cp*(f1 + 0.2*(f1 + f2))) tau2 = rho*V2*Cv/(1.2*rho*Cp*(f1 + f2)) K10 = f1/(f1 + 0.2*(f1 + f2)) K20 = f2/(1.2*(f1 + f2))
Mach
127
K1 = 0.2*(f1 + f2)/(f1 + 0.2*(f1 + f2)) K2 = (f1 + 0.2*(f1 + f2))/(1.2*(f1 + f2)) [t,y] = ode45('intertime', Rango, Inicio); plot(t,y)
Archivo intermatriz.m
function f = intermatriz(t,y) global n m f1 f2 T10 T20 K10 K20 K1 K2 rho V1 V2 Cv Cp tau1 tau2 g11 g12 g21 g22 G h11 h12 h21 h22 H GH n = input('Numero de variables de estado = '); m = input('Numero de variables de entrada = '); rho = input('Valor de la densidad, lb/pie3 = '); V1 = input('Volumen del primer tanque, pie3 = '); V2 = input('Volumen del segundo tanque, pie3 = '); f1 = input('Flujo volumetrico de entrada al primer tanque, pie3/min= '); f2 = input('Flujo volumetrico de entrada al segundo tanque, pie3/min= '); Cv = input('Calor especifico a volumen constante, Btu/lb-F = '); T10 = input('Temperatura de la corriente de entrada al primer tanque T10, F = '); T20 = input('Temperatura de la corriente de entrada al segundo tanque T20, F = '); t0 = input('Tiempo de Simulacion, min = '); Cp = Cv; tau1 = rho*V1*Cv/(rho*Cp*(f1 + 0.2*(f1 + f2))) tau2 = rho*V2*Cv/(1.2*rho*Cp*(f1 + f2)) K10 = f1/(f1 + 0.2*(f1 + f2)) K20 = f2/(1.2*(f1 + f2)) K1 = 0.2*(f1 + f2)/(f1 + 0.2*(f1 + f2)) K2 = (f1 + 0.2*(f1 + f2))/(1.2*(f1 + f2)) g11 = 1; g12 = tf([-K1],[tau1 1]); g21 = tf([-K2], [tau2 1]); g22 = 1; G = [g11 g12; g21 g22] h11 = tf([K10],[tau1 1]); h12 = 0; h21 = 0; h22 = tf([K20],[tau2 1]); H = [h11 h12; h21 h22]; GH = inv(G)*H*[T10; T20] step(GH,t0)
Archivo interss.m
function f = interss(t,s) global n m f1 f2 T10 T20 K10 K20 K1 K2 rho V1 V2 Cv Cp tau1 tau2 a11 a12 a21 a22 A h11 h12 h21 h22 H GH
Mach
128
n = input('Numero de variables de estado = '); m = input('Numero de variables de entrada = '); rho = input('Valor de la densidad, lb/pie3 = '); V1 = input('Volumen del primer tanque, pie3 = '); V2 = input('Volumen del segundo tanque, pie3 = '); f1 = input('Flujo volumetrico de entrada al primer tanque, pie3/min= '); f2 = input('Flujo volumetrico de entrada al segundo tanque, pie3/min= '); Cv = input('Calor especifico a volumen constante, Btu/lb-F = '); T10 = input('Temperatura de la corriente de entrada al primer tanque T10, F = '); T20 = input('Temperatura de la corriente de entrada al segundo tanque T20, F = '); t0 = input('Tiempo de Simulacion, min = '); Cp = Cv; tau1 = rho*V1*Cv/(rho*Cp*(f1 + 0.2*(f1 + f2))) tau2 = rho*V2*Cv/(1.2*rho*Cp*(f1 + f2)) K10 = f1/(f1 + 0.2*(f1 + f2)) K20 = f2/(1.2*(f1 + f2)) K1 = 0.2*(f1 + f2)/(f1 + 0.2*(f1 + f2)) K2 = (f1 + 0.2*(f1 + f2))/(1.2*(f1 + f2)) a11 = -1/tau1; a12 = K1/tau1; a21 = K2/tau2; a22 = -1/tau2; A = [a11 a12; a21 a22] b11 = K10/tau1; b12 = 0; b21 = 0; b22 = K20/tau2; B = [b11 b12; b21 b22] C = [1 0; 0 1] D=0 gh1 = ss(A,B,C,D); gh = gh1*[T10; T20]; step(gh,t0)
Mach