ESP32 - Aktuator
Dieses Tutorial erklärt dir, wie du den ESP32 zur Steuerung eines linearen Aktuators verwendest. Im Detail werden wir lernen:
- Wie ein Linearantrieb funktioniert
- Wie man einen Linearantrieb ausfahren oder einfahren lässt.
- Wie man einen Linearantrieb mit dem L298N-Treiber steuert.
- Wie man die Geschwindigkeit eines Linearantriebs steuert.
Dieses Tutorial richtet sich an einen Linearantrieb ohne Rückmeldung. Wenn Sie mehr über einen Linearantrieb mit Rückmeldung erfahren möchten, sehen Sie sich dieses ESP32 - Actuator with Feedback Tutorial an.
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
1 | × | DIYables ESP32 Starter-Kit (ESP32 enthalten) | |
1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über Linearantrieb

Linearantrieb Pinbelegung
Der Linearantrieb hat zwei Drähte:
- Positiver Draht: normalerweise rot
- Negativer Draht: normalerweise schwarz

Wie es funktioniert
Wenn Sie einen Linearantrieb kaufen, müssen Sie wissen, mit welcher Spannung der Linearantrieb arbeitet. Nehmen wir als Beispiel einen 12-Volt-Linearantrieb.
Wenn Sie den 12-V-Linearantrieb mit einer 12-V-Stromquelle versorgen:
- 12V und GND an das positive Kabel bzw. das negative Kabel anschließen: Der Linearantrieb fährt mit voller Geschwindigkeit aus, bis er den Endanschlag erreicht.
- 12V und GND an das negative Kabel bzw. das positive Kabel anschließen: Der Linearantrieb fährt mit voller Geschwindigkeit ein, bis er den Endanschlag erreicht.
Beim Ausfahren oder Einfahren, wenn wir dem Aktuator die Stromversorgung entziehen (GND an beide Leitungen, sowohl an den positiven als auch an den negativen), hört der Aktuator auf, auszufahren bzw. einzufahren.
※ Notiz:
Für Gleichstrommotoren, Servomotoren und Schrittmotoren ohne Getriebe gilt: Unter Last können sie die Position nicht halten, wenn die Stromzufuhr abgeschaltet wird. Anders als diese Motoren kann der Stellantrieb die Position auch dann halten, wenn die Stromzufuhr abgeschaltet wird, während er eine Last trägt.
Wenn wir Linearantriebe mit einer Spannung unter 12 V versorgen, fahren sie dennoch aus oder ein, aber nicht mit maximaler Geschwindigkeit. Das bedeutet, dass wir die Spannung der Stromversorgung ändern können und dadurch die Geschwindigkeit des Linearantriebs verändern. Dieser Ansatz wird in der Praxis jedoch nicht verwendet, da es schwierig ist, die Spannung der Stromversorgung zu regeln. Stattdessen fixieren wir die Spannung der Stromversorgung und steuern die Geschwindigkeit des Linearantriebs über ein PWM-Signal. Je größer das Tastverhältnis des PWM-Signals ist, desto schneller fährt der Linearantrieb aus bzw. ein.

