Vamos a describir la configuración de nuestra controladora de vuelo Matek F405 CTR a través del programa Betaflight Configurator. Para poder conectarnos a la controladora necesitaremos que previamente:

  1. Hayamos instalado los drives USB para el chip STM32
  2. Hayamos flasheado una versión de Betaflight en nuestra controladora

Ambos aspectos anteriores han quedado cubiertos en 2 artículos anteriores. Veamos ahora la configuración de Betaflight.

En los siguientes apartados vamos a ir repasando cada una las pestañas que aparecen en el lado izquierdo del programa y así poder completar una configuración básica-media de Betaflight.

Setup: calibrar acelerómetro

calibrar acelerómetro

Siempre calibrar el acelerómetro tras un flasheo. Es rápido y sencillo. Después comprobar, con ayuda del modelo gráfico de la pantalla que:

calibrar acelerómetro

  1. El modelo de la pantalla se mueve en la misma dirección que el nuestro. Si bajamos el morro, el modelo también debe bajar el morro.
  2. El modelo de la pantalla está nivelado cuando el nuestro está nivelado.

En caso contrario el acelerómetro no está bien calibrado o hemos montado la placa en el frame con la flecha apuntado al sitio erroneo.

Como nuestro racer no tendrá brújula (compass) no sabe nada sobre a dónde apunta. Cada vez que lo conectamos apuntará siempre hacia delante de nosotros, aunque eso casi siempre no es así. Para arreglarlo una vez conectados y que el multi se posicione correctamente, apuntarlo hacia adelante y presionar en el botón «Reset Z axis».

setup betaflight

Debemos comprobar varias cosas en esta pantalla (conectado USB y a la LIPO):

  1. ¿Qué nos impide armar? Podemos ver todos los arming prevention flags aquí. Los que aparecen en la imagen son comunes:
    1. MSP (MultiWii compatible flight controller Serial Protocol). Tenemos conectada la controladora de vuelo a Betaflight Configurator. Este siempre aparecerá.
    2. GPS. Tenemos configurada la controladora con GPS rescue en caso de que sea invocado por le piloto. Si no hay GPS fix, no armará.
  2. Voltaje de la LIPO. Debemos confirmarlo con lo multímetro. En caso contrario habrá que reconfigurarlo más adelante.
  3. Señal RSSI, verificar que es correcta. La podemos obtener mediante (hay un artículo que lo describe para Pixhawk):
    1. Una salida analógica de nuestro receptor de radio (es algo impreciso)
    2. Remitida por uno de los canales libres de nuestra emisora.
  4. Datos del GPS. Bajo techo no va a encontrar satélites.
  5. Instrumentos. Verificar que al mover el multi los instrumentos varían acorde con estos movimientos.

Puertos

Puertos de Betaflight, al completo

Puertos de Betaflight, al completo

Esta parte de la configuración de Betaflight trata de determinar qué hay conectado en cada puerto serie de la controladora.  En esta controladora hay 5 puertos más el que se conecta al USB. En mi configuración los puertos están repartidos de la siguiente manera:

  1. USB. Pienso que realmente es un puente al UART1.
  2. UART1. Conexión con la cámara Runcam, para un control de la misma básico: TX2.
  3. UART2. Radio: RX2
  4. UART3. GPS: RX3 / TX3
  5. UART4. Telemetría SPort: TX4
  6. UART5. Smart Audio: TX5

Pestaña Configuración Betaflight

En la pestaña Configuration encontraremos distintas sub-secciones.

Dirección motores y protocolo ESC

betaflight dirección motores

  1. Dirección de motores y tipo de racer. Este es el estándar.
  2. Protocolo que utilizará la controladora para comunicarse con los ESC. Es importante que sea el que utilicen los variadores. Leer instrucciones. En este caso es el protocolo digital (por lo que no hay que calibrarlos) DSHOT.
  3. Al armar me gusta que los motores se muevan al mínimo para alertar visualmente de este hecho. Giran muy despacio y sin peligro. Aquí es configurable.

Frecuencia de refresco y sensores

betaflight frecuencia refresco

Yo activo todos los sensores y dejo las frecuencias por defecto. Abajo, en la barra de estado yo veo una carga de CPU de un 7%.

Dirección de la controladora

betaflight dirección controladora

Si hemos montado la controladora en otra dirección a la marcada por el fabricante con una flecha, aquí podemos cambiarla. En la sección anterior de calibración del acelerómetro, si nuestro racer se mueve de manera incorrecta, aquí podemos solucionarlo.

El multicóptero se armará sólo si está en un plano horizontal con una pendiente máxima de 25º.

Receptor radio

betaflight configuración receptor de radio

El nombre del racer aparecerá en el OSD para diferenciarnos de otros pilotos. Lo verdaderamente importante aquí es la configuración de la radio, en este caso protocolo serie SBUS usado por mi radio Frsky, bastante popular.

Señal RSSI analógica y ESC 3D

