ESP32 S3 - Servomotor
Der ESP32 S3 ist ein leistungsfähiger Mikrocontroller, mit dem sich Servomotoren über PWM-Signale und die Bibliothek ESP32Servo ganz einfach steuern lassen. Dieses Tutorial führt Sie durch alles, was Sie brauchen — von der Verdrahtung bis zum Code —, damit Ihr Servo in wenigen Minuten zwischen 0° und 180° hin- und herschwenkt.
Was Sie bauen werden:
- Einen Servomotor, der mit Ihrem ESP32 S3 Board verbunden ist
- Eine Schwenkbewegung von 0° bis 180° und zurück, gesteuert durch Arduino-Code
- Eine zuverlässige Stromversorgung, die Ihr Board vor Überstrom schützt
- Eine Grundlage für Robotik-, Automatisierungs- und Mechatronikprojekte

Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables ESP32 S3 Starter-Kit (ESP32 S3 enthalten) | |
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Kaufhinweis: Falls Sie mehrere Servomotoren verwenden möchten, empfehlen wir die Verwendung des PCA9685 16 Channel PWM Servo Driver Module, um MCU-Pins zu sparen und die Verdrahtung zu vereinfachen.
Überblick über Servo Motor
Ein Servomotor ist ein Drehantrieb, der sich auf eine genaue Winkelposition zwischen 0° und 180° drehen kann, und ist damit ein ideales Ausgabegerät für Robotik und Automatisierung. Anders als gewöhnliche Gleichstrommotoren besitzt ein Servo einen internen Rückkopplungsmechanismus, sodass er den vorgegebenen Winkel ohne zusätzliche Schaltung hält. Diese Kombination aus Präzision und Einfachheit ist der Grund, warum Servomotoren so gut zum ESP32 S3 passen.
Wichtige Spezifikationen
Standard-Hobbyservos werden mit 5 V betrieben und erwarten ein PWM-Signal mit einer Periode von 20 ms. Die Pulsbreite bestimmt den Zielwinkel: etwa 1 ms entspricht 0° und 2 ms entspricht 180°, während 1,5 ms die Welle auf 90° zentriert. Die meisten Servos ziehen je nach Last zwischen 100 mA und 700 mA, weshalb eine sorgfältige Planung der Stromversorgung wichtig ist.
Pinbelegung des Servomotors
Der Servomotor verwendet eine einfache Dreidraht-Schnittstelle, die direkt mit dem ESP32 S3 und einer Stromquelle verbunden wird:
- GND-Pin (braun oder schwarz) — mit GND (0 V) verbinden
- VCC-Pin (rot) — mit 5-V-Stromversorgung verbinden
- Signal-Pin (gelb oder orange) — empfängt das PWM-Steuersignal von einem GPIO-Pin des ESP32 S3

So funktioniert ein Servomotor
Wiring Diagram between Servo Motor and ESP32 S3
Verbinden Sie den Servomotor anhand der folgenden Tabelle mit Ihrem ESP32 S3 Board. Die Signalleitung geht an den Pin GPIO9, den der ESP32 S3 mit einem standardmäßigen 50-Hz-PWM-Signal ansteuert, das von der Bibliothek ESP32Servo erzeugt wird.
Sicherheitshinweise
Wenn Sie den ESP32 S3 über USB versorgen, entnehmen Sie den Servostrom nicht über die Pins Vin oder VBUS — die Strombegrenzung des USB-Anschlusses ist für die meisten Servos unter Last zu niedrig und kann das Board dauerhaft beschädigen. Für alles, was über leichte Tests auf dem Tisch hinausgeht, verwenden Sie ein separates externes 5-V-Netzteil für den Servo und verbinden nur die GND-Leitung mit dem ESP32 S3.
Bei Stromversorgung über den USB-Anschluss:

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
| Servomotor-Pin | ESP32 S3 Pin |
|---|---|
| GND (Braun/Schwarz) | GND |
| VCC (Rot) | 5V |
| Signal (Gelb/Orange) | GPIO9 |
Bei Stromversorgung über den Vin-Pin mit externem Netzteil:

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
※ Notiz:
WICHTIGER SICHERHEITSHINWEIS: Wenn Sie das ESP32 S3 Board über den USB-Anschluss versorgen, versorgen Sie den Servomotor NICHT über den Vin-Pin oder VBUS-Pin. Dies kann zu übermäßiger Stromaufnahme führen und Ihr Board dauerhaft beschädigen. Verwenden Sie ein externes Netzteil für den Servomotor, wenn Sie mehr Leistung benötigen.
ESP32 S3 Code
Der folgende Sketch zeigt ein kontinuierliches Schwenken des Servos mit dem ESP32 S3. Er verwendet die Bibliothek ESP32Servo, um den Servo an Pin GPIO9 anzuschließen, und erhöht dann den Winkel in 1°-Schritten von 0° auf 180°, bevor er wieder zurückfährt, wodurch eine gleichmäßige Hin- und Herbewegung entsteht, die sich endlos wiederholt. Die Kommentare im Code erklären Zeile für Zeile, wie jeder Teil funktioniert.
Schnelle Schritte
- Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
- Richten Sie die Arduino IDE für den ESP32 S3 ein, indem Sie der Anleitung Softwareinstallation für den ESP32 S3 folgen.
- Verdrahten Sie den Servomotor gemäß dem obigen Schaltplan mit dem ESP32 S3.
- Verbinden Sie das ESP32 S3 Board über ein USB-Typ-C-Kabel mit Ihrem Computer.
- Öffnen Sie die Arduino IDE auf Ihrem Computer.
- Wählen Sie unter Tools das ESP32 S3 Board und den zugehörigen COM-Port aus.
- Öffnen Sie den Bibliotheksverwalter, indem Sie auf das Bibliothekssymbol in der linken Seitenleiste klicken.
- Geben Sie "ESP32Servo" in das Suchfeld ein.
- Installieren Sie die Servo-Bibliothek von Kevin Harrington und John K. Bennett.
- Search for ESP32Servo created by Kevin Harrington,John K. Bennett and click the Install button.
- Kopieren Sie den obigen Code und fügen Sie ihn in einen neuen Sketch in der Arduino IDE ein.
- Klicken Sie auf die Schaltfläche Upload, um den Code zu kompilieren und auf den ESP32 S3 hochzuladen.

