Arduino Nano - Aktuator

Dieses Tutorial zeigt Ihnen, wie Sie den Arduino Nano verwenden, um einen Linearantrieb zu steuern. Im Detail werden wir lernen:

Es gibt zwei Arten von Linearantrieben:

Dieses Tutorial behandelt einen Linearantrieb ohne Rückmeldung. Wenn Sie sich dafür interessieren, mehr über einen Linearantrieb mit Rückmeldung zu erfahren, lesen Sie bitte das Arduino Nano - Linearantrieb mit Rückmeldung Tutorial.

Erforderliche Hardware

1×Official Arduino Nano
1×Alternativ: DIYables ATMEGA328P Nano Development Board
1×USB-A-zu-Mini-B-Kabel
1×Linearaktor
1×L298N Motortreiber-Modul
1×12V Netzteil
1×DC-Stromanschluss
1×Verbindungskabel
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Breakout-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Stromverteiler für Arduino Nano

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 Linearantrieb

Linearantrieb Ausfahren Einfahren

Linearantriebs-Pinbelegung

Ein Linearantrieb hat typischerweise zwei Drähte:

  • Der Plusdraht ist normalerweise rot
  • Der Minusdraht ist normalerweise schwarz
Linearantrieb-Pinbelegung

Wie es funktioniert

Beim Kauf eines Linearantriebs ist es wichtig, den Spannungsbedarf zu beachten. Nehmen wir zum Beispiel einen 12-V-Linearantrieb.

Wenn Sie den 12-V-Linearantrieb über eine 12-V-Stromquelle versorgen:

  • Verbinden Sie 12 V mit dem Plusdraht und GND mit dem Minusdraht: Der Linearantrieb fährt mit voller Geschwindigkeit aus, bis er den Endanschlag erreicht.
  • Verbinden Sie 12 V mit dem Minusdraht und GND mit dem Plusdraht: Der Linearantrieb fährt mit voller Geschwindigkeit ein, bis er den Endanschlag erreicht.

Wenn der Strom zum Aktuator während des Ausfahrens oder Einfahrens unterbrochen wird, stoppt die Bewegung.

※ Notiz:

Für Gleichstrommotoren, Servomotoren und Schrittmotoren ohne Getriebe gilt: Wenn eine Last vorhanden ist und die Stromzufuhr unterbrochen wird, können sie ihre Position nicht halten. Im Gegensatz dazu kann ein Aktuator seine Position auch dann halten, wenn die Stromzufuhr abgeschaltet ist, während er eine Last trägt.

Wenn die Spannung der Stromversorgung für einen Linearantrieb unter 12 V liegt, wird der Linearantrieb dennoch ausfahren und einfahren, aber nicht mit Höchstgeschwindigkeit. Eine Änderung der Spannung der Stromversorgung kann die Geschwindigkeit des Linearantriebs beeinflussen, aber diese Methode wird normalerweise nicht verwendet, da es schwierig ist, die Spannung zu steuern. Ein praktischerer Ansatz besteht darin, die Spannung der Stromversorgung konstant zu halten und die Geschwindigkeit des Linearantriebs mit einem PWM-Signal zu steuern. Je höher das Tastverhältnis des PWM-Signals ist, desto schneller wird der Linearantrieb ausfahren und einfahren.

Wie man einen Linearantrieb steuert

Wie man einen Linearantrieb mit Arduino Nano steuert

Die Steuerung eines linearen Aktuators umfasst:

  • Den Linearantrieb mit maximaler Geschwindigkeit ausfahren.
  • Den Linearantrieb mit maximaler Geschwindigkeit einfahren.
  • (Optional) Die Geschwindigkeit des Aus- und Einfahrens regeln.

Das Arduino Nano kann ein Signal zur Steuerung des linearen Aktuators erzeugen, besitzt jedoch eine geringe Spannung und einen geringen Strom. Daher ist ein Hardware-Treiber erforderlich, der zwischen dem Arduino Nano und dem linearen Aktuator geschaltet wird, um Folgendes zu ermöglichen:

  • Das Steuersignal vom Arduino Nano verstärken
  • Ein weiteres Steuersignal vom Arduino Nano empfangen, um die Polarität der Stromversorgung für die Richtungssteuerung umzuschalten

※ Notiz:

  • Diese Anleitung kann mit jedem Typ von Linearantrieb verwendet werden. Ein 12-V-Linearantrieb ist nur ein Beispiel.
  • Beim Steuern eines 5-V-Linearantriebs, auch wenn der Pin des Arduino Nano 5 V ausgibt (was der Versorgungsspannung des Linearantriebs entspricht), ist zwischen dem Arduino Nano und dem Linearantrieb weiterhin ein Treiber erforderlich, da der Pin des Arduino Nano nicht genügend Strom für den Linearantrieb liefert.

Es gibt zahlreiche Arten von Chips und Modulen, wie L293D und L298N, die als Treiber für Linearantriebe verwendet werden können. Für dieses Tutorial werden wir den L298N-Treiber verwenden.