Wie man einen Linearantrieb mit ESP32 steuert
Die Steuerung eines Linearantriebs umfasst:
- Fährt den Linearantrieb mit maximaler Geschwindigkeit aus.
- Fährt den Linearantrieb mit maximaler Geschwindigkeit ein.
- (optional) steuert die Aus- und Einfahrgeschwindigkeit.
Der ESP32 kann das Signal zur Steuerung des linearen Aktuators erzeugen. Allerdings besitzt dieses Signal eine geringe Spannung und einen geringen Strom, weshalb wir es nicht verwenden können, um den linearen Aktuator zu steuern. Wir müssen einen Hardwaretreiber zwischen dem ESP32 und dem linearen Aktuator verwenden. Der Treiber übernimmt zwei Aufgaben:
- Das Steuersignal vom ESP32 verstärken (Strom und Spannung)
- Ein weiteres Steuersignal vom ESP32 empfangen, um den Pol der Stromversorgung umzuschalten → Zur Richtungssteuerung
※ Notiz:
- Dieses Tutorial kann auf alle Linearantriebe angewendet werden. Ein 12-V-Linearantrieb ist nur ein Beispiel.
- Wenn Sie einen 5-V-Linearantrieb steuern, obwohl der ESP32-Pin 5 V ausgibt (das Gleiche wie die Versorgungsspannung des Linearantriebs), benötigen Sie dennoch einen Treiber zwischen dem ESP32 und dem Linearantrieb, da der ESP32-Pin nicht genügend Strom für den Linearantrieb liefert.
Es gibt viele Arten von Chips; Module (z. B. L293D, L298N) können als Treiber für lineare Aktuatoren verwendet werden. In diesem Tutorial verwenden wir den L298N-Treiber.
※ Notiz:
Sie können Relais auch als Treiber verwenden. Allerdings sind 4 Relais erforderlich, 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 Gleichstrommotor und einen Schrittmotor zu steuern. In diesem Tutorial lernen wir, wie man ihn verwendet, um den Linearantrieb zu steuern.
L298N Treiber-Pinbelegung

