ESP8266 - Aktuator

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

Es gibt zwei Arten von Linearantrieben:

Dieses Tutorial ist für lineare Aktuatoren ohne Feedback. Wenn Sie sich für lineare Aktuatoren mit Feedback interessieren, lesen Sie bitte das ESP8266 - Actuator with Feedback Tutorial.

Erforderliche Hardware

1×ESP8266 NodeMCU
1×USB-Kabel Typ-A zu Typ-C (für USB-A PC)
1×USB-Kabel Typ-C zu Typ-C (für USB-C PC)
1×Linearaktor
1×L298N Motortreiber-Modul
1×12V Netzteil
1×DC-Stromanschluss
1×Verbindungskabel
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für ESP8266
1×(Empfohlen) Stromverteiler für ESP8266 Typ-C

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 Linearantrieb

Linearantrieb Ausfahren Einfahren

Linearantrieb Pinbelegung

Ein Linearantrieb hat zwei Kabel:

  • Der positive Draht ist normalerweise rot.
  • Der negative Draht ist normalerweise schwarz.
Pinbelegung eines Linearantriebs

So funktioniert es

Beim Kauf eines Linearantriebs ist es wichtig, sich der Spannung bewusst zu sein, die er zum Betrieb benötigt. Nehmen wir zum Beispiel einen 12-Volt-Linearantrieb.

Wenn Sie den 12-Volt-Linearantrieb über eine 12-Volt-Stromquelle speisen:

  • Verbinden Sie 12 V mit dem positiven Draht und Masse mit dem negativen Draht: Der Linearantrieb wird sich mit voller Geschwindigkeit ausfahren, bis er den Anschlag erreicht.
  • Verbinden Sie 12 V mit dem negativen Draht und Masse mit dem positiven Draht: Der Linearantrieb fährt mit voller Geschwindigkeit ein, bis er den Anschlag erreicht.

Wenn die Stromzufuhr zum Aktuator unterbrochen wird, wird der Aus- oder Rückzugsprozess beendet.

※ Notiz:

Für Gleichstrommotoren, Servomotoren und Schrittmotoren ohne Getriebe gilt: Wenn eine Last vorhanden ist und die Stromzufuhr unterbrochen wird, behalten sie ihre Position nicht bei. Im Gegensatz dazu kann ein Aktuator seine Position beibehalten, selbst wenn die Stromzufuhr entfernt wird, während eine Last angelegt ist.

Wenn die Spannung der Stromversorgung für Linearantriebe unter 12 V liegt, fährt der Linearantrieb trotzdem aus bzw. ein, aber nicht mit maximaler Geschwindigkeit. Dies bedeutet, dass eine Veränderung der Spannung der Stromversorgung die Geschwindigkeit des Linearantriebs beeinflussen kann. Dieser Ansatz wird jedoch aufgrund der Schwierigkeit, die Spannung der Stromversorgung zu steuern, nicht häufig verwendet. Daher wird die Spannung der Stromversorgung konstant gehalten, und die Geschwindigkeit des Linearantriebs wird durch ein PWM-Signal geregelt. Je höher das Tastverhältnis des PWM-Signals ist, desto schneller fährt der Linearantrieb aus bzw. ein.

Wie man einen Linearantrieb steuert

Wie man einen Linearantrieb mit ESP8266 steuert

Das Betreiben eines linearen Aktuators umfasst:

  • Den Linearantrieb mit maximaler Geschwindigkeit ausfahren.
  • Den Linearantrieb mit maximaler Geschwindigkeit einfahren.
  • Optional: Die Geschwindigkeit des Aus- und Einfahrens einstellen.

Der ESP8266 ist in der Lage, ein Signal zu erzeugen, das verwendet werden kann, um einen Linearantrieb zu steuern; jedoch sind Spannung und Strom dieses Signals zu gering, um sie so verwenden zu können. Daher muss ein Hardwaretreiber verwendet werden, um die Lücke zwischen dem ESP8266 und dem Linearantrieb zu überbrücken. Der Treiber hat zwei Funktionen:

  • Verstärke das Steuersignal vom ESP8266 (sowohl in Bezug auf Spannung als auch auf Strom)
  • Empfange ein weiteres Steuersignal vom ESP8266, um die Polarität der Spannungsversorgung umzuschalten, wodurch die Richtungssteuerung ermöglicht wird.

