Veröffentlicht 2026-05-06
Untertitel: Der Profi-Leitfaden zur Pulsweitenmodulation
Vom Puls bis zum Winkel ist jeder Grad sicher.
Der grundlegende Kern der Steuerung und Verwaltung des Lenkgetriebes besteht darin, die Existenz von „Zeit“ zu analysieren.Im PWM-Signalbereich gibt es eine Breite von High-Pegeln, die den Zustand der Welle bestimmt.. Für Arduino-Entwickler ist die Beherrschung dieser technischen Inhalte gleichbedeutend damit, die Macht über mechanische Verbindungen zu erlangen. Dieser Artikel führt Sie durch den gesamten Pfadprozess vom Beginn des Prinzips bis zur Debugging-Phase, sodass Jitter- und Abweichungssituationen beseitigt werden können.
Stellen Sie sich einen Mythos vor: 50 Mal pro Sekunde überbringen Sie einen „Brief“ an den Servo. Bezogen auf das Gewicht des Buchstabens bleibt das Servo bei 90°, wenn der hohe Pegel 1,5 ms anhält, 0,5 ms entsprechen 0° und 2,5 ms entsprechen 180°. Dies ist der Atemrhythmus von PWM.
Feste Periode: 20 ms (50 Hz)
Variable Impulsbreite: 0,5 ms bis 2,5 ms
Winkelkartierung: lineare Entsprechung, es bestehen jedoch individuelle Unterschiede
Der Punkt ist, wenn Sie die Signalstabilität ignorieren, werden Sie einen „Parkinson“-ähnlichen Jitter im Servo beobachten. Wenn umgekehrt Arduino zum direkten Antreiben eines Hochleistungsservos verwendet wird, überhitzt der integrierte 5-V-Regler und startet neu, sodass eine externe 4,8- bis 6-V-Stromversorgung angeschlossen werden muss.
Das Szenario für den Leser ist: Sie bauen einen sechsbeinigen Roboter und eines der Beine leidet plötzlich unter Krämpfen. Bei der Messung können Sie feststellen, dass in der Erdschleife eine Spannungsdifferenz erzeugt wird und die PWM-Wellenform verzerrt ist. Nach der Korrektur kehrt sein Gang in einen eleganten Zustand zurück.
Beginnen Sie mit dem Arduino-Board (lokalisierte Perspektive) und ordnen Sie es in räumlicher Reihenfolge an:
1. Signalleitung(Orange/Weiß) → PWM-Pin anschließen (wie D9)

2. Pluskabel(Rot) → Externes BEC oder Batterie-Pluspol
3. Minuskabel(braun/schwarz) → Gemeinsamkeit (Auf keinen Fall auslassen)
Als Beispiel gibt es ein Roboterarmprojekt, bei dem der Servo normal ist, wenn er entlastet ist, sich aber zufällig dreht, wenn er schwere Gegenstände aufnimmt. Der Grund dafür ist, dass die Schleifenlänge des Erdungskabels zu lang ist, was zu Rauschen führt und dieses Phänomen verursacht. Die Lösung besteht darin, neben dem Servo einen 100-µF-Kondensator anzubringen und die Länge des gemeinsamen Erdungskabels zu verkürzen.
Zur Erinnerung, wenn Sie verwendenkpowerServo, ein hochpräzises Servo, hat eine sehr schnelle Reaktionsgeschwindigkeit und reagiert empfindlicher auf Vorderkantenjitter. Es wird empfohlen, einen 330-Ω-Widerstand an die Signalleitung anzuschließen, um das Klingeln zu unterdrücken.
schreiben()Kontrolle auf MikrosekundenebeneDie Arduino-Umgebung stellt die Servo-Bibliothek bereit, aber verstehen Sie sie wirklich?
#enthaltenServo myServo; void setup() { myServo.attach(9, 500, 2500); // Pin binden und Impulsbreitenbereich anpassen } void loop() { myServo.writeMicroseconds(1500); // Mikrosekunden direkt schreiben → 90° Verzögerung (500); }
Es gibt ausgelassene Sätze. Die Standardparameter von attachment() liegen zwischen 544 und 2400 µs. Tatsächlich liegt die Servogeschwindigkeit jedoch im Allgemeinen zwischen 500 und 2500 µs. Wenn keine Kalibrierung durchgeführt wird, weicht der Winkel ab.。
Kalibrieren Sie das Signal, extrahieren Sie es als erstes Schlüsselwort und entnehmen Sie drei tatsächliche Messpunkte: 0° entspricht 520 µs, 90° entspricht 1480 µs und 180° entspricht 2460 µs. Erhalten Sie die Zuordnungstabelle durch lineare Interpolation, speichern Sie die Zuordnungstabelle im EEPROM und lesen Sie sie bei jedem Einschalten. Dieser Schritt muss für Projekte auf professionellem Niveau durchgeführt werden.
Der Leser hat die Erfahrung gemacht, dass bei Eingabe von write(90) die Ausgabe 87° beträgt. Es liegt nicht daran, dass ein Fehler vorliegt, sondern daran, dass Sie ihn nicht kalibriert haben. Sie müssen eine Kalibrierungsfunktion ausführen, damit der Winkel genau auf die von Ihnen festgelegte Position zeigen kann.
12 Servos steuern? Die Anzahl der PWM-Pins ist begrenzt. Empfohlen wird das Modul PCA9685, das I2C in 16-Kanal-PWM umwandelt. Es setzt Timer-Ressourcen frei und seine Ausgangsfrequenz ist unabhängig.
Induktives Denken: Von einem einzelnen Servo bis hin zu mehreren Servos, häufige Fehlermodi:

