Skip to content

Configuraicón: Sistema de control NOPID

raul-ortega edited this page Mar 11, 2016 · 7 revisions

Sistema de Control de Servo PAN sin PIDS

Se ha incluído el sistema de control del servo PAN que no usa PID, que ya se usaba en la versión de 8 bits. Este sistema es más intiutivo de configurar que el sistema PID tradicional.

Si usas un servo lento, este sistema podría mejorar el seguimiento del tracker, realizando movimientos más precisos y fluídos. Incluso usando servos rápidos, este sistema también permite su configuración.

FUNCIONAMIENTO

El sistema corrige de forma proporcional la difercia entre el heading del tracker y el heading del aeromodelo, mapeando dicha diferencia sobre un rango de pulsos PWM para el servo en base a los valores de los parámetros de configuración.

Cuando el ángulo a recorrer entre el heading del tracker y el heading del avión es grande, el tracker se mueve rápido, y cuando es más pequeño, más lento se va moviendo, y ese movimiento se realiza siempre de forma proporcional, de modo que no se producen oscilaciones, pues nunca se rebasa el destino.

ACTIVAR NOPID

Para activar esta característica usaremos el comando:

feature nopid

Para desactivar la característica:

feature -nopid

PARÁMETROS DE CONFIGURACIÓN

A continuación se listan los parámetros exclusivos para configurar el sistema de control de servo pan:

  • nopid_min_delta: Este valor es el ángulo mínimo en grados entre el heading del tracker y el del aeromodelo. Si la diferancia es mayor que ese valor, entonces movemos el tracker. Si es igual o menor, el tracker se detiene.

  • nopid_max_speed: Cantidad máxima en milisegundos que hay que incrementar el pulso del pan0 para que se mueva. Cuanto mayor sea este valor, más rápidos serán los movimientos, y cuanto menor sea este valor, más lento serán los movimientos.

  • nopid_map_angle: El pulso enviado al servo pan se calcula como una función de mapeo entre 0 y el valor (grados) indicado en este parámetro. Si la diferencia entre el heading del tracker y el del aeromodelo es igual o mayor que este ángulo, se incrementa el pulso el valor indicado en nopid_max_speed. Si la diferencia es menor, entonces se calcula el valor de incremento como una función de mapeo, donde el incremento mínimo es 0 y el máximo es nopid_max_speed. Cuanto mayor sea el valor de este parámetro, más lento y suave será el movimiento. Cuanto menor sea el valor, más rápido y bruscos serán los movimientos.

Además, habrá de tenerse en cuenta el siguiente parámetro:

  • min_pan_speed: Cantidad mínima en milisegundos que hay que incrementar el pulso (pan0) para que se mueva el servo.

Nota: El parámetro min_pan_speed es común a ambos sistemas de control y tienen la misma función.

Clone this wiki locally