※ Notiz:

Sie können Relais auch als Treiber verwenden. Allerdings benötigt man vier Relais, um einen einzelnen Linearantrieb zu steuern (sowohl Ausfahren als auch Einfahren).

Über den L298N-Treiber

Der L298N-Treiber kann verwendet werden, um einen Linearantrieb, einen DC-Motor und einen Schrittmotor zu steuern. Dieses Tutorial zeigt Ihnen, wie Sie ihn verwenden, um einen Linearantrieb zu steuern.

L298N-Treiber-Pinbelegung

L298N-Treiber-Pinbelegung

Der L298N-Treiber verfügt über zwei Kanäle, die als A und B bezeichnet sind. Dadurch kann er zwei lineare Aktuatoren gleichzeitig unabhängig steuern. Angenommen, der lineare Aktuator A ist an Kanal A angeschlossen und der lineare Aktuator B an Kanal B. Der L298N-Treiber besitzt insgesamt 13 Pins.

Die gemeinsamen Pins für beide Kanäle:

  • VCC-Pin: Dieser Pin versorgt den Linearantrieb mit Strom und kann zwischen 5 und 35 V liegen.
  • GND-Pin: Dies ist ein gemeinsamer Masseanschluss und sollte mit 0 V (GND) verbunden werden.
  • 5V-Pin: Dieser Pin versorgt das L298N-Modul mit Strom und kann mit 5 V von einem Arduino Nano gespeist werden.

Kanal A Pins:

  • ENA-Pins: Diese Pins werden verwendet, um die Geschwindigkeit des Linearantriebs A einzustellen. Durch Entfernen des Jumpers und das Anschließen des Pins an einen PWM-Eingang können wir die Ausfahr-/Einfahrgeschwindigkeit des Linearantriebs A steuern.
  • IN1- und IN2-Pins: Diese Pins dienen dazu, die Bewegungsrichtung eines Linearantriebs zu bestimmen. Wenn einer von ihnen HIGH ist und der andere LOW, fährt der Linearantrieb aus oder fährt ein. Wenn beide Eingänge entweder HIGH oder LOW sind, kommt der Linearantrieb zum Stillstand.
  • OUT1- und OUT2-Pins: Diese Pins sind mit dem Linearantrieb A verbunden.

Kanal B Pins:

  • ENB-Pins: Sie dienen der Steuerung der Geschwindigkeit des linearen Aktuators B. Durch das Entfernen des Jumpers und das Anschließen des Pins an einen PWM-Eingang kann die Geschwindigkeit des Ausfahrens bzw. Einfahrens des linearen Aktuators B angepasst werden.
  • IN3- und IN4-Pins: Diese Pins werden zur Steuerung der Richtung eines linearen Aktuators verwendet. Wenn einer von ihnen auf HIGH gesetzt ist und der andere auf LOW, fährt der lineare Aktuator aus bzw. fährt ein. Wenn beide Eingänge entweder HIGH oder LOW sind, bewegt sich der lineare Aktuator nicht weiter.
  • OUT3- und OUT4-Pins: Diese Pins sind mit einem linearen Aktuator verbunden.

Der L298N-Treiber hat zwei Stromversorgungen:

  • Eine Komponente für den Linearantrieb (VCC- und GND-Pins) mit einem Spannungsbereich von 5 bis 35 V.
  • Eine Komponente für den internen Betrieb des L298N-Moduls (5V- und GND-Pins) mit einem Spannungsbereich von 5 bis 7 V.

Entfernen Sie alle Jumper vom L298N-Motortreiber, um die Schaltung zu vereinfachen.

Wir können zwei Linearantriebe gleichzeitig und unabhängig voneinander steuern, indem wir einen Arduino Nano und einen L298N-Treiber verwenden. Zur Steuerung jedes Linearantriebs benötigen wir lediglich drei Pins des Arduino Nano.

※ Notiz:

Der restliche Teil dieses Tutorials konzentriert sich darauf, einen Linearantrieb über Kanal A zu steuern. Die Steuerung des anderen Linearantriebs ist ähnlich.

So steuern Sie einen Linearantrieb

Dieses Tutorial erläutert, wie man einen Linearantrieb mit einem L298N-Treiber und einem Arduino Nano steuert.

Schaltplan

Entfernen Sie alle drei Jumper vom L298N-Modul, bevor Sie die Drähte anschließen.

Arduino Nano Linearantrieb L298N-Treiber Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Siehe Der beste Weg, den Arduino Nano und andere Komponenten mit Strom zu versorgen.

Wie man einen Linearantrieb ausfährt/einfährt

Die Bewegungsrichtung des Linearantriebs kann dadurch gesteuert werden, dass an die Pins IN1 und IN2 ein logisches HIGH bzw. LOW angelegt wird. In der untenstehenden Tabelle wird erläutert, wie man die Richtung in beiden Kanälen steuert.

