![]() |
Foto - Simulink (mathworks.com) |
El software de simulación se puede utilizar para evaluar un diseño nuevo, diagnosticar problemas de un diseño existente y probar un sistema en condiciones que son difíciles de reproducir, como por ejemplo un satélite en el espacio exterior.(https://es.mathworks.com/discovery/simulation-software.html).
Simulink incluye herramientas de visualización, tales como data displays y animación 3D, para contribuir a supervisar la simulación a medida que se ejecuta un modelo. Los ingenieros y los científicos utilizan este software por diversas razones, veamos cuales son:
- Crear y simular modelos es más barato que construir y probar prototipos de hardware.
- Se puede utilizar el software de simulación para probar distintos diseños antes de crear uno en hardware.
- Es posible conectar el software de simulación al hardware para probar la integración del diseño completo.
Es en esta ultima razón por la cual vamos a utilizar simulink de matlab con Arduino. Lo normal es que nosotros en Arduino codifiquemos todo nuestro programa para controlar una serie de sensores, motores, luces, capturar datos o enviar a la nube via Internet de las Cosas (IoT). Sin embargo podemos omitir el paso de codificación gracias a simulink si deseamos probar un modelo para luego implementarlo físicamente. En síntesis simulink es una herramienta para arduino de programación gráfica para luego realizar la implementación física del sistema sobre una plataforma Arduino. Es decir que para hacer la construcción de un circuito físico real, lo que primero que haremos es la construcción de un modelo digital, utilizando la herramienta Simulink de MATLAB, software de MathWorks
Ventajas del simulink
Entre sus numerosas ventajas, debemos tener en cuenta obtenidos de:
- Supresión del riesgo de dañar los componentes.
- Manipulación total de los parámetros del modelo.
- Medición con herramientas gráficas y numéricas con las que analizar los resultados de la simulación.
- Monitorización en tiempo real de todos los valores del modelo.
- Variación de los horizontes temporales del modelo, desde unos pocos milisegundos hasta años.
- Aislamiento de variables, pudiendo modificar los parámetros de los componentes de manera individualizada, sin afectar al resto del modelo.
A continuación veamos un modelo desarrollado en simulink que representa un motor brushless controlado mediante un controlador PI, que actúa sobre una fuente de tensión variable
![]() |
Fuente - http://uvadoc.uva.es/bitstream/10324/18117/1/TFM-P-402.pdf |
Tal y como se observa en el diagrama de bloques, existe un controlador PI que, tomando una referencia de velocidad y la velocidad actual del motor, modifica la tensión suministrada por una fuente variable que alimenta el puente trifásico. Este puente trifásico genera la salida de tensión de cada una de las fases del motor BLDC, y está controlado mediante las lecturas de los sensores Hall, que atraviesan los bloques Decoder y Gates.. Más en (http://uvadoc.uva.es/bitstream/10324/18117/1/TFM-P-402.pdf).Alcance de este artículo
Esta publicación o el autor no pretende profundizar en todas las herramientas que tiene matlab y componentes de la herramienta "simulink".
Configurar Simulink para trabajar con Arduino
Antes de hacer el modelo en simulink de nuestro ejemplo veamos cuales son los pasos o requisitos necesarios previos para poder controlar el arduino desde simulink. Primero debemos saber de que simulink no biene configurado o tiene la herramienta necesaria para controlar arduino. Debido a esto debemos de instalar un paquete o componente que permita conectarnos con Arduino UNO y otras placas como Arduino Mega 2560 y programarla automáticamente.
Antes de continuar con la instalación del paquete, por seguridad debemos de instalar el driver para que nuestra computadora reconozca nuestra placa arduino uno, mega, leonardo, yung, nano etc.
Pasos:1. Ejecutemos nuestra versión de Matlab y aperturemos simulink para comprobar
Oh sorpresa! en la parte de componentes de simulink no existe ninguna categoría para Arduino!
3. Cerremos simulink para instalar el paquete de Arduino
4. Vamos a instalar el paquete de Arduino desde Internet
5. Elegimos los 3 paquetes para tener cargado por completo el simulink para trabajar con arduino
7. Aceptar los términos y licencia.
8. Confirmar la instalación
9. El resto de pasos de instalación no es más que esperar que todo se descargue y finalizar, de pronto le preguntara si desea instalar el driver usb para arduino, les recomiendo que le den click en instalar driver por seguridad.
Sin más por fin tenemos el toolbox de arduino en simulink:
Configurar Simulink para Arduino Uno
Es momento de configurar la placa Arduino Uno para que sea reconocida por simulink
Por el momento solo seleccionamos el nombre de la placa con la que vamos a trabajar
![]() |
A parte de seleccionar la tarjeta, en esta misma parte seleccionemos la opción "Automatically" en la detección de puertos COM. |
Construcción del modelo digital en simulink
El objeto del siguiente modelo es controlar el encendido de un diodo led. Es decir vamos a realizar el ejemplo clásico llamado "blink" que esta dentro de los ejemplos del IDE de arduino. Vamos a ver que utilizando un generador de pulsos se puede hacer esto y con un osciloscopio virtual podremos ver como se comporta la señal digital en 0 bajos y 1 alto.
Pasos:
1. Agregar generador de pulsos
Cada elemento encontrado es arrastrado hacia el diseñador.
2. Agregar una salida digital
3. Automáticamente se apertura una ventana para configurar el pin de salida digital, en este caso utilizaré el pin 13 ya que ahi podemos utilizar un diodo led que ya esta integrado en arduino.
4. Hacemos el vinculo desde el generador de pulsos a la salida digital
5. Configura el generador de pulsos.
Debemos de configurar cada que tiempo se estaran generando pulsos al pin 13 de arduino.
6. Agregamos un osciloscopio "scope"
7. Conectamos el arduino a la pc y hacemos el deploy "despliegue" a la placa arduino
7.1 Arreglando un error:
Este mensaje nos dice que estamos en una ubicación distinta a la que esta pidiendo simulink para arreglar esto, presionamos en "clear" y cerramos, además nos vamos al matlab y borramos la ruta actual.
Luego de borrar presionamos enter y en la ventana de comandos escribimos "cd C:\"
>> cd C:\>>
Ahora si desplegamos.
8. Despliegue del modelo en Arduino
Y nuestro led comenzó a parpadear!
9. Para monitorizar esto hacemos doble click en el osciloscopio y presionamos ver en tiempo real "el boton de ejecutar"
Comentarios
Publicar un comentario