Arduino Mega - Gleichstrommotor
Diese Anleitung zeigt Ihnen, wie Sie das Arduino Mega zur Steuerung eines Gleichstrommotors verwenden. Einfach gesagt werden wir folgende Themen behandeln:
- Wie ein Gleichstrommotor funktioniert
- Wie man Geschwindigkeit und Richtung eines Gleichstrommotors einstellt
- Wie man einen L298N Treiber zur Steuerung eines Gleichstrommotors verwendet

Benötigte Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über den Gleichstrommotor
Gleichstrommotor Pinbelegung
Ein Gleichstrommotor verwendet zwei Kabel.
- Das positive Kabel ist normalerweise rot.
- Das negative Kabel ist normalerweise schwarz.

Funktionsweise
Wenn Sie einen Gleichstrommotor kaufen, sollten Sie wissen, welche Spannung er benötigt. Zum Beispiel ein Gleichstrommotor, der mit 12 Volt läuft. Wenn Sie einen 12V Gleichstrommotor an eine 12-Volt-Stromquelle anschließen:
- Verbinden Sie 12V mit dem roten Kabel und das schwarze Kabel mit der Masse: Der Gleichstrommotor läuft im Uhrzeigersinn mit voller Geschwindigkeit.
- Verbinden Sie 12V mit dem schwarzen Kabel und das rote Kabel mit der Masse: Der Gleichstrommotor läuft gegen den Uhrzeigersinn mit voller Geschwindigkeit.
Wenn Sie die beiden Kabel eines Gleichstrommotors vertauschen, dreht sich der Motor in die entgegengesetzte Richtung. Dieser einfache Trick hilft Ihnen zu steuern, in welche Richtung der Motor dreht. Dies geschieht durch Programmierung, nicht von Hand.
Wenn Sie einem Gleichstrommotor weniger als 12 Volt geben, beginnt er sich zu drehen, aber nicht mit voller Geschwindigkeit. Das zeigt, dass eine Änderung der Spannung die Geschwindigkeit ändert. Aber die Spannung direkt zu ändern ist in der Praxis schwer zu bewerkstelligen. Deshalb gibt es einen einfacheren Weg, die Motorgeschwindigkeit zu steuern. Halten Sie die Versorgungsspannung gleich und verwenden Sie ein PWM-Signal zur Geschwindigkeitssteuerung. PWM steht für Pulsweitenmodulation. Es schaltet die Spannung schnell ein und aus. Wenn die Einschaltzeit (Duty Cycle) höher ist, läuft der Motor schneller; wenn sie niedriger ist, wird er langsamer.

Wie man einen Gleichstrommotor mit Arduino Mega steuert
Um einen Gleichstrommotor zu betreiben, müssen Sie steuern, wie schnell er sich dreht und in welche Richtung er sich dreht. Das Arduino Mega kann ein PWM-Signal erzeugen, aber dieses Signal hat zu wenig Spannung und Strom, um den Motor allein anzutreiben. Deshalb benötigen Sie einen Hardware-Treiber, um das Arduino Mega mit dem Gleichstrommotor zu verbinden. Dieser Treiber erfüllt zwei Hauptaufgaben:
- Das PWM-Signal vom Arduino Mega verstärken (höhere Spannung und mehr Strom) zur Geschwindigkeitssteuerung.
- Ein Steuersignal vom Arduino Mega erhalten, um die Polarität der Stromversorgung zu vertauschen und die Richtung zu steuern.

※ Notiz:
- Diese Anleitung kann für jeden Gleichstrommotor verwendet werden. Wir verwenden einen 12V Motor als Beispiel.
- Wenn Sie einen 5V Gleichstrommotor verwenden, benötigen Sie trotzdem einen Treiber zwischen Arduino Mega und Motor, obwohl der Arduino Mega Pin 5V liefert (die gleiche Spannung wie der Motor). Das liegt daran, dass der Arduino Mega Pin nicht genug Strom liefern kann, um den Motor zu betreiben.
In dieser Anleitung verwenden wir den L298N Treiber zur Steuerung von Gleichstrommotoren.
Über den L298N Treiber
In dieser Anleitung lernen Sie, wie Sie den L298N Motor-Treiber verwenden, um einen Gleichstrommotor zu betreiben.
L298N Treiber Pinbelegung