IN1 pin IN2 pin Direction
LOW LOW Linear Actuator A stops
HIGH HIGH Linear Actuator A stops
HIGH LOW Linear Actuator A extends
LOW HIGH Linear Actuator A retracts
  • Vergrößern Sie die Länge des Linearantriebs A.
digitalWrite(IN1_PIN, HIGH); digitalWrite(IN2_PIN, LOW);
  • Den Linearantrieb A umkehren
digitalWrite(IN1_PIN, LOW); digitalWrite(IN2_PIN, HIGH);

※ Notiz:

Die Orientierung des Linearantriebs kann umgekehrt werden, indem die Pins OUT1 und OUT2 in einer anderen Reihenfolge an zwei Pins des Aktuators angeschlossen werden. Dazu ist es notwendig, entweder die Pins OUT1 und OUT2 umzuschalten oder das Steuersignal an den Pins IN1 und IN2 im Code zu ändern.

So verhindern Sie, dass der Linearantrieb ausfährt oder einfährt.

Der Linearantrieb stoppt das Ausfahren bzw. Einziehen, wenn er die Grenze erreicht. Zusätzlich können wir ihn so programmieren, dass er das Ausfahren bzw. Einziehen stoppt, bevor er die Grenze erreicht.

  • Schalten Sie den Strom ab.

Es gibt zwei Methoden, einen Linearantrieb zu stoppen:

  • Reduzieren Sie die Geschwindigkeit auf 0
  • Trennen Sie die Stromversorgung
analogWrite(ENA_PIN, 0);
  • Setzt die Pins IN1 und IN2 auf denselben Pegel, entweder LOW oder HIGH.
digitalWrite(IN1_PIN, LOW); digitalWrite(IN2_PIN, LOW);
  • Oder
digitalWrite(IN1_PIN, HIGH); digitalWrite(IN2_PIN, HIGH);

Wie man die Geschwindigkeit eines Linearantriebs über den L298N-Treiber steuert

Es ist einfach, die Geschwindigkeit des Linearantriebs zu steuern. Anstatt den ENA-Pin auf HIGH zu setzen, können wir ein PWM-Signal an den ENA-Pin erzeugen. Dies kann folgendermaßen erfolgen:

  • Einen Pin am Arduino Nano mit dem ENA des L298N verbinden.
  • Die Funktion analogWrite() verwenden, um ein PWM-Signal an den ENA-Pin zu erzeugen. Der L298N-Treiber wird das PWM-Signal auf den Linearantrieb verstärken.
analogWrite(ENA_PIN, speed); // speed ist ein Wert von 0 bis 255

Die Geschwindigkeit liegt zwischen 0 und 255. Wenn die Geschwindigkeit 0 beträgt, stoppt der Linearantrieb die Bewegung. Wenn die Geschwindigkeit 255 erreicht, fährt der Linearantrieb mit der höchsten Geschwindigkeit aus bzw. ein.

Arduino Nano Beispielcode

Der Code:

  • Erhöht den Linearantrieb auf seine Höchstgeschwindigkeit
  • Stoppt den Linearantrieb
  • Verringert den Linearantrieb auf seine Höchstgeschwindigkeit
  • Stoppt den Linearantrieb
/* * Dieser Arduino Nano Code wurde von newbiely.de entwickelt * Dieser Arduino Nano 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-nano/arduino-nano-actuator */ const int ENA_PIN = 7; // The Arduino Nano pin connected to the EN1 pin L298N const int IN1_PIN = 6; // The Arduino Nano pin connected to the IN1 pin L298N const int IN2_PIN = 5; // The Arduino Nano pin connected to the IN2 pin L298N // The setup function runs once on reset or power-up void setup() { // initialize digital pins as outputs. pinMode(ENA_PIN, OUTPUT); pinMode(IN1_PIN, OUTPUT); pinMode(IN2_PIN, OUTPUT); digitalWrite(ENA_PIN, HIGH); } // The loop function repeats indefinitely void loop() { // extend the actuator digitalWrite(IN1_PIN, HIGH); digitalWrite(IN2_PIN, LOW); delay(20000); // actuator will stop extending automatically when reaching the limit // retracts the actuator digitalWrite(IN1_PIN, LOW); digitalWrite(IN2_PIN, HIGH); delay(20000); // actuator will stop retracting automatically when reaching the limit }

Schnelle Schritte

Entferne alle drei Jumper vom L298N-Modul.

Kopieren Sie den Code und öffnen Sie ihn in der Arduino-IDE.

Klicken Sie in der Arduino IDE auf die Upload-Schaltfläche, um den Code auf den Arduino Nano hochzuladen.

Sie werden beobachten:

  • Der Linearantrieb wird sich ausfahren, bis er seinen Anschlag erreicht, dann stoppt er.
  • Der Linearantrieb wird sich für eine bestimmte Zeit in dieser Position befinden.
  • Anschließend wird der Linearantrieb sich einfahren, bis er seinen Anschlag erreicht, dann stoppt er.
  • Der Linearantrieb wird sich für eine bestimmte Zeit in dieser Position befinden.
  • Dieser Prozess wird sich wiederholen.

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!