※ Notiz:

  • Dieses Tutorial kann für alle Linearantriebe verwendet werden, wobei ein 12-V-Linearantrieb nur ein Beispiel ist.
  • Beim Steuern eines 5-V-Linearantriebs, auch wenn der ESP8266-Pin 5 V ausgibt (was dieselbe Spannung wie der Linearantrieb ist), benötigt man dennoch einen Treiber zwischen dem ESP8266 und dem Linearantrieb, da der ESP8266-Pin nicht genügend Strom für den Linearantrieb bereitstellt.

Es gibt zahlreiche Arten von Chips und Modulen, die für Treiber von linearen Aktuatoren verfügbar sind. Für dieses Tutorial verwenden wir den L298N-Treiber.

Über den L298N-Treiber

Der L298N-Treiber kann verwendet werden, um Linearantriebe, Gleichstrommotoren und Schrittmotoren zu steuern. Dieses Tutorial zeigt dir, wie man ihn verwendet, um den Linearantrieb zu steuern.

L298N-Treiber-Pinbelegung

Pinbelegung des L298N-Treibers

Der L298N-Treiber verfügt über zwei Kanäle, die mit A und B bezeichnet sind. Das bedeutet, dass er zwei Linearantriebe gleichzeitig unabhängig steuern kann. Angenommen, der Linearantrieb A ist an Kanal A angeschlossen und der Linearantrieb B ist an Kanal B angeschlossen. Der L298N-Treiber besitzt dreizehn Pins.

Die gemeinsamen Pins für beide Kanäle:

  • VCC-Pin: Dieser Pin versorgt den Linearantrieb mit Strom und kann von 5 bis 35 V reichen.
  • GND-Pin: Dies ist ein Masseanschluss, der mit 0 V (GND) verbunden werden muss.
  • 5V-Pin: Dieser Pin versorgt das L298N-Modul mit Strom und kann vom 5V-Ausgang eines ESP8266 bezogen werden.

Kanal A Pins:

  • ENA-Pins: Diese Pins werden verwendet, um die Geschwindigkeit des linearen Aktuators A zu steuern. Durch das Entfernen des Jumpers und das Anschließen dieses Pins an den PWM-Eingang kann die Geschwindigkeit, mit der der lineare Aktuator ausfährt und einfährt, gesteuert werden.
  • IN1- und IN2-Pins: Diese Pins werden verwendet, um die Richtung des linearen Aktuators zu steuern. Wenn einer von ihnen auf HIGH gesetzt ist und der andere auf LOW, wird der lineare Aktuator entweder ausfahren oder einfahren. Wenn beide Eingänge entweder HIGH oder LOW sind, stoppt der lineare Aktuator.
  • OUT1- und OUT2-Pins: Diese Pins sind mit dem linearen Aktuator A verbunden.

Pins des Kanal B:

  • ENB-Pins dienen dazu, die Geschwindigkeit des Linearantriebs B zu regeln. Das Entfernen des Jumpers und das Verbinden dieses Pins mit dem PWM-Eingang ermöglichen es uns, die Ausfahr- bzw. Einfahrgeschwindigkeit des Linearantriebs B zu steuern.
  • IN3- und IN4-Pins werden verwendet, um die Bewegungsrichtung eines Linearantriebs zu steuern. Wenn einer von ihnen HIGH ist und der andere LOW, fährt der Linearantrieb aus bzw. fährt ein. Wenn beide Eingänge entweder HIGH oder LOW sind, steht der Linearantrieb still.
  • OUT3- und OUT4-Pins sind mit einem Linearantrieb verbunden.

Der L298N-Treiber hat zwei Eingangsspannungen:

  • Einer für den Linearantrieb mit einem Spannungsbereich von 5 bis 35 V, an die VCC- und GND-Pins angeschlossen.
  • Einer für den internen Betrieb des L298N-Moduls, mit einem Spannungsbereich von 5 bis 7 V, an die 5V- und GND-Pins angeschlossen.

Entferne alle Jumper vom L298N-Treiber, um es zu vereinfachen.

Wir können zwei lineare Aktoren unabhängig und gleichzeitig mithilfe eines ESP8266 und eines L298N-Treibers steuern. Für jeden linearen Aktuator werden nur drei Pins des ESP8266 benötigt.

※ Notiz:

Der verbleibende Teil dieses Tutorials wird sich darauf konzentrieren, einen Linearantrieb über Kanal A zu steuern. Der Prozess zur Steuerung des anderen Linearantriebs ist ähnlich.

Wie man einen Linearantrieb steuert

