In diesem Tutorial werden wir einen Gleichstrommotor an Arduino UNO anschließen und seine Geschwindigkeit mithilfe des PWM- Konzepts (Pulse Width Modulation) steuern. Diese Funktion ist in UNO aktiviert, um eine variable Spannung über eine konstante Spannung zu erhalten. Die Methode der PWM wird hier erklärt; Betrachten Sie eine einfache Schaltung wie in der Abbildung gezeigt.
Wenn die Taste in der Abbildung gedrückt wird, beginnt sich der Motor zu drehen und ist in Bewegung, bis die Taste gedrückt wird. Dieses Drücken ist kontinuierlich und wird in der ersten Welle der Figur dargestellt. Wenn in einem Fall die Betätigungstaste 8 ms lang gedrückt und über einen Zyklus von 10 ms 2 ms lang geöffnet wird, erfährt der Motor in diesem Fall nicht die vollständige 9-V-Batteriespannung, da die Taste nur 8 ms lang gedrückt wird, sodass die RMS-Klemmenspannung über Der Motor wird um 7V sein. Aufgrund dieser reduzierten Effektivspannung dreht sich der Motor jedoch mit reduzierter Drehzahl. Das durchschnittliche Einschalten über einen Zeitraum von 10 ms = Einschaltzeit / (Einschaltzeit + Ausschaltzeit) wird als Arbeitszyklus bezeichnet und beträgt 80% (8 / (8 + 2)).
Im zweiten und dritten Fall wird die Taste im Vergleich zum ersten Fall noch kürzer gedrückt. Dadurch wird die RMS-Klemmenspannung an den Motorklemmen noch weiter verringert. Aufgrund dieser reduzierten Spannung nimmt die Motordrehzahl sogar noch weiter ab. Diese Geschwindigkeitsabnahme bei kontinuierlichem Arbeitszyklus erfolgt bis zu einem Punkt, an dem die Motorklemmenspannung nicht ausreicht, um den Motor zu drehen.
Daraus können wir schließen, dass die PWM verwendet werden kann, um die Motordrehzahl zu variieren.
Bevor wir weiter gehen, müssen wir die H-BRÜCKE besprechen. Diese Schaltung hat nun hauptsächlich zwei Funktionen: Erstens soll ein Gleichstrommotor aus Steuersignalen mit geringer Leistung angetrieben werden, und zum anderen soll die Drehrichtung des Gleichstrommotors geändert werden.
Abbildung 1
Figur 2
Wir alle wissen, dass für einen Gleichstrommotor, um die Drehrichtung zu ändern, die Polaritäten der Versorgungsspannung des Motors geändert werden müssen. Um die Polaritäten zu ändern, verwenden wir die H-Brücke. In Abbildung 1 oben haben wir vier Schalter. Wie in Abbildung 2 gezeigt, sind A1 und A2 geschlossen, damit sich der Motor dreht. Aus diesem Grund fließt der Strom durch den Motor von rechts nach links, wie in 2 gezeigt nd Teil figure3. Beachten Sie zunächst, dass sich der Motor im Uhrzeigersinn dreht. Wenn nun die Schalter A1 und A2 geöffnet sind, werden B1 und B2 geschlossen. Der Strom durch den Motor fließt von links nach rechts, wie in 1 gezeigt st Teil von Abbildung 3. Diese Richtung des Stromflusses ist der ersten entgegengesetzt, und so sehen wir am Motoranschluss ein entgegengesetztes Potential zum ersten, sodass sich der Motor gegen den Uhrzeigersinn dreht. So funktioniert eine H-BRÜCKE. Motoren mit geringer Leistung können jedoch von einem H-BRIDGE IC L293D angetrieben werden.
L293D ist ein H-BRIDGE-IC, der zum Antrieb von Gleichstrommotoren mit geringer Leistung entwickelt wurde und in der Abbildung dargestellt ist. Dieser IC besteht aus zwei H-Brücken und kann somit zwei Gleichstrommotoren antreiben. Dieser IC kann also verwendet werden, um die Motoren des Roboters über die Signale des Mikrocontrollers anzutreiben.
Wie bereits erwähnt, kann dieser IC die Drehrichtung des Gleichstrommotors ändern. Dies wird erreicht, indem die Spannungspegel an INPUT1 und INPUT2 gesteuert werden.
Pin aktivieren |
Eingangspin 1 |
Eingangspin 2 |
Motorrichtung |
Hoch |
Niedrig |
Hoch |
Biegen Sie rechts ab |
Hoch |
Hoch |
Niedrig |
Biegen Sie links ab |
Hoch |
Niedrig |
Niedrig |
Halt |
Hoch |
Hoch |
Hoch |
Halt |
Wie in der obigen Abbildung gezeigt, sollte 2A für die Drehung im Uhrzeigersinn hoch und 1A niedrig sein. In ähnlicher Weise sollte 1A gegen den Uhrzeigersinn hoch und 2A niedrig sein.
Wie in der Abbildung gezeigt, verfügt Arduino UNO über 6PWM-Kanäle, sodass wir an jedem dieser sechs Pins PWM (variable Spannung) erhalten können. In diesem Tutorial verwenden wir PIN3 als PWM-Ausgang.
Hardware: ARDUINO UNO, Netzteil (5 V), 100 uF Kondensator, LED, Tasten (zweiteilig), 10 kΩ Widerstand (zweiteilig).
Software: Arduino IDE (Arduino Nightly).
Schaltplan
Die Schaltung wird gemäß dem oben gezeigten Schaltplan in ein Steckbrett geschaltet. Beim Anschließen der LED-Klemmen ist jedoch darauf zu achten. Obwohl die Tasten in diesem Fall einen Bouncing-Effekt zeigen, verursacht dies keine wesentlichen Fehler, sodass wir uns diesmal keine Sorgen machen müssen.
Die PWM von UNO ist einfach, in normalen Fällen ist das Einrichten eines ATMEGA-Controllers für das PWM-Signal nicht einfach. Wir müssen viele Register und Einstellungen für ein genaues Signal definieren, aber in ARDUINO müssen wir uns nicht mit all diesen Dingen befassen.
Standardmäßig sind alle Header-Dateien und Register von ARDUINO IDE vordefiniert. Wir müssen sie nur aufrufen und haben einen PWM-Ausgang an der entsprechenden PIN.
Um nun einen PWM-Ausgang an einem geeigneten Pin zu erhalten, müssen wir an drei Dingen arbeiten:
|
Zuerst müssen wir den PWM-Ausgangspin aus sechs Pins auswählen, danach müssen wir diesen Pin als Ausgang setzen.
Als nächstes müssen wir die PWM-Funktion von UNO aktivieren, indem wir die Funktion "analogWrite (Pin, Wert)" aufrufen. Hier steht 'Pin' für die Pin-Nummer, bei der wir einen PWM-Ausgang benötigen. Wir setzen ihn als '3'. Bei PIN3 erhalten wir also eine PWM-Ausgabe.
Der Wert ist der Einschaltzyklus zwischen 0 (immer aus) und 255 (immer ein). Wir werden diese Zahl durch Drücken einer Taste erhöhen und verringern.
Die UNO hat eine maximale Auflösung von "8", man kann nicht weiter gehen, daher die Werte von 0-255. Sie können jedoch die Auflösung von PWM verringern, indem Sie den Befehl „analogWriteResolution ()“ verwenden. Wenn Sie einen Wert von 4 bis 8 in die Klammern eingeben, können Sie den Wert von 4-Bit-PWM auf 8-Bit-PWM ändern.
Der Schalter soll die Drehrichtung für den Gleichstrommotor ändern.