Arduino UNO R4 - Gleichstrommotor
In diesem Leitfaden lernen wir, wie man den Arduino UNO R4 verwendet, um den Gleichstrommotor zu steuern. Im Detail werden wir lernen:
- Wie ein Gleichstrommotor funktioniert
- Wie man die Drehzahl und die Drehrichtung eines Gleichstrommotors steuert.
- Wie man einen Gleichstrommotor mit einem L298N-Treiber steuert

Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables STEM V4 IoT Starter-Kit (Arduino enthalten) | |
| 1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über Gleichstrommotor
Pinbelegung des Gleichstrommotors
Ein Gleichstrommotor hat zwei Drähte.
- Positiver Draht: oft rot
- Negativer Draht: oft schwarz

So funktioniert es
Wenn Sie einen Gleichstrommotor kaufen, ist es wichtig zu verstehen, mit welcher Spannung er betrieben wird. Betrachten Sie zum Beispiel einen Gleichstrommotor, der mit 12 Volt arbeitet. Wenn Sie den 12-Volt-Gleichstrommotor an eine 12-Volt-Stromquelle anschließen:
- Verbinde 12V mit dem Plusdraht und GND mit dem Minusdraht: Der DC-Motor dreht sich mit voller Geschwindigkeit im Uhrzeigersinn.
- Verbinde 12V mit dem Minusdraht und GND mit dem Plusdraht: Der DC-Motor dreht sich mit voller Geschwindigkeit gegen den Uhrzeigersinn.
Wenn Sie die Anschlüsse an zwei Drähten des Gleichstrommotors, wie bereits erwähnt, umschalten, ändert sich die Drehrichtung. Diese Technik hilft, die Drehrichtung des Gleichstrommotors zu steuern. Dies geschieht nicht von Hand, sondern durch Programmierung.
Wenn wir Gleichstrommotoren weniger als 12 V zuführen, läuft der Motor zwar, aber nicht mit voller Geschwindigkeit. Das zeigt, dass eine Veränderung der Spannung die Drehzahl des Motors beeinflusst. In der Praxis ist es jedoch schwierig, die Spannung direkt anzupassen. Es gibt also eine einfachere Methode, die Drehzahl eines Gleichstrommotors zu steuern. Wir halten die Versorgungsspannung konstant und verwenden ein PWM-Signal (Pulsweitenmodulation), um die Motordrehzahl zu steuern. Bei einem höheren PWM-Tastverhältnis dreht sich der Motor schneller, und umgekehrt.

Wie man einen Gleichstrommotor mit dem Arduino UNO R4 steuert
Um einen Gleichstrommotor zu steuern, müssen Sie seine Geschwindigkeit und Richtung kontrollieren. Der Arduino UNO R4 kann ein PWM-Signal erzeugen, aber dieses Signal ist in Spannung und Strom zu schwach, um den Motor direkt zu steuern. Daher wird ein Hardware-Treiber benötigt, um den Arduino UNO R4 mit dem Gleichstrommotor zu verbinden. Dieser Treiber erfüllt zwei Hauptaufgaben:
- Die PWM-Signalstärke vom Arduino UNO R4 erhöhen (sowohl Strom als auch Spannung) zur Steuerung der Geschwindigkeit.
- Das Steuersignal vom Arduino UNO R4 empfangen, um die Polarität der Stromversorgung zur Richtungssteuerung zu ändern.

※ Notiz:
- Sie können diese Anleitung für jeden Gleichstrommotor verwenden. Wir verwenden als Beispiel einen 12-V-Gleichstrommotor.
- Wenn Sie einen 5-V-Gleichstrommotor verwenden, auch wenn der Pin des Arduino UNO R4 5 V ausgibt (die gleiche Spannung wie der Gleichstrommotor), benötigen Sie dennoch einen Treiber zwischen dem Arduino UNO R4 und dem Gleichstrommotor. Dies liegt daran, dass der Pin des Arduino UNO R4 nicht genügend Strom für den Gleichstrommotor liefern kann.
Dieses Tutorial verwendet den L298N-Treiber, um Gleichstrommotoren zu steuern.
Über den L298N-Treiber
In diesem Leitfaden lernen wir, wie man den L298N-Treiber verwendet, um einen Gleichstrommotor zu steuern.
L298N Treiber-Pinbelegung