Wir werden die Technik der Steuerung eines Linearantriebs mit Hilfe eines L298N-Treibers studieren.

Verdrahtungsdiagramm

Entfernen Sie alle drei Jumper am L298N-Modul, bevor Sie es anschließen.

ESP8266 NodeMCU Linearantrieb L298N Treiber Verdrahtungsdiagramm

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

Weitere Informationen finden Sie unter ESP8266-Pinbelegung und wie man ESP8266 und andere Komponenten mit Strom versorgt.

Wie man einen linearen Aktuator ausfährt und einfährt

Die Bewegungsrichtung des Linearantriebs kann gesteuert werden, indem man entweder einen logischen HIGH- oder LOW-Pegel an die Pins IN1 und IN2 anlegt. Die untenstehende Tabelle zeigt, wie die Richtung in beiden Kanälen gesteuert wird.

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
  • Verlängert den Linearantrieb A.
digitalWrite(IN1_PIN, HIGH); digitalWrite(IN2_PIN, LOW);
  • Zieht den Linearantrieb A ein.
digitalWrite(IN1_PIN, LOW); digitalWrite(IN2_PIN, HIGH);

※ Notiz:

Die Orientierung des Linearantriebs kann geändert werden, indem die OUT1- und OUT2-Pins in einer anderen Reihenfolge angeschlossen werden. Dazu muss entweder die OUT1- und OUT2-Pins umgeschaltet werden oder das Steuersignal an IN1- und IN2-Pins im Code geändert werden.

Wie man verhindert, dass ein Linearantrieb ausfährt oder einfährt

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

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 Wert, 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 regulieren. Anstatt den ENA-Pin auf HIGH zu setzen, können wir dem ENA-Pin ein PWM-Signal zuführen. Dies kann durch Folgendes erreicht werden:

  • Einen ESP8266-Pin mit dem ENA-Pin des L298N verbinden.
  • Ein PWM-Signal an den ENA-Pin erzeugen, indem die Funktion [analogWrite()] verwendet wird. Der L298N-Treiber verstärkt das PWM-Signal für den Linearantrieb.
analogWrite(ENA_PIN, speed); // Die Geschwindigkeit ist ein Wert von 0 bis 255

Die Geschwindigkeit ist ein Wert im Bereich von 0 bis 255. Wenn die Geschwindigkeit 0 beträgt, kommt der Linearantrieb zum Stillstand. Bei einer Geschwindigkeit von 255 fährt der Linearantrieb mit maximaler Geschwindigkeit aus bzw. ein.

ESP8266-Beispielcode

Der untenstehende Code:

  • Beschleunigt den Linearantrieb auf seine Höchstgeschwindigkeit
  • Stoppt den Linearantrieb
  • Verrringert den Linearantrieb auf seine Höchstgeschwindigkeit
  • Stoppt den Linearantrieb erneut
/* * Dieser ESP8266 NodeMCU Code wurde von newbiely.de entwickelt * Dieser ESP8266 NodeMCU 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/esp8266/esp8266-actuator */ #define ENA_PIN 7 // The ESP8266 pin connected to the EN1 pin L298N #define IN1_PIN 6 // The ESP8266 pin connected to the IN1 pin L298N #define IN2_PIN 5 // The ESP8266 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

Um mit dem ESP8266 in der Arduino-IDE zu beginnen, folgen Sie diesen Schritten:

  • Tutorial zur Einrichtung der Umgebung für ESP8266 in der Arduino-IDE, falls dies dein erster Umgang mit ESP8266 ist.
  • Verdrahte die Komponenten wie im Diagramm gezeigt.
  • Schließe das ESP8266-Board mit einem USB-Kabel an deinen Computer an.
  • Öffne die Arduino-IDE auf deinem Computer.
  • Wähle das richtige ESP8266-Board, z. B. NodeMCU 1.0 (ESP-12E-Modul), und den jeweiligen COM-Port.

Nehmen Sie alle drei Jumper vom L298N-Modul heraus.

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

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

Du wirst beobachten:

  • Der Linearantrieb fährt aus, bis er die Endlage erreicht, dann stoppt er.
  • Der Linearantrieb bleibt für eine bestimmte Zeit in dieser Position.
  • Der Linearantrieb fährt ein, bis er die Endlage erreicht, dann stoppt er.
  • Der Linearantrieb bleibt für eine bestimmte Zeit in dieser Position.
  • Dieser Prozess wird kontinuierlich wiederholt.

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!