- Beobachten Sie, wie sich die Servowelle um 180° im Uhrzeigersinn dreht und dann gegen den Uhrzeigersinn zurückfährt, fortlaufend wiederholt.
- Profi-Tipp: Beginnen Sie beim ersten Testen eines Servos mit langsamen Schwenkgeschwindigkeiten — das verringert die mechanische Belastung und erleichtert es, Verdrahtungs- oder Kalibrierungsprobleme zu erkennen, bevor Last hinzukommt.
Zeilenweise Code-Erklärung
Der obige ESP32 S3 Code enthält eine zeilenweise Erklärung. Bitte lesen Sie die Kommentare im Code!
So steuern Sie die Geschwindigkeit eines Servomotors
Anwendungen und Projektideen
Die Kombination aus ESP32 S3 und Servomotor ermöglicht eine Vielzahl praktischer Projekte, von einfachen Unterrichtsdemonstrationen bis hin zu vollständigen Mechatroniksystemen:
- Roboterarm: Bauen Sie einen Roboterarm mit mehreren Gelenken aus mehreren Servos für Pick-and-Place-Aufgaben.
- Automatischer Futterautomat für Haustiere: Verwenden Sie eine servogesteuerte Klappe, um zeitgesteuert abgemessene Futterportionen auszugeben.
- Intelligentes Türschloss: Entwerfen Sie einen WLAN-gesteuerten Schließmechanismus, der von einem Servo am ESP32 S3 angetrieben wird.
- Solarpanel-Nachführung: Montieren Sie einen Servo, der ein Panel anhand der Messwerte eines Lichtsensors zur Sonne ausrichtet.
- Kamera-Schwenk-Neige-Kopf: Bauen Sie eine zweiachsige Halterung für eine kleine Kamera, ideal für Überwachungs- oder Fotoaufbauten.
- Automatische Pflanzenbewässerung: Verwenden Sie ein Servoventil, das Wasser freigibt, wenn ein Bodenfeuchtesensor es auslöst.
Sehen Sie sich unten die Schritt-für-Schritt-Videoanleitung für dieses ESP32 S3 Projekt an.
Die Anleitung und der Quellcode für das obige Video sind im Tutorial Servomotor über das Web steuern verfügbar
Fordern Sie sich heraus
Sobald Ihr Servo zuverlässig am ESP32 S3 schwenkt, probieren Sie diese Herausforderungen aus, um Ihr Verständnis von Motorsteuerung und Embedded-Programmierung zu vertiefen:
- Einsteiger: Ändern Sie den Schwenkbereich so, dass er sich zwischen 45° und 135° bewegt statt über den vollen Bogen von 0°–180°.
- Einsteiger: Passen Sie die Verzögerungswerte an, damit der Servo schneller oder langsamer schwenkt, und beobachten Sie die Wirkung auf die Laufruhe.
- Fortgeschritten: Fügen Sie einen Taster hinzu, sodass der Servo nur schwenkt, solange der Taster gedrückt ist, und beim Loslassen seine Position hält.
- Fortgeschritten: Steuern Sie zwei Servomotoren gleichzeitig aus demselben ESP32 S3 Sketch über separate GPIO-Pins.
- Experte: Bauen Sie eine vom ESP32 S3 bereitgestellte Weboberfläche, mit der Sie den Servowinkel per WLAN aus der Ferne einstellen können.
- Experte: Implementieren Sie eine Joystick-Steuerung, indem Sie einen analogen Joystick auslesen und dessen X/Y-Achsen in Echtzeit auf Servowinkel abbilden.