betaflight esc 3d y rssi analógico

Si tenemos ESC 3D, que invierten el giro en pleno vuelo, o si nuestra señal RSSI viene de nuestro receptor de radio en forma analógica, aquí se activan.

GPS

betaflight gps

Aquí se activa y configura nuestro GPS en caso de que nuestro dron tenga uno. En este caso un Ublox.

Other features: telemetría, leds y OSD

betaflight other features

Esta sección de la configuración de Betaflight tiene muchas opciones. Softserial puede ser desactivado si no haces uso de ellos en la pestaña anterior de ports. Son puertos serie extras emulados por software. Tienes un artículo muy completo describiendo su configuración, por si te interesa ampliar info.

  1. Telemetría. Son datos de los sensores a bordo, que son transmitidos como feed back por nuestro receptor de la radio. En la sección de puertos hay que configurarlo. En mi caso está en el puerto serie TX4, con el protocolo Smart Port, que es el de las emisoras FrSky.
  2. Tira Led. Si tenemos instaladas tiras de led hay que activarlas aquí para que aparezca su pestaña.
  3. OSD. Para usar el OSD (On Screen Display) sobreimpreso encima del video FPV. Hay que activarlo aquí para que aparezca su pestaña.

ESC beacon configuration

betaflight esc beacon

Cuando no tenemos zumbador y hemos perdido el racer, los ESC pueden hacer vibrar los motores y orientarnos por su sonido. Aquí es donde se configura.

Beeper Configuration

Avisos sonoros de la controladora. Es recomendable activar todos.

Batería y potencia

betaflight power & voltaje

Aquí es donde se configuran los voltajes que lanzarán las alarmas por batería baja de Betaflight. Personalmente los veo muy conservadores, porque el voltaje cae mucho cuando la batería está sujeta a altos ratios de descarga.

Conviene por lo tanto ir haciendo vuelos de prueba, esperar a las alarmas y ver lo realmente consumido en la propia pantalla del OSD.

El medidor de voltaje y de amperaje de la placa precisan de un multiplicador para ajustarse a la realidad. En la imagen son los que el fabricante aconseja para una Matek F405 CTR.

Failsafe

Sección de la configuración de Betaflight especialmente importante y que conviene comprender perfectamente.  El failsafe salta cuando se pierde conexión radio o cuando se reciben datos erroneos en alguno o en todos los canales.

Hay que configurar el receptor de la radio para que bajo failsafe no mande absolutamente ningún pulso a la controladora. Es lo que suele aparecer en las instrucciones del Rx como Failsafe NO PULSES.

Rango de pulsos PWM de cada canal de la radio

betaflight failsafe

Si el receptor recibe algún canal fuera de este rango de pulsos PWM se considerará un failsafe. Si hemos configurado el receptor con NO PULSES ante la pérdida de link, acertaremos seguro.

Para cada canal se establece una acción.  Si en un canal de vuelo (roll, pitch, yaw, throttle) se ejecutará la acción configurada y entraremos en la fase 1 de failsafe. En ese momento se ejecutará la opción configurada también para el resto de canales.

Para canales auxiliares se ejecutará la opción configurada.

betaflight failsafe

Hay dos valores posibles para cada canal que se activará en caso de que ese canal en concreto presente un failsafe:

  1. Hold: mantiene la última posición recibida
  2. Auto: anula el movimiento y estabiliza el multi

Los canales de vuelo vienen configurados en auto por defecto, es decir, anula el giro que le llega por el canal (probablemente incorrecta) y mantiene el multicóptero en estado de espera hasta la entrada de la fase 2.

Los canales auxiliares mantienen la última señal porque no son tan vitales para el vuelo.

Failsafe switch

betaflight failsafe

Si asignamos un switch para que invoque failsafe, esta será la fase que salte.

Stage 2 settings

betaflight failsafe

Pasado un tiempo prudencial en fase 1, se iniciará la fase 2 si el problema persiste. Ese tiempo se configura aquí, concretamente 0.4 segundos. Este parámetro (failsafe_delay) lo tengo configurado más alto, a un valor de 10, es decir, 1 segundo.

Si este tiempo se supera entrará la fase 2, pero si se restablece la comunicación, se anulará el failsafe. Esta última oportunidad evitará desencadenar la fase dos que es significa que se apaguen motores y el multi caiga a peso (drop), o que comience un descenso hasta que toque el suelo (land)… algo parecido a un aterrizaje que casi seguro acabará mal.

A partir de Betaflight 3.4 aparece otra opción en la fase 2: GPS Rescue. Es mi opción preferida. El comando de consola es failsafe_procedure = GPS-RESCUE.

Pid Tuning

Esto es una parte avanzada de la configuración de Betaflight. Si no tenemos problemas de vibraciones o inestabilidad no suele ser necesario tocar nada aquí. Es recomendable dejar los PIDs por defecto (Reset all profile values). En artículos posteriores iremos ampliando estos conceptos.

