Sei sulla pagina 1di 20

A1 Simulación

OBJETIVOS
 Ser Capaces de representar un sistema modelado en ecuaciones
diferenciales en un lenguaje de simulación orientado a bloques
(Simulink)
CONTENIDOS
 Resolución de modelos de ODEs
 Lenguajes de simulación orientados a bloques
 Simulación en SIMULINK
 Ejercicios:
 Depósito (resuelto)
 Sistema electromecánico (trabajo personal)
 Ejercicios adicionales (estudio personal)

Bibliografía:
ƒManual Básico de Simulink (Universidad de Sevilla).
ƒManual Avanzado de Simulink (Universidad de Sevilla).
ƒSimulation and Modelling
1 of Continuos Systems. D. Matko, R. Karba, B. Zupancic. Prentice Hall. Capítulo 2 (pp. 26-31)
Resolución de modelos de ODEs:
| Los modelos matemáticos basados en ecuaciones diferenciales se
pueden resolver de distintos modos:
z De forma analítica, si el conjunto de odes resultante tiene solución analítica,
(posible/asequible en el caso de que las odes sean lineales).
• Ejemplo:
y′(t ) = − a· y (t ); y (t = 0) = y0 .
Solución : y(t) = y0 ·e − a·t
z De forma numérica, recurriendo a una herramienta de simulación.
| Existen distintos tipos de lenguajes de simulación de propósito
general que permiten representar ecuaciones diferenciales y eventos
discretos:
z Lenguajes orientados a ecuaciones (permiten escribir el modelo en una
formulación semejante a las ecuaciones matemáticas):
• ACSL, Dymola, EcosimPro
z Lenguajes orientados a bloques (implican transformar las ecuaciones matemáticas
en un conjunto de bloques interconectados):
• Simulink, Vissim, ..
| También existen herramientas de simulación para un dominio de la
ingeniería en particular (electrónica, química, mecánica,…)

2
Lenguajes de simulación orientados a bloques
| Características:
z Disponen de una librería de bloques de cálculo.
Los más comunes son: integradores, sumadores,
ganancias, y funciones matemáticas.
• En especial el bloque integrador recibe el valor de la
derivada en el tiempo de una señal y calcula el valor de
dicha señal. Necesita como dato el valor de la señal
calculada en t=0 (condición inicial).
z Cada bloque tiene una causalidad computacional
predefinida (entradas y salidas) y calcula el valor
de la salida en función del valor de las entradas.
z El modelo se define interconectando entre si los
bloques.
z Además deben incluirse los bloques que
especifican las entradas del modelo y otros para
visualizar resultados (gráficas de tendencia,
indicadores de valor de variables,
almacenamiento en ficheros).

3
Lenguajes de simulación orientados a bloques
| Procedimiento para el desarrollo del modelo de simulación

| Paso 1: manipular simbólicamente el modelo matemático

| Paso 1.1: identificar cuales son las variables de entrada al modelo.

| Paso 1.2: comprobar que en el modelo matemático se tiene tantas


variables desconocidas como ecuaciones (fíjese que las variables de
entrada al modelo se van a considerar conocidas).

| Paso 1.3: para cada ODE del modelo, manipularla de modo que la
derivada de mayor orden aparezca despejada en la parte izquierda de la
ecuación.

| Paso 1.4: si tenemos ecuaciones algebraicas debemos usarlas para


despejar las variables del modelo que no aparecen derivadas en el
tiempo (variables algebraicas)
4
Lenguajes de simulación orientados a bloques
| Procedimiento para el desarrollo del modelo de simulación

| Paso 2: dibujar el diagrama de bloques:

| Paso 2.1: para cada ODE del modelo, dibujar una cascada de
integradores con tantos integradores como derivadas aparezcan en la
ecuación. Después utilizar el resto de bloques para reflejar la ecuación
diferencial representada.

| Paso 2.2: para cada ecuación algebraica, utilizar los bloques necesarios
para representarla.

| Paso 2.3: conectar los diagramas de cada ecuación y añadir los bloques
de entrada

