CAPÍTULO III. Modelos dinámicos rev_marly
-
Upload
patricia-mendoza -
Category
Documents
-
view
60 -
download
1
Transcript of CAPÍTULO III. Modelos dinámicos rev_marly
CAPÍTULO 3
SIMULACIÓN Y ANÁLISIS DE MODELOS DE SISTEMAS FÍSICOS
La simulación de un sistema puede definirse como la práctica de construir
modelos para representar los sistemas del mundo real, o de sistemas futuros
hipotéticos, y de la experimentación con estos modelos para explicar la
conducta del sistema, mejorar el desempeño de este o diseñar nuevos
sistemas con desempeños deseables. (Khoshnevis, 1994).
El proceso de simulación puede realizarse en una computadora a través 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 características del sistema real.
En los ejemplos que se presentan se desarrollan modelos matemáticos 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 simulación de sistema mecánico.
En la Fig. 3.1 se muestra un sistema mecánico compuesto por dos masas,
M1 y M2, las cuales están unidas a través de un resorte flexible, cuya
35
constante es k. Se debe considerar que existe una fuerza de fricción entre
las masas y la superficie, b1 y b2.[17]
M2
q(t)
b2
M1F(t)
b1
y(t)
k
Fig. 3.1. Sistema mecánico de dos masas con resorte flexible.
Datos del Proceso.
Parámetro Dato
Masa 1 (M1) 0.02 KgFricción de masa 1 (b1) 0.410 Kg s/mFlexión del resorte (k) 10 < k < Masa 2 (M2) 0.0005 KgFricción de masa 2 (b2) 0.0041 kg s/m
Tabla 3.1. Datos de proceso para sistema de dos masas.
Modelo Matemático.
a. Balance de energía.
A continuación se plantean las ecuaciones diferenciales que modelan el
sistema, para ello hacemos el balance de energía.
Para plantear el modelo deben obtenerse las ecuaciones diferenciales de
cada masa:
(3.1)
36
(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
v20.0041
b2
0.41
b1
Subtract3
Subtract2
Subtract1
Subtract
Product4
Product3
Product2
Product1
0.0005
M2
0.02
M1
1s
Integrator3
1s
Integrator2
1s
Integrator1
1s
Integrator
Divide4
Divide3
Divide2
Divide1
Divide
2
k
1
Fq
y
dq/dt
dy/dt
Fig. 3.2. Diagrama de bloques en Simulink para la realización 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 través de un bloque Subsystem, el esquema mostrado en la Fig.
3.2, está desarrollado en este tipo de bloque.
37
Para realizar las ecuaciones se despejan las derivadas de mayor orden de
las variables q e y, de (3.1) y (3.2).
A partir de las expresiones anteriores se arma el diagrama insertando los
bloques de adición, sustracción, multiplicación y división que corresponda
según la ecuación, los cuales se encuentran en la ventana Simulink Library
Browser. Para calcular y q(t) se utilizan bloques de integración
(Intergrator). Se usan bloques Constant para introducir los datos del proceso,
como masas y constantes de fricción. Las entradas y salidas del sistema
están 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 M2, identificada en el
diagrama de la Fig. 3.2 como v2.
Modelo de Espacio de Estados.
La representación 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 elaboración del
diagrama de bloques de las ecuaciones diferenciales, en forma matricial.
Primero se escogen las variables de estado como: x1 = q(t), x2 = y(t), x4 =
dq(t)/dt y x3= dy(t)/dt.
Se rescriben (3.1) y (3.2) en función de las variables de estado:
38
(3.3)
En función de estas definiciones se obtiene:
Vector de estados:
Matriz de estados:
Matriz de entrada:
Entrada: u(t)=F(t)
Matriz de salida:
Finalmente tenemos la representación del sistema en el espacio de estado,
expresada en (3.4), donde se han sustituidos los datos del proceso para
k=10.
39
(3.4)
Esta representación 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 través de una
bloque Subsystem, y en la segunda a través de comandos.
1
v2ss
x' = Ax+Bu
y = Cx+Du
State-Space
1
Fss
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
configuración de las matrices del sistema en el bloque State-Space. Los
40
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 parámetrosk=1000;m1=0.02;m2=0.0005;b1=0.410;b2=0.0041;
% Calcular las matrices del sistemaA=[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 estadosdosmasas=ss(A,B,C,D)
Archivo dos_masas.mContinuación
%Convertir el modelo de variables de estado afunción de transferenciadosmasas_tf=tf(dosmasas)
%Expresar la función de transferencia en laforma de ganancia, polos y cerosdosmasas_tf1=zpk(dosmasas_tf)
%Simular respuesta al escalónt=0:0.001:1.5;[y,tiempo,x]=step(dosmasas,t);
%Graficar la respuestas al escalón unitarioplot(tiempo,y)
(a) (b)
Fig. 3.4. a. Comandos para realización de modelo en variables de estado del
sistema de dos masas.
b. Simulación y gráfica de repuesta.
Simulación.
La simulación del proceso consiste en someter al modelo a una entrada
escalón 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 gráficas se realizan para tres valores de la constante de flexión del
resorte, k: 10, 100 y 1000. (Fig. 3.5).
41
Mientras mayor sea k el resorte será más rígido; para evitar oscilaciones en
la velocidad de la masa M2 se pueden tomar valores mayores a k=100.
0 0.5 1 1.50
0.5
1
1.5
2
2.5
3
tiempo (seg)
Vel
ocid
ad M
2 (m
/seg
)
Respuesta para k=10
0 0.5 1 1.50
0.5
1
1.5
2
2.5
Vel
ocid
ad M
2 (m
/seg
)
tiempo (seg)
Rspuesta para k=100
(a) (b)
0 0.5 1 1.50
0.5
1
1.5
2
2.5
tiempo (seg)
Vel
ocid
ad M
2 (m
/seg
)
Respuesta para k=1000
(c)Fig. 3.5. Respuesta al escalón unitario del sistema mecánico de dos masas.
a. k=10. b. k=100. c. k=1000.
Como el sistema es lineal solo se presentan los resultados de la simulación a
través de comandos, ya que para los esquemas en Simulink los resultados
son iguales de las simulaciones los mismos.
42
En la lista de comandos también de convierte el modelo en variables de
estado a su respectiva función de transferencia, para k=1000 se obtuvo el
siguiente resultado, tanto en su forma polinómica 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 simulación de un proceso de calentamiento en cascada.
Considere una serie de tres tanques donde un líquido 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 inter-
actuante porque la temperatura del primer tanque influye en el segundo, pero
este último no influye en el primero.[2]
Datos del Proceso.
Parámetro Dato
Flujo másico del líquido entrante (ω) 250 lb/min
Densidad del líquido entrante (ρ) 50 lb/pie3
Calor específico del líquido entrante (CP) 1.3 BTU/lb-ºF
Volumen de cada tanque (V) 10 pie3
Temperatura de alimentación (ti) 70 ºF
Tabla 3.2. Datos de proceso para los tanques en serie.
43
Ti(t)
T1(t)
T2(t)
T3(t)
Fig. 3.6. Sistema de tres tanques no interactuantes
Supuestos.
Las pérdidas de calor al exterior de los tanques son despreciables.
El flujo, la densidad y el calor específico del líquido entrante son
constantes.
La mezcla es ideal y las pérdidas de calor son cero.
Modelo Matemático.
a. Balance de energía.
1er Tanque:
(3.5)
(3.6)
44
Donde .
2do Tanque:
(3.7)
3er Tanque:
(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 Matlab-
Simulink, tal como se muestra en la Fig. 3.7.a, a través del bloque
Subsystem, el cual internamente contiene la realización de las
ecuaciones diferenciales en bloques (ver Fig. 3.7.b). Los bloques
adicionales se utilizan para graficar (Scope) y para enviar las señales de
salida y tiempo al espacio de trabajo de Matlab para tener la posibilidad
de graficar desde la ventana de comandos.
tiempoTo Workspace4
TTo Workspace
Temperatura entrada
Temperatura de Salida del Flujo
Ti T
Modelo de tanques en serie
Clock
Fig. 3.7a. Esquema de simulación del sistema tanques en serie (Simulink)
45
1
T
0.5
tau
T2
To Workspace1
T1
To Workspace
0
Ti(o)
Subtract2
Subtract1
Subtract
Product2
Product1
Product
1sxo
Integrator2
1sxo
Integrator1
1sxo
Integrator
1
Ti
Fig. 3.7b. Diagrama de bloques del modelo en ecuaciones diferenciales
de tanques en serie. (Simulink).
Si expresamos (3.7) y (3.8) en función de la temperatura inicial, se
observa que las dinámicas del segundo y el tercer tanque con respecto a
esta son de segundo y tercer orden respectivamente (ecuaciones (3.9) y
(3.10)).
(3.9)
(3.10)
Modelo de Espacio de Estados.
La representación del modelo del proceso de calentamiento en la forma de
espacio de estados, se construye escribiendo las ecuaciones (3.6), (3.7) y
46
(3.9) en forma explícita con respecto a las derivadas de cada una de las
variables de estado en forma matricial.
Vector de estados:
Matriz de estados:
Matriz de entrada:
Entrada: u(t)=Ti(t)
Matriz de salida:
Sustituyendo por los valores de , la representación queda entonces como
sigue:
(3.10)
47
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,
además se tienen dos bloques adicionales: uno para la entrada (temperatura
inicial,Ti) y otro para la salida (temperatura de tanque 3, T).
1
T
x' = Ax+Buy = Cx+Du
State-Space
1
Ti
Fig. 3.8 Modelo en variables de estado de tanques en series (Simulink).
Simulación.
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 gráficas Scope. Los tiempos y parámetros de
simulación 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 envían las variables de tiempo y salida en forma general e
internamente, en cada bloque Subsystem se envían las señales 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 función Data Impot/Export del menú
Configuration Parameters, para esto se seleccionan las variables de estados
xout y tout. (ver Fig 3.9.b).
48
tiempo
To Workspace4
T
To Workspace
Temperatura de Salida del Flujo
Ti T
Modelo de tanques en serie con ecuaciones diferenciales
Ti T
Modelo de tanques en seriecon Variables de Estados
Escalón de 70
Clock
(a)
(b)
Fig. 3.9. a Esquema de simulación conjunta de los modelos del sistema tanques en serie.b. Ventana de configuración 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 representación en variables de estado, los resultados de las
simulaciones son idénticos. En la ventana de trabajo de Matlab se grafican
las tres temperaturas con la función plot, haciendo uso de las variables xout
y tout, de la realización en variables de estado.
49
0 5 10 15 20 250
10
20
30
40
50
60
70
tiempo (seg)
Tem
pera
tura
(ºF
)
Temp. T1
Temp. T2
Temp. T3
(a)
0 5 10 15 20 25 30 35 40 45-10
0
10
20
30
40
50
60
70
80
90
Tem
pera
tura
(ºF
)
timepo (seg)
T1
T2
T3
(b)
Fig. 3.10 a. Temperaturas de salidas de los tanques para un escalón 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
escalón y una rampa respectivamente. Es de hacer notar el retardo de las
50
señales; la T3 presenta el mayor retardo, esto debido a su propia función
retardada más el retardo de los tanques anteriores.
Estas simulaciones también 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 x3x1 -0.5 0 0x2 0.5 -0.5 0x3 0 0.5 -0.5
b =u1
x1 0.5x2 0x3 0
c =x1 x2 x3
y1 0 0 1d =
u1y1 0
Convertir el modelo de variables de estado a función detransferencia>> tanques_tf=tf(tanques_ss)
0.125-----------------------------------------s^3 + 1.5 s^2 + 0.75 s + 0.125
Simular respuesta al escalón>> t=0:0.1:25;>> [y,tiempo,x]=step(tanques_ss,t);>> [ys]=[70*y]; [xs]=[70*x];
Graficar las respuestas al escalón de amplitud 70 ºFpara los tres estadosplot(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 2ºF/segpara los tres estados>> plot(tiempo,x)
Graficar la salida del sistema a la entrada escalón unitario>> step(tanques_ss)
(a) (b)Fig 3.11. a. Construir el modelo en espacio de estado y conversión a función
de transferencia. b. Simular y graficar ante el escalón y la rampa.
Los comandos mostrados han sido desarrollados para el modelo en el
espacio de estado, en la Fig. 3.11a se realiza además la conversión al
modelo de función de transferencia.
51
3.3. Modelo y simulación 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 concentración 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
través de vapor condensado que circula por un serpentín.[7]
Fig. 3.12 Sistema de control de temperatura de un tanque calentador.
Condiciones de estado estable.
Flujo de proceso = 15 pie3 / min
Temperatura inicial Ti = 100 ºF
Temperatura del líquido del tanque = 150 ºF
52
Perturbaciones: cambios en el flujo de proceso
Datos del Proceso.
Parámetro Dato
Densidad del flujo de proceso ρ 68 lb/pie3
Capacidad calorífica CP 0.8 BTU/ lb-ºF
Volumen del líquido en el tanque V 120 pie3
Serpentín:
Longitud l 205 pie
Material Acero 40 peso 10.8 lb/pie
Capacidad calorífica CPS 12 BTU/ lb-ºF
Diámetro externo 4.5 “
Coeficiente de transferencia de calor U 2.1 BTU / min-pie2-ºF
Calor de saturación latente λ 966 BTU / lb
Tabla 3.3. Datos del proceso del tanque calentador.
Supuestos.
Las pérdidas de calor son despreciables.
La mezcla es perfecta.
Las propiedades físicas del líquido y el volumen dentro del tanque son
constantes.
La temperatura del flujo de proceso es constante.
Modelo Matemático.
a. Balance de masa.
53
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 energía.
i. Tanque.
(3.11)
Donde: A es el área de transferencia de calor en pie2
TS(t) es la temperatura de condensación del vapor ºF
Para el líquido contenido en el tanque, el término acumulado CV es
igual a CP.
ii. Serpentín.
(3.12)
Donde: ω(t) es el flujo másico de vapor en lb / min
CM es la capacidad calórica del metal en BTU / ºF
Las ecuaciones (3.11) y (3.12), representan el modelo matemático del
proceso, asumiendo la temperatura del flujo de proceso constante,
quedando como incógnitas: T(t), TS(t) y ω(t). Usando los datos de la tabla
3.3, estas ecuaciones se escriben como:
54
Con estas ecuaciones se realizan diagramas de bloques en Simulink -
Matlab. En la Fig. 3.13 se observa el esquema usando un bloque
Subsystem.
Step2
Step
Scope1
Scope
f
Ti
w
T
Ts
No Lineal
100
Constant
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 además los bloques de entrada: Step y Constant, los cuales
simulan una entrada escalón y una entrada constante respectivamente.
En las salidas se encuentran bloques Scope, los que permiten visualizar
la forma de las señales de salida del sistema.
Las ecuaciones están elaboradas con bloques de la librería Simulink, los
valores calculados se introducen como constantes y se utilizan
integradores para obtener las temperaturas de salida y del vapor del
serpentín.
Linealización del modelo. Función de transferencia.
55
El modelo no es lineal, por tanto se puede linealizar. Para ello se utiliza el
punto de operación con variables de desviación, las cuales son:
2
Ts
1
T
-C-
landa/Cm
-C-
UA/VRhoCp
-C-
UA/Cm
150
T(o)=150
-C-
T(o)=1
Subtract2
Subtract1
Subtract
Product3
Product2
Product1
Product
1sxo
Integrator1
1sxo
IntegratorAdd
-C-
1/V
3
w
2
Ti
1
f
Fig. 3.14. Diagrama de bloques del modelo no lineal del calentador
(Simulink).
Para definir completamente el punto de operación se requiere calcular el
flujo másico del vapor, , y la temperatura del mismo, . Como los
cálculos se realizan en estado estable las derivadas se anulan. Para
usamos la ecuación 3.11 y para el la ecuación 3.12:
56
Luego la ecuación del tanque, 3.11, se rescribe de la siguiente forma:
De aquí obtenemos:
Sustituimos los coeficientes y tenemos la ecuación del tanque
linealizada:
(3.14)
Para el serpentín partimos de la ecuación (3.12):
Calculamos los coeficientes:
Ahora se sustituyen en la ecuación del serpentín:
57
(3.15)
Las ecuaciones (3.14) y (3.15), representan el modelo del sistema
linealizado alrededor del punto de operación . Reagrupando
términos podemos reescribirlas como:
Donde:
De las últimas ecuaciones se toma transformada de Laplace y se tiene el
modelo del sistema lineal en el dominio de s.
(3.16)
Las ecuaciones (3.16) facilitan la construcción 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:
58
KF=2,06 ºFmin/pie3 KS=0,383 KW=1,91 ºFmin/lb
=4,93 min C=0.52 min
W(s) + +
F(s)
T(s))(sTS
1s
K
C
W
1s
KS
1
1
sC
1s
KF
+ +
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 operación y se calculan las matrices jacobianas:
A, B y C (ver capítulo 1, sección 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 cálculos respectivos y reacomodando las ecuaciones (3.11)
y (3.12) se tiene:
59
(3.17)
A partir de estas expresiones se obtienen los valores de A y B.
La matriz C se toma de la definición de las salidas.
(3.18)
El sistema en representación de variables de estado queda definido como
se muestra en (3.18), debe tenerse en cuenta que se trabaja en variables
de desviación. En la Fig. 3.16 se puede apreciar la realización en Matlab-
Simulink. El bloque representa un subsistema, en el cual se programan las
ecuaciones lineales en variables de estado.
60
Temperatura del Vapora la salida del serpentin L
Temperatura de Salida del Flujo L
Fl
Wl
Tl
Tsl
Modelo del SerpentinLineal en VE
Flujo de Vapor L
Flujo de Proceso L
Fig. 3.16. Bloque de representación del modelo lineal, para el tanque
calentador
La programación 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 desviación y las
salidas en variables físicas.
2
Tsl
1
Tlx' = Ax+Buy = Cx+Du
State-Space
42.24
Constant3
15
Constant2
230.45
Constant1
150
Constant
Add3
Add2
Add1
Add
2
Wl
1
Fl
Fig. 3.17. Realización del modelo en variables de estado del tanque
calentador
Simulación.
61
Para las simulaciones se usan los modelos desarrollados en Matlab-
Simulink, con la configuración 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 Workspace5
100
Temperatura inicalFlujo de proceso
Temperatura del Vapora la salida del serpentin
Temperatura de Salida del Flujo
f
Ti
w
T
Ts
Modelo del SerpentinNo Lineal
Fl
Wl
Tl
Tsl
Modelo del SerpentinLineal en VE
Flujo de Vapor
Signal 1
Flujo de Proceso
Fig. 3.18 Esquema de simulación simultánea 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 pequeños 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 serpentín 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
62
en aquellos casos donde el flujo de entrada tiene pequeños cambios a
partir del punto de equilibrio, f=15 pie3/min.
0 50 100 150 200 250 300 350 400 450 50010
11
12
13
14
15
16
17
18
19
20
21
2222
tiempo (seg)
Flu
jo d
e en
trad
a (p
ie3/
min
)
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 válido solo para el modelo de pequeña señal, 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 gráficas no se presentan, ya que tienen el mismo
comportamiento que la simulación por diagramas de bloques desde
Simulink.
63
0 50 100 150 200 250 300 350 400 450 500130
135
140
145
150
155
160
165
tiempo (seg)
Tem
pera
tura
del
pro
duct
o (º
F)
No Lineal
Lineal
(a)
0 50 100 150 200 250 300 350 400 450 500210
215
220
225
230
235
240
245
tiempo (seg)
Tem
pera
tura
del
ser
pent
ín (
ºF)
No Lineal
Lineal
(b)
Fig. 3.20. a. Temperatura de flujo de proceso del modelo no lineal y lineal.
b. Temperatura del vapor del serpentín del modelo no lineal y
lineal.
64
Flujo entrada
(pie3/min)
T. No Lineal
Producto (ºF)
T. Lineal
Producto (ºF)
Error
(ºF)
20 137,6 133,4 -4,2
15,1 149,88 149,67 -0,21
14,8 150,9 150,66 -0,22
12 162,6 160,0 -2,6
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 218,1 213,9 -5,8
15,1 230,3 230,1 -0,2
14,8 231,4 231,1 -0,3
12 243,2 240,5 -3,3
Tabla 3.4b. Valores de las temperaturas del vapor del serpentín 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 fórmula 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 función 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 función se guarda como un archivo .m; en
este caso se le ha dado el nombre de nlcal.m.
65
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 gráficas. En la Fig. 3.21 a.
se muestran las instrucciones mencionadas.
Para el sistema linealizado se utiliza la representación en variables de
estado, ecuaciones (3.18). Para obtener la respuesta del sistema a una
entrada escalón 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 desviación, 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 escalón de 0.1 pie3 / min.
Archivo tanque_calentador.m% Definir las matrices del sistemaA=[-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];%Construir el modelo en variables de estadostanquec_ss=ss(A,B,C,D);%Simular respuesta al escalón diferentes a la unidadtve=0:0.4:80;for i=1:201
u1(i)=0.1;end%Generar el vector de entrada del sistema, en variablesde desviacióntve=0:0.4:80;[u]=[u1;0*tve];%Simular la respuesta del sistema en Variables de Estado[yve,tiempo,x]=lsim(tanquec_ss,u,tve);
%Colocar las salidas en variables físicas[yt]=[150+yve(:,1) 230.45+yve(:,2)];
Archivo nlcal.m% Definir función nlcalfunction dt=nlcal(t,y)
% Definir condiciones iniciales.F=15.1; %Flujo de procesoTi=100; %Temperatura inicial del flujo de procesoW=42.24; % Flujo másico del vapor de agua
%Definir vector columna para ec. diferencialesdt=zeros(2,1);
%Temperatura de flujo de procesodt(1)=0.0083*F*(Ti-y(1))+(0.0777*(y(2)-y(1)));% Temperatura del vapor de aguadt(2)=3.6359*W-(1.9089*(y(2)-y(1)));
Comandos desde Work-space de MatlabResolver ecuaciones diferenciales, para un tiempo desde0 hasta 100 seg dadas las condiciones iniciales.>>[t,y]=ode23s('nlcal',[0 100],[150 230.45]);
(a) (b)
Fig 3.21. a. Obtención de la respuesta del modelo no lineal del tanque calentador, para un flujo de entrada de 15.1 pie3/min.b. Obtención de la respuesta del modelo lineal del tanque calentador en variables de estado, para un flujo de entrada de 15.1 pie3/min.
66
Finalmente las salidas deben transformarse en variables físicas, ya que
están en variables de desviación, para esto se les suma a cada una el
estado inicial, para la temperatura del flujo de proceso, se suma a y1(t) 150
ºF y para la temperatura del vapor de agua, se suma a y2(t) 230.45 ºF.
(a)
(b)
Fig 3.22. a. Conversión del modelo de variables de estado a función de transferencia. b. Respuesta de los modelos lineal y no lineal del tanque calentador, para un flujo de entrada de 15.1 pie3/min.
67
Convertir el modelo de variables de estadoa función de transferencia>>tanquec_tf=tf(tanquec_ss)Transfer function from input 1 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
Transfer function from input 2 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
Graficar las temperaturas del proceso y delvapor de agua para el sistema no lineal y elsistema lineal en variables de estado>> plot(t,y(:,1),tiempo,yt(:,1))>> plot(t,y(:,2),tiempo,yt(:,2))
0 10 20 30 40 50 60 70 80149.65
149.7
149.75
149.8
149.85
149.9
149.95
150
tiempo (seg)
Tem
pera
tura
del
fluj
o de
pro
ceso
(ºF)
No lineal
Lineal
0 10 20 30 40 50 60 70 80230.1
230.15
230.2
230.25
230.3
230.35
230.4
230.45
tiempo (seg)
Tem
pera
tura
del
vap
or d
e ag
ua (
ºF)
No lineal
Lineal
Se debe notar que las simulaciones se hacen para entradas de flujo de
proceso tipo escalón de diferentes amplitudes, una a la vez, para los
programas presentados.
Las gráficas comparativas de los métodos de solución se obtienen con los
comandos mostrados en la Fig. 3.22.a, aquí también se muestra el
comando para transformar la representación en variables de estado del
sistema en forma de función 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 gráfica obtenida de la simulación para un
flujo de proceso de 15.1 pie3/min.
3.4. Modelo y simulación 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 alimentación
del campo y manipulando, la tensión de armadura.[5]
Ra La
em(t)ia(t)+
-
ea(t)
+
-
if(t)Lf
Vf
+
-
ωm(t)Tm(t), J, B, θm(t)
Fig. 3.23. Circuito equivalente de un motor DC controlado por armadura.
68
Datos del Proceso.
Parámetro Dato
Resistencia de armadura (Ra) 0,2 Ω
Inductancia de armadura (La) 5 mH
Constante de fuerza contraelectromotriz
generada (KC)0,055 V.s/rad
Constante del par motor (KT) 6x10-5 N.m/A
Constante torsional resistiva (KR) 0,01 N.m/rad
Coeficiente de fricción viscosa (B) 0,005 N.m.s/rad
Momento de inercia (J) 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 magnético es
constante.
El torque está dado por una relación lineal con la corriente de
armadura.
Modelo Matemático.
a. Balances de energía.
Por la ley de Kirchoff, del circuito de armadura se tiene:
(3.19)
El movimiento rotacional del motor queda descrito como:
69
(3.20)
b. Ecuaciones adicionales.
Tanto el torque como la fuerza contraelectromotriz pueden escribirse e
función de la velocidad angular ωm(t), a través de una constante de
proporcionalidad:
(3.21)
(3.22)
(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); x2(t) = ωm(t); x3(t) = ia(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
70
simple inspección, también pueden obtenerse aplicando el Jacobiano de
manera formal (vea capítulo 1, sección 1.4).
(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 serán:
Vector de estados:
Matriz de estados:
Matriz de entrada:
Entrada: u(t)= ea(t)
Matriz de salida:
La representación en el espacio de estados sustituyendo los
correspondientes valores de los parámetros es la siguiente:
71
(3.26)
Tal como se presentó en el ejemplo 3.2, los modelos pueden elaborarse en
Simulink o a través 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 motorLa=0.005;Ra=0.2;kc=0.055;kt=0.00006;kr=0.01;Bc=0.005;J=0.0044;
%Definir las matrices del sistemaA=[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 estadosmotordc_ss=ss(A,B,C,D)
%Encontrar los polos del sistemapolos=eig(A)
%Convertir el modelo de variables de estado a%función de transferencia
[motordc_num,motrodc_den]=ss2tf(A,B,C,D);motordc_tf=tf(motordc_num,motrodc_den)
a =x1 x2 x3
x1 0 1 0x2 -2.273 -1.136 0.01364x3 0 -11 -40
b =u1
x1 0x2 0x3 200
c =x1 x2 x3
y1 1 0 0d =
u1y1 0
Continuous-time model.polos =-0.5701 + 1.3957i-0.5701 - 1.3957i
-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
(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.
72
En la Fig 3.24 se presenta la representación en el espacio de estados y en
función de transferencia del sistema mediante el uso de comandos; para esto
se ha generado un archivo .m: motor_dc_armadura.m. Además podemos
observar los polos del sistema, calculados a partir de la matriz de estados A.
Simulación.
En este caso se procede a realizar las simulaciones desde comandos de
Matlab, y se grafica la respuesta del sistema ante una entrada escalón
unitario (ver Fig. 3.25).
Simular respuesta al escalón unitariot=0:0.1:25;[y,tiempo,x]=step(motordc_ss,t);Graficar las respuestas al escalón unitariopara los tres estadosplot(tiempo,x(:,1)) Posisción angularplot(tiempo,x(:,2)) Velocidad angularplot(tiempo,x(:,3)) Corriente de armadura
Fig. 3.25. Simular y graficar la repuesta y los estados ante un escalón unitario del motor DC controlado por armadura.
Se grafican los estados, tome en cuenta que el estado x1 corresponde a la
salida del sistema (ver Fig. 3.26 a y b).
La salida del sistema no logra alcanzar la referencia encontrándose un gran
error en régimen permanente. Los parámetros más resaltantes de la
respuesta transitoria se muestran en la siguiente tabla:
Sistema %Mp tr (seg) ts(seg) eSS
Motor DC 27.6 0.957 7.01 0.97
Tabla 3.6. Parámetros de respuesta temporal para motor controlado por armadura.
73
0 5 10 15 20 250
0.005
0.01
0.015
0.02
0.025
0.03
0.035
0.04
tiempo(seg)
Pos
ició
n an
gula
r (r
ad)
(a)
(b)
Fig. 3.26 a. Respuesta al escalón unitario del motor DC controlado por armadura. b. Gráficas 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 pequeño y vemos como
74
0 0.5 1 1.5 2 2.5 3 3.5 40
1
2
3
4
5
6
tiempo (seg)
Cor
rient
e de
arm
adur
a (A
)
0 5 10 15 20 25-0.01
-0.005
0
0.005
0.01
0.015
0.02
0.025
0.03
tiempo(seg)
Vel
ocid
ad a
ngul
ar (
rad/
seg)
la corriente de armadura se mantiene en 5A. Es evidente que el sistema
requiere un controlador para lograr llevar la posición angular al estado
deseado.
3.5 Ejercicios Propuestos
1.1.1. El modelo para el reactor químico es mostrado en la siguientes
ecuaciones:
El modelo linealizado, relaciona los cambios en el flujo del reactor con
los cambios en la concentración del componente A, esta relación esta
dada por:
Parámetro Valor Parámetro Valor
V 1 m3 K0 32 s-1
Fin 1 x 10-3 m3.s-1 R 8.31 J.K-1
Cin 1 kg/kg E 42 kj 1 x 103 kg.m3 Tc 300 Kcp 1 kJ.Kg-1.K-1 Uh0Ah0 5 kJ.K-1
Hr 2 x 103 kJ.Kg-1
Tabla 3.7. Variables del Reactor. Ejercicio 3.5.1
Realice la representación en variable de estado.
75
1.1.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.
Fig. 3.27. Red RLC. Ejercicio 3.5.2
1.1.3. Considere el sistema mecánico mostrado en la Fig. 3.28 con las
siguientes condiciones iniciales: y(0)=Y0, y(1)(0)=U0, donde Y0 es la
posición inicial y U0 es la velocidad inicial de la masa. Determine las
ecuaciones de estado del sistema.
76
Fig. 3.28. Diagrama resorte y masa. Ejercicio 3.5.3
1.1.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.
Fig. 3.29. Sistema Prueba. Ejercicio 3.5.4.
1.1.5. Un péndulo 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 posición x de la
carrocería. Obtener la representación del sistema en espacio de
estado.
77
Fig. 3.30. Sistema Péndulo. Ejercicio 3.5.5.
1.1.6. El siguiente esquema (Fig. 3.31) pertenece al motor de corriente
continua con excitación independiente.
Fig. 3.31. Esquema del Motor C.C. Ejercicio 3.5.6
Donde: Tem = kmeIa e = kmeIae = IeLe
Se pide:
78
a) Hallar el modelo matemático en ecuaciones de estado, tomando
como variables de estado la corriente de armadura Ia, la corriente
de excitación Ie y la velocidad angular .
b) A partir de los siguientes datos (Tabla 3.8):
Uan Uen La Ra Le Re Km J b
460V 184V 3mHy 0.05 57.5Hy 25.2 0.016 15Kgm2 1.1Nms
Tabla 3.8. Datos del motor. Ejercicio 3.5.6.
Hallar el punto de operación , suponiendo que
(motor en vacío) y , .
c) Linealizar el modelo matemático alrededor del punto de operación.
d) Simular en MATLAB ambos modelos (lineal y no lineal) con
escalones de tensión de armadura y excitación nominales.
Justificar lo observado.
1.1.7. Realice el modelo matemático de los tanques interconectados como
se muestra en la Fig. 3.32. Linealice alrededor del punto de
operación.
Fig. 3.32. Tanques interconectados. Ejercicio 3.5.7.
79
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 dinámica de los estados
h1 y h2 cuando la entrada es un valor constante de perturbación, qi = 0.5.
80