Simulación de Modelo de Dos Tanques Conectados
Simulación de Modelo de Dos Tanques Conectados
Simulación de Modelo de Dos Tanques Conectados
Control Continuo
Práctica 1
Simulación de un modelo de dos tanques
conectados y una salida
2. Planteamiento
1
Se tiene un sistema de dos tanques conectados entre sí, como se muestra
en la Figura 1 (un tren de tanques), teniendo una entrada Qin, una válvula
con resistencia R1 que se encuentra entre la conexión de los tanques y otra
válvula con resistencia R2 que se encuentra a la salida del segundo tanque. Se
requiere obtener el modelo en el espacio de estados, la función de transferencia
y el comportamiento de la salida Qout ante la entrada como función escalón
unitario u(t).
Considere el área superficial y el volumen de los tanques como iguales.
3. Análisis
dV1
= Qin (t) − Qm (t)
dt
V1 (t) = A1 h1 (t)
Qm (t) =?
La presión es considerada:
R2 = 0,6R1
d (A1 h1 (t)) 1 1
= Qin (t) − h1 (t) + h2 (t)
dt R1 R1
dh1 1 1 1
Tanque 1 = Qin (t) − h1 (t) + h2 (t)
dt A1 A1 R 1 A1 R1
dV2
= Qm (t) − Qout (t)
dt
1
Salida Qout (t) = h2 (t)
R2
V2 (t) = A1 h2 (t)
d (A1 h2 (t)) 1 1 1
= h1 (t) − h2 (t) − h2 (t)
dt R1 R1 R2
d (A1 h2 (t)) 1 1 1
= h1 (t) − + h2 (t)
dt R1 R1 R2
2
dh2 1 1 1
Tanque 2 = h1 (t) − + h2 (t)
dt A1 R1 A1 R1 A1 R2
− A11R1 1
1
Ẋ1 A1 R1 X1 A
=
+ u(t)
1 1 1
Ẋ2 A1 R1 − A1 R1 + A1 R2
X2 0
1
h1
y(t) = 0 R2 h2
Donde:
X1 = h1
X2 = h2
u(t) = Qin (t)
y(t) = Qout (t)
Función de transferencia
1 −1
− A11R1
s+ A 1 R1
(sI − A)−1 =
− A11R1 s+ 1
A1 R1 + 1
A 1 R2
1
= cof T (sI − A)
1 1 1 1
s+ A1 R1 s+ A 1 R1 + A 1 R2 − A21 R22
1
− A11R1
s+ A 1 R1
cof (sI − A) =
− A11R1 s+ 1
A1 R1 + 1
A 1 R2
1 1 1
s+ A 1 R1 + A 1 R2 A1 R1
T
cof (sI − A) =
1 1
A1 R1 s+ A 1 R1
3
1 1 1 1
s+ A1 R1 + A1 R2 A 1 R1 A
1
0 R2
1 1
A1 R1 s+ A1 R1 0
G(s) =
s2 + s A11R1 + s A11R2 + s A11R1
+ s A21R2 + s A2 RR1
2
− s A21R2
1 1 1 1 1
1
1 s 1
A
R2 + A1 R1 R2
A 1 R1 R2 1
0 A21 R1 R2
G(s) = =
s2 + s A11R2 + A12R1 + A2 R11 R2 s2 + s A11R2 + A12R1 + A2 R11 R2
1 1
1
G(s) =
A21 R1 R2 s2 + S(A1 R1 + 2A1 R2 ) + 1
4. Simulación
En esta parte haremos uso de Scilab el cual es un software para análisis
numérico, con un lenguaje de programación de alto nivel para cálculo científico.
Es desarrollado por Scilab Enterprises, bajo la licencia CeCILL, compatible con
la GNU General Public License.
Dicho software contiene funciones que nos ayudan a analizar nuestro sistema de
una manera más sencilla y optima, y, además, podemos realizar sistemas com-
plejos, donde la cantidad de procesamiento es importante. Scilab, además, Nos
ofrece un entorno gráfico, donde podemos analizar nuestras variables en gráfi-
cas, para observar los cambios de nuestro sistema. Esto nos ayudará a analizar
el sistema en todas sus variables, y poder definir diferentes constantes para el
manejo de la función de salida.
Código Scilab
1 clc ;
2 clear ;
3 xdel ( winsid () ) ;
4
5 // Funcion
6 function dx = TwoTanksODE (t ,x ,A ,B , u )
7 dx = ( A * x ) + ( B * u ) ;
8 end function
9
4
10 // Parametros
11 r = 1; // m
12 A1 = %pi *( r ^2) ; // m ^2
13 R1 = 1.5;
14 R2 = 0.6* R1
15
16 // Matrices
17 A = [ -1/( A1 * R1 ) 1/( A1 * R1 ) -((1/( A1 * R1 ) ) +(1/( A1 * R2 ) ) ) ]
18 B = [1/ A1 ; 0];
19 C = [0 1/ R2 ];
20 D = 0;
21
22 // ******** Simulacion **********
23 // tiempo
24 t0 = 0; // s
25 tf = 80; // s
26 Dt = 0.1; // s
27
28 t = t0 ; Dt ; tf ;
29 lt = length ( t ) ;
30
31 // Funcion de transferencia
32 sysTwoTanks = syslin ( ’c ’ ,A ,B ,C , D ) ;
33 G = ss2tf ( sysTwoTanks ) ;
34 disp ( G )
35
36 // Solucion
37 h = zeros (2 , lt ) ;
38 ql = ones (1 , lt ) ;
39
40 for k =1: lt -1
41 hOut = ode ( " stiff " ,h (: , k ) ,t ( k ) ,t ( k +1) , list (
TwoTanksODE ,A ,B , ql ( k ) ) ) ;
42 h (: , k +1) = hOut (: , $ )
43 end
44
45 y = ( C * h ) + ( D * ql ) ;
46
47 figure ;
48 plot (t , h (l ,:) , ’ -b ’ ,t , h (2 ,:) , ’ -r ’ ,t ,y , ’ --g ’) ;
49 title ( ’Two - tanks - system ’) ;
50 xlabel ( ’ Time ( sec ) ’) ;
51 ylabel ( ’ State variables ’) ;
52 leg end ( ’ Height T1 ( m ) ’ , ’ Height T2 ( m ) ’ , ’ Qout ( m3 \ t ) ’) ;
Podemos apreciar que en el código se define una función dx, donde se analiza
el modelo principal de las variables a evaluar, de la forma ẋ(t) = Ax(t) + Bu(t),
esta función se usará posteriormente para la resolver la ecuación diferencial,
también se definen los parámetros para la simulación, se tomaron entonces los
datos utilizados en el programa para un solo tanque y se tomó de referencia que
R2 = 0,6R1.
Se definieron las matrices para el modelado en el espacio de estados, estas ma-
trices fueron definidas en la sección del análisis matemático, para obtener una
5
simulación en un determinado intervalo de tiempo para la función, se tomó de
referencia un rango de tiempo, así como el rango en el que se iba a mostrar
cada prueba. A partir de ahí, se creó un vector que incluía los tiempos de mues-
treo. Después se definió el modelo en espacio e estados con la función syslin,
donde primero se decía que nuestro modelo era continuo, y después se definían
las matrices A, B, C, D. Se definió la función de transferencia con ss2tf, la cual
convertía el modelo de estados en una función de transferencia, almacenándola
en una variable G.
Se define entonces una matriz para los valores de h dados, donde contendrá sus
diferentes valores a distintos tiempos, y la entrada, que para todos los tiempos
es igual a 1, simulando e esta forma un escalón unitario. En el programa la parte
del ciclo for, se encarga de resolver la ecuación diferencial a trozos, esto quiere
decir que toma intervalos de tiempo y los va analizando de uno en uno con el
ciclo for, y los va guardando en las respectivas matrices de salida. Para definir
la salida, se define la otra parte del modelo de estados al final del programa,
donde y(t) = Cx(t) + Du(t) y obteniendo de esta forma la salida a partir de los
valores obtenidos.
5. Resultados y conclusiones
Los valores h1 , h2 , Qout se graficaron para observar el comportamiento del
sistema, en la Figura 2 podemos apreciar estos resultados.
6
tanque se ve más pronunciada, se puede apreciar que, al momento de llegar a
aproximadamente 25 segundos, la curva del segundo tanque continua, pero de
manera más suave, hasta pasar a estado estable al mismo tiempo que el tanque
1, se ve el mismo comportamiento en el flujo de salida Qout que llega a estado
estable casi al mismo tiempo.
Para analizar y resolver el sistema las técnicas implementadas fueron el mo-
delo de estados y la función de transferencia las cuales hacen mucho más sencillo
el proceso de análisis de un sistema, el modelo de estados nos sirve mucho cuando
tenemos más de una variable en un sistema ya que es más sencillo de visualizar,
con la función de transferencia podemos manejar sistemas dependientes de una
entrada o salida lo cual vuelve más complejo el sistema.