5
Lenguajes de simulación orientados a bloques
| Ejemplo:
y (t ) + a· &&
&&& y (t ) + b· y& (t ) + d = − z (t )
u (t ) y (t )
z (t ) − c·( y (t ) − u (t ) ) = 0
| Paso 1: manipular simbólicamente el modelo matemático
| Paso 1.1
| Entrada: u(t)
| Salida: y(t)

| Paso 1.2:
| Variables desconocidas: y(t), z(t), se dispone de dos ecuaciones.

| Paso 1.3 (manipular ODES):

y (t ) = − a· &&
&&& y (t ) − b· y& (t ) − z (t ) − d
| Paso 1.4 (manipular algebraicas):

z (t ) = c·( y (t ) − u (t ) )
Lenguajes de simulación orientados a bloques
| Paso 2: dibujar el diagrama de bloques
| Paso 2.1:

&y&&(t ) = − a· &y&(t ) − b· y& (t ) − z (t ) − d

| Paso 2.2:

z (t ) = c·( y (t ) − u (t ) )

7
Lenguajes de simulación orientados a bloques
| Paso 2.3:
Fíjese que cada
bloque integrador
necesita el valor
inicial de la variable
de salida

8
Construcción de un modelo SIMULINK
| A partir de una descripción de este tipo es muy sencillo construir el modelo en una
herramienta como SIMULINK, no tenemos más que seleccionar los bloques necesarios,
conectarlos y asignarles valores.
| Desde la ventana de comandos de Matlab, ejecutar "simulink" y aparecerá la “ventana”
que nos muestra las librerías de bloques:
| En nuestro caso la
librerías Commonly
Used Blocks,
Continuous, Math
operations serán
suficientes para
describir el modelo
matemático.

| Adicionalmente las
librerías Sources
(señales de entrada)
y Sinks (elementos
de visualización)
serán necesarias
para simular
experimentos y
visualizar resultados.

9
Construcción de un modelo SIMULINK
| Realizando un “doble
click” en el símbolo de
cada librería se despliega
un menú con los
elementos que contiene.
A continuación se
muestran las librerías y
se indican algunos de los
bloques más comunes

10
Construcción de un modelo SIMULINK

11
Construcción de un modelo SIMULINK
| Para generar un modelo simulink debe seleccionar New en el menú File.
| Aparecerá otra ventana a la que “arrastraremos” los bloques necesarios desde la
correspondiente librería. Iremos conectando los bloques y asignándoles valores
numéricos.
| Una vez que esté construido el modelo de simulación lo almacenaremos (save)
| Para ejecutar el modelo podemos hacerlo desde el menú simulation o pulsando el
´”botón” indicado en la figura.
| Normalmente, la simulación finalizará en el tiempo especificado en esta ventana.
| Dentro del menú simulation podemos acceder a los parámetros de configuración
de la ejecución de la simulación.
| Podremos observar los resultados en los bloques de visualización.
Construcción de un modelo SIMULINK
| El procedimiento aquí indicado es especialmente útil en el caso de que los modelos sean
no lineales.
| Si el modelo es lineal y le hemos expresado de acuerdo con la formulación del espacio de
estados su inclusión en SIMULINK es muy sencilla, tanto como seleccionar y parametrizar
el bloque State-Space de la librería Continuous.
| La entrada será la señal u y la salida la y.
| Podrían ser señales vectoriales, en el caso de que tengamos varias entradas o salidas. En ese caso deben
usarse los bloques Mux y Demux para generar/expandir señales vectoriales/escalares de/a señales
escalares/vectoriales.
| Deben especificarse las condiciones iniciales de las variables de estado.
| Normalmente A, B, C y D serán matrices y deben introducirse del mismo modo que se hace en
MATLAB.

13
Ejercicio de aula: depósito
Entradas: u(t) y q(t)
Variables desconocidas: h(t)
d h(t )
A = q(t ) − u (t )·k h(t ) Se dispone de una sola ODE, suficiente para calcular la única incógnita.
dt
Se manipula simbólicamente la ecuación, despejando la derivada de
h(t = 0) = h0 mayor orden. d h(t ) 1
dt
=
A
(q(t ) − u(t )·k h(t ) )
q Se dibuja el diagrama de bloques, incluyendo el valor inicial de la altura en el
h depósito.

