- Ustvarjanje grafičnega uporabniškega vmesnika MATLAB za nadzor enosmernega motorja
- MATLAB koda za upravljanje enosmernega motorja z Arduino
- Potreben material
- Shema vezja
- Upravljanje enosmernega motorja z MATLAB-om
V tej vadnici vam bomo pokazali, kako krmiliti enosmerni motor z uporabo MATLB in Arduino. Če ste nov v MATLAB-u, je priporočljivo, da začnete s preprostim programom za utripanje LED z MATLAB-om.
Ustvarjanje grafičnega uporabniškega vmesnika MATLAB za nadzor enosmernega motorja
Po končani namestitvi z Arduino za MATLAB moramo zgraditi GUI (grafični uporabniški vmesnik) za nadzor enosmernega motorja. Če želite zagnati GUI, v ukazno okno vnesite spodnji ukaz
vodnik
Odpre se pojavno okno, nato izberite nov prazen GUI, kot je prikazano na spodnji sliki,
Zdaj izberite tri tipke za vrtenje v smeri urnega kazalca, vrtenje v levo in STOP, kot je prikazano spodaj,
Če želite spremeniti velikost ali spremeniti obliko gumba, ga preprosto kliknite in lahko povlečete vogale gumba. Z dvoklikom na gumb lahko spremenite barvo, niz in oznako tega gumba. Tri gumbe smo prilagodili, kot je prikazano na spodnji sliki.
Gumbe lahko prilagodite po svoji izbiri. Ko to shranite, se v oknu urejevalnika MATLAB ustvari koda. Če želite Arduino kodirati za izvajanje katere koli naloge, povezane z vašim projektom, morate to urejeno kodo vedno urediti. Torej spodaj smo uredili kodo MATLAB.
MATLAB koda za upravljanje enosmernega motorja z Arduino
Na koncu tega projekta je podana celotna koda MATLAB, ki jo je uredila za krmiljenje enosmernega motorja. Poleg tega sem za prenos vključil datoteko GUI (.fig) in kodno datoteko (.m), s pomočjo katerih lahko gumbe prilagodite svojim zahtevam. Spodaj je nekaj popravkov, ki smo jih naredili za vrtenje enosmernega motorja v smeri urnega kazalca, v nasprotni smeri urnega kazalca in zaustavitev s tremi tipkami.
Kopirajte in prilepite spodnjo kodo v vrstico št. 74, da se prepričate, da Arduino vsakič, ko zaženete m-datoteko, govori z MATLAB-om.
Počisti vse; globalno a; a = arduino ();
Ko se pomaknete navzdol, boste videli, da obstajajo tri funkcije za vsak gumb v GUI. Zdaj napišite kodo v vsako funkcijo glede na nalogo, ki jo želite izvesti s klikom.
V funkciji gumba v smeri urnega kazalca kopirajte in prilepite spodnjo kodo tik pred končnimi oklepaji funkcije, da zavrtite motor v smeri urnega kazalca. Tu podajamo HIGH na zatiču 6 in LOW pri zatiču 5, da zasučemo motor v smeri urinega kazalca.
globalno a; writeDigitalPin (a, 'D5', 0); writeDigitalPin (a, 'D6', 1); pavza (0,5);
Zdaj v funkciji gumba v nasprotni smeri urnega kazalca prilepite spodnjo kodo na konec funkcije, da zavrtite motor v nasprotni smeri urnega kazalca. Tu podajamo HIGH na zatiču 5 in LOW pri zatiču 6, da zasučemo motor v nasprotni smeri urnega kazalca.
globalno a; writeDigitalPin (a, 'D5', 1); writeDigitalPin (a, 'D6', 0); pavza (0,5);
Na koncu v funkcijo gumba STOP na konec prilepite spodnjo kodo, da ustavite vrtenje motorja. Tu dajemo LOW na obeh zatičih 5 in 6, da zaustavimo motor.
globalno a; writeDigitalPin (a, 'D5', 0); writeDigitalPin (a, 'D6', 0); pavza (0,5);
Potreben material
- Prenosni računalnik MATLAB (Preference: R2016a ali novejše različice)
- Arduino UNO
- Enosmerni motor
- L293D - motorni voznik
Shema vezja
Upravljanje enosmernega motorja z MATLAB-om
Po nastavitvi strojne opreme v skladu z vezjem kliknite na gumb za zagon in zaženite urejeno kodo v datoteki.m
MATLAB lahko traja nekaj sekund, da se odzove, ne kliknite nobenega gumba na GUI, dokler MATLAB ne prikaže indikator zasedenosti, kar lahko vidite v levem spodnjem kotu zaslona, kot je prikazano spodaj,
Ko je vse pripravljeno, kliknite gumb v smeri urnega kazalca ali v nasprotni smeri urnega kazalca, da zavrtite motor. Ko pritisnete gumb v smeri urinega kazalca, tok teče skozi zatič 6 do zatiča 5 in motor se bo zasukal v smeri urinega kazalca, medtem ko se tok v nasprotni smeri teče skozi zatič 5 do zatiča 6 in motor se bo zasukal v smeri urinega kazalca. Za zaustavitev vrtenja enosmernega motorja pritisnite gumb STOP. Isto metodo lahko uporabimo za nadzor servo motorja z uporabo MATLAB-a, le urediti moramo kodo. V spodnjem videoposnetku si lahko ogledate celoten postopek upravljanja motorja MATLAB DC z uporabo Arduina.