Servo-Kernel

Impulsbreiten-Hüllkurve, Trim je Funktion und Geschwindigkeitsbegrenzung — der Low-Level-Servo-Vertrag.

Impulsbreiten-Hüllkurve

Der Servo-Kernel bildet einen normalisierten Winkel (−1…+1) über eine globale Hüllkurve auf eine Pulsbreite ab, definiert durch servoMinUs (Standard 988) und servoMaxUs (Standard 2012). Das ersetzte die alten Compile-Zeit-Konstanten, sodass der 0°/180°-Ausschlag ohne Neu-Build an jeden Servo angepasst werden kann. Die Werte werden auf [500…1490] und [1510…2500] begrenzt, mit erzwungenem min < max.

Trim je Funktion

servoTrimUs[] ist eine Korrektur je ServoFunc (±300 µs), die nach dem Mixen angewendet wird. Sie deckt das Flügelpaar (Indizes 1/2), das Ruder (3) und die Rückenflügel (8/9) ab. Nutze sie, um einen Halbzahn-Versatz des Servohorns auf einer einzelnen Fläche zu nullen — nicht, um eine Flugwerks-Asymmetrie zu bekämpfen; die gehört in den Mixer oder das Gyro.

Geschwindigkeitsbegrenzung

Servogeschwindigkeit begrenzt die Pulsänderungsrate pro Tick, glättet harte Umkehrungen und schützt Getriebe vor Schlaglasten. Sie ist ein Tiefpass auf die kommandierte Position — ein niedriger Wert weicht daher auch die Flügelschlag-Umkehr auf. Stimme sie gegen das Klicken am oberen und unteren Ende des Hubs ab. Zu langsam, und der Flügel hinkt der Wellenform hinterher; zu schnell, und der Schlag kehrt zurück.

Die vollständige Liste der Puls-/Trim-/Geschwindigkeitsparameter und JSON-Keys findest du in der Servo-Kernel-Notiz im Firmware-Code und in der WebUI-Referenz.