ESP32 - Stellantrieb mit Rückkopplung
In einem vorherigen Tutorial haben wir über den Linearantrieb ohne Rückmeldung gelernt. In diesem Tutorial werden wir den Linearantrieb mit Rückmeldung kennenlernen (auch als Feedback-Linearantrieb bezeichnet). Die Rückmeldung des Linearantriebs liefert die Informationen, mit deren Hilfe die Position des Hubes bestimmt und anschließend die Position gesteuert werden kann. Im Detail werden wir Folgendes lernen:
- Wie ein Linearantrieb mit Feedback funktioniert
- Wie man die Position eines Linearantriebs mit Feedback bestimmt (in Millimetern)
- Wie man die Position eines Linearantriebs steuert
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 den Linearantrieb mit Rückmeldung
Ein rückgekoppelter Linearaktuator ist ein Linearaktuator, der über ein Rückkopplungssignal verfügt, das es ermöglicht, seine Position zu bestimmen und ihn zu steuern. Das Rückkopplungssignal ist ein Potentiometer, das eine Spannung ausgibt, die proportional zur Hubposition ist.
Pinbelegung des Linearantriebs mit Rückmeldung
Ein Linearantrieb mit Rückmeldung hat 5 Kabel:
- Positivkabel des Aktuators: Dieses Kabel wird verwendet, um den Linearantrieb mit Hochspannung (12V, 24V, 48V...) zu steuern.
- Positivkabel des Aktuators: Dieses Kabel wird verwendet, um den Linearantrieb mit Hochspannung (12V, 24V, 48V...) zu steuern.
- 5V-Kabel: Dieses Kabel wird für das Rückkopplungspotentiometer verwendet. Schließen Sie dieses Kabel an 5V oder 3,3V an.
- GND-Kabel: Dieses Kabel wird für das Rückkopplungspotentiometer verwendet. Verbinden Sie dieses Kabel mit GND.
- Potentiometerkabel: (auch als Feedbackkabel oder Ausgangskabel bezeichnet) liefert dieses Kabel eine Spannung proportional zur Hubposition.

Wie es funktioniert
Wenn wir Hochspannung an die Plus- und Minusleitungen anlegen, wird der Hub des Aktuators ausgefahren oder eingefahren. Im Detail: Wenn wir verbinden:
- 12 V (12 V, 24 V, 48 V ...) und GND an den Plusdraht bzw. den Minusdraht, jeweils: Der Linearantrieb fährt mit Vollgeschwindigkeit aus, bis er den Endanschlag erreicht.
- 12 V (12 V, 24 V, 48 V ...) und GND an den Minusdraht bzw. den Plusdraht, jeweils: Der Linearantrieb fährt mit Vollgeschwindigkeit ein, bis er den Endanschlag erreicht.
- Beim Ausfahren oder Einfahren, wenn wir dem Linearantrieb die Stromzufuhr entziehen (GND an beide Plus- und Minusleitungen), stoppt der Linearantrieb das Ausfahren/Einfahren.
※ Notiz:
- Der Spannungswert zur Ansteuerung des Aktuators hängt von der Spezifikation des Aktuators ab. Lesen Sie das Datenblatt oder Handbuch, um den entsprechenden Spannungswert zu erfahren.
- Der Aktuator kann die Position auch dann halten, wenn die Stromversorgung gestoppt wird, während eine Last getragen wird.
Der Spannungswert im Potentiometerdraht ist proportional zur Hubposition des Aktuators. Durch Messen dieser Spannung können wir die Hubposition bestimmen.
Verdrahtungsdiagramm
Bitte entfernen Sie alle drei Jumper am L298N-Modul, bevor Sie verdrahten.

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 steuert: Ausfahren und Einfahren
Siehe ESP32 - Aktuator Tutorial
Wie man die Position des Linearantriebs findet
Das Folgende zeigt, wie man die Hubposition eines Linearantriebs bestimmt.
Kalibrierung
- Bestimme die Länge des Hubwegs des Aktuators (in Millimetern) durch Messen (mit einem Lineal) oder durch Lesen des Datenblatts
- Bestimme die Ausgabewerte, wenn der lineare Aktuator vollständig ausgefahren und vollständig eingefahren ist, indem du den untenstehenden Code ausführst
- Sie werden das Protokoll im Serial Monitor wie im untenstehenden Beispiel sehen
- Notiere diese Werte
- Falls die Min- und Max-Werte vertauscht sind, vertausche IN1_PIN und IN2_PIN
ESP32-Code, der die Position des Aktuators berechnet
- Aktualisieren Sie die drei kalibrierten Werte im Code
- Laden Sie den Code auf den ESP32 hoch
- Sehen Sie das Ergebnis im Serial Monitor
So steuern Sie einen Linearantrieb auf eine bestimmte Position
※ Notiz:
Dieses Tutorial verwendet die analogRead()-Funktion, um Werte von einem ADC (Analog-Digital-Wandler) zu lesen, der an ein Potentiometer angeschlossen ist. Der ESP32-ADC ist gut geeignet für Projekte, die keine hohe Genauigkeit benötigen. Für Projekte, die jedoch präzise Messungen erfordern, beachten Sie bitte:
- Der ESP32-ADC ist nicht perfekt genau und muss möglicherweise für korrekte Ergebnisse kalibriert werden. Jedes ESP32-Board kann etwas unterschiedlich sein, daher müssen Sie den ADC für jedes einzelne Board kalibrieren.
- Die Kalibrierung kann schwierig sein, insbesondere für Anfänger, und liefert möglicherweise nicht immer die exakten Ergebnisse, die Sie wünschen.
Für Projekte, die eine hohe Präzision benötigen, ziehen Sie in Betracht, einen externen ADC (z. B. ADS1115) mit dem ESP32 zu verwenden oder einen Arduino zu verwenden, der einen zuverlässigeren ADC besitzt.
Wenn Sie den ESP32-ADC dennoch kalibrieren möchten, lesen Sie ESP32 ADC Calibration Driver
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.