- MATLAB grafische gebruikersinterface maken voor het besturen van DC-motor
- MATLAB-code voor het besturen van DC-motor met Arduino
- Materiaal vereist
- Schakelschema
- Gelijkstroommotor aansturen met MATLAB
In deze tutorial laten we u zien hoe u de DC-motor bestuurt met MATLB en Arduino. Als je nieuw bent met MATLAB, dan is het aan te raden om aan de slag te gaan met een eenvoudig LED-knipperprogramma met MATLAB.
MATLAB grafische gebruikersinterface maken voor het besturen van DC-motor
Na het voltooien van de installatie met Arduino voor MATLAB, moeten we GUI (Graphical User Interface) bouwen om de DC-motor te besturen. Om de GUI te starten, typt u de onderstaande opdracht in het opdrachtvenster
gids
Er wordt een pop-upvenster geopend en selecteer vervolgens een nieuwe lege GUI zoals weergegeven in de onderstaande afbeelding,
Kies nu drie drukknoppen voor Rechtsom draaien, Linksom draaien en STOP, zoals hieronder getoond,
Om het formaat van de knop te wijzigen of om de vorm van de knop te wijzigen, klikt u erop en kunt u de hoeken van de knop slepen. Door op de knop te dubbelklikken kunt u de kleur, string en tag van die specifieke knop wijzigen. We hebben drie knoppen aangepast, zoals weergegeven in de onderstaande afbeelding.
U kunt de knoppen naar eigen keuze aanpassen. Als je dit nu opslaat, wordt er een code gegenereerd in het Editor-venster van MATLAB. Om uw Arduino te coderen voor het uitvoeren van een taak gerelateerd aan uw project, moet u deze gegenereerde code altijd bewerken. Dus hieronder hebben we de MATLAB-code bewerkt.
MATLAB-code voor het besturen van DC-motor met Arduino
De volledige MATLAB-code, na bewerking voor DC-motorbesturing, wordt aan het einde van dit project gegeven. Verder voegen we hier het GUI-bestand (.fig) en het codebestand (.m) toe om te downloaden, waarmee u de knoppen naar wens kunt aanpassen. Hieronder staan enkele aanpassingen die we hebben gedaan om de DC-motor met de klok mee, tegen de klok in te draaien en te stoppen met behulp van drie drukknoppen.
Kopieer en plak de onderstaande code op regel nr. 74 om ervoor te zorgen dat de Arduino met MATLAB praat elke keer dat u het m-bestand uitvoert.
wis alles; globaal een; een = arduino ();
Als u naar beneden scrolt, ziet u dat er drie functies zijn voor elke knop in de GUI. Schrijf nu de code in elke functie volgens de taak die u met een klik wilt uitvoeren.
In Clockwise functieknop's, kopieer en plak de onderstaande code net voor het beëindigen van beugels van de functie om de motor in de richting van de klok te draaien. Hier geven we HIGH op pin 6 en LOW op pin 5 om de motor met de klok mee te draaien.
globaal een; writeDigitalPin (a, 'D5', 0); writeDigitalPin (a, 'D6', 1); pauze (0,5);
Plak nu in de functie van de knop tegen de klok in de onderstaande code aan het einde van de functie om de motor tegen de klok in te draaien. Hier geven we HIGH op pin 5 en LOW op pin 6 om de motor tegen de klok in te draaien.
globaal een; writeDigitalPin (a, 'D5', 1); writeDigitalPin (a, 'D6', 0); pauze (0,5);
Plak tenslotte in de functie van de STOP- knop de onderstaande code aan het einde om de rotatie van de motor te stoppen. Hier geven we LOW op zowel pin 5 als 6 om de motor te stoppen.
globaal een; writeDigitalPin (a, 'D5', 0); writeDigitalPin (a, 'D6', 0); pauze (0,5);
Materiaal vereist
- MATLAB geïnstalleerde laptop (voorkeur: R2016a of hogere versies)
- Arduino UNO
- DC-motor
- L293D- motorbesturing
Schakelschema
Gelijkstroommotor aansturen met MATLAB
Nadat u de hardware volgens het schakelschema hebt ingesteld, klikt u op de knop Uitvoeren om de bewerkte code in.m-bestand uit te voeren
Het kan enkele seconden duren voordat MATLAB reageert, klik niet op een GUI-knop totdat MATLAB de indicatie BUSY toont, die u in de linker benedenhoek van het scherm kunt zien, zoals hieronder weergegeven,
Als alles klaar is, klik je op de knop met de klok mee of tegen de klok in om de motor te laten draaien. Wanneer u op de knop met de klok mee drukt, stroomt de stroom door pen 6 naar pen 5 en de motor draait met de klok mee, terwijl er tegen de klok in stroomt door pen 5 naar pen 6 en de motor draait met de klok mee en draait met de klok mee. Druk op de STOP-knop om de rotatie van de DC-motor te stoppen. Dezelfde methode kan worden gebruikt om de servomotor met MATLAB te besturen, we hoeven alleen de code dienovereenkomstig te bewerken. Je kunt de onderstaande video bekijken om het volledige proces van MATLAB DC-motorbesturing met behulp van de Arduino te begrijpen.