Arduino Mega - Gleichstrommotor

Diese Anleitung zeigt Ihnen, wie Sie das Arduino Mega zur Steuerung eines Gleichstrommotors verwenden. Einfach gesagt werden wir folgende Themen behandeln:

Arduino Mega DC motor

Benötigte Hardware

1×Arduino Mega
1×USB 2.0 Kabel Typ A/B
1×L298N Motor Driver Modul
1×5V Gleichstrommotor
1×5V Netzteil für 5V Gleichstrommotor
1×DC-Stromanschluss
1×Jumper Kabel
1×(Empfohlen) Screw Terminal Block Shield for Arduino Uno/Mega
1×(Empfohlen) Breadboard Shield for Arduino Mega
1×(Empfohlen) Enclosure for Arduino Mega

Oder Sie können die folgenden Kits kaufen:

1×DIYables Sensor-Kit (30 Sensoren/Displays)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Über den Gleichstrommotor

Gleichstrommotor Pinbelegung

Ein Gleichstrommotor verwendet zwei Kabel.

  • Das positive Kabel ist normalerweise rot.
  • Das negative Kabel ist normalerweise schwarz.
DC Motor Pinout

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.

How to control DC motor

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.
Arduino Mega control DC motor

※ 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

L298N Driver Pinout

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.

Arduino Mega DC Motor L298N Driver Wiring Diagram

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.
analogWrite(ENA_PIN, speed); // Write PWM value to ENA_PIN to control motor speed (0-255)

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.
digitalWrite(IN1_PIN, HIGH); digitalWrite(IN2_PIN, LOW);
  • Motor A dreht sich gegen den Uhrzeigersinn.
digitalWrite(IN1_PIN, LOW); digitalWrite(IN2_PIN, HIGH);

※ 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.
analogWrite(ENA_PIN, 0);
  • Setzen Sie IN1 und IN2 Pins auf den gleichen Wert, entweder niedrig oder hoch.
digitalWrite(IN1_PIN, LOW); digitalWrite(IN2_PIN, LOW);
  • Oder
digitalWrite(IN1_PIN, HIGH); digitalWrite(IN2_PIN, HIGH);

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
/* * Dieser Arduino Mega Code wurde von newbiely.de entwickelt * Dieser Arduino Mega Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino-mega/arduino-mega-dc-motor */ #define ENA_PIN 9 // The Arduino Mega pin connected to the EN1 pin L298N #define IN1_PIN 6 // The Arduino Mega pin connected to the IN1 pin L298N #define IN2_PIN 3 // The Arduino Mega pin connected to the IN2 pin L298N void setup() { // initialize digital pins as outputs. pinMode(ENA_PIN, OUTPUT); pinMode(IN1_PIN, OUTPUT); pinMode(IN2_PIN, OUTPUT); } void loop() { digitalWrite(IN1_PIN, HIGH); // control motor A spins clockwise digitalWrite(IN2_PIN, LOW); // control motor A spins clockwise for (int speed = 0; speed <= 255; speed++) { analogWrite(ENA_PIN, speed); // control the speed delay(10); } delay(1000); // rotate at maximum speed 1 seconds in in clockwise direction // change direction digitalWrite(IN1_PIN, LOW); // control motor A spins anti-clockwise digitalWrite(IN2_PIN, HIGH); // control motor A spins anti-clockwise delay(1000); // rotate at maximum speed 1 seconds in in anti-clockwise direction for (int speed = 255; speed >= 0; speed--) { analogWrite(ENA_PIN, speed); // control the speed delay(10); } delay(1000); // stop motor 1 second }

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.

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!