Introducción a Simulink
Curso de Doctorado:
Fundamentos de Matlab/Simulink
Ignacio Rojas
2Introducción a Simulink
I.ROJAS
Simulink is una herramienta basada en el uso de diagramas de bloques para modelar y analizar sistemas dinámicos. Esta estrechamente ligada con el programa MATLAB
¿Qué es Simulink?
MATLAB
BlocksetsStateflowToolboxes
SimulinkReal Time Workshop
3Introducción a Simulink
I.ROJAS Principales característicasEntre las principales características hay que
destacar:Editor de diagrama de bloquesCreación jerárquica de sistemas complejosSimulaciones no linealesSimulaciones en tiempo continuo y tiempo discretoIntegración con MATLAB, las Toolboxes y ficheros creados por el usuarioPodemos modelar este
tipo de sistemas
4Introducción a Simulink
I.ROJAS Como abrir una ventana nueva
Escribiendo Simulink también se abre una nueva ventana
» simulink
5Introducción a Simulink
I.ROJAS Librería de Fuentes • Constante
• Generador de señales
• Pulso
• Seno
• Reloj
• Números aleatorios, etc
6Introducción a Simulink
I.ROJAS
Librería de visualización de resultados
• Grafica con el tiempo
• Grafica XY
• Visor de números
• Fichero
• Variable del entorno
7Introducción a Simulink
I.ROJAS Trabajando en tiempo discreto
• Retardo
• Integrador
• Espacio de estado
• Filtros
8Introducción a Simulink
I.ROJAS Trabajando en tiempo continuo
• Factor de ganancia
• Suma
• Integración
• Función de transferencia
• Espacio de estado
• Derivada, etc
9Introducción a Simulink
I.ROJAS Librería de módulos no lineales
10Introducción a Simulink
I.ROJAS Librería de conexiones• Entradas y
salidas (útil para la creación de subsistemas)
• De/Multiplexores
• Activar/desactivar un bloque mediante señal
11Introducción a Simulink
I.ROJAS
Inserción de bloques en el modelo
Poner el bloque requiero en la
nueva ventana de bloques de SIMULINK
12Introducción a Simulink
I.ROJAS
Conectando los bloques
Botón derecho para ramificar (también vale Ctr+b izquierdo)
Botón izquierdo del ratón para crear inicialmente la conexión
13Introducción a Simulink
I.ROJASConectando los bloques (II)
Opciones de:
• Color
• Ancho de línea
• Modificar puntos
• Trabajar con vectores y escalares
• Poner comentarios
14Introducción a Simulink
I.ROJASSalvar un modelo
Model {BlockDefaults {}AnnotationDefaults {}System {
Block}Line {
Branch {}
}}
}
15Introducción a Simulink
I.ROJAS
Creando subsistemas
Renombrar y salvar
16Introducción a Simulink
I.ROJASNombres en las señales
Doble click
17Introducción a Simulink
I.ROJAS Nombres en las señales (II)
Los nombres de señales pasan también a los subsistemas
18Introducción a Simulink
I.ROJAS Vectores de Entrada/Salida
Línea gruesa
Multiplicación
expandida
Expansión escalar
Línea gruesa indicando vector
ERROR
19Introducción a Simulink
I.ROJAS
Ambos MATLAB y Simulink Windows trabajan en el mismo Workspace.
» x=21;
» t = 0:1
Definiendo las variables
x=21pi=3.14159...
t=[0 1]
20Introducción a Simulink
I.ROJAS Bloques Goto / From I
Local [ ] es solamente en la actual ventana
21Introducción a Simulink
I.ROJAS Bloques Goto / From (II)Global es en todo el sistema
22Introducción a Simulink
I.ROJAS
Bloques Goto / From (III)
El alcance de {} es a partir de la etiqueta de visibilidad
Etiqueta de visibilidad aqui
23Introducción a Simulink
I.ROJAS Ajustando los parámetros
24Introducción a Simulink
I.ROJAS Simulando un sistema• Sacar la salida a una
variable / fichero
• A una gráfica
25Introducción a Simulink
I.ROJAS
Seleccionando datos de entrada/salida
26Introducción a Simulink
I.ROJAS Ejemplo de sistema continuo
Ecuación diferencial del sistema físico
[m b k]
F mx bx kx= + +
xF
yu ms bs k
= =+ +1
2
k
b
x(t)
F(t)m
27Introducción a Simulink
I.ROJAS Masa con muelle y amortiguador
28Introducción a Simulink
I.ROJAS Sistema discretoTenemos 1000 euros que los queremos invertir a plazo fijo durante 50 años. ¿Cómo varía el resultado con tipos del 6%, 7% y 8%?
M Mn n= −1 06 1. M 0 1000=
!!OJO!!
Hay 28.000e de diferencia
29Introducción a Simulink
I.ROJAS
Ejemplo discreto: la secuencia de Fibonacci
xxnn=x=xnn--11 + + xxnn--22
xx11 = 1, x= 1, x22 = 1= 1 Existen ejemplos en la naturaleza de esta secuencia
Generar los primeros 20 números de la sucesión de Fibonacci
Ayuda: Utilizar unidades de retardo, y función de suma. El resultado los podemos almacenar en unavariable de Matlab
30Introducción a Simulink
I.ROJAS Solución: Fibonacci
31Introducción a Simulink
I.ROJAS
Permitir la actuación de subsistemas
Un “enabled subsystem” es ejecutado en cada paso de simulación en el cual la señal de control es positiva
El estado debe estar retenido o a cero
Salida símbolica
32Introducción a Simulink
I.ROJAS Sistemas TriggeredEste tipo de sistemas se ejecuta cada vez que un evento trigger aparece (flanco de subida, bajada o ambos). La ejecución es solo una vez
33Introducción a Simulink
I.ROJAS Sistemas Triggered y enableb
Evento Trigger
NO Ejecuta el subsistema
La señal de enable es
> 0?
Ejecuta el subsistema
No
SI
34Introducción a Simulink
I.ROJAS Ejemplos complejos: Avión F-14
35Introducción a Simulink
I.ROJAS Ejemplos complejos: Una casa
36Introducción a Simulink
I.ROJAS Péndulo con animación gráfica
Introducción a Simulink
Curso de Fundamentos de
Matlab
PROBLEMAS
38Introducción a Simulink
I.ROJAS Ejercicio 1: Conversión de grados
Convertir grados Fahrenheit a Celsius
Para convertir Fahrenheit a Celsius
3259
+= CF TT
39Introducción a Simulink
I.ROJAS Valores iniciales para la rampa de Fahrenheit
Realizar el diagrama de bloques para obtener una gráfica como la de Scope 1
40Introducción a Simulink
I.ROJAS
Ejercicio 2: Movimiento de un vehículo introduciendo rozamiento
Se desprecia la inercia de las ruedas
asumiendo que el rozamiento (que es proporcional a la velocidad del vehículo) es de sentido opuesto al movimiento del sistema
Descripción física del problema
41Introducción a Simulink
I.ROJAS
Las constantes del sistema sonm = 1000kgb = 50Nsec/mu = 500N
42Introducción a Simulink
I.ROJASU-bv=0 No aumenta la velocidad
Modificar los valores de b, y ver cual es la velocidad máxima que se obtiene
43Introducción a Simulink
I.ROJAS
Podemos cambiar los valores desde la línea de comandosB=10 B=100
44Introducción a Simulink
I.ROJAS
Ejercicio 3: Modelado de sistema simple con condiciones iniciales
( )tx 2sin3=.1)0( −=x
( )ttx 2cos)( 23
21 −=
La solución de este ecuación es:
45Introducción a Simulink
I.ROJAS
Ejercicio 4: Modelo de un sistema continuo con Transf. Laplace
Vamos a modelar una ecuación diferencial de un modelo sencillo
uxx +−=•
4 Utilizando transformada de Laplace:
41
4
4
+=
+=
+−=
sux
sux
uxsx
46Introducción a Simulink
I.ROJAS
Ejercicio 5: Sistema con muelle y amortiguador. Respuesta en lazo abierto.
Las constantes son:M = 1kg b = 10 N.s/mk = 20 N/m F(s) = 1
Ecuación del movimiento:
Transformada de LAPLACE:
47Introducción a Simulink
I.ROJAS
Paso a paso como se realiza el modelo
xm
summing block
kxxbtfxm −−= )(
xmm1 x
summing block
Dejo sólo la aceleración
1 2
xmm1
summing block
s1
s1x xx
3
Añado integradores para obtener velocidad y posición
48Introducción a Simulink
I.ROJAS
Paso a paso como se realiza el modelo
xmm1
summing block
s1
s1x x x
c
k
xb
kx
xmm1
s1
s1x x
b
k
xb
kx
f(t)Entrada(fuerza)
+--
x
x
x x(t)Salida
(posición)
4Multiplicar cte
5
realimentar
49Introducción a Simulink
I.ROJAS
zoom
Aumento la fuerza a un valor de 100
50Introducción a Simulink
I.ROJAS Ejercicio 6: Control de un sistema
Sistema en lazo cerrado
Hacemos el siguiente modelo de planta
51Introducción a Simulink
I.ROJAS
Uno de los controladores más sencillos es el PID
Esquema de un PID
Sistema en lazo cerrado
52Introducción a Simulink
I.ROJAS
Más realista: limitación de actuador y retardos
53Introducción a Simulink
I.ROJAS Modelar el péndulo invertido
Sistema no lineal complejo. Vemos que las ecuaciones diferenciales están acopladas.
OBJETIVOS:
Modelar y controlar (PID) el sistema
54Introducción a Simulink
I.ROJASModelo completo
55Introducción a Simulink
I.ROJASSistema del péndulo en lazo cerrado. Se ha creado un subsistema que lo simula
Controlador Subsistema del péndulo
56Introducción a Simulink
I.ROJAS Respuesta final del péndulo
ÁnguloFuerza aplicadaal carro