Crear un modelo simple
Puede utilizar Simulink® para modelar un sistema y luego simular su comportamiento dinámico. Las técnicas básicas utilizadas para crear un modelo simple en este tutorial son las mismas que se utilizan para modelos más complejos. Este ejemplo simula el movimiento simplificado de un automóvil. Un automóvil se desplaza cuando se acciona el acelerador. Cuando se suelta el acelerador, el automóvil disminuye la velocidad y finalmente se detiene.
Un bloque de Simulink es un elemento de modelo que define una relación matemática entre su entrada y su salida. Para crear este modelo simple, necesita cuatro bloques de Simulink.
Nombre del bloque | Finalidad del bloque | Finalidad del modelo |
---|---|---|
Pulse Generator | Generar una señal de entrada para el modelo | Representar el acelerador |
Gain | Multiplicar la señal de entrada por un valor constante | Calcular cómo accionar el acelerador influye en la aceleración del automóvil |
Second-Order Integrator | Integrar la señal de entrada dos veces | Obtener la posición a partir de la aceleración |
Outport | Designar una señal como salida del modelo | Designar la posición como salida del modelo |
Al simular este modelo, se integra un impulso breve dos veces para obtener una rampa. Los resultados se muestran en la ventana Scope. El impulso de entrada representa el accionar del acelerador: 1 cuando se acciona y 0 cuando no. La rampa de salida es la distancia ascendente a partir del punto de partida.
Abrir un modelo nuevo
Utilice el editor de Simulink para construir modelos.
Inicie MATLAB®. En la barra de herramientas de MATLAB, haga clic en Simulink .
Haga clic en la plantilla Blank Model.
Se abre el editor de Simulink.
Para evitar la sobreescritura, el editor de Simulink comprueba los modelos y los archivos cargados en la ruta y crea un modelo con el siguiente nombre disponible
untitled
,untitled1
,untitled2
, y así sucesivamente.En la pestaña Simulation, seleccione Save > Save as. En el cuadro de texto File name, introduzca un nombre para el modelo. Por ejemplo,
simple_model
. Haga clic en Save. El modelo se guarda con la extensión de archivo.slx
.
Abrir Simulink Library Browser
Simulink proporciona un conjunto de bibliotecas de bloques, organizadas por funcionalidad en Library Browser. Las siguientes bibliotecas son comunes para la mayoría de los flujos de trabajo:
Continuous: bloques para sistemas con estados continuos
Discrete: bloques para sistemas con estados discretos
Math Operations: bloques que implementan ecuaciones algebraicas y lógicas
Sinks: bloques que almacenan y muestran las señales que se conectan a ellos
Sources: bloques que generan los valores de señal que impulsan el modelo
Para abrir Library Browser, en la barra de herramientas de Simulink, en la pestaña Simulation, haga clic en Library Browser.
Para examinar las bibliotecas de bloques, en la estructura de árbol de la biblioteca, expanda una categoría y, a continuación, un área funcional.
Para buscar en todas las bibliotecas de bloques disponibles, introduzca un término de búsqueda.
Por ejemplo, busque el bloque Pulse Generator. En el cuadro de búsqueda, introduzca pulse
y pulse Enter. El software busca en las bibliotecas los bloques con la palabra pulse
en su nombre o descripción y los despliega en la pestaña Search Results de Library Browser.
Sugerencia
Puede volver a examinar la estructura de árbol de la biblioteca haciendo clic en Library Tab (Pestaña Library).
Obtenga información detallada sobre un bloque. En la pestaña Search Results (Buscar resultados), haga clic con el botón secundario en el bloque Pulse Generator (Pulsar generador) y, a continuación, seleccione Help for the Pulse Generator block (Ayuda para el bloque Pulse Generator). Se abrirá el navegador de ayuda y se mostrará la página de referencia para el bloque.
Los bloques suelen tener varios parámetros. Puede acceder a todos los parámetros de un bloque haciendo doble clic en este.
Añadir bloques a un modelo
Para empezar a construir el modelo, examine la biblioteca y añada los bloques.
Desde la biblioteca
Sources
, arrastre el bloque Pulse Generator al editor de Simulink. Aparece una copia del bloque Pulse Generator en su modelo con un cuadro de texto para el valor del parámetro Amplitude. Introduzca1
.Los valores de los parámetros se mantienen a lo largo de la simulación.
Añada estos bloques al modelo utilizando el mismo método.
Bloque Biblioteca Parámetro Gain Simulink/Math Operations
Ganancia:
2
Second-Order Integrator Simulink/Continuous
Condición inicial:
0
Outport Simulink/Sinks
Número de puerto:
1
Añada un segundo bloque Outport copiando el existente y pegándolo en otro punto utilizando accesos directos del teclado.
Ahora el modelo tiene los bloques necesarios.
Organice los bloques haciendo clic y arrastrando cada uno. Para cambiar el tamaño de un bloque, arrastre una esquina.
Conectar bloques
Conecte los bloques creando líneas entre puertos de salida y puertos de entrada.
Haga clic en el puerto de salida a la derecha del bloque Pulse Generator.
El puerto de salida y todos los puertos de entrada aptos para una conexión se indican con una comilla angular de apertura azul .
Apunte a para ver el indicador de conexión.
Haga clic en el indicador para conectar los bloques con una línea y una flecha que indican la dirección del flujo de señales.
Conecte el puerto de salida de Gain block al puerto de entrada en el bloque Second-Order Integrator.
Conecte las dos salidas del bloque Second-Order Integrator a los dos bloques Outport.
Guarde su modelo. En la pestaña Simulation, haga clic en Save.
Añadir visor de señales
Para ver los resultados de la simulación, conecte la primera salida a un bloque Signal Viewer.
Haga clic en la señal. En la pestaña Simulation, en Prepare, haga clic en Add Viewer. Seleccione Scope. Aparece un icono de visor en la señal y se abre una ventana scope.
Puede abrir un scope en cualquier momento haciendo doble clic en el icono.
Ejecutar la simulación
Especifique el tiempo de detención de la simulación. Luego, simule el modelo.
En la pestaña Simulation, establezca el tiempo de detención de la simulación. En la barra de herramientas de Simulink, en la pestaña Simulation, introduzca el valor en el campo Stop Time.
El tiempo de detención predeterminado de
10.0
es adecuado para este modelo. Este valor de tiempo no tiene unidades. La unidad de tiempo en Simulink depende de cómo se construyan las ecuaciones. Este ejemplo simula el movimiento simplificado de un automóvil durante 10 segundos. Otros modelos pueden representar las unidades de tiempo en milisegundos o en años.Para ejecutar la simulación, haga clic en Run .
La simulación se ejecuta y genera la salida en el visor scope.
Ajustar el modelo
Cambiar los parámetros de un bloque
Este ejemplo toma un modelo existente, moving_car.slx
, y modela un sensor de proximidad basado en este modelo de movimiento.
En esta situación, un sensor digital mide la distancia entre el automóvil y un obstáculo a 10 m (30 pies) de distancia. El modelo produce la medición del sensor y la posición del automóvil, teniendo en cuenta las siguientes condiciones:
El automóvil frena cuando alcanza el obstáculo.
En el mundo físico, un sensor mide la distancia de forma imprecisa, lo que genera errores numéricos aleatorios.
Un sensor digital funciona a intervalos de tiempo fijos.
Para empezar, abra el modelo moving_car
. En la línea de comandos de MATLAB, introduzca:
open_system('moving_car.slx');
Primero debe modelar la parada cuando la posición del automóvil alcanza 10
. El bloque Integrator, Second-Order tiene un parámetro para ese fin.
Haga doble clic en el bloque Integrator, Second-Order. Aparece el cuadro de diálogo Block Parameters.
Seleccione Limit x e introduzca
10
para Upper limit x. El color de fondo del parámetro cambia para indicar una modificación que no se aplica al modelo. Haga clic en OK para aplicar los cambios y cierre el cuadro de diálogo.
Añadir nuevos bloques y conexiones
Añada un sensor que mida la distancia desde el obstáculo.
Modifique el modelo. Amplíe la ventana del modelo para incluir los nuevos bloques si es necesario.
Encuentre la distancia real. Para encontrar la distancia entre la posición del obstáculo y la del vehículo, añada el bloque Subtract de la biblioteca
Math Operations
. Añada también el bloque Constant de la bibliotecaSources
para establecer el valor constante de10
para la posición del obstáculo.Modele la medición imperfecta que es habitual en un sensor real. Genere ruido utilizando el bloque Band-Limited White Noise de la biblioteca
Sources
. Establezca el parámetro Noise power en0.001
. Añada el ruido a la medición utilizando un bloque Add de la bibliotecaMath Operations
.Modele un sensor digital que se dispare cada 0,1 segundos. En Simulink, el muestreo de una señal a cada intervalo dado requiere un muestreo y retención. Añada el bloque Zero-Order Hold de la biblioteca
Discrete
. Después de añadir el bloque al modelo, cambie el parámetro Sample Time a0.1
.Añada otro bloque Outport para conectar a la salida del sensor. Conserve el valor predeterminado del parámetro Port number.
Conecte los nuevos bloques. La salida del bloque Second-Order Integrator ya está conectada a otro puerto. Para crear una rama en esa señal, haga clic con el botón izquierdo en la señal para resaltar los puertos que se pueden conectar y, a continuación, haga clic en el puerto que corresponda.
Anotar señales
Añada nombres de señales al modelo.
Haga doble clic en la señal y agréguele un nombre.
Para finalizar, haga clic fuera del cuadro de texto.
Repita estos pasos para añadir los nombres como se muestra.
Comparar varias señales
Compare la señal actual distance
con la señal measured distance
.
Cree y conecte un bloque Scope Viewer a la señal
actual distance
. Haga clic con el botón secundario en la señal y seleccione Create & Connect Viewer > Simulink > Scope. El nombre de la señal aparece en el título del visor.Añada la señal
measured distance
al mismo visor. Haga clic con el botón secundario en la señal y seleccione Connect to Viewer > Scope1. Asegúrese de que se está conectando al visor que creó en el paso anterior.Simule el modelo. El visor scope muestra las dos señales,
actual distance
en amarillo ymeasured distance
en azul.Haga zoom en la gráfica para observar el efecto del ruido y el muestreo. Haga clic en Zoom. Haga clic con el botón izquierdo y arrastre un cuadro por la región que desea ver más de cerca.
Puede repetir esta acción según sea necesario para observar los detalles.
La gráfica muestra que la medición puede desviarse del valor real en hasta 0,3 m. Esta información resulta útil al diseñar funcionalidades de seguridad, como una advertencia de colisión.
Consulte también
Bloques
- Pulse Generator | Gain | Second-Order Integrator | Add | Constant | Zero-Order Hold | Band-Limited White Noise