ESP8266 - Aktuator
Dieses Tutorial zeigt Ihnen, wie Sie den ESP8266 verwenden, um einen Linearantrieb zu steuern. Im Detail werden wir lernen:
- Wie ein Linearantrieb funktioniert
- Wie man den ESP8266 programmiert, um einen Linearantrieb auszufahren bzw. einzufahren
- Wie man den ESP8266 programmiert, um die Geschwindigkeit eines Linearantriebs zu steuern
Es gibt zwei Arten von Linearantrieben:
- Linearantriebe ohne Rückmeldung: Sie werden typischerweise verwendet, um bis zum äußersten Punkt zu gelangen, und können nicht so gesteuert werden, dass sie an einer bestimmten Position anhalten.
- Linearantriebe mit Rückmeldung: Sie können so gesteuert werden, dass sie eine bestimmte Position erreichen, weil sie über ein Rückmeldesignal verfügen.
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
Oder Sie können die folgenden Kits kaufen:
1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über Linearantrieb

Linearantrieb Pinbelegung
Ein Linearantrieb hat zwei Kabel:
- Der positive Draht ist normalerweise rot.
- Der negative Draht ist normalerweise schwarz.

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

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.

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.
- Zieht den Linearantrieb A ein.
※ 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
- Setzt die Pins IN1 und IN2 auf denselben Wert, entweder LOW oder HIGH.
- Oder
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.
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
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.