Receiver

Aquí podemos ver la salida de los canales de la radio, ver los pulsos extremos PWM y asignar el mapa de canales. En este caso es AETR1234 que mapea los canales de vuelo así:

  1. Canal 1 ROLL
  2. Canal 2 PITCH
  3. Canal 3 THROTTLE
  4. Canal 4 YAW

En esta pestaña definimos que la señal RSSI viene por el canal AUX 2, para que la configuración de Betaflight pueda saber donde leerla y, por ejemplo, imprimirla en el OSD de FPV.

Modes

En esta sección de la configuración de Betaflight encontramos todos los modos de vuelo y los rangos en los que se activan. Para ello hay que ver, en la pestaña «Receiver«, como asigna Betaflight canales AUX a los canales de nuestra radio.

Con un solo canal, el AUX 1, armo motores, activo angle flight mode y activo horizon flight mode. El canal está asignado a un switch en la emisora con tres posiciones: desarmado, angle y horizon.

El mismo canal auxiliar activa la grabación de logs balckbox una vez montados los motores, que es lo recomendable.

AUX 4 y AUX 3 son GPS rescue y el buzzer. Van por canales independientes.

Con AUX 5 enciendo los leds y apago el OSD. Está pensado para una maniobra de aterrizaje.

OSD

Aquí se irán activando, en el listado izquierdo, diferentes valores de telemetría en la pantalla de FPV. Tras ello pueden ser arrastrados y reubicados.

La configuración de OSD no se restaura en caso cambia de firmware, hay que dedicarle unos minutos para que quede bien configurada. Configuro todas las alarmas.

La señal RSSI está configurada muy baja por defecto (20). Yo la elevo a 40, exactamente igual que en la emisora.

Blackbox

La caja negra de nuestro multicópetro. En mi caso la Matek F405 CTR tiene tarjeta SD, por lo que se puede grabar ahí. La frecuencia de 1KHz me funciona bien. Si hay cortes en los logs, reducir.

Configuración adicional Matek F405 CTR

Este modelo tiene alguna configuración particular.

Configuración LEDs /Barómetro

Esta controladora de vuelo tiene barómetro, pero utiliza el puerto I2C, igual que la tira led. Si queremos usar la tira led tenemos que desactivar el barómetro. Salvo que redireccionemos la salida led a la del motor 5 (inexistente), A15.

resource motor 5 none
resource led_strip 1 A15
save

Configurar el notch filter y entender los filtros de ruido

Este paso normalmente no es necesario, pero al menos es recomendable ver si nuestra configuración (motores, hélices, electrónica y frame) tiene excesivo ruído. El notch filter filtrará ese ruido en la banda que le demos.

Para ello es necesario que el black box grabe los datos del giroscopio en bruto, sin filtros. Para ello en consola hay que activarlo (desactivarlo cuando acabemos), ojo porque ha cambiado a partir de Betaflight 3.4 y ya no es NOTCH para ser GYRO_SCALED («gyro data after scaling, before filtering«):

debug_mode = GYRO_SCALED

Después de esto volar normalmente intentado cubrir el máximo rango de potencia posible.

En Black Box Explorer graficamos lo siguiente:

Y mostramos los gráficos de frecuencias para cada eje. En mi caso roll y pitch muestran prácticamente el mismo ruido, mientras que yaw apenas tiene interferencias mostrando una gráfica plana a partir de pocos Hz.

En mi configuración, el gráfico de frecuencias es casi igual en roll y pitch

En el gráfico de frecuencias vemos un primer pico de muy bajas frecuencias correspondientes a los movimientos reales del multi. Después viene poco ruido en las frecuencias hasta 100 Hz.

Los Low Pass Filters

Justo en los 100 Hz están bien configurados los Low Pass Filters de Betaflight, tanto para los datos del gyro como para los del término D, pero entre 100 y 300 hay un pico de ruido importante que, aunque quedará minimizado por los LPF que cortan frecuencias justo antes.

El notch filter y las frecuencias de resonancia

Entre 100 y 300 Hz hay una abrupta subida de frecuencia en la información del gyro y los PIDs correspondiente en su mayoría a ruido. Se trata de la frecuencia de resonancia de nuestra combinación de componentes y frame.

El objetivo por lo tanto es minimizar ese pico de ruido que suele aparecer en casi todas las configuraciones (vibraciones, ruído eléctrico, etc). Para ello nos vamos a Betaflight Configurator:

Hay que introducir los datos en  el filtro Notch para el término D de los PIDs. Joshua Bardwell recomienda no añadir el notch a el gyro (salvo que sea un gyro especialmente ruidoso, como el MTU 6500) ya que podría empeorar todo. Y sólo con eso tendríamos listo el filtro notch.

Al meter filtros se reduce muy ligeramente el tiempo de respuesta y la latencia, por lo que en ambientes muy exigentes habría que incrementar un poco los PIDs.