Der L298N-Treiber kann zwei Gleichstrommotoren gleichzeitig unabhängig voneinander steuern, die Motoren A und B. Er verfügt über 13 Pins.
Die gemeinsamen Pins beider Motoren:
- VCC-Pin: Versorgt den Motor mit Strom. Die Spannung kann im Bereich von 5 bis 35 V liegen.
- GND-Pin: Dies ist ein gemeinsamer Masseanschluss und sollte mit GND (0 V) verbunden werden.
- 5V-Pin: Versorgt das L298N-Modul. Es kann 5 V verwenden, die vom Arduino UNO R4 bereitgestellt werden.
Pins des Motors A (Kanal A):
- ENA-Pins: Diese steuern die Geschwindigkeit von Motor A. Um die Geschwindigkeit anzupassen, entfernen Sie den Jumper und verbinden Sie den Pin mit einem PWM-Eingang.
- IN1 & IN2 Pins: Diese bestimmen die Drehrichtung von Motor A. Wenn ein Pin HIGH und der andere LOW ist, dreht sich Motor A. Wenn beide Pins entweder HIGH oder LOW sind, stoppt Motor A.
- OUT1 & OUT2 Pins: Diese sind mit Motor A verbunden.
Motor B-Pins (Kanal B):
- ENB-Pins: Diese steuern die Geschwindigkeit von Motor B. Wenn Sie den Jumper entfernen und diese Pins an einen PWM-Eingang anschließen, können Sie einstellen, wie schnell Motor B dreht.
- IN3- und IN4-Pins: Diese steuern die Drehrichtung von Motor B. Wenn IN3 hoch ist und IN4 niedrig, oder umgekehrt, dreht sich Motor B. Wenn beide hoch oder beide niedrig sind, stoppt Motor B.
- OUT3- und OUT4-Pins: Diese sind mit Motor B verbunden.
Der zuvor erwähnte L298N-Treiber hat zwei Arten von Eingangsspannungen:
- Eine Versorgung für den Gleichstrommotor (VCC- und GND-Pins): von 5 bis 35 V.
- Eine Versorgung für den Betrieb des L298N-Moduls selbst (5V- und GND-Pins): von 5 bis 7 V.
Der L298N-Treiber hat drei Jumper-Stecker für komplexere Anwendungen. Zur Vereinfachung entfernen Sie bitte alle Jumper vom L298N-Treiber.
Wir können zwei Gleichstrommotoren gleichzeitig steuern, indem wir einen Arduino UNO R4 und einen L298N-Treiber verwenden. Um jeden Motor zu steuern, verwenden wir drei Pins vom Arduino UNO R4.
※ Notiz:
Dieses Tutorial zeigt Ihnen, wie Sie einen Gleichstrommotor über Kanal A steuern. Die Steuerung eines weiteren Gleichstrommotors erfolgt auf ähnliche Weise.
Verdrahtungsdiagramm
Nehmen Sie alle drei Jumper vom L298N-Modul ab, bevor Sie mit dem Verdrahten beginnen.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Siehe Der beste Weg, den Arduino Uno R4 und andere Komponenten mit Strom zu versorgen.
Wie man die Geschwindigkeit eines Gleichstrommotors über den L298N-Treiber steuert
Sie können die Geschwindigkeit des Gleichstrommotors ganz einfach einstellen, indem Sie ein PWM-Signal an den ENA-Pin des L298N senden. So geht es:
- Verbinde einen Pin des Arduino UNO R4 mit dem ENA-Pin des L298N-Moduls.
- Verwende die Funktion analogWrite(), um dem ENA-Pin ein PWM-Signal zu senden. Der L298N-Treiber verstärkt dieses PWM-Signal, um den Gleichstrommotor anzutreiben.
Die Geschwindigkeit kann jede Zahl von 0 bis 255 sein. Bei einer Geschwindigkeit von 0 stoppt der Motor. Bei einer Geschwindigkeit von 255 dreht sich der Motor mit der höchsten Geschwindigkeit.
Wie man die Drehrichtung eines Gleichstrommotors über den L298N-Treiber steuert
Die Drehrichtung eines Motors kann geändert werden, indem die IN1- und IN2-Pins auf HIGH oder LOW gesetzt werden. Die untenstehende Tabelle zeigt, wie die Drehrichtung für beide Kanäle gesteuert wird.
| IN1 pin | IN2 pin | Direction |
|---|---|---|
| LOW | LOW | Motor A stops |
| HIGH | HIGH | Motor A stops |
| HIGH | LOW | Motor A spins Clockwise |
| LOW | HIGH | Motor A spins Anti-Clockwise |
- Motor A dreht sich im Uhrzeigersinn.
- Motor A dreht sich gegen den Uhrzeigersinn
※ Notiz:
Wenn Sie die Pins OUT1 und OUT2 in der umgekehrten Reihenfolge mit den Pins des Gleichstrommotors verbinden, dreht sich der Motor in die entgegengesetzte Richtung. Um dies zu beheben, wechseln Sie einfach die Reihenfolge der Pins OUT1 und OUT2 oder ändern Sie die Steuersignale an den Pins IN1 und IN2 im Programmcode.
Wie man einen DC-Motor stoppt
Es gibt zwei Methoden, einen Gleichstrommotor auszuschalten.
- Setzen Sie die Geschwindigkeit auf Null.
- Setzt die Pins IN1 und IN2 auf denselben Wert (entweder LOW oder HIGH).
- Oder
Wie man einen Gleichstrommotor mit dem L298N-Treiber steuert.
Arduino UNO R4 Code
Der untenstehende Code führt Folgendes aus:
- Mache den Gleichstrommotor schneller
- Kehr die Drehrichtung um
- Mache den Gleichstrommotor langsamer
- Stoppe den Motor
Schnelle Schritte
Folgen Sie diesen Anweisungen Schritt für Schritt:
- Falls dies Ihr erster Einsatz des Arduino Uno R4 WiFi/Minima ist, siehe das Tutorial zur Einrichtung der Umgebung für Arduino Uno R4 WiFi/Minima in der Arduino IDE.
- Verkabeln Sie die Komponenten gemäß dem bereitgestellten Diagramm.
- Schließen Sie das Arduino Uno R4-Board mit einem USB-Kabel an Ihren Computer an.
- Starten Sie die Arduino IDE auf Ihrem Computer.
- Wählen Sie das passende Arduino Uno R4-Board (z. B. Arduino Uno R4 WiFi) und den COM-Port aus.
- Entfernen Sie alle drei Jumper vom L298N-Modul.
- Fügen Sie den Code in die Arduino IDE ein.
- Drücken Sie die Schaltfläche Hochladen in der Arduino IDE, um den Code auf das Arduino UNO R4 hochzuladen.
- Beobachtungen:
- Der Gleichstrommotor beschleunigt, dreht sich dann eine Sekunde lang mit maximaler Geschwindigkeit.
- Die Drehrichtung des Gleichstrommotors ändert sich.
- Der Gleichstrommotor dreht sich eine Sekunde lang mit maximaler Geschwindigkeit in der entgegengesetzten Richtung.
- Der Gleichstrommotor verlangsamt.
- Der Gleichstrommotor bleibt eine Sekunde lang stehen.
- Diese Sequenz wiederholt sich kontinuierlich.
※ Notiz:
In diesem Tutorial lernen wir, wie man die relative Geschwindigkeit eines Gleichstrommotors im Verhältnis zu seiner Höchstgeschwindigkeit einstellt. Um die absolute Geschwindigkeit in Umdrehungen pro Sekunde zu steuern, müssen wir einen PID-Regler und einen Encoder verwenden. In einem anderen Tutorial erläutern wir, wie man die genaue Geschwindigkeit des Gleichstrommotors steuert.
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.