Der L298N Treiber kann zwei Gleichstrommotoren gleichzeitig steuern, genannt Motor A und Motor B. Er hat 13 Pins.
Die gemeinsamen Pins für beide Motoren:
- VCC Pin: Versorgt den Motor mit Strom. Spannungsbereich: 5 bis 35 Volt.
- GND Pin: Gemeinsame Masse. Mit Masse (0V) verbinden.
- 5V Pin: Versorgt das L298N Modul mit Strom. Kann 5V vom Arduino Mega verwenden.
Motor A Pins (Kanal A):
- ENA Pins: Diese steuern, wie schnell Motor A läuft. Um die Geschwindigkeit anzupassen, entfernen Sie den Jumper und verbinden den Pin mit einem PWM-Signal.
- IN1 & IN2 Pins: Sie entscheiden, in welche Richtung sich Motor A bewegt. Wenn ein Pin an und der andere aus ist, dreht sich Motor A. Wenn beide Pins an oder beide aus sind, stoppt Motor A.
- OUT1 & OUT2 Pins: Diese Pins gehen zu Motor A.
Motor B Pins (Kanal B):
- ENB Pins: Diese stellen ein, wie schnell Motor B läuft. Wenn Sie den Jumper entfernen und diese Pins mit einem PWM-Signal verbinden, können Sie Motor B's Geschwindigkeit ändern.
- IN3 & IN4 Pins: Diese entscheiden, in welche Richtung sich Motor B dreht. Wenn IN3 an und IN4 aus ist, dreht sich Motor B in eine Richtung. Wenn IN3 aus und IN4 an ist, dreht er sich in die andere Richtung. Wenn beide an oder beide aus sind, stoppt Motor B.
- OUT3 & OUT4 Pins: Diese verbinden sich mit Motor B.
Der L298N Treiber, den wir vorhin erwähnt haben, verwendet zwei Arten von Stromversorgung:
- Eine für den Gleichstrommotor (VCC und GND Pins): 5 bis 35 Volt.
- Eine für die Stromversorgung des L298N Moduls selbst (5V und GND Pins): 5 bis 7 Volt.
Der L298N Treiber hat drei kleine Jumper für erweiterte Einstellungen. Um es einfach zu halten, entfernen Sie alle Jumper vom L298N Treiber.
Wir können zwei Gleichstrommotoren gleichzeitig mit einem Arduino Mega und einem L298N Motor-Treiber steuern. Um jeden Motor zu steuern, verwenden wir drei Pins vom Arduino Mega.
※ Notiz:
Diese Anleitung zeigt Ihnen, wie Sie einen Gleichstrommotor mit Kanal A steuern. Die gleichen Schritte können verwendet werden, um einen anderen Gleichstrommotor zu steuern.
Verkabelungsdiagramm
Entfernen Sie alle drei Jumper vom L298N Modul, bevor Sie mit der Verkabelung beginnen.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Wie man die Geschwindigkeit des Gleichstrommotors über den L298N Treiber steuert
Sie können leicht ändern, wie schnell der Gleichstrommotor läuft, indem Sie ein PWM-Signal an den ENA Pin des L298N senden. So machen Sie es:
- Verbinden Sie einen Pin vom Arduino Mega mit dem ENA Pin am L298N Modul.
- Verwenden Sie die analogWrite() Funktion, um ein PWM-Signal an den ENA Pin zu senden. Der L298N Treiber verwendet dieses PWM-Signal, um den Gleichstrommotor mit Strom zu versorgen.
Die Geschwindigkeit kann jede Zahl von 0 bis 255 sein. Wenn die Geschwindigkeit 0 ist, stoppt der Motor. Wenn die Geschwindigkeit 255 ist, läuft der Motor so schnell wie möglich.
Wie man die Richtung des Gleichstrommotors über den L298N Treiber steuert
Um zu ändern, in welche Richtung sich der Motor dreht, setzen Sie IN1 und IN2 auf HIGH oder LOW. Die folgende Tabelle zeigt, wie Sie die Richtung für beide Kanäle steuern.
| IN1 Pin | IN2 Pin | Richtung |
|---|---|---|
| LOW | LOW | Motor A stoppt |
| HIGH | HIGH | Motor A stoppt |
| HIGH | LOW | Motor A dreht sich im Uhrzeigersinn |
| LOW | HIGH | Motor A dreht sich gegen den Uhrzeigersinn |
- Motor A dreht sich im Uhrzeigersinn.
- Motor A dreht sich gegen den Uhrzeigersinn.
※ Notiz:
Wenn Sie OUT1 und OUT2 falsch mit dem Motor verbinden, dreht sich der Motor in die andere Richtung. Um es zu beheben, tauschen Sie einfach OUT1 und OUT2 aus, oder ändern Sie die Signale auf IN1 und IN2 in Ihrem Code.
Wie man das Drehen des Gleichstrommotors stoppt
Es gibt zwei Wege, einen Gleichstrommotor zu stoppen.
- Setzen Sie die Geschwindigkeit auf null.
- Setzen Sie IN1 und IN2 Pins auf den gleichen Wert, entweder niedrig oder hoch.
- Oder
Wie man einen Gleichstrommotor mit dem L298N Treiber steuert.
Arduino Mega Code
Der Code unten macht folgende Dinge:
- Lässt den Gleichstrommotor schneller laufen
- Ändert die Richtung
- Lässt den Gleichstrommotor langsamer laufen
- Stoppt den Motor
Schnelle Schritte
Befolgen Sie diese Schritte Schritt für Schritt.
- Verkabeln Sie die Teile entsprechend dem Diagramm.
- Verbinden Sie das Arduino Mega Board mit Ihrem Computer über ein USB-Kabel.
- Öffnen Sie die Arduino IDE auf Ihrem Computer.
- Wählen Sie das richtige Board (Arduino Mega) und den COM-Port.
- Entfernen Sie alle drei Jumper vom L298N Modul.
- Fügen Sie den Code in die Arduino IDE ein.
- Klicken Sie auf die Upload Schaltfläche in der Arduino IDE, um den Code an das Arduino Mega zu senden.
- Beobachtungen:
- Der Gleichstrommotor beschleunigt, läuft dann 1 Sekunde lang mit voller Geschwindigkeit.
- Die Richtung des Motors ändert sich.
- Der Motor läuft 1 Sekunde lang mit voller Geschwindigkeit in die entgegengesetzte Richtung.
- Der Motor wird langsamer.
- Der Motor stoppt für 1 Sekunde.
- Diese Sequenz wiederholt sich.
※ Notiz:
In dieser Anleitung lernen wir, wie man die Geschwindigkeit eines Gleichstrommotors relativ zu seiner maximalen Geschwindigkeit ändert. Um die exakte Geschwindigkeit in Umdrehungen pro Sekunde einzustellen, benötigen Sie einen PID-Regler und einen Encoder. Wir werden behandeln, wie man die präzise Geschwindigkeit des Gleichstrommotors steuert, in einer separaten Anleitung.
Video Tutorial
Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.