Veröffentlicht 2026-04-17
Dieser Leitfaden enthält die genaue Formel zur Berechnung des Arbeitszyklus für jedenServoMotor, der eine präzise Winkelpositionierung ermöglicht. Unter Verwendung von Standard-PWM-Signalen (Pulsweitenmodulation) bestimmt der Arbeitszyklus dieServoSchaftwinkel. Nachfolgend finden Sie die verifizierte Formel, schrittweise Berechnungsmethoden und Beispiele aus der Praxis – keine Markennamen, nur technische Grundlagen.
Der Arbeitszyklus für aServoergibt sich aus der benötigten Pulsweite und der festen PWM-Periode:
Arbeitszyklus (%) = (Impulsbreite (ms) / PWM-Periode (ms)) × 100 %
Bei Standard-Analog- und Digitalservos beträgt die PWM-Periode20 Millisekunden (ms), was einer Frequenz von 50 Hz entspricht.
Diese Werte sind für die überwiegende Mehrheit der Hobby- und Industrieservos branchenüblich.
Wenn Sie einen Winkel θ zwischen 0° und 180° benötigen, wird die Impulsbreite durch lineare Interpolation berechnet:
Impulsbreite (ms) = 0,5 + (θ / 180) × 2,0
Wenden Sie dann die Arbeitszyklusformel an.
Impulsbreite = 0,5 + (45/180) × 2,0 = 0,5 + 0,25 × 2,0 = 0,5 + 0,5 =1,0 ms
Arbeitszyklus = (1,0 ms / 20 ms) × 100 % =5.0%
Impulsbreite = 0,5 + (135/180) × 2,0 = 0,5 + 0,75 × 2,0 = 0,5 + 1,5 =2,0 ms
Arbeitszyklus = (2,0 ms / 20 ms) × 100 % =10.0%
Impulsbreite = 1,5 ms (direkt aus Tabelle)
Arbeitszyklus = (1,5 ms / 20 ms) × 100 % =7.5%
Kombinieren Sie beide Schritte in einer Formel:
Arbeitszyklus (%) = [0,5 + (θ × 2,0 / 180)] / 20 × 100
Vereinfacht:
Arbeitszyklus (%) = 2,5 + (θ × 10 / 180)oderArbeitszyklus (%) = 2,5 + (θ / 18)
Überprüfung:
Bei 0°: 2,5 % → (0,5 ms /20 ms)=2,5 % ✓
Bei 90°: 2,5 + 5 = 7,5 % ✓
Bei 180°: 2,5 + 10 = 12,5 % → (2,5 ms/20 ms)=12,5 % ✓
Standardservos(0°–180°): Verwenden Sie die obigen Formeln.
Kontinuierliche Rotationsservos: Der Arbeitszyklus steuert Geschwindigkeit und Richtung, nicht den Winkel. Ein Arbeitszyklus von 7,5 % bedeutet normalerweise einen Stopp; Werte darunter oder darüber bewirken eine Drehung in entgegengesetzte Richtungen.
Servos mit erweiterter Reichweite(z. B. 0°–270°): Passen Sie den Impulsbreitenbereich entsprechend an (üblicherweise 0,5 ms bis 3,0 ms für 270°). Berechnen Sie die lineare Abbildung neu.
Digitale Servos: Akzeptiert die gleichen PWM-Signale, kann aber mit höheren Frequenzen betrieben werden (z. B. 200–333 Hz). Überprüfen Sie immer das Servodatenblatt. Wenn nicht angegeben, ist die Standardeinstellung 50 Hz.
1. Verwendung des falschen Zeitraums: Eine Periode von 20 ms (50 Hz) ist Standard. Bei Verwendung von 10 ms (100 Hz) werden alle Arbeitszykluswerte halbiert, was zu falschen Winkeln führt.
2. Falsche Berechnung der Impulsbreitengrenzen: Senden Sie niemals Impulsbreiten unter 0,5 ms oder über 2,5 ms für Standardservos. Dies kann zu Jitter, Überhitzung oder mechanischen Schäden führen.
3. Formel umkehren: Arbeitszyklus ist (Impulsbreite/Periode), nicht (Periode/Impulsbreite). Letzteres würde einen Wert >100 % ergeben und ist ungültig.
4. Vergessen, Einheiten umzurechnen: Stellen Sie sicher, dass sowohl die Impulsbreite als auch die Periode dieselbe Einheit haben (beide ms oder beide µs). 20 ms = 20.000 µs.
1. Überprüfen Sie die Spezifikationen Ihres Servos– Suchen Sie das Datenblatt oder messen Sie die minimale und maximale Impulsbreite mit einem Oszilloskop oder einem Servotester. Gehen Sie nicht ohne Bestätigung von 0,5–2,5 ms aus.
2. Berechnen Sie Ihren Zielarbeitszyklusunter Verwendung der direkten Formel: Einschaltdauer (%) = 2,5 + (gewünschter Winkel / 18).
3. Im Code implementieren– Zum Beispiel mit ArduinosanalogWrite()oderservo.write(), aber für Low-Level-PWM-Steuerung berechnen Sie den Vergleichsregisterwert:OCR = (Duty_cycle / 100) × timer_top.
4. Test im Leerlauf (90°)Erste. Wenn das Servo bei einem Arbeitszyklus von 7,5 % nicht zentriert ist, passen Sie den Versatz in Ihrer Formel an.
5. Testen Sie nach und nach extreme Winkel– Befehlen Sie 0° und 180° und achten Sie dabei auf Abwürgen oder Summen, was darauf hinweist, dass die Impulsbreitengrenzen überschritten werden.
Die Beziehung zwischen Servowinkel und Arbeitszyklus ist linear und wird durch eine einzige Gleichung bestimmt:Arbeitszyklus (%) = (Impulsbreite in ms / 20) × 100, wobei Impulsbreite = 0,5 + (θ × 2/180). Für schnelle Feldberechnungen verwenden SieEinschaltdauer (%) = 2,5 + (θ / 18). Bestätigen Sie vor dem Einsatz immer den spezifischen Impulsbereich Ihres Servos. Wenden Sie diese Formel an, um eine präzise, wiederholbare Winkelpositionierung in Robotik-, Automatisierungs- und Steuerungssystemen zu erreichen.
Aktualisierungszeit: 17.04.2026
Wenden Sie sich an den Produktspezialisten von Kpower, um einen geeigneten Motor oder ein geeignetes Getriebe für Ihr Produkt zu empfehlen.