Der L298N-Treiber hat zwei Kanäle, die Kanal A und Kanal B genannt werden. Daher kann der L298N-Treiber zwei Linearantriebe gleichzeitig unabhängig voneinander steuern. Nehmen wir an, dass der Linearantrieb A an Kanal A angeschlossen ist, der Linearantrieb B an Kanal B angeschlossen ist. Der L298N-Treiber hat 13 Pins:
Die gemeinsamen Pins für beide Kanäle:
- VCC-Pin: versorgt den Linearantrieb mit Strom. Es kann zwischen 5 und 35 V liegen.
- GND-Pin: ist ein gemeinsamer Massepin; muss mit GND (0 V) verbunden werden.
- 5V-Pin: versorgt das L298N-Modul mit Spannung. Es kann durch 5 V vom ESP32 gespeist werden.
Kanal A-Pins:
- ENA-Pins: werden verwendet, um die Geschwindigkeit des linearen Aktuators A zu steuern. Das Entfernen des Jumpers und das Anschließen dieses Pins an den PWM-Eingang ermöglichen es uns, die Ausfahr- bzw. Einfahrgeschwindigkeit des linearen Aktuators A zu steuern.
- IN1 & IN2-Pins: werden verwendet, um die Bewegungsrichtung eines linearen Aktuators zu steuern. Wenn einer von ihnen HIGH ist und der andere LOW, wird der lineare Aktuator ausfahren oder einfahren. Wenn beide Eingänge entweder HIGH oder LOW sind, stoppt der lineare Aktuator.
- OUT1 & OUT2-Pins: sind mit dem linearen Aktuator A verbunden.
Pins von Kanal B:
- ENB-Pins dienen dazu, die Geschwindigkeit des linearen Aktuators B zu steuern. Das Entfernen des Jumpers und das Verbinden dieses Pins mit dem PWM-Eingang ermöglichen es uns, die Ausfahr-/Einfahrgeschwindigkeit des linearen Aktuators B zu steuern.
- IN3- und IN4-Pins werden verwendet, um die Bewegungsrichtung eines linearen Aktuators zu steuern. Wenn einer von ihnen hoch ist und der andere niedrig, fährt der lineare Aktuator aus bzw. fährt ein. Wenn beide Eingänge entweder hoch oder niedrig sind, kommt der lineare Aktuator zum Stillstand.
- OUT3- und OUT4-Pins sind mit einem linearen Aktuator verbunden.
Wie oben beschrieben, verfügt der L298N-Treiber über zwei Eingangsspannungen:
- Eine für den linearen Aktuator (VCC- und GND-Pins): von 5 bis 35 V.
- Eine für den internen Betrieb des L298N-Moduls (5V- und GND-Pins): von 5 bis 7 V.
Der L298N-Treiber verfügt außerdem über drei Jumper für fortgeschrittene Anwendungen oder andere Zwecke. Um die Sache zu vereinfachen, entfernen Sie bitte alle Jumper vom L298N-Treiber.
Wir können zwei Linearantriebe gleichzeitig unabhängig voneinander steuern, indem wir einen ESP32 und einen L298N-Treiber verwenden. Um jeden Linearantrieb zu steuern, benötigen wir vom ESP32 nur drei Pins.
※ Notiz:
Der Rest dieses Tutorials steuert einen Linearantrieb über Kanal A. Die Steuerung des anderen Linearantriebs ist ähnlich.
So steuern Sie einen Linearantrieb
Wir lernen, wie man einen Linearantrieb mit dem L298N-Treiber steuert.
Schaltplan
Bitte entfernen Sie alle drei Jumper am L298N-Modul, bevor Sie die Verkabelung vornehmen.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Wenn Sie nicht wissen, wie Sie ESP32 und andere Komponenten mit Strom versorgen, finden Sie Anleitungen im folgenden Tutorial: Wie man ESP32 mit Strom versorgt.
Wie man einen Linearantrieb ausfahren/einfahren lässt
Die Bewegungsrichtung eines Linearantriebs kann gesteuert werden, indem an die Pins IN1 und IN2 ein logisches HIGH bzw. LOW angelegt wird. Die folgende Tabelle veranschaulicht, 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 |
- Verlängert Linearantrieb A
- Zieht den Linearantrieb A ein
※ Notiz:
Die Bewegungsrichtung ist umgekehrt, wenn die Pins OUT1 und OUT2 in umgekehrter Weise an zwei Pins des Linearantriebs angeschlossen sind. Falls dies der Fall ist, muss lediglich OUT1- und OUT2-Pins vertauscht werden oder das Steuersignal an IN1- und IN2-Pins im Code geändert werden.
Wie man einen Linearantrieb daran hindert, auszufahren oder einzufahren
Der Linearantrieb stoppt automatisch, wenn er den Anschlag erreicht. Wir können ihn auch programmatisch daran hindern, auszufahren oder einzufahren, solange er den Anschlag noch nicht erreicht hat.
Es gibt zwei Möglichkeiten, den Linearantrieb zu stoppen.
- Stellt die Geschwindigkeit auf 0 ein.
- Steuert die Pins IN1 und IN2 auf denselben Wert (niedrig oder hoch)
.oder
So steuern Sie die Geschwindigkeit eines Linearantriebs über den L298N-Treiber
Es ist einfach, die Geschwindigkeit des Linearantriebs zu steuern. Anstatt den ENA-Pin auf HIGH zu setzen, generieren wir ein PWM-Signal an den ENA-Pin. Dies können wir tun, indem wir:
- Schließe einen ESP32-Pin an den ENA-Pin des L298N an.
- Erzeuge ein PWM-Signal am ENA-Pin, indem du die Funktion analogWrite() verwendest. Der L298N-Treiber verstärkt das PWM-Signal für den Linearantrieb.
Die Geschwindigkeit ist ein Wert zwischen 0 und 255. Wenn die Geschwindigkeit 0 ist, stoppt der Linearantrieb. Wenn die Geschwindigkeit 255 ist, fährt der Linearantrieb mit maximaler Geschwindigkeit aus bzw. ein.
ESP32-Beispielcode
Der unten stehende Code führt Folgendes aus:
- Den Linearantrieb mit maximaler Geschwindigkeit ausfahren
- Den Linearantrieb stoppen
- Den Linearantrieb mit maximaler Geschwindigkeit einfahren
- Den Linearantrieb stoppen
Schnelle Schritte
- Entfernen Sie alle drei Jumper am L298N-Modul.
- Kopieren Sie den obigen Code und fügen Sie ihn in die Arduino-IDE ein.
- Kompilieren und auf das ESP32-Board hochladen, indem Sie auf die Hochladen-Schaltfläche in der Arduino-IDE klicken.
- Sie werden Folgendes sehen:
- Der Linearantrieb fährt aus und stoppt, sobald er den Endanschlag erreicht.
- Der Linearantrieb hält die Position eine bestimmte Zeit lang.
- Der Linearantrieb fährt zurück und stoppt, sobald er den Endanschlag erreicht.
- Der Linearantrieb hält die Position eine bestimmte Zeit lang.
- Der obige Prozess wird 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.