Noyau servo

Enveloppe de largeur d'impulsion, trim par fonction et limite de vitesse — le contrat servo bas niveau.

Enveloppe de largeur d'impulsion

Le noyau servo mappe un angle normalisé (−1…+1) vers une largeur d’impulsion à travers une enveloppe globale définie par servoMinUs (défaut 988) et servoMaxUs (défaut 2012). Cela a remplacé les anciennes constantes de compilation afin que la course de 0°/180° s’adapte à n’importe quel servo sans recompiler. Les valeurs sont bornées à [500…1490] et [1510…2500] avec min < max imposé.

Trim par fonction

servoTrimUs[] est une correction par ServoFunc (±300 µs) appliquée après le mixage. Elle couvre la paire d’ailes (indices 1/2), la gouverne (3) et les ailes arrière (8/9). Utilisez-la pour annuler un décalage de demi-dent du palonnier sur une seule surface — pas pour corriger un déséquilibre de la cellule, qui relève du mixeur ou du gyro.

Limite de vitesse

La vitesse du servo limite le taux de changement de l’impulsion par tick, lissant les inversions brusques et protégeant les réducteurs des charges de choc. C’est un passe-bas sur la position commandée, donc une valeur basse adoucit aussi l’inversion du battement — réglez-la contre le clic en haut et en bas de la course. Trop lent et l’aile traîne derrière la forme d’onde ; trop rapide et le choc revient.

Pour la liste complète des paramètres impulsion/trim/vitesse et des clés JSON, consultez la note du noyau servo dans le firmware et la référence WebUI.