Unzureichender Strom → Jedes Servo wird entsprechend dem Strom blockiertDas 1,5-fache der berechneten Gesamtstromversorgung
Bildratenkonflikt → Alle Servos müssen denselben Zyklus (20 ms) haben.
Blockierung aktualisieren → nicht blockierende Verzögerung oder Timer-Interrupt verwenden
Geschwindigkeitsänderungsrhythmus: Bei niedriger Geschwindigkeit ändert sich die Impulsbreite allmählich und gleichmäßig; Bei hoher Geschwindigkeit muss die Belastung vorhergesagt werden. Dynamische Reaktion, das zweite Schlüsselwort, bezieht sich auf die Echtzeitfähigkeit des Servos, Anweisungen zu befolgen. Die Optimierungsmethode besteht darin, writeMicroseconds() zu verwenden, um den Wert direkt zu schreiben, um den Overhead zu vermeiden, der durch die Konvertierung des Winkels in Impulsbreite in der Bibliothek entsteht.
F: Nach dem Einschalten dreht sich das Servo heftig nach unten und vibriert?
Die Signalleitung befindet sich in einem schwebenden Zustand oder der Pin ist nicht für die Ausgabe konfiguriert. Der standardmäßige hohe Pegel wird fälschlicherweise als Grenzimpulsbreite interpretiert. Überprüfen Sie umgehend die Verbindungskonfiguration.。
F: Es bleibt mitten in der Drehung hängen und wird von einem „brutzelnden“ Geräusch begleitet?
Im Fall A liegt ein Spannungsabfall oder eine Überlastung des Antriebs vor. Wenn die gemessene Arbeitsspannung niedriger als 4,5 V ist, muss das Netzteil ausgetauscht werden. Entfernen Sie auch mechanisch festsitzende Stellen.
F: Mit dem gleichen Code sind einige Servos normal und andere umgekehrt?
A: Die Polarität der Abbildung von Impulsbreite und -winkel verschiedener Marken ist entgegengesetzt. Der Impulsbreitenwert entsprechend 0° und der Impulsbreitenwert entsprechend 180° werden ausgetauscht, um die Zuordnung neu zu schreiben.
F: Wie kann ich lange ruhig bleiben, ohne dass mir heiß wird?
Falsch, es ist falsch, das Senden von PWM zu stoppen. Es muss kontinuierlich gesendet werden, um die Impulsbreite aufrechtzuerhalten. Eine Reduzierung der Bildwiederholfrequenz auf 20 Hz kann einen kühlenden Effekt haben.
F: Der Servo springt zufällig, wenn Arduino zurückgesetzt wird?
A: Während der Reset-Periode geht der Pin in einen hochohmigen Zustand über.Fügen Sie einen 10-kOhm-Pulldown-Widerstand zur Masse hinzu oder verwenden Sie stattdessen einen speziellen PWM-Keeper。
Im Kern hängt die Genauigkeit von PWM vom Produkt des Einflusses der Stromqualität, den Ergebnissen der Impulsbreitenkalibrierung und dem stabilen Zustand des Timings und der drei Phasen ab. Fehlt eines davon, kann es als völlig unbefriedigend angesehen werden.
In der Vergangenheit waren analoge Servos zur Rückmeldung auf Potentiometer angewiesen, während digitale Servos zur Analyse auf MCUs angewiesen waren. Die unterste Schicht ist jedoch immer noch PWM.. Der Trend in der Zukunft geht hin zu seriellen Bus-Servos, wie z. B. Halbduplex-UART, aber PWM ist aufgrund seiner Einfachheit immer noch der Goldstandard im Bildungsbereich und bei kleinen Projekten.
Ihre nächsten Schritte:
Messen Sie die Wellenform wirklich mit einem Oszilloskop oder Logikanalysator (selbst ein billiges Modul ist besser als blindes Raten).)
Erstellen Sie für jedes Servo unabhängige Kalibrierungskurven
Lassen Sie einen aktuellen Spielraum (mindestens 50 %) im Projekt
Wahrnehmungsumkehr: Das Lenkgetriebe ist keine Blackbox, sondern ein Praktiker der Kunst der Zeit. Jeder Impuls, den du aussendest, formt einen Winkel.
Nehmen Sie in diesem Moment den Arduino in die Hand, schließen Sie den Servo an und starten Sie Ihren ersten Mikrosekunden-Schreibvorgang. Durch diese präzise Rotation erhalten Sie ein entsprechendes Feedback für alle Ihre Bemühungen.
Winkel ist Information, Impulsbreite ist Leistung. Übernehmen Sie die Kontrolle darüber. *
Aktualisierungszeit: 06.05.2026
Wenden Sie sich an den Produktspezialisten von Kpower, um einen geeigneten Motor oder ein geeignetes Getriebe für Ihr Produkt zu empfehlen.