- Creación de la interfaz gráfica de usuario de MATLAB para controlar el motor de CC
- Código MATLAB para controlar el motor de CC con Arduino
- Material requerido
- Diagrama de circuito
- Control de motor de CC con MATLAB
En este tutorial, le mostraremos cómo controlar un motor de CC usando MATLB y Arduino. Si es nuevo en MATLAB, se recomienda comenzar con un programa simple de parpadeo de LED con MATLAB.
Creación de la interfaz gráfica de usuario de MATLAB para controlar el motor de CC
Después de finalizar la configuración con Arduino para MATLAB, tenemos que construir GUI (Interfaz gráfica de usuario) para controlar el motor de CC. Para iniciar la GUI, escriba el siguiente comando en la ventana de comandos
guía
Se abrirá una ventana emergente, luego seleccione una nueva GUI en blanco como se muestra en la imagen de abajo,
Ahora elija tres botones para rotación en sentido horario, rotación en sentido antihorario y PARADA, como se muestra a continuación
Para redimensionar o cambiar la forma del botón, simplemente haga clic en él y podrá arrastrar las esquinas del botón. Al hacer doble clic en el botón pulsador, puede cambiar el color, la cuerda y la etiqueta de ese botón en particular. Hemos personalizado tres botones como se muestra en la imagen de abajo.
Puede personalizar los botones según su elección. Ahora, cuando guarda esto, se genera un código en la ventana Editor de MATLAB. Para codificar su Arduino para realizar cualquier tarea relacionada con su proyecto, siempre debe editar este código generado. Entonces, a continuación, hemos editado el código MATLAB.
Código MATLAB para controlar el motor de CC con Arduino
El código completo de MATLAB, después de editarlo para el control de motores de CC, se proporciona al final de este proyecto. Además, incluimos el archivo GUI (.fig) y el archivo de código (.m) aquí para descargar, con el cual puede personalizar los botones según sus necesidades. A continuación se muestran algunos ajustes que hicimos para girar el motor de CC en el sentido de las agujas del reloj, en el sentido contrario a las agujas del reloj y detener usando tres botones.
Copie y pegue el siguiente código en la línea no. 74 para asegurarse de que Arduino esté hablando con MATLAB cada vez que ejecute el archivo m.
limpiar todo; global a; a = arduino ();
Cuando se desplaza hacia abajo, verá que hay tres funciones para cada botón en la GUI. Ahora escriba el código en cada función de acuerdo con la tarea que desea realizar al hacer clic.
En la función del botón en el sentido de las agujas del reloj , copie y pegue el siguiente código justo antes de las llaves finales de la función para girar el motor en el sentido de las agujas del reloj. Aquí estamos dando HIGH en el pin 6 y LOW en el pin 5 para girar el motor en el sentido de las agujas del reloj.
global a; writeDigitalPin (a, 'D5', 0); writeDigitalPin (a, 'D6', 1); pausa (0,5);
Ahora, en la función del botón en sentido antihorario , pegue el siguiente código al final de la función para girar el motor en sentido antihorario. Aquí estamos dando HIGH en el pin 5 y LOW en el pin 6 para girar el motor en sentido antihorario.
global a; writeDigitalPin (a, 'D5', 1); writeDigitalPin (a, 'D6', 0); pausa (0,5);
Finalmente, en la función del botón STOP , pegue el siguiente código al final, para detener la rotación del motor. Aquí estamos dando LOW tanto en el pin 5 como en el 6 para detener el motor.
global a; writeDigitalPin (a, 'D5', 0); writeDigitalPin (a, 'D6', 0); pausa (0,5);
Material requerido
- Laptop instalada en MATLAB (preferencia: R2016a o versiones superiores)
- Arduino UNO
- Motor de corriente continua
- L293D- controlador de motor
Diagrama de circuito
Control de motor de CC con MATLAB
Después de configurar el hardware de acuerdo con el diagrama de circuito, simplemente haga clic en el botón Ejecutar para ejecutar el código editado en el archivo.m
MATLAB puede tardar unos segundos en responder, no haga clic en ningún botón de la GUI hasta que MATLAB muestre la indicación OCUPADO, que puede ver en la esquina inferior izquierda de la pantalla como se muestra a continuación.
Cuando todo esté listo, haga clic en el botón en sentido horario o antihorario para hacer girar el motor. Cuando presiona el botón en el sentido de las agujas del reloj, la corriente fluye a través del pin 6 al pin 5 y el motor girará en el sentido de las agujas del reloj, mientras que en el sentido contrario a las agujas del reloj, la corriente fluye a través del pin 5 al pin 6 y el motor girará en el sentido de las agujas del reloj girará en el sentido de las agujas del reloj. Para detener la rotación del motor de CC, presione el botón STOP. Se puede usar el mismo método para controlar el servomotor usando MATLAB, solo necesitamos editar el código en consecuencia. Puede ver el video a continuación para comprender el proceso completo de control de motor de CC de MATLAB utilizando Arduino.