- Oprettelse af MATLAB grafisk brugergrænseflade til styring af jævnstrømsmotor
- MATLAB-kode til styring af jævnstrømsmotor med Arduino
- Nødvendigt materiale
- Kredsløbsdiagram
- Styring af jævnstrømsmotor med MATLAB
I denne vejledning viser vi dig, hvordan du styrer DC-motor ved hjælp af MATLB og Arduino. Hvis du er ny med MATLAB, anbefales det at komme i gang med et simpelt LED-blinkprogram med MATLAB.
Oprettelse af MATLAB grafisk brugergrænseflade til styring af jævnstrømsmotor
Efter at have afsluttet opsætningen med Arduino til MATLAB er vi nødt til at opbygge GUI (grafisk brugergrænseflade) til styring af jævnstrømsmotor. For at starte GUI skal du skrive nedenstående kommando i kommandovinduet
guide
Et popup-vindue åbnes, og vælg derefter en ny tom GUI som vist i billedet nedenfor,
Vælg nu tre trykknapper til rotation med uret, mod uret og STOP, som vist nedenfor,
For at ændre størrelse eller ændre formen på knappen, skal du bare klikke på den og du vil kunne trække hjørnerne på knappen. Ved at dobbeltklikke på trykknappen kan du ændre farve, streng og tag på den pågældende knap. Vi har tilpasset tre knapper som vist på billedet nedenfor.
Du kan tilpasse knapperne efter eget valg. Når du nu gemmer dette, genereres en kode i Editor-vinduet i MATLAB. For at kode din Arduino til at udføre en opgave, der er relateret til dit projekt, skal du altid redigere denne genererede kode. Så nedenfor har vi redigeret MATLAB-koden.
MATLAB-kode til styring af jævnstrømsmotor med Arduino
Komplet MATLAB-kode, efter redigering af den til DC-motorstyring, gives i slutningen af dette projekt. Yderligere inkluderer vi GUI-filen (.fig) og kodefilen (.m) her til download, ved hjælp af hvilken du kan tilpasse knapperne efter dit behov. Nedenfor er nogle justeringer, vi gjorde for at dreje DC-motoren med uret, mod uret og stoppe med at bruge tre trykknapper.
Kopier og indsæt nedenstående kode på linjenr. 74 for at sikre, at Arduino taler med MATLAB, hver gang du kører m-filen.
Slet alt; global a; a = arduino ();
Når du ruller nedad, vil du se, at der er tre funktioner for hver knap i GUI. Skriv nu koden i hver funktion i henhold til den opgave, du vil udføre ved klik.
I urets knapfunktion skal du kopiere og indsætte nedenstående kode lige før funktionens slutbøjler for at dreje motoren i retning med uret. Her giver vi HIGH ved pin 6 og LOW ved pin 5 for at rotere motoren med urets retning.
global a; skrivDigitalPin (a, 'D5', 0); skrivDigitalPin (a, 'D6', 1); pause (0,5);
Nu i funktion mod urets knap skal du indsætte nedenstående kode i slutningen af funktionen for at dreje motoren mod urets retning. Her giver vi HIGH ved pin 5 og LOW ved pin 6 for at rotere motoren mod urets retning.
global a; skrivDigitalPin (a, 'D5', 1); skrivDigitalPin (a, 'D6', 0); pause (0,5);
Endelig i STOP- knappen funktion, indsæt nedenstående kode i slutningen for at stoppe motorens rotation. Her giver vi LAV ved både pin 5 og 6 for at stoppe motoren.
global a; skrivDigitalPin (a, 'D5', 0); skrivDigitalPin (a, 'D6', 0); pause (0,5);
Nødvendigt materiale
- MATLAB installeret bærbar computer (præference: R2016a eller nyere versioner)
- Arduino UNO
- DC-motor
- L293D- motor driver
Kredsløbsdiagram
Styring af jævnstrømsmotor med MATLAB
Efter installation af hardwaren i henhold til kredsløbsdiagram, skal du blot klikke på knappen Kør for at køre den redigerede kode i.m-filen
MATLAB kan tage et par sekunder at svare, klik ikke på nogen GUI-knap, før MATLAB viser BUSY-indikation, som du kan se i nederste venstre hjørne af skærmen som vist nedenfor,
Når alt er klar, skal du klikke på knappen med eller mod uret for at dreje motoren. Når du trykker på urets knap strømmer strøm gennem pin 6 til pin 5, og motoren roterer med uret, mens den mod uret strømmer strøm gennem pin 5 til pin 6, og motoren roterer med uret vil rotere med uret. For at stoppe DC-motorens rotation skal du trykke på STOP-knappen. Samme metode kan bruges til at styre servomotoren ved hjælp af MATLAB, vi skal bare redigere koden i overensstemmelse hermed. Du kan tjekke videoen nedenfor for at forstå den komplette proces med MATLAB DC-motorstyring ved hjælp af Arduino.