Académique Documents
Professionnel Documents
Culture Documents
CAPTULO 3
La simulacin de un sistema puede definirse como la prctica de construir modelos para representar los sistemas del mundo real, o de sistemas futuros hipotticos, y de la experimentacin con estos modelos para explicar la conducta del sistema, mejorar el desempeo de este o disear nuevos sistemas con desempeos deseables. (Khoshnevis, 1994). El proceso de simulacin puede realizarse en una computadora a travs de programas desarrollados para tal fin, este proceso genera una historia o datos artificiales y a partir de esos datos se pueden obtener inferencias acerca de las caractersticas del sistema real. En los ejemplos que se presentan se desarrollan modelos matemticos y luego con el uso de herramientas tipo CAD se simulan dichos procesos, para entradas conocidas, sin o con perturbaciones, observando las correspondientes salidas. 3.1. Modelo y simulacin de sistema mecnico. En la Fig. 3.1 se muestra un sistema mecnico compuesto por dos masas, M1 y M2, las cuales estn unidas a travs de un resorte flexible, cuya
36
constante es k. Se debe considerar que existe una fuerza de friccin entre las masas y la superficie, b1 y b2.[17]
q(t) k
y (t)
F (t)
M1
b1
M2
b2
Datos del Proceso. Parmetro Masa 1 (M1) Friccin de masa 1 (b1) Flexin del resorte (k) Masa 2 (M2) Friccin de masa 2 (b2) Dato 0.02 Kg 0.410 Kg s/m 10 < k < 0.0005 Kg 0.0041 kg s/m
Tabla 3.1. Datos de proceso para sistema de dos masas. Modelo Matemtico. a. Balance de energa. A continuacin se plantean las ecuaciones diferenciales que modelan el sistema, para ello hacemos el balance de energa. Para plantear el modelo deben obtenerse las ecuaciones diferenciales de cada masa: d 2 q (t ) dt 2 + b1 dq(t ) + k (q(t ) y (t )) = F (t ) dt
M1
(3.1)
37
M2
d 2 y (t ) dt
2
+ b2
dy (t ) + k ( y (t ) q(t )) = 0 dt
(3.2)
De esta forma el modelo del sistema queda definido por las ecuaciones 3.1 y 3.2. El modelo en forma de ecuaciones diferenciales puede representarse haciendo uso de Matlab-Simulink, como se muestra en la Fig. 3.2.
1 s
dq/dt
1 s Integrator
Integrator3
Subtract1
Subtract3
1 s Subtract2
dy/dt
1 s
Integrator2
Integrator1
0.0041 b2
Divide4 Product2
1 v2
Fig. 3.2. Diagrama de bloques en Simulink para la realizacin de las ecuaciones diferenciales del sistema de dos masas. Para realizar este modelo se abre un nuevo archivo .mdl, en Simulink. EL modelo puede realizarse directamente sobre la ventana de trabajo del modelo o a travs de un bloque Subsystem, el esquema mostrado en la Fig. 3.2, est desarrollado en este tipo de bloque.
38
Para realizar las ecuaciones se despejan las derivadas de mayor orden de las variables q e y, de (3.1) y (3.2). d 2 q (t ) dt 2 d 2 y (t ) dt 2 = b dq (t ) k 1 k F (t ) 1 q (t ) + y (t ) M1 M1 dt M1 M1
b dy (t ) k k = 2 y (t ) + q(t ) M 2 dt M2 M2
A partir de las expresiones anteriores se arma el diagrama insertando los bloques de adicin, sustraccin, multiplicacin y divisin que corresponda segn la ecuacin, los cuales se encuentran en la ventana Simulink Library Browser. Para calcular dq(t ) y q(t) se utilizan bloques de integracin dt
(Intergrator). Se usan bloques Constant para introducir los datos del proceso, como masas y constantes de friccin. Las entradas y salidas del sistema estn representadas por figuras de forma de valos. Note que la constante del resorte se coloca como una entrada del bloque Subsystem para poder variarla, ya que esta toma valores en un rango desde 10 hasta infinito. La salida,para este ejemplo, es la velocidad de la masa M 2, identificada en el diagrama de la Fig. 3.2 como v2. Modelo de Espacio de Estados. La representacin del modelo en variables de estados se construye escribiendo las ecuaciones (3.1) y (3.2) despejando las derivadas de cada una de las variables de estado, tal como se hizo para la elaboracin del diagrama de bloques de las ecuaciones diferenciales, en forma matricial. Primero se escogen las variables de estado como: x 1 = q(t), x2 = y(t), x4 = dq(t)/dt y x3= dy(t)/dt.
39
Vector de estados:
Matriz de estados:
Matriz de entrada:
Entrada:
u(t)=F(t) C = [ 0 0 0 1]
Matriz de salida:
Finalmente tenemos la representacin del sistema en el espacio de estado, expresada en (3.4), donde se han sustituidos los datos del proceso para k=10.
40
0 0 500 20000
1 0 20 .5 0
x1(t ) x ( t ) y (t ) = [ 0 0 0 1] 2 x3 ( t ) x 4 ( t )
(3.4)
Esta representacin se lleva a Matlab como se muestra en la Fig. 3.3 y 3.4.; en la primera se realiza el diagrama de bloques en Simulink, a travs de una bloque Subsystem, y en la segunda a travs de comandos.
1 Fss
1 v2ss
Fig. 3.3. Modelo en el espacio de estado para sistema de dos masas para k=1000. Simulink En la Fig. 3.3 se puede apreciar el diagrama de bloques en Simulink y la configuracin de las matrices del sistema en el bloque State-Space. Los
41
bloques identificados como Fss y v2ss, representan la entrada y salida del sistema respectivamente. El modelo en el espacio de estado se puede construir usando los comandos de Matlab, bien desde la ventana de comandos o bien desde un archivo .m, Fig. 3.4.
Archivo dos_masas.m %Definir parmetros k=1000; m1=0.02;m2=0.0005; b1=0.410;b2=0.0041; % Calcular las matrices del sistema A=[0 0 1 0;0 0 0 1;-k/m1 k/m1 -b1/m1 0;k/m2 k/m2 0 -b2/m2]; B=[0;0;1/m1;0]; C=[0 0 0 1]; D=0; %Construir el modelo en varibles de estados dosmasas=ss(A,B,C,D) Archivo dos_masas.m Continuacin %Convertir el modelo de variables de estado a funcin de transferencia dosmasas_tf=tf(dosmasas) %Expresar la funcin de transferencia en la forma de ganancia, polos y ceros dosmasas_tf1=zpk(dosmasas_tf) %Simular respuesta al escaln t=0:0.001:1.5; [y,tiempo,x]=step(dosmasas,t); %Graficar la respuestas al escaln unitario plot(tiempo,y)
(a) (b) Fig. 3.4. a. Comandos para realizacin de modelo en variables de estado del sistema de dos masas. b. Simulacin y grfica de repuesta. Simulacin. La simulacin del proceso consiste en someter al modelo a una entrada escaln de amplitud igual a uno. Para ello se pueden utilizar cualquiera de los esquemas en Simulink de las Fig. 3.2, Fig. 3.3 o por comandos, Fig 3.4. Las grficas se realizan para tres valores de la constante de flexin del resorte, k: 10, 100 y 1000. (Fig. 3.5).
42
Mientras mayor sea k el resorte ser ms rgido; para evitar oscilaciones en la velocidad de la masa M2 se pueden tomar valores mayores a k=100.
R e s p u e s ta p a ra k = 1 0 3
R s p u e s t a p a ra k = 1 0 0 2 .5
2 .5
Velocidad M 2 (m /seg)
V elocidad M 2 (m /seg)
1 .5
1 .5
0 .5
0 .5
0 .5 t ie m p o (s e g )
1 .5
0 .5 tie m p o (s e g )
1 .5
(a) (b)
Respuesta para k=1000 2.5
Velocidad M2 (m/seg)
1.5
0.5
1.5
(c) Fig. 3.5. Respuesta al escaln unitario del sistema mecnico de dos masas. a. k=10. b. k=100. c. k=1000. Como el sistema es lineal solo se presentan los resultados de la simulacin a travs de comandos, ya que para los esquemas en Simulink los resultados son iguales de las simulaciones los mismos.
43
En la lista de comandos tambin de convierte el modelo en variables de estado a su respectiva funcin de transferencia, para k=1000 se obtuvo el siguiente resultado, tanto en su forma polinmica como en la forma de ganancias, ceros y polos: Transfer function: 1e008 s ------------------------------------------------------------------------------s^4 + 28.7 s^3 + 2.05e006 s^2 + 4.141e007 s + 3.184e-006 Zero/pole/gain: 100000000 s ---------------------------------------------s (s+20.2) (s^2 + 8.5s + 2.05e006)
3.2. Modelo y simulacin de un proceso de calentamiento en cascada. Considere una serie de tres tanques donde un lquido es calentado, Fig. 3.6, el mismo se alimenta al primer tanque y la descarga de este alimenta al segundo y as sucesivamente. Se considera que el sistema no es interactuante porque la temperatura del primer tanque influye en el segundo, pero este ltimo no influye en el primero.[2] Datos del Proceso. Parmetro Flujo msico del lquido entrante () Densidad del lquido entrante () Calor especfico del lquido entrante (CP) Volumen de cada tanque (V) Temperatura de alimentacin (ti) Dato 250 lb/min 50 lb/pie3 1.3 BTU/lb-F 10 pie3 70 F
44
T1(t)
Ti(t)
T2(t)
T3(t)
Fig. 3.6. Sistema de tres tanques no interactuantes Supuestos. Las prdidas de calor al exterior de los tanques son despreciables. El flujo, la densidad y el calor especfico del lquido entrante son constantes. La mezcla es ideal y las prdidas de calor son cero. Modelo Matemtico. a. Balance de energa. 1er Tanque:
VC P
(3.5) (3.6)
1
Donde 1 =
VC P . C P
45
2do Tanque:
2
3er Tanque:
(3.7)
(3.8)
Las ecuaciones (3.6), (3.7) y (3.8), representan el modelo del proceso, donde Ti(t) es la variable de entrada, T1(t), T2(t) y T3(t) son las variables de estado y T3(t) es la salida. Note que las constantes 1, 2 y 3 en el caso considerado son iguales y a partir de los datos:
= 2 min
El modelo puede representarse diagramas de bloques desde MatlabSimulink, tal como se muestra en la Fig. 3.7.a, a travs del bloque Subsystem, el cual internamente contiene la realizacin de las ecuaciones diferenciales en bloques (ver Fig. 3.7.b). Los bloques adicionales se utilizan para graficar (Scope) y para enviar las seales de salida y tiempo al espacio de trabajo de Matlab para tener la posibilidad de graficar desde la ventana de comandos.
tiempo To Workspace4
Clock
Ti
To Workspace T
46
Product
Subtract1
Product1
1 xos Integrator1
To Workspace1 T2
Subtract2
Product2
1 xos Integrator2
1 T
Fig. 3.7b. Diagrama de bloques del modelo en ecuaciones diferenciales de tanques en serie. (Simulink). Si expresamos (3.7) y (3.8) en funcin de la temperatura inicial, se
observa que las dinmicas del segundo y el tercer tanque con respecto a esta son de segundo y tercer orden respectivamente (ecuaciones (3.9) y (3.10)). d 2T2 (t ) dt
2
1 2
1 2 3
d 3T3 (t ) d t3
+ ( 1 + 2 ) d 2T3 (t ) d t2
dT2 (t ) + T 2 (t ) = T i (t ) dt
(3.9)
+ ( 1 2 + 1 3 + 2 3 )
+ ( 1 + 2 + 3 )
d T3 (t ) + T3 (t ) = Ti (t ) (3.10) dt
Modelo de Espacio de Estados. La representacin del modelo del proceso de calentamiento en la forma de espacio de estados, se construye escribiendo las ecuaciones (3.6), (3.7) y (3.9) en forma explcita con respecto a las derivadas de cada una de las variables de estado en forma matricial.
47
Vector de estados:
Matriz de estados:
Matriz de entrada:
Sustituyendo por los valores de , la representacin queda entonces como sigue: 1 0 2 0 x1(t ) x1(t ) x (t ) = 1 1 0 x (t ) + 1 u(t ) 2 2 2 2 2 x 3 (t ) 1 1 x 3 (t ) 0 2 2 x1(t ) y (t ) = [ 0 0 1] x 2 (t ) x 3 (t ) (3.10)
El modelo en Matlab-simulink en variables de estado, se observa la Fig. 3.8. En el bloque State-Space se definen las matrices que modelan el sistema,
48
adems se tienen dos bloques adicionales: uno para la entrada (temperatura inicial,Ti) y otro para la salida (temperatura de tanque 3, T).
1 Ti x' = Ax+Bu y = Cx+Du State-Space 1 T
Simulacin. Para realizar las simulaciones de este sistema utilizamos los modelos mostrados en las figuras 3.7 y 3.8, es decir se simulan las ecuaciones del modelo en su forma diferencial y en la forma de variables de estados. En este caso se construye un esquema como el de la Fig. 3.9.a y se comparan los resultados de ambos modelos, haciendo uso del bloque multiplexor y el bloque generador de grficas Scope. Los tiempos y parmetros de simulacin se seleccionan desde el constructor de modelos de Simulink. Note que se tienen dos bloques To Workspace, los cuales generan variables en forma de arreglos con los datos de las simulaciones; estas variables pueden ser manipuladas con comandos directos desde Matlab. Para el caso en ejemplo se envan las variables de tiempo y salida en forma general e internamente, en cada bloque Subsystem se envan las seales de las temperaturas de los tanques restantes. Para el modelo en ecuaciones diferenciales se utilizan dos bloques To Workspace, y para el modelo en variables de estados se utiliza la funcin Data Impot/Export del men Configuration Parameters, para esto se seleccionan las variables de estados xout y tout. (ver Fig 3.9.b).
49
Clock
tiempo To Wo rkspace4
Ti
To Workspace T
Escal n de 70
Ti
(a)
(b) Fig. 3.9. a Esquema de simulacin conjunta de los modelos del sistema tanques en serie. b. Ventana de configuracin desde donde se exportan el vector tiempo y un arreglo con las variables de estados. Tanto con el diagrama de bloques para las ecuaciones diferenciales, como con la representacin en variables de estado, los resultados de las simulaciones son idnticos. En la ventana de trabajo de Matlab se grafican las tres temperaturas con la funcin plot, haciendo uso de las variables xout y tout, de la realizacin en variables de estado.
50
70
60
50 Temperatura (F)
40
30
10
(a)
10
15
20 25 timepo (seg)
30
35
40
45
(b)
Fig. 3.10 a. Temperaturas de salidas de los tanques para un escaln de amplitud 70 F. b. Temperaturas de salidas de los tanques para una rampa de pendiente 2/seg. En la Fig. 3.10a y 3.10b se observan las respuestas para una entrada escaln y una rampa respectivamente. Es de hacer notar el retardo de las
51
seales; la T3 presenta el mayor retardo, esto debido a su propia funcin retardada ms el retardo de los tanques anteriores. Estas simulaciones tambin se pueden desarrollar en el espacio de trabajo de Matlab con comandos, tal como se muestra en la Fig. 3.11. Los resultados de las simulaciones son los mismos a los mostrados en la Fig. 3.10.
Definir las matrices del sistema >> A=[-0.5 0 0;0.5 -0.5 0;0 0.5 -0.5]; >> B=[0.5;0;0]; C=[0 0 1]; D=0; Construir el modelo en varibles de estados >> tanques_ss=ss(A,B,C,D) a= x1 x2 x3 x1 -0.5 0 0 x2 0.5 -0.5 0 x3 0 0.5 -0.5 b= u1 x1 0.5 x2 0 x3 0 c= x1 x2 x3 y1 0 0 1 d= u1 y1 0 Convertir el modelo de variables de estado a funcin de transferencia >> tanques_tf=tf(tanques_ss) 0.125 ----------------------------------------s^3 + 1.5 s^2 + 0.75 s + 0.125 Simular respuesta al escaln >> t=0:0.1:25; >> [y,tiempo,x]=step(tanques_ss,t); >> [ys]=[70*y]; [xs]=[70*x]; Graficar las respuestas al escaln de amplitud 70 F para los tres estados plot(tiempo,xs) Simular respuesta a la rampa >> t=0:0.1:45; >> u=2*t; >> [y,tiempo,x]=lsim(tanques_ss,u,t); Graficar las respuestas a la rampa pendiente 2F/seg para los tres estados >> plot(tiempo,x) Graficar la salida del sistema a la entrada escaln unitario >> step(tanques_ss)
(a) (b) Fig 3.11. a. Construir el modelo en espacio de estado y conversin a funcin de transferencia. b. Simular y graficar ante el escaln y la rampa. Los comandos mostrados han sido desarrollados para el modelo en el espacio de estado, en la Fig. 3.11a se realiza adems la conversin al modelo de funcin de transferencia.
52
3.3. Modelo y simulacin de un sistema de control de temperatura de un tanque calentador agitado. El sistema se muestra en la Fig. 3.12, el tanque es utilizado para calentar un flujo de proceso de forma que sus componentes premezclados adquieran una concentracin uniforme. El control de la temperatura es de suma importancia, ya que una alta temperatura descompone el producto y una baja temperatura produce una mezcla incompleta. El calentamiento se realiza a travs de vapor condensado que circula por un serpentn.[7]
Tsat(t), [F] c(t), [%TO] TC 21 TT 21 m(t), [%CO] Vapor w(t), [lb/min] Alimentacin f(t), [ft 3/min] Ti(t), [F] Ts(t), [F] T(t), [F] V, [ft 3 ]
T Condensado
Fig. 3.12 Sistema de control de temperatura de un tanque calentador. Condiciones de estado estable. Flujo de proceso Temperatura inicial Temperatura del lquido del tanque
3 f = 15 pie / min
Ti = 100 F T = 150 F
53
Perturbaciones: cambios en el flujo de proceso Datos del Proceso. Parmetro Densidad del flujo de proceso Capacidad calorfica CP Volumen del lquido en el tanque V Serpentn: Longitud l Material Acero 40 peso Capacidad calorfica CPS Dimetro externo Coeficiente de transferencia de calor U Calor de saturacin latente Dato 68 lb/pie3 0.8 BTU/ lb-F 120 pie3 205 pie 10.8 lb/pie 12 BTU/ lb-F 4.5 2.1 BTU / min-pie2-F 966 BTU / lb
Tabla 3.3. Datos del proceso del tanque calentador. Supuestos. Las prdidas de calor son despreciables. La mezcla es perfecta. Las propiedades fsicas del lquido y el volumen dentro del tanque son constantes. La temperatura del flujo de proceso es constante. Modelo Matemtico. a. Balance de masa. Como el nivel en el tanque es constante, entonces el flujo de proceso de entrada es igual al flujo de proceso de salida, por tanto el balance de masa es nulo. b. Balance de energa.
54
i.
Donde: A es el rea de transferencia de calor en pie2 TS(t) es la temperatura de condensacin del vapor F Para el lquido contenido en el tanque, el trmino acumulado CV es igual a CP. ii. Serpentn. CM dTS (t ) = (t ) UA[TS (t ) T (t )] dt (3.12)
Donde: (t) es el flujo msico de vapor en lb / min CM es la capacidad calrica del metal en BTU / F Las ecuaciones (3.11) y (3.12), representan el modelo matemtico del proceso, asumiendo la temperatura del flujo de proceso constante, quedando como incgnitas: T(t), TS(t) y (t). Usando los datos de la tabla 3.3, estas ecuaciones se escriben como:
6528 (BTU / F )
265,68(BTU / F )
55
Con estas ecuaciones se realizan diagramas de bloques en Simulink -Matlab. En la Fig. 3.13 se observa el esquema usando un bloque Subsystem.
Scope
Ts
No Lineal Step2
Scope1
Fig. 3.13. Esquema del sistema calentador no lineal. En este bloque se definen las ecuaciones tal como se muestra en la Fig. 3.14., note adems los bloques de entrada: Step y Constant, los cuales simulan una entrada escaln y una entrada constante respectivamente. En las salidas se encuentran bloques Scope, los que permiten visualizar la forma de las seales de salida del sistema. Las ecuaciones estn elaboradas con bloques de la librera Simulink, los valores calculados se introducen como constantes y se utilizan integradores para obtener las temperaturas de salida y del vapor del serpentn.
Linealizacin del modelo. Funcin de transferencia. El modelo no es lineal, por tanto se puede linealizar. Para ello se utiliza el punto de operacin con variables de desviacin, las cuales son:
56
(t ) = T (t ) T S (t ) = TS (t ) TS
-C1 f 2 Ti Subtract 1/V Product
1 xo s Integrator
1 T
-CUA/VRhoCp Product1
Subtract1
Subtract2
2 Ts
Fig. 3.14. Diagrama de bloques del modelo no lineal del calentador (Simulink). Para definir completamente el punto de operacin se requiere calcular el flujo msico del vapor, , y la temperatura del mismo, TS . Como los clculos se realizan en estado estable las derivadas se anulan. Para TS usamos la ecuacin 3.11 y para el la ecuacin 3.12: TS =
CP f (T Ti ) + T = 230,45 F UA
57
VC p
f ,T ,TS
a2 =
g TS g T
= UA
f ,T ,TS
a3 =
f ,T ,TS
= [UA + C P f (t )] f ,T ,T = (UA + CP f )
S
Sustituimos los coeficientes y tenemos la ecuacin del tanque linealizada: VC p d(t ) = CP (Ti T )F (t ) + UAS (t ) (UA + C P f )(t ) dt (3.14)
Para el serpentn partimos de la ecuacin (3.12): CM dTS (t ) = f [ (t ),TS (t ),T (s )] = (t ) UA[TS (t ) T (t )] dt = b1W (t ) + b2 S (t ) + b3 (t )
b3 =
h T
= UA
,T ,TS
58
CM
dS (t ) = W (t ) UAS (t ) + UA(t ) dt
(3.15)
Las ecuaciones (3.14) y (3.15), representan el modelo del sistema linealizado alrededor del punto de operacin [T ,TS , f , ] . Reagrupando trminos podemos reescribirlas como:
d(t ) + (t ) = K F F (t ) + K S S (t ) dt dS (t ) + S (t ) = K W W (t ) + (t ) dt
C
Donde:
= C =
V C P UA + f CP CM UA
KF = KW
CP (Ti T ) UA + f CP = UA
KS =
UA UA + f CP
De las ltimas ecuaciones se toma transformada de Laplace y se tiene el modelo del sistema lineal en el dominio de s. (s ) = K KF F (s ) + S S (s ) s + 1 s + 1 KW 1 W (s ) + (s ) Cs + 1 Cs + 1 (3.16)
S (s ) =
Las ecuaciones (3.16) facilitan la construccin de un diagrama de bloques para el sistema (ver Fig. 3.15). Con los datos de la Tabla 3.3, se calculan las constantes de tiempo y las ganancias respectivas:
59
KF=2,06 Fmin/pie3
KS=0,383
KW=1,91 Fmin/lb
=4,93 min
F(s)
C=0.52 min
KF s + 1
W(s)
KW Cs + 1
TS (s )
KS s + 1
+ +
T(s)
1 Cs + 1
Fig. 3.15. Diagrama de bloques del sistema calentador linealizado. Modelo en Variables de Estados. Otra forma de linealizar el modelo es usando variables de estados, para ello se utiliza el punto de operacin y se calculan las matrices jacobianas: A, B y C (ver captulo 1, seccin 1.4), en las ecuaciones (3.11) y (3.12). En el presente ejemplo definiremos: Variables de estados: x1(t)=(t) y x2(t)=S(t). Entradas: u1(t)=F(t) y u2(t)=W(t). Salidas: y1(t)=(t) y y2(t)=S(t). Realizando los clculos respectivos y reacomodando las ecuaciones (3.11) y (3.12) se tiene:
60
dTS (t ) = 3,6359( F / lb ) (t ) 1,9098(1 / min)[TS (t ) T (t )] dt = g 2 [ x1(t ), x 2 (t ), u1(t ), u 2 (t )] A partir de estas expresiones se obtienen los valores de A y B. a11 = a12 = g1(t ) = 0,0083f (t ) 0.0777 T ,T ,f , = 0.2022 S x1(t ) g1(t ) = 0,0777 x 2 (t ) a21 = g 2 (t ) = 1,9089 x1(t ) a22 =
(3.17)
g 2 (t ) = 1,9089 x 2 (t )
b11 = b12 =
g1(t ) = 0,0083[100 T (t )] = 0,4150 T ,TS ,f , u1(t ) g1(t ) =0 u 2 (t ) b21 = g 2 (t ) =0 u1(t ) b22 = g 2 (t ) = 3,6359 u 2 (t )
La matriz C se toma de la definicin de las salidas. 0 u1(t ) x1(t ) 0,2022 0,0777 x1(t ) 0,4150 x (t ) = 1,9089 1,9089 x (t ) + 0 3,6359 u 2 (t ) 2 2 y 1(t ) 1 0 x1(t ) y (t ) = 0 1 x (t ) 2 2
(3.18)
El sistema en representacin de variables de estado queda definido como se muestra en (3.18), debe tenerse en cuenta que se trabaja en variables de desviacin. En la Fig. 3.16 se puede apreciar la realizacin en MatlabSimulink. El bloque representa un subsistema, en el cual se programan las ecuaciones lineales en variables de estado.
61
Fl
Tl
Flujo de Proceso L
Fig. 3.16. Bloque de representacin del modelo lineal, para el tanque calentador La programacin del modelo linealizado se observa en la Fig. 3.17 y la misma est hecha en bloques de Matlab-Simulink. Para las entradas se utiliza en multiplexor y para las salidas un demultiplexor, representados por la barra negra, el bloque central se utiliza para definir las matrices correspondientes al modelo. Los bloques de sumas en las entradas y las salidas permiten colocar las entradas en variables de desviacin y las salidas en variables fsicas.
15 Constant2
150 Constant 1 Tl
1 Fl 2 Wl
Add2
Add
Add1
2 Tsl
Fig. 3.17. Realizacin del modelo en variables de estado del tanque calentador Simulacin.
62
Para las simulaciones se usan los modelos desarrollados en MatlabSimulink, con la configuracin mostrada en la Fig. 3.18 con la finalidad de comparar las respuestas de ambos sistemas ante perturbaciones en el flujo de entrada.
flujo To W o rkspace5
100
Signal 1
Ti Ts
Flujo d e Pro ceso Mo d elo d el Serp entin No Lin eal Temp eratura d e Salid a d el Flujo
Flujo d e Vapor
Fl
Tl
Fig. 3.18 Esquema de simulacin simultnea del modelo no lineal y lineal del tanque calentador Para simular los cambios en el flujo de entrada se utiliza el bloque Signal Builder, con este se realizan cambios pequeos y grandes alrededor del punto de equilibrio y en la salida de ambos sistemas se observan sus respuestas. En la Fig. 3.20, se presentan las simulaciones de las salidas de temperatura del producto y del vapor de agua del serpentn al someter a los modelos a la entrada mostrada en la Fig. 3.19. Se puede observar como el modelo lineal responde de forma muy similar al sistema no lineal
63
en aquellos casos donde el flujo de entrada tiene pequeos cambios a partir del punto de equilibrio, f=15 pie3/min.
22 21 20 Flujo de entrada (pie3/min) 19 18 17 16 15 14 13 12 11 10 0 50 100 150 200 250 300 tiempo (seg) 350 400 450 500
Fig. 3.19. Flujo de proceso de entrada al tanque calentador. Sin embargo para cambios en la entrada alejados del equilibrio el sistema linealizado no logra seguir al modelo no lineal. Esto confirma que el sistema lineal es vlido solo para el modelo de pequea seal, es decir cuando el sistema se mantiene cercano al punto de equilibrio. La Tabla 3.4a y 3.4b muestran los valores de las temperaturas de salida de ambos modelos y el error que presentan las mismas (Error = T.Llineal T. No Lineal). Al igual que el ejemplo anterior este sistema puede simularse haciendo uso de los comandos de Matlab, la Fig. 3.21 presenta estos comandos y los resultados. Las grficas no se presentan, ya que tienen el mismo comportamiento que la simulacin por diagramas de bloques desde Simulink.
64
165
160
150
145
140
135
N o L in e a l L in e a l
130 0
50
100
150
200
250 t ie m p o (s e g )
300
350
400
450
500
(a)
245
240
230
225
220
215
N o Lineal Line al
210 0
50
100
150
20 0
300
350
400
450
500
(b) Fig. 3.20. a. Temperatura de flujo de proceso del modelo no lineal y lineal. b. Temperatura del vapor del serpentn del modelo no lineal y lineal.
65
Error (F)
20 15,1 14,8 12
Tabla 3.4a. Valores de las temperaturas del producto del sistema no lineal y del sistema lineal para cambios en la entrada.
Flujo entrada (pie3/min) T. No Lineal Producto (F) T. Lineal Producto (F) Error (F)
20 15,1 14,8 12
Tabla 3.4b. Valores de las temperaturas del vapor del serpentn del sistema no lineal y del sistema lineal para cambios en la entrada. Para obtener la respuesta del modelo no lineal se emplea el comando ode23s (una frmula modificada de Rosenbrock de segundo orden), este comando integra las ecuaciones diferenciales desde un tiempo incial hasta una tiempo final, para un vector de condiciones iniciales dado. Primero se define una funcin de Matlab, function, en donde se realiza un arreglo que contiene las ecuaciones diferenciales del sistema no lineal, ecuaciones (3.11) y (3.12); esta funcin se guarda como un archivo .m; en este caso se le ha dado el nombre de nlcal.m.
66
Luego desde la ventana de de trabajo de Matlab, se puede ejecutar el comando ode23s, que resuelve las ecuaciones diferenciales, los resultados de este comando son guardados en una arreglo de tiempo, t, y respuesta, y que se utilizan para construir las grficas. En la Fig. 3.21 a. se muestran las instrucciones mencionadas. Para el sistema linealizado se utiliza la representacin en variables de estado, ecuaciones (3.18). Para obtener la respuesta del sistema a una entrada escaln que representa el flujo de proceso, se ejecuta el comando lsim, esto se aprecia en la Fig. 3.21 b. En este caso se debe generar una entrada en su forma de variable de desviacin, es decir, si el flujo normal de proceso es de 15 pie3 / min y aumenta repentinamente a 15.1 pie3 / min, la entrada viene dada por un escaln de 0.1 pie3 / min.
Archivo nlcal.m % Definirfuncin nlcal function dt=nlcal(t,y) % Definir condicionesiniciales. F=15.1; %Flujo de proceso Ti=100; %Temperaturainicial del flujo de proceso W=42.24; % Flujo msicodel vapor de agua %Definirvectorcolumnapara ec. diferenciales dt=zeros(2,1); %Temperaturade flujo de proceso dt(1)=0.0083*F*(Ti-y(1))+(0.0777*(y(2)-y(1))); % Temperaturadel vapor de agua dt(2)=3.6359*W-(1.9089*(y(2)-y(1))); Comandosdesde Work-space de Matlab Resolver ecuaciones diferenciales, para un tiempo desde 0 hasta 100 seg dadas las condicionesiniciales. >>[t,y]=ode23s('nlcal',[0 100],[150 230.45]); Archivo tanque_calentadorm . % Definirlas matricesdel sistema A=[-0.2022 0.077;1.9089 -1.9089]; B=[-0.4150 0;0 3.6359]; C=[1 0;0 1]; D=[0 0;0 0]; %Construirel modeloen variablesde estados tanquec_ss=ss(A,B,C,D); %Simularrespuestaal escaln diferentesa la unidad tve=0:0.4:80; for i=1:201 u1(i)=0.1; end %Generar el vector de entrada del sistema, en variables de desviacin tve=0:0.4:80; [u]=[u1;0*tve]; %Simularla respuestadel sistemaen Variablesde Estado [yve,tiempo,x]=lsim(tanquec_ss,u,tve ); %Colocarlas salidasen variables fsicas [yt]=[150+yve(:,1) 230.45+yve(:,2)];
(a)
(b)
Fig 3.21. a. Obtencin de la respuesta del modelo no lineal del tanque calentador, para un flujo de entrada de 15.1 pie3/min. b. Obtencin de la respuesta del modelo lineal del tanque calentador en variables de estado, para un flujo de entrada de 15.1 pie3/min.
67
Finalmente las salidas deben transformarse en variables fsicas, ya que estn en variables de desviacin, para esto se les suma a cada una el estado inicial, para la temperatura del flujo de proceso, se suma a y 1(t) 150 F y para la temperatura del vapor de agua, se suma a y2(t) 230.45 F.
150
Convertirel modelode variablesde estado a fu ncin de transferencia >>tanquec_tf=tf(tanquec_ss) Transferfunction from in put1 to output... -0.415 s - 0.7922 #1: ---------------------------s^2 + 2.111 s + 0.239 -0.7922 #2: ---------------------------s^2 + 2.111 s + 0.239 Transferfunction from in put2 to output... 0.28 #1: --------------------s^2 + 2.111 s + 0.239 3.636 s + 0.7352 #2: --------------------s^2 + 2.111 s + 0.239 Graficarlas temperaturasdel proceso y del vaporde agu a para el sistema no lineal y el sistemalineal en variablesde estado >> plot(t,y(:,1),tiempo,yt(:,1)) >> plot(t,y(:,2),tiempo,yt(:,2))
1 4 9 .95
N o l in e a l L in e a l
1 4 9 .9
1 4 9 .85
1 4 9 .8
1 4 9 .75
1 4 9 .7
1 4 9 .65 0
23 0.4 5
10
20
30
40 50 t ie m p o ( s e g )
60
70
80
230 .4
No linea l Line al
23 0.3 5
230 .3
23 0.2 5
230 .2
23 0.1 5
(a)
230 .1 0
10
20
30
40 50 tiem po (s eg)
60
70
80
(b) Fig 3.22. a. Conversin del modelo de variables de estado a funcin de transferencia. b. Respuesta de los modelos lineal y no lineal del tanque calentador, para un flujo de entrada de 15.1 pie3/min.
68
Se debe notar que las simulaciones se hacen para entradas de flujo de proceso tipo escaln de diferentes amplitudes, una a la vez, para los programas presentados. Las grficas comparativas de los mtodos de solucin se obtienen con los comandos mostrados en la Fig. 3.22.a, aqu tambin se muestra el comando para transformar la representacin en variables de estado del sistema en forma de funcin de transferencia, el resultado de esto es una matriz de funciones de transferencia debido a que el sistema posee dos entradas y dos salidas. En la fig. 3.22.b se encuentra la grfica obtenida de la simulacin para un flujo de proceso de 15.1 pie3/min.
3.4. Modelo y simulacin de un motor DC controlado por armadura. La Fig. 3.23 muestra el circuito equivalente de un motor DC controlado por armadura. El control se implementa manteniendo constante la alimentacin del campo y manipulando, la tensin de armadura.[5]
Ra
La Lf
+
ea(t) ia(t)
+
em(t)
if(t)
m(t)
Vf
Tm(t), J, B, m(t)
69
Datos del Proceso. Parmetro Resistencia de armadura (Ra) Inductancia de armadura (La) Constante de fuerza contraelectromotriz generada (KC) Constante del par motor (KT) Constante torsional resistiva (KR) Coeficiente de friccin viscosa (B) Momento de inercia (J) Dato 0,2 5 mH 0,055 V.s/rad 6x10-5 N.m/A 0,01 N.m/rad 0,005 N.m.s/rad 0,0044 N.m.s2/rad
Tabla 3.5. Datos del motor DC controlado por armadura. Supuestos. La corriente del campo es constante, por lo tanto el flujo magntico es constante. El torque est dado por una relacin lineal con la corriente de armadura. Modelo Matemtico. a. Balances de energa.
70
b.
Ecuaciones adicionales.
Tanto el torque como la fuerza contraelectromotriz pueden escribirse e funcin de la velocidad angular m(t), a travs de una constante de proporcionalidad: Tm (t ) = KT i a (t ) em (t ) = K C m (t ) (3.21) (3.22)
m (t ) =
d ( t ) dt
(3.23)
Las ecuaciones (3.19) y (3.20) representan el modelo del motor DC controlado por armadura. Modelo en Variables de Estado. Como el sistema es lineal seleccionaremos las variables de entrada, salida y de estado directamente como sigue: Entrada: u(t) = ea(t) Estados: x1(t) = m(t); Salida: y(t) = m(t) Las ecuaciones (3.19), (3.20), (3.21) y (3.22) se combinan apropiadamente para escribir el modelo como dos ecuaciones diferenciales con respecto a las variables de estado y obtener las ecuaciones de estados respectivas por simple inspeccin, tambin pueden obtenerse aplicando manera formal (vea captulo 1, seccin 1.4). el Jacobiano de x2(t) = m(t); x3(t) = ia(t)
71
di a (t ) R K 1 = a i a (t ) C m ( t ) + ea dt La La La d 2 m (t ) K B d m (t ) K R = m (t ) + T i a ( t ) 2 J dt J J dt
(3.24)
(3.25)
De las ecuaciones (3.23), (3.24) y (3.25), las matrices A, B, C y D y el vector de estados sern: x1(t ) m (t ) x(t ) = x 2 (t ) = m (t ) x 3 (t ) i a (t ) A = 0 KT J K C La
Vector de estados:
Matriz de estados:
0 KR J 0
1 B J KC La
Matriz de entrada:
el
espacio
de
estados
sustituyendo
los
72
Tal como se present en el ejemplo 3.2, los modelos pueden elaborarse en Simulink o a travs de comandos de Matlab, siendo el sistema lineal, puede seleccionarse cualquiera de los dos modelos, tanto el de ecuaciones diferenciales como el de variables de estados.
Archivo motor_dc_armadura .m s=tf('s'); %Datos del motor La=0.005;Ra=0.2; kc=0.055 ;kt=0.00006 ;kr=0.01; Bc=0.005;J=0.0044 ; %Definir las matrices del sistema A=[0 1 0;-kr/J -Bc/J kt/J;0 -kc/La -Ra/La] ; B=[0;0;1/La]; C=[1 0 0]; D=0; %Construir el modelo en varibles de estados motordc_ss =ss(A,B,C,D) %Encontrar los polos del sistema polos= eig(A) a= x1 x2 x3 x1 0 1 0 x2 -2.273 -1.136 0.01364 x3 0 -11 -40 b= u1 x1 0 x2 0 x3 200 c= x1 x2 x3 y1 1 0 0 d= u1 y1 0 Continuous -time model . polos = -0.5701 + 1.3957 i -0.5701 - 1.3957 i -39.9961 Transfer function : -7.105e-015 s^2 + 1.492e-013 s + 2.727 ---------------------------------------------------s^3 + 41.14 s^2 + 47.88 s + 90.91
%Convertir el modelo de variables de estado a %funcin de transferencia [motordc_num,motrodc_den ]=ss2tf(A,B,C,D) ; motordc_tf =tf(motordc_num,motrodc_den )
(a)
(b)
Fig. 3.24 a. Comandos para obtener el modelo en variables de estado y en F. T. para el motor DC controlado por armadura. b.Respuesta a los comandos del archivo motor_dc_armadura.
73
En la Fig 3.24 se presenta la representacin en el espacio de estados y en funcin de transferencia del sistema mediante el uso de comandos; para esto se ha generado un archivo .m: motor_dc_armadura.m. Adems podemos observar los polos del sistema, calculados a partir de la matriz de estados A. Simulacin. En este caso se procede a realizar las simulaciones desde comandos de Matlab, y se grafica la respuesta del sistema ante una entrada escaln unitario (ver Fig. 3.25).
Simular respuesta al escaln unitario t=0:0.1:25; [y,tiempo,x]=step(motordc_ss,t); Graficar las respuestas al escaln unitario para los tres estados plot(tiempo,x(:,1)) Posiscin angular plot(tiempo,x(:,2)) Velocidad angular plot(tiempo,x(:,3)) Corriente de armadura
Fig. 3.25. Simular y graficar la repuesta y los estados ante un escaln unitario del motor DC controlado por armadura. Se grafican los estados, tome en cuenta que el estado x 1 corresponde a la salida del sistema (ver Fig. 3.26 a y b). La salida del sistema no logra alcanzar la referencia encontrndose un gran error en rgimen permanente. Los parmetros ms resaltantes de la respuesta transitoria se muestran en la siguiente tabla: Sistema Motor DC %Mp 27.6 tr (seg) 0.957 ts(seg) 7.01 eSS 0.97
Tabla 3.6. Parmetros de respuesta temporal para motor controlado por armadura.
74
0.04 0.035 0.03 Posicin angular (rad) 0.025 0.02 0.015 0.01 0.005 0
10 tiempo(seg)
15
20
25
(a)
0.03
6
0.025
5
-0.005
0
-0.01 0
0.5
1.5
10
20
25
3.5
(b) Fig. 3.26 a. Respuesta al escaln unitario del motor DC controlado por armadura. b. Grficas de estados x2 y x3 del motor DC. Para lo velocidad angular la respuesta requiere un esfuerzo inicial, que aunque aparece con un pico elevado, en amplitud es pequeo y vemos como
75
la corriente de armadura se mantiene en 5A. Es evidente que el sistema requiere un controlador para lograr llevar la posicin angular al estado deseado.
3.5 Ejercicios Propuestos 3.5.1. El modelo para el reactor qumico es mostrado en la siguientes ecuaciones: V dc A = F (c Ain c A ) Vke E / RT c A dt dT = F c p (Tin T ) + Vke E / RT c A H + Q dt
Vc p
El modelo linealizado, relaciona los cambios en el flujo del reactor con los cambios en la concentracin del componente A, esta relacin esta dada por:
Parmetro K0 R E Tc Uh0Ah0
Tabla 3.7. Variables del Reactor. Ejercicio 3.5.1 Realice la representacin en variable de estado.
76
3.5.2. Considere la red mostrada en la Fig. 3.27, con las siguientes condiciones iniciales: iL(0) = Io y vc(0) = Vo. Determine las ecuaciones de estado de la red. I l(t) S L V(t) i(t) Vc(t) + C -
R Fig. 3.27. Red RLC. Ejercicio 3.5.2 3.5.3. Considere el sistema mecnico mostrado en la Fig. 3.28 con las siguientes condiciones iniciales: y(0)=Y0, y(1)(0)=U0, donde Y0 es la posicin inicial y U0 es la velocidad inicial de la masa. Determine las ecuaciones de estado del sistema.
B y(t) f(t)
77
Fig. 3.28. Diagrama resorte y masa. Ejercicio 3.5.3 3.5.4. Determine las ecuaciones de estado del sistema mostrado en la Fig. 3.29. Los bloques mostrados a la derecha o abajo del sistema definen las entradas, las variables de estado y las salidas del sistema.
Z2 R2 R4 C1 R5 C2
Z1 R1
R6
R3 Ei (s)
E(s)
E0 (s)
3.5.5. Un pndulo montado sobre la carcaza de un carro con motor se muestra en la Fig. 3.30. Asuma que la entrada al sistema es la fuerza de control u aplicada a la carcaza y las dos salidas son el ngulo que se forma con el eje vertical y la posicin x de la carrocera. Obtener la representacin del sistema en espacio de estado.
78
y x
lsen
m lcos 0 u P
M
mg
El siguiente esquema (Fig. 3.31) pertenece al motor de corriente continua con excitacin independiente.
LA RA Ua + LE RE Ue e +
Tem b
Tc
Donde:
Se pide:
79
como variables de estado la corriente de armadura Ia, la corriente de excitacin Ie y la velocidad angular .
b) A partir de los siguientes datos (Tabla 3.8):
U
1
L
5
J
1
b
1
Tabla 3.8. Datos del motor. Ejercicio 3.5.6. Hallar el punto de operacin ( I a, Ie, ) , suponiendo que T c = 0 (motor en vaco) y U a = Uan , U e = Uen . c) Linealizar el modelo matemtico alrededor del punto de operacin. d) Simular en MATLAB ambos modelos (lineal y no lineal) con escalones de tensin de armadura y excitacin nominales. Justificar lo observado.
3.5.7.
Realice el modelo matemtico de los tanques interconectados como se muestra en la Fig. 3.32. Linealice alrededor del punto de operacin.
qi
h1
h2 q12 q0
80
Simule el sistema linealizado en SIMULINK use el diagrama de la figura tomando A = 10, As = 1, g = 9.8 y Q = 2. Realizar la dinmica de los estados h1 y h2 cuando la entrada es un valor constante de perturbacin, qi = 0.5.