capÍtulo iii. modelos dinámicos rev_marly

59
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 35

Upload: patricia-mendoza

Post on 06-Aug-2015

60 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 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

Page 2: CAPÍTULO III. Modelos dinámicos rev_marly

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

Page 3: CAPÍTULO III. Modelos dinámicos rev_marly

(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

Page 4: CAPÍTULO III. Modelos dinámicos rev_marly

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

Page 5: CAPÍTULO III. Modelos dinámicos rev_marly

(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

Page 6: CAPÍTULO III. Modelos dinámicos rev_marly

(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

Page 7: CAPÍTULO III. Modelos dinámicos rev_marly

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

Page 8: CAPÍTULO III. Modelos dinámicos rev_marly

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

Page 9: CAPÍTULO III. Modelos dinámicos rev_marly

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

Page 10: CAPÍTULO III. Modelos dinámicos rev_marly

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

Page 11: CAPÍTULO III. Modelos dinámicos rev_marly

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

Page 12: CAPÍTULO III. Modelos dinámicos rev_marly

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

Page 13: CAPÍTULO III. Modelos dinámicos rev_marly

(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

Page 14: CAPÍTULO III. Modelos dinámicos rev_marly

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

Page 15: CAPÍTULO III. Modelos dinámicos rev_marly

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

Page 16: CAPÍTULO III. Modelos dinámicos rev_marly

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

Page 17: CAPÍTULO III. Modelos dinámicos rev_marly

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

Page 18: CAPÍTULO III. Modelos dinámicos rev_marly

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

Page 19: CAPÍTULO III. Modelos dinámicos rev_marly

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

Page 20: CAPÍTULO III. Modelos dinámicos rev_marly

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

Page 21: CAPÍTULO III. Modelos dinámicos rev_marly

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

Page 22: CAPÍTULO III. Modelos dinámicos rev_marly

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

Page 23: CAPÍTULO III. Modelos dinámicos rev_marly

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

Page 24: CAPÍTULO III. Modelos dinámicos rev_marly

(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

Page 25: CAPÍTULO III. Modelos dinámicos rev_marly

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

Page 26: CAPÍTULO III. Modelos dinámicos rev_marly

(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

Page 27: CAPÍTULO III. Modelos dinámicos rev_marly

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

Page 28: CAPÍTULO III. Modelos dinámicos rev_marly

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

Page 29: CAPÍTULO III. Modelos dinámicos rev_marly

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

Page 30: CAPÍTULO III. Modelos dinámicos rev_marly

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

Page 31: CAPÍTULO III. Modelos dinámicos rev_marly

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

Page 32: CAPÍTULO III. Modelos dinámicos rev_marly

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

Page 33: CAPÍTULO III. Modelos dinámicos rev_marly

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

Page 34: CAPÍTULO III. Modelos dinámicos rev_marly

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

Page 35: CAPÍTULO III. Modelos dinámicos rev_marly

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

Page 36: CAPÍTULO III. Modelos dinámicos rev_marly

(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

Page 37: CAPÍTULO III. Modelos dinámicos rev_marly

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

Page 38: CAPÍTULO III. Modelos dinámicos rev_marly

(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

Page 39: CAPÍTULO III. Modelos dinámicos rev_marly

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

Page 40: CAPÍTULO III. Modelos dinámicos rev_marly

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)

Page 41: CAPÍTULO III. Modelos dinámicos rev_marly

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

Page 42: CAPÍTULO III. Modelos dinámicos rev_marly

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

Page 43: CAPÍTULO III. Modelos dinámicos rev_marly

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

Page 44: CAPÍTULO III. Modelos dinámicos rev_marly

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

Page 45: CAPÍTULO III. Modelos dinámicos rev_marly

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

Page 46: CAPÍTULO III. Modelos dinámicos rev_marly

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