- Erstellen einer grafischen MATLAB-Benutzeroberfläche zur Steuerung des Gleichstrommotors
- MATLAB-Code zur Steuerung des Gleichstrommotors mit Arduino
- Erforderliches Material
- Schaltplan
- Gleichstrommotor mit MATLAB steuern
In diesem Tutorial zeigen wir Ihnen, wie Sie den Gleichstrommotor mit MATLB und Arduino steuern. Wenn Sie mit MATLAB neu sind, wird empfohlen, mit MATLAB mit einem einfachen LED-Blinkprogramm zu beginnen.
Erstellen einer grafischen MATLAB-Benutzeroberfläche zur Steuerung des Gleichstrommotors
Nachdem wir das Setup mit Arduino für MATLAB abgeschlossen haben, müssen wir eine grafische Benutzeroberfläche zur Steuerung des Gleichstrommotors erstellen. Geben Sie zum Starten der GUI den folgenden Befehl in das Befehlsfenster ein
leiten
Ein Popup-Fenster wird geöffnet. Wählen Sie dann eine neue leere Benutzeroberfläche aus (siehe Abbildung unten).
Nun wählen drei Knöpfe für die Drehung im Uhrzeigersinn, gegen den Uhrzeigersinn Drehung und STOPP, wie unten gezeigt,
Um die Größe der Schaltfläche zu ändern oder ihre Form zu ändern, klicken Sie einfach darauf und Sie können die Ecken der Schaltfläche ziehen. Durch Doppelklicken auf die Drucktaste können Sie die Farbe, die Zeichenfolge und das Tag dieser bestimmten Schaltfläche ändern. Wir haben drei Schaltflächen angepasst, wie im folgenden Bild gezeigt.
Sie können die Schaltflächen nach Ihren Wünschen anpassen. Wenn Sie dies speichern, wird im Editorfenster von MATLAB ein Code generiert. Um Ihr Arduino für die Ausführung von Aufgaben im Zusammenhang mit Ihrem Projekt zu codieren, müssen Sie diesen generierten Code immer bearbeiten. Also haben wir unten den MATLAB-Code bearbeitet.
MATLAB-Code zur Steuerung des Gleichstrommotors mit Arduino
Der vollständige MATLAB-Code wird nach der Bearbeitung für die Gleichstrommotorsteuerung am Ende dieses Projekts angegeben. Außerdem stellen wir hier die GUI-Datei (.fig) und die Codedatei (.m) zum Download bereit, mit denen Sie die Schaltflächen gemäß Ihren Anforderungen anpassen können. Im Folgenden finden Sie einige Verbesserungen, die wir vorgenommen haben, um den Gleichstrommotor im Uhrzeigersinn gegen den Uhrzeigersinn zu drehen und die Verwendung von drei Druckknöpfen zu beenden.
Kopieren Sie den folgenden Code und fügen Sie ihn in Zeile Nr. 74, um sicherzustellen, dass der Arduino jedes Mal, wenn Sie die m-Datei ausführen, mit MATLAB spricht.
alles löschen; global a; a = Arduino ();
Wenn Sie nach unten scrollen, sehen Sie, dass es für jede Schaltfläche in der GUI drei Funktionen gibt. Schreiben Sie nun den Code in jede Funktion entsprechend der Aufgabe, die Sie beim Klicken ausführen möchten.
Kopieren Sie in der Funktion der Schaltfläche im Uhrzeigersinn den folgenden Code und fügen Sie ihn kurz vor den Endklammern der Funktion ein, um den Motor im Uhrzeigersinn zu drehen. Hier geben wir HIGH an Pin 6 und LOW an Pin 5, um den Motor im Uhrzeigersinn zu drehen.
global a; writeDigitalPin (a, 'D5', 0); writeDigitalPin (a, 'D6', 1); Pause (0,5);
Fügen Sie nun in der Funktion der Taste gegen den Uhrzeigersinn den folgenden Code am Ende der Funktion ein, um den Motor gegen den Uhrzeigersinn zu drehen. Hier geben wir HIGH an Pin 5 und LOW an Pin 6, um den Motor gegen den Uhrzeigersinn zu drehen.
global a; writeDigitalPin (a, 'D5', 1); writeDigitalPin (a, 'D6', 0); Pause (0,5);
Schließlich in STOP - Funktion der Taste, fügen Sie den folgenden Code am Ende, die Drehung des Motors zu stoppen. Hier geben wir sowohl an Pin 5 als auch an Pin 6 LOW, um den Motor anzuhalten.
global a; writeDigitalPin (a, 'D5', 0); writeDigitalPin (a, 'D6', 0); Pause (0,5);
Erforderliches Material
- MATLAB installierter Laptop (Voreinstellung: R2016a oder höhere Versionen)
- Arduino UNO
- Gleichspannungs Motor
- L293D- Motortreiber
Schaltplan
Gleichstrommotor mit MATLAB steuern
Nachdem Sie die Hardware gemäß Schaltplan eingerichtet haben, klicken Sie einfach auf die Schaltfläche Ausführen, um den bearbeiteten Code in der.m-Datei auszuführen
Es kann einige Sekunden dauern, bis MATLAB reagiert. Klicken Sie nicht auf eine GUI-Schaltfläche, bis MATLAB die BUSY-Anzeige anzeigt, die Sie in der linken unteren Ecke des Bildschirms sehen können (siehe Abbildung unten).
Wenn alles fertig ist, klicken Sie auf die Schaltfläche im oder gegen den Uhrzeigersinn, um den Motor zu drehen. Wenn Sie die Taste im Uhrzeigersinn drücken, fließt der Strom durch Pin 6 bis Pin 5 und der Motor dreht sich im Uhrzeigersinn, während der Strom gegen den Uhrzeigersinn durch Pin 5 bis Pin 6 fließt und der Motor im Uhrzeigersinn im Uhrzeigersinn dreht. Um die Drehung des Gleichstrommotors zu stoppen, drücken Sie die STOP-Taste. Dieselbe Methode kann verwendet werden, um den Servomotor mit MATLAB zu steuern. Wir müssen lediglich den Code entsprechend bearbeiten. Sie können das folgende Video ansehen, um den gesamten Prozess der MATLAB DC-Motorsteuerung mit dem Arduino zu verstehen.