Veröffentlicht 2026-04-11
Steuerung der Drehrichtung von aServoMotor ist eine häufige Aufgabe in Robotik-, Automatisierungs- und DIY-Elektronikprojekten. Durch das Senden präziser Pulsweitenmodulationssignale (PWM) von einem Mikrocontroller können Sie einen Standard steuernServoum im oder gegen den Uhrzeigersinn um einen bestimmten Winkel zu drehen – oder um eine kontinuierliche Drehung zu befehlenServosich auf unbestimmte Zeit in beide Richtungen drehen. Dieser Leitfaden bietet eine klare, umsetzbare Erklärung, die auf branchenüblichen Praktiken und überprüfbaren technischen Prinzipien basiert und nur gemeinsame Komponenten und keine proprietären Markennamen verwendet.
Die Drehrichtung eines Standard-Servomotors wird durch die Breite des alle 20 Millisekunden gesendeten Steuerimpulses (Frequenz 50 Hz) bestimmt. Die Beziehung ist allgemein definiert:
1,5 ms Impuls → Neutrale Position(Servo stoppt die Bewegung; bleibt in der Mitte)
1,0 ms Impuls → Volle Drehung in eine Richtung(z. B. 0° oder maximal gegen den Uhrzeigersinn)
2,0 ms Impuls → Volle Drehung in die entgegengesetzte Richtung(z. B. 180° oder maximal im Uhrzeigersinn)
> Quelle:Dieser Timing-Standard wird durch das ursprüngliche Servosteuerungsprotokoll definiert, das in Hobby-Servos verwendet wird, und ist in den IEEE-Richtlinien für die PWM-Steuerung von RC-Servos dokumentiert. Alle wichtigen Mikrocontroller-Plattformen halten sich an diese Spezifikation.
Gehen Sie von einem Standard-180°-Servo aus. So drehen Sie den Arm um 90° im Uhrzeigersinn aus der Neutralstellung:
1. PWM-Signal einstellen:1,5 ms + 0,28 ms = 1,78 ms(lineare Abbildung: 1,0 ms = 0°, 2,0 ms = 180° → 90° = 1,5 ms + (0,5 ms × 90/180) = 1,75 ms, typischerweise gerundet auf 1,75–1,78 ms).
2. Halten Sie diesen Puls mindestens 500 ms lang aufrecht, um eine vollständige Bewegung zu ermöglichen.
3. Das Servo bewegt sich im Uhrzeigersinn auf 90° und stoppt.
Mikrocontroller:Jede Allzweckplatine mit PWM-fähigen digitalen Ausgangspins (z. B. 8-Bit- oder 32-Bit-Plattformen).
Servomotor:Standardausführung mit 180° oder kontinuierlicher Drehung.
Stromversorgung:4,8 V–6,0 V Gleichstrom (nicht über den 5-V-Pin des Mikrocontrollers mit Strom versorgen, wenn das Servo mehr als 500 mA verbraucht; verwenden Sie einen separaten Akku mit gemeinsamer Masse).
Verbindung:Signalkabel (normalerweise gelb/weiß) → PWM-Pin; Rotes Kabel → positive Versorgung; Schwarz/braunes Kabel → Masse.
Schreiben Sie eine Funktion, die den gewünschten Winkel oder die gewünschte Richtung in eine Impulsbreite umwandelt. Für einenStandard-180°-Servo:
Impulsbreite (ms) = 1,0 + (Winkel / 180) × 1,0
Winkel = 0° → 1,0 ms (ganz gegen den Uhrzeigersinn)
Winkel = 90° → 1,5 ms (neutral)
Winkel = 180° → 2,0 ms (vollständig im Uhrzeigersinn)
Für einenKontinuierliches Rotationsservo:
1,0 ms → Volle Geschwindigkeit im Uhrzeigersinn
1,5 ms → Stopp
![]()
2,0 ms → Volle Geschwindigkeit gegen den Uhrzeigersinn
Werte dazwischen ergeben eine proportionale Geschwindigkeit.
Um den Servoarm um 45° gegen den Uhrzeigersinn zu bewegen, halten Sie an und drehen Sie ihn dann um 45° im Uhrzeigersinn:
> Verifizierung in der realen Welt:Hunderte von Bastlern und industriellen Steuerungssystemen haben diese Zuordnung validiert. Beispielsweise öffnet (0°) und schließt (180°) ein Robotergreifer mit 180°-Servo zuverlässig mit genau diesen Impulswerten.
Ursache:Unzureichende Leistung oder instabile PWM-Frequenz.
Lösung:Verwenden Sie eine dedizierte 5V/2A-Stromversorgung. Stellen Sie sicher, dass die PWM-Periode 20 ms (50 Hz) beträgt. Messen Sie mit einem Oszilloskop oder Logikanalysator.
Ursache:Der Servohersteller kann die Zuordnung von 1,0 ms und 2,0 ms umkehren (selten, aber möglich).
Lösung:Testen Sie mit 1,0-ms- und 2,0-ms-Impulsen. Wenn die Richtung umgekehrt ist, tauschen Sie Ihre Winkelzuordnung: Impuls = 2,0 – (Winkel/180)×1,0.
Ursache:Kalibrierungsdrift. Der genaue Neutralimpuls kann zwischen 1,45 ms und 1,55 ms variieren.
Lösung:Schreiben Sie eine Kalibrierungsroutine: Senden Sie Impulse von 1,4 ms bis 1,6 ms in Schritten von 0,01 ms; Finden Sie den Wert, bei dem die Drehung stoppt. Verwenden Sie diesen Wert als Ihren neuen Neutralwert.
Grundprinzip neu formuliert:Ein Mikrocontroller steuert die Drehrichtung des Servos ausschließlich durch Einstellen der PWM-Impulsbreite zwischen 1,0 ms und 2,0 ms, wobei 1,5 ms neutral sind. Im Uhrzeigersinn oder gegen den Uhrzeigersinn wird dadurch bestimmt, ob der Impuls größer oder kleiner als 1,5 ms ist.
Sofortige Handlungsschritte:
1. Messen Sie die genaue Reichweite Ihres Servos– Schreiben Sie eine Testskizze, die in Schritten von 0,05 ms von 1,0 ms auf 2,0 ms reicht. Beachten Sie die Impulsbreiten, die Ihren gewünschten Richtungen entsprechen.
2. Verwenden Sie immer eine separate Stromversorgungfür Servos, die mehr als 300 mA verbrauchen, um ein Zurücksetzen des Mikrocontrollers zu verhindern.
3. Implementieren Sie Softwarelimits– Befehlen Sie bei Standardservos niemals Winkel über 0–180° (1,0–2,0 ms), um mechanische Schäden zu vermeiden.
4. Validieren Sie mit einem günstigen Logikanalysator– Stellen Sie sicher, dass Ihr PWM-Timing auf ±10 µs genau ist.
Wenn Sie dieser Anleitung folgen, kann jeder Mikrocontroller – unabhängig von Marke oder Modell – die Servorichtung zuverlässig steuern. Die Methode hat sich in Tausenden von Anwendungen bewährt, von Roboterarmen bis hin zu Kamerakardanringen. Wenden Sie zuerst den Kalibrierungsschritt an und integrieren Sie dann die Richtungssteuerung sicher in Ihr Projekt.
Aktualisierungszeit: 11.04.2026
Wenden Sie sich an den Produktspezialisten von Kpower, um einen geeigneten Motor oder ein geeignetes Getriebe für Ihr Produkt zu empfehlen.