- Crearea interfeței grafice de utilizator MATLAB pentru controlul motorului de curent continuu
- Cod MATLAB pentru controlul motorului de curent continuu cu Arduino
- Material necesar
- Diagrama circuitului
- Controlul motorului DC cu MATLAB
În acest tutorial, vă vom arăta cum să controlați motorul DC folosind MATLB și Arduino. Dacă sunteți nou cu MATLAB, atunci este recomandat să începeți cu programul simplu de clipire cu LED-uri cu MATLAB.
Crearea interfeței grafice de utilizator MATLAB pentru controlul motorului de curent continuu
După terminarea configurării cu Arduino pentru MATLAB, trebuie să construim GUI (Graphical User Interface) pentru a controla motorul de curent continuu. Pentru a lansa interfața grafică, tastați comanda de mai jos în fereastra de comandă
ghid
Se va deschide o fereastră pop-up, apoi selectați o nouă interfață grafică goală așa cum se arată în imaginea de mai jos,
Acum alegeți trei butoane pentru rotație în sensul acelor de ceasornic, rotație în sens invers acelor de ceasornic și STOP, așa cum se arată mai jos,
Pentru a redimensiona sau a schimba forma butonului, trebuie doar să faceți clic pe acesta și veți putea trage colțurile butonului. Dând dublu clic pe buton, puteți schimba culoarea, șirul și eticheta acelui buton. Am personalizat trei butoane așa cum se arată în imaginea de mai jos.
Puteți personaliza butoanele după alegerea dvs. Acum, când salvați acest lucru, un cod este generat în fereastra Editor a MATLAB. Pentru a vă codifica Arduino pentru efectuarea oricărei sarcini legate de proiectul dvs., trebuie întotdeauna să editați acest cod generat. Deci, mai jos am editat codul MATLAB.
Cod MATLAB pentru controlul motorului de curent continuu cu Arduino
Codul complet MATLAB, după editare pentru controlul motorului de curent continuu, este dat la sfârșitul acestui proiect. În plus, includem fișierul GUI (.fig) și fișierul de cod (.m) aici pentru descărcare, folosind care puteți personaliza butoanele conform cerințelor dvs. Mai jos sunt câteva modificări pe care le-am făcut pentru rotirea motorului de curent continuu în sensul acelor de ceasornic, în sens invers acelor de ceasornic și oprirea utilizării a trei butoane.
Copiați și lipiți codul de mai jos pe linia nr. 74 pentru a vă asigura că Arduino vorbește cu MATLAB de fiecare dată când rulați fișierul m.
curata tot; global a; a = arduino ();
Când derulați în jos, veți vedea că există trei funcții pentru fiecare buton din GUI. Acum scrieți codul în fiecare funcție în funcție de sarcina pe care doriți să o efectuați pe clic.
În funcția butonului în sensul acelor de ceasornic , copiați și lipiți codul de mai jos chiar înainte de acoladele finale ale funcției pentru a roti motorul în sensul acelor de ceasornic. Aici oferim HIGH la pinul 6 și LOW la pinul 5 pentru a roti motorul în sensul acelor de ceasornic.
global a; writeDigitalPin (a, 'D5', 0); writeDigitalPin (a, 'D6', 1); pauză (0,5);
Acum, în funcția butonului antiorar , lipiți codul de mai jos la sfârșitul funcției pentru a roti motorul în sens antiorar. Aici oferim HIGH la pinul 5 și LOW la pinul 6 pentru a roti motorul în sens antiorar.
global a; writeDigitalPin (a, 'D5', 1); writeDigitalPin (a, 'D6', 0); pauză (0,5);
În cele din urmă, în funcția butonului STOP , lipiți codul de mai jos la sfârșit, pentru a opri rotația motorului. Aici oferim LOW atât la pinul 5, cât și la 6 pentru a opri motorul.
global a; writeDigitalPin (a, 'D5', 0); writeDigitalPin (a, 'D6', 0); pauză (0,5);
Material necesar
- Laptop instalat de MATLAB (preferință: versiunile R2016a sau mai sus)
- Arduino UNO
- Motor DC
- L293D- șofer motor
Diagrama circuitului
Controlul motorului DC cu MATLAB
După configurarea hardware-ului conform schemei de circuit, trebuie doar să faceți clic pe butonul Run pentru a rula codul editat în fișierul.m
MATLAB poate dura câteva secunde pentru a răspunde, nu faceți clic pe niciun buton GUI până când MATLAB nu afișează indicația BUSY, pe care o puteți vedea în colțul din stânga jos al ecranului, așa cum se arată mai jos,
Când totul este gata, faceți clic pe butonul în sensul acelor de ceasornic sau în sens invers acelor de ceasornic pentru a roti motorul. Când apăsați butonul în sensul acelor de ceasornic curge prin Pinul 6 în Pinul 5 și motorul se va roti în sensul acelor de ceasornic, în timp ce în sensul invers acelor de ceasornic curge prin Pinul 5 în Pinul 6, iar motorul se va roti în sensul acelor de ceasornic se va roti în sensul acelor de ceasornic. Pentru a opri rotația motorului DC, apăsați butonul STOP. Aceeași metodă poate fi utilizată pentru a controla servomotorul folosind MATLAB, trebuie doar să edităm codul în consecință. Puteți consulta videoclipul de mai jos pentru a înțelege procesul complet de control al motorului MATLAB DC folosind Arduino.