Datos (parámetros y
condiciones iniciales):
A = 2 dm 2 Experimento a realizar:
5
Simule la respuesta del sistema ante cambios escalón (step) tanto en el caudal
dm 2 de entrada (rango 0-15) como en la señal de mando de la válvula (rango 0-1).
k = 10
s Un tiempo de simulación razonable puede ser 30 s, aunque dependerá de los
h ( t = 0 ) = 4 dm instantes de cambio de la señal de caudal y de la apertura de válvula.
dm3
q(t = 0) = 10 ; u(t = 0) = 0.5 (tanto por uno)
14 s
Tarea personal: sistema electromecánico

u (t ) = R·i1 (t ) + Vc (t ) d 2 x (t ) dx (t )
m· = F (t ) − K · x ( t ) − b·
dVc (t ) 1 dt 2 dt
= (i1 (t ) − i2 (t ) )
dt C F (t ) = α ·i2 (t )
di
Vc (t ) = L· 2 (t )
dt
Entradas: u
Salidas: x
Variables desconocidas: i1, i2, Vc, x, F. De las cuales son algebraicas (no aparecen derivadas) i1, F.

Se dispone de 5 ecuaciones (3 Odes y 2 ecuaciones algebraicas). En principio el modelo es completo


y puede plantearse su manipulación simbólica.

15
Tarea personal: sistema electromecánico
Datos:
Parámetros (según dibujo y α=10 )

Condiciones iniciales: todas nulas.

Experimentos a realizar:
1) Duración 60 s.
Cambie con un escalón en t=5 el voltaje de entrada de 0 a 10 voltios.
2) Duración 300 s.
Cambie con un generador de pulsos el voltaje de entrada (amplitud=5,
periodo 30 s, ancho del pulso=10%).
En ambos casos visualice la señal de entrada y la señal de salida (posición
de la masa).

16
Ejercicios adicionales (estudio personal)
Péndulo: entrada T(t), salida θ(t)

d 2θ (t ) m· g· L
J 2
+ sen θ (t ) = T (t )
dt 2

17
Ejercicios adicionales (estudio personal)
Circuito eléctrico 2, entrada u(t), salida il(t)

U ( t ) = A ·sin( ω · t )
U ( t ) = i C ( t )· R 1 + U C (t )
U (t ) = U L ( t ) + i L ( t )· R 2
dU (t )
iC ( t ) = C C
dt
di L ( t )
U L (t ) = L
dt

18
Ejercicios adicionales (estudio personal)
Depósito (comparación modelo lineal /no lineal),
Entradas u(t) y q(t), salidas h(t) y hl(t)
Fíjese que es el modelo desarrollado en el aula pero que debe completarse con el
modelo lineal, al que se alimentará con las mismas señales de entrada que al
modelo no lineal

Elija como punto de linealización el dado por las condiciones iniciales del modelo.

Modelo no lineal Variables desviación


q Δh(t) = h(t) - h0
d h (t ) Δq(t) = q(t) - q0
A = q ( t ) − u ( t )· k h ( t )
h dt Δu(t) = u(t) - u0
Modelo lineal

u d Δ hl ( t ) u ·k
= − 0 Δ hl ( t ) − k h 0 Δ u ( t ) + Δ q ( t ) = 0
F dt 2 h0

A = 2 dm 2

Datos (parámetros y dm 2
5
dm3
q(t = 0) = 10 ; u(t = 0) = 0.5 (tanto por uno)
condiciones iniciales): k = 10 s s
h ( t = 0 ) = 4 dm
19
Ejercicios adicionales (estudio personal)
Motor de corriente continua de excitación independiente controlado por rotor.

Entrada v(t), salida θ(t)


Parámetros:
f: fricción dinámica
d ω (t )
V(t) R: resistencia rotor J = k em · I (t ) − f ·ω (t ) − T ( t )
R L I(t) L: inductancia rotor dt
J: momento de inercia d θ (t )
θ(t) Kem constante electromecánica
= ω (t )
Excitación dt
independiente ω(t) Variables: d I (t )
V: voltaje aplicado a la V ( t ) = R· I ( t ) + L + k em ·ω (t )
dt
armadura
T(t) I: corriente del rotor
ω: velocidad de giro
θ: ángulo girado
T: par externo

20