Kernel de servos

Envolvente de ancho de pulso, trim por función y límite de velocidad — el contrato de bajo nivel del servo.

Envolvente de ancho de pulso

El núcleo de servo mapea un ángulo normalizado (−1…+1) a un ancho de pulso mediante una envolvente global definida por servoMinUs (por defecto 988) y servoMaxUs (por defecto 2012). Esto sustituyó las antiguas constantes de compilación para que el recorrido de 0°/180° se ajuste a cualquier servo sin recompilar. Los valores se limitan a [500…1490] y [1510…2500] con min < max garantizado.

Trim por función

servoTrimUs[] es una corrección por ServoFunc (±300 µs) aplicada después del mezclado. Cubre el par de alas (índices 1/2), el timón (3) y las alas traseras (8/9). Úsalo para anular un desfase de medio diente del brazo en una sola superficie — no para corregir un desequilibrio del fuselaje, que pertenece al mezclador o al giroscopio.

Límite de velocidad

La velocidad del servo limita la tasa de cambio del pulso por tick, suavizando las inversiones bruscas y protegiendo las cajas reductoras de cargas de impacto. Es un paso-bajo sobre la posición comandada, así que un valor bajo también suaviza la inversión del aleteo — ajústalo contra el clic en la parte superior e inferior del recorrido. Demasiado lento y el ala se retrasa respecto a la forma de onda; demasiado rápido y reintroduces el golpe.

Para la lista completa de parámetros de pulso/trim/velocidad y claves JSON, consulta la nota del núcleo de servo en el firmware y la referencia de la WebUI.