Servo-Motoren verstehen: Ansteuerung & Tipps
Servo-Motoren sind kleine, kompakte Antriebe mit integrierter Positionsregelung. Sie werden typischerweise über ein PWM-Signal angesteuert und können einen bestimmten Winkel anfahren. Beliebt sind sie in Robotik, RC-Modellen und DIY-Projekten.
Wie funktioniert ein Servo?
- PWM-Signal: 50 Hz (Periodendauer 20 ms).
- Pulsbreite: 1 ms → 0°, 1,5 ms → Mittelstellung, 2 ms → 180° (typisch).
- Servo enthält: DC-Motor, Getriebe, Potentiometer, Regler.
Typen
-
Standard-Servo (0–180°).
-
360°-Servo (kontinuierliche Rotation, PWM → Geschwindigkeit).
-
Metallgetriebe (MG90S) für mehr Belastung.
-
Micro-Servos (SG90) für kleine Projekte.
Arduino-Beispiel
#include <Servo.h>
Servo servo;
void setup() {
servo.attach(9);
}
void loop() {
servo.write(0);
delay(1000);
servo.write(90);
delay(1000);
servo.write(180);
delay(1000);
}
MicroPython (ESP32/Raspberry Pi Pico)
from machine import Pin, PWM
import time
servo = PWM(Pin(15), freq=50)
def set_angle(angle):
duty = int((0.5 + (angle/180)*2.0) * 1023 / 20) # 0.5–2.5 ms Puls
servo.duty(duty)
set_angle(0)
time.sleep(1)
set_angle(90)
time.sleep(1)
set_angle(180)
Typische Fehler
- Servo an 3,3 V statt 5 V betrieben → zu schwach.
- Keine separate Versorgung bei mehreren Servos → MCU-Reset.
- Dauerhaftes Blockieren → Servo überhitzt.
- Signal ohne GND-Verbindung → Servo zuckt, keine Position.
Checkliste
- Spannung passend (5 V oder spezifiziert).
- Gemeinsame Masse (GND) zwischen MCU & Servo.
- Getriebe passend (Kunststoff vs. Metall).
- Für 360°-Servos: PWM als Geschwindigkeit interpretieren.
Fazit
Servos sind ideale Antriebe für Maker-Projekte: einfach mit PWM steuerbar, präzise und günstig. Mit passender Versorgung und sauberem Signal hast du langlebige und zuverlässige Bewegungen in Robotern, Greifarmen oder RC-Fahrzeugen.