- Creació d’una interfície gràfica d’usuari MATLAB per controlar el motor de corrent continu
- Codi MATLAB per controlar el motor de corrent continu amb Arduino
- Material requerit
- Esquema de connexions
- Control del motor de corrent continu amb MATLAB
En aquest tutorial, us mostrarem com controlar el motor de corrent continu mitjançant MATLB i Arduino. Si sou nou amb MATLAB, és recomanable començar amb un senzill programa de parpelleig LED amb MATLAB.
Creació d’una interfície gràfica d’usuari MATLAB per controlar el motor de corrent continu
Després d'acabar la configuració amb Arduino per a MATLAB, hem de construir una interfície gràfica d'usuari (GUI) per controlar el motor de corrent continu. Per iniciar la GUI, escriviu l'ordre següent a la finestra d'ordres
guia
S'obrirà una finestra emergent i, a continuació, seleccioneu una nova interfície gràfica en blanc com es mostra a la imatge següent.

Ara trieu tres botons per girar en sentit horari, en sentit antihorari i STOP, com es mostra a continuació,

Per canviar la mida o canviar la forma del botó, només cal que hi feu clic i podreu arrossegar les cantonades del botó. Fent doble clic al botó, podeu canviar el color, la cadena i l’etiqueta d’aquest botó en particular. Hem personalitzat tres botons com es mostra a la imatge següent.


Podeu personalitzar els botons segons la vostra elecció. Ara, quan el deseu, es genera un codi a la finestra Editor de MATLAB. Per codificar el vostre Arduino per realitzar qualsevol tasca relacionada amb el vostre projecte, sempre heu d’editar aquest codi generat. Per tant, a continuació hem editat el codi MATLAB.
Codi MATLAB per controlar el motor de corrent continu amb Arduino
Al final d'aquest projecte, es dóna el codi complet MATLAB, després d'editar-lo per al control del motor de corrent continu. A més, incloem el fitxer GUI (.fig) i el fitxer de codi (.m) aquí per descarregar, amb el qual podeu personalitzar els botons segons el vostre requisit. A continuació es mostren alguns ajustaments que hem fet per girar el motor de corrent continu en sentit horari i antihorari i deixar de fer servir tres botons.
Copieu i enganxeu el codi següent a la línia núm. 74 per assegurar-vos que l'Arduino parla amb MATLAB cada vegada que executeu el fitxer m.
netejar-ho tot; global a; a = arduino ();

Quan desplaceu-vos cap avall, veureu que hi ha tres funcions per a cada botó de la GUI. Ara escriviu el codi a totes les funcions segons la tasca que vulgueu fer en fer clic.
A la funció del botó horari , copieu i enganxeu el codi següent just abans dels claudàtors finals de la funció per girar el motor en sentit horari. Aquí donem ALTA al pin 6 i BAIX al pin 5 per girar el motor en sentit horari.
global a; writeDigitalPin (a, 'D5', 0); writeDigitalPin (a, 'D6', 1); pausa (0,5);

Ara, a la funció del botó antihorari , enganxeu el codi següent al final de la funció per girar el motor en sentit antihorari. Aquí donem ALTA al pin 5 i BAIX al pin 6 per girar el motor en sentit antihorari.
global a; writeDigitalPin (a, 'D5', 1); writeDigitalPin (a, 'D6', 0); pausa (0,5);

Finalment, a la funció del botó STOP , enganxeu el codi següent al final per aturar la rotació del motor. Aquí estem donant BAIX al pin 5 i al 6 per aturar el motor.
global a; writeDigitalPin (a, 'D5', 0); writeDigitalPin (a, 'D6', 0); pausa (0,5);

Material requerit
- Portàtil instal·lat per MATLAB (preferència: R2016a o versions superiors)
- Arduino UNO
- Motor de corrent continu
- L293D- controlador de motor
Esquema de connexions


Control del motor de corrent continu amb MATLAB
Després de configurar el maquinari segons el diagrama del circuit, només cal que feu clic al botó d'execució per executar el codi editat al fitxer.m

MATLAB pot trigar uns quants segons a respondre, no feu clic a cap botó GUI fins que MATLAB mostri la indicació BUSY, que podeu veure a l'extrem inferior esquerre de la pantalla, tal com es mostra a continuació.

Quan tot estigui a punt, feu clic al botó horari o antihorari per girar el motor. En prémer el botó en sentit horari, el flux de corrent a través del pin 6 al pin 5 i el motor girarà en sentit horari mentre que en el sentit antihorari flueix a través del pin 5 al pin 6 i el motor girarà en sentit horari girarà en sentit horari. Per aturar la rotació del motor de CC, premeu el botó STOP. Es pot utilitzar el mateix mètode per controlar el servomotor mitjançant MATLAB, només necessitem editar el codi en conseqüència. Podeu veure el vídeo següent per entendre el procés complet del control del motor CC MATLAB mitjançant Arduino.
