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:

Arduino UNO R4 Gleichstrommotor

Über Gleichstrommotor

Pinbelegung des Gleichstrommotors

Ein Gleichstrommotor hat zwei Drähte.

  • Positiver Draht: oft rot
  • Negativer Draht: oft schwarz
Gleichstrommotor-Pinbelegung

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 steuert

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.
Arduino UNO R4 DC-Motor steuern

※ 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

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.

Arduino UNO R4 DC-Motor L298N Treiber Verdrahtungsdiagramm

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.
analogWrite(ENA_PIN, speed); // Stelle die Motorgeschwindigkeit am ENA_PIN ein, Bereich 0-255

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.
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 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.
analogWrite(ENA_PIN, 0);
  • Setzt die Pins IN1 und IN2 auf denselben Wert (entweder LOW oder HIGH).
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 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
/* * Dieser Arduino UNO R4 Code wurde von newbiely.de entwickelt * Dieser Arduino UNO R4 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-uno-r4/arduino-uno-r4-dc-motor */ #define ENA_PIN 9 // The Arduino UNO R4 pin connected to the EN1 pin L298N #define IN1_PIN 6 // The Arduino UNO R4 pin connected to the IN1 pin L298N #define IN2_PIN 3 // The Arduino UNO R4 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

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.

Verwandte Tutorials

※ 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!