- Creazione dell'interfaccia utente grafica MATLAB per il controllo del motore CC
- Codice MATLAB per il controllo del motore CC con Arduino
- Materiale richiesto
- Schema elettrico
- Controllo del motore CC con MATLAB
In questo tutorial, ti mostreremo come controllare il motore DC usando MATLB e Arduino. Se sei nuovo con MATLAB, ti consigliamo di iniziare con un semplice programma di lampeggiamento LED con MATLAB.
Creazione dell'interfaccia utente grafica MATLAB per il controllo del motore CC
Dopo aver terminato la configurazione con Arduino per MATLAB, dobbiamo creare la GUI (Graphical User Interface) per controllare il motore DC. Per avviare la GUI, digita il comando seguente nella finestra di comando
guida
Si aprirà una finestra popup, quindi selezionare una nuova GUI vuota come mostrato nell'immagine sottostante,
Ora scegli tre pulsanti per rotazione in senso orario, rotazione antioraria e STOP, come mostrato di seguito,
Per ridimensionare o modificare la forma del pulsante, fai clic su di esso e potrai trascinare gli angoli del pulsante. Facendo doppio clic sul pulsante è possibile modificare il colore, la stringa e il tag di quel particolare pulsante. Abbiamo personalizzato tre pulsanti come mostrato nell'immagine sottostante.
Puoi personalizzare i pulsanti secondo la tua scelta. Ora, quando lo salvi, viene generato un codice nella finestra Editor di MATLAB. Per codificare il tuo Arduino per l'esecuzione di qualsiasi attività relativa al tuo progetto, devi sempre modificare questo codice generato. Quindi di seguito abbiamo modificato il codice MATLAB.
Codice MATLAB per il controllo del motore CC con Arduino
Il codice MATLAB completo, dopo averlo modificato per il controllo del motore CC, viene fornito alla fine di questo progetto. Inoltre includiamo il file della GUI (.fig) e il file di codice (.m) qui per il download, utilizzando il quale è possibile personalizzare i pulsanti secondo le proprie esigenze. Di seguito sono riportate alcune modifiche che abbiamo fatto per ruotare il motore CC in senso orario, antiorario e smettere di utilizzare tre pulsanti.
Copia e incolla il codice sottostante sulla riga n. 74 per assicurarti che Arduino stia parlando con MATLAB ogni volta che esegui il file m.
cancella tutto; globale a; a = arduino ();
Quando scorri verso il basso, vedrai che ci sono tre funzioni per ogni pulsante nella GUI. Ora scrivi il codice in ogni funzione in base all'attività che desideri eseguire al clic.
Nella funzione del pulsante in senso orario , copia e incolla il codice seguente appena prima delle parentesi graffe finali della funzione per ruotare il motore in senso orario. Qui stiamo dando HIGH al pin 6 e LOW al pin 5 per ruotare il motore in senso orario.
globale a; writeDigitalPin (a, 'D5', 0); writeDigitalPin (a, 'D6', 1); pausa (0,5);
Ora nella funzione del pulsante antiorario , incolla il codice seguente alla fine della funzione per ruotare il motore in senso antiorario. Qui stiamo dando HIGH al pin 5 e LOW al pin 6 per ruotare il motore in senso antiorario.
globale a; writeDigitalPin (a, 'D5', 1); writeDigitalPin (a, 'D6', 0); pausa (0,5);
Infine nella funzione del pulsante STOP , incolla il codice sottostante alla fine, per fermare la rotazione del motore. Qui stiamo dando LOW su entrambi i pin 5 e 6 per fermare il motore.
globale a; writeDigitalPin (a, 'D5', 0); writeDigitalPin (a, 'D6', 0); pausa (0,5);
Materiale richiesto
- Laptop installato MATLAB (Preferenza: R2016a o versioni successive)
- Arduino UNO
- Motore a corrente continua
- L293D- driver del motore
Schema elettrico
Controllo del motore CC con MATLAB
Dopo aver configurato l'hardware secondo lo schema del circuito, è sufficiente fare clic sul pulsante Esegui per eseguire il codice modificato nel file.m
MATLAB potrebbe impiegare alcuni secondi per rispondere, non fare clic su alcun pulsante della GUI finché MATLAB non mostra l'indicazione OCCUPATO, che puoi vedere nell'angolo inferiore sinistro dello schermo come mostrato di seguito,
Quando tutto è pronto, fare clic sul pulsante in senso orario o antiorario per ruotare il motore. Quando si preme il pulsante in senso orario, il flusso di corrente dal pin 6 al pin 5 e il motore ruoterà in senso orario, mentre in senso antiorario la corrente scorre dal pin 5 al pin 6 e il motore ruoterà in senso orario ruoterà in senso orario. Per arrestare la rotazione del motore CC premere il pulsante STOP. Lo stesso metodo può essere utilizzato per controllare il servomotore utilizzando MATLAB, dobbiamo solo modificare il codice di conseguenza. Puoi guardare il video qui sotto per comprendere il processo completo di controllo del motore CC MATLAB utilizzando Arduino.