Enlace para el indice
Enlace para la tienda

Remapeado de recursos en Betaflight

 

Bueno, esto del remapeado de recursos suena a algo geoestratégico por lo menos, y cuanto menos misterioso. Luego existe un mapa y en él hay recursos! Casí parece que estamos a punto de descubrir un tesoro.

En cierto modo es así, porque el remapeado de recursos te va a permitir instalar un buzzer que quizás tu FC no soporta, y con ello vas a conseguir evitar perder tu dron, que es casi lo mismo que encontrar un tesoro.

Para los principiantes, el remapeado de recursos es particularmente útil, porque no es infrecuente cometer algún error al soldar los distintos componentes en el FC, como por ejemplo alterar el orden de los motores. También puede ocurrir que el puerto designado para un componente concreto no pueda ser utilizado porque el conector estorba, o por cualquier otro motivo.

El remapeado de recursos de betaflight te permite solucionar todo este tipo de problemas de una forma extremadamente sencilla. Si eres un friki programador y estás sufriendo síndrome de abstinencia porque esto de los drones no te proporciona tu dosis habitual de líneas de código, aquí tienes una dosis pequeñita para que veas que existe todo un mundo de comandos inexcrutables aún por descubrir.[/box]

Procesador de un FC. Pines

Remapeado de recursos en Betaflight. Cambiando el orden de los motores y moviendo los pines.

El remapeado de recursos es una potente función de Betaflight que permite alterar las salidas de los pines en un controlador de vuelo.. Se pueden conseguir muchas cosas con el remapeado de recursos, por ejemplo, se puede cambiar el orden de los motores, re ubicar pines en tarjetas que tengan un pad de soldadura desprendido o dañado, etc.

 

Por qué podrías necesitar un remapeado de recursos

 

Podrías necesitar un remapeado de recursos porque:

  • No tienes suficientes UARTs
  • PADs de soldadura dañados
  • Necesitas más salidas de motores para una configuración de hexacóptero
  • No tienes la entrada PPM del receptor
  • No tienes el pin de salida para los LEDs programables
  • No tienes una salida para un servo
  • Quieres cambiar el orden de las salidas de los motores
  •  

    Cómo funciona el remapeado de recursos en Betaflight

     

    Hay muchos pines en un procesador, y a cada uno de ellos se le puede asignar una función específica con Betaflight. El remapeado de recursos permite básicamente asignar a estos pines una actividad diferente.

    Esta función está disponible en Betaflight V3.1 y versiones posteriores.

    En el CLI del configurador Betaflight teclea “resource”, y nos devolverá las funciones disponibles que pueden ser cambiadas y su asignación de pines actual:

    # resource
    resource BEEPER 1 C15
    resource MOTOR 1 B07
    resource MOTOR 2 B06
    resource MOTOR 3 B05
    resource MOTOR 4 B04
    resource PPM 1 B03
    resource PWM 1 B00
    resource PWM 2 B01
    resource SONAR_TRIGGER 1 B00
    resource SONAR_ECHO 1 B01
    resource SERIAL_TX 1 A09
    resource SERIAL_TX 2 A14
    resource SERIAL_TX 3 B10
    resource SERIAL_TX 11 B01
    resource SERIAL_RX 1 A10
    resource SERIAL_RX 2 A15
    resource SERIAL_RX 3 B11
    resource SERIAL_RX 11 B00
    resource LED_STRIP 1 A08

    El formato es como sigue:

    resource [Function] [Index] [Port]

    Tecleando «resource list» se obtiene un listado completo de los recursos del FC: los asignados y también todos los pines libres.

    Para cambiar la función de un pin, debes utilizar el mismo formato y añadir “save” en una nueva línea al final.

    Pasaremos ahora a mostrar alguno de los usos comunes para el remapeado de recursos de Betaflight.

    Una nota importante sobre esto: algunos de los pines del procesador podrían no estar utilizados y no conectarse con ninguno de los puntos de soldadura del controlador de vuelo. El puerto que quieres utilizar debería idealmente tener un pin de salida en el FC, algún sitio en el que sea fácil realizar una soldadura. De otro modo, podrías necesitar soldar un cable a una pata extremadamente pequeña del procesador, algo que es muy difícil de hacer, incluso para un soldador experto.

     

    Cómo cambiar el pin de salida para la tira de LEDs

     

    Por ejemplo, si quisiéramos cambiar la tira de LEDs al pin A09, simplemente teclearíamos en el CLI:

    resource LED_STRIP 1 A09
    save

    Cómo cambiar el orden de los motores en un controlador de vuelo

    Como ejemplo, imagina que tuviéramos un cuadracóptero con un orden de los motores equivocado porque sin advertirlo soldaste los cables de los variadores en posiciones cambiadas o porue quizás rotaste la tarjeta al montarla (aunque hay otra forma más sencilla de solucionar esto en Betaflight). No te preocupes, no es necesario rehacer tu trabajo de cableado y soldadura, Puedes arreglarlo fácilmente con el remapeado de recursos.

    Pongamos que este es el orden de los motores que has :

    3     4
      \ /
      / \
    1     2

    El orden correcto de los motores es, como todos sabemos:

    4     2
      \ /
      / \
    3     1

    Teclea “resource” en el CLI de Betaflight, y copia el resultado para que en caso de error siempre puedas volver atrás. Debes localizar las cuatro lineas que especifican la asignación de pines de los motores:

    resource MOTOR 1 B07
    resource MOTOR 2 B06
    resource MOTOR 3 B05
    resource MOTOR 4 B04

    Para controlar la reasignación, puedes escribir el orden actual de los motores con el número de pin junto a ellos:

    3(B05)  4(B04)
         \ /
         / \
    1(B07)  2(B06)

    Ahora está mucho más claro qué pines debes cambiar:

    B06 debería ser “motor 1”, B04 debería ser “motor 2”, etc…

    Teclea en el CLI

    resource MOTOR 1 B06
    resource MOTOR 2 B04
    resource MOTOR 3 B07
    resource MOTOR 4 B05
    save

    Y eso es todo

     

    Cómo cambiar el pin del buzzer

     

    Es tan simple como los ejemplos anteriores, pero no puedes simplemente asignar cualquier pin al buzzer, debes hacer algo más.

    Esto se debe a que el buzzer puede consumir una cantidad de corriente considerable (más de la que el procesador STM32 puede manejar). Por ello, normalmente hay un transistor asociado al pin del buzzer. El transistor maneja la corriente del procesador y es controlado por una señal de éste. Si conectases directamente el buzzer al procesador STM32, es muy posible que lo dejes frito.

    Probablemente no es buena idea cambiar el pin del buzzer considerando cuanto trabajo implica, pero si decidieses mover el buzzer a otro pin, es necesario construir un sistema externo de potencia, o de otro modo, como ya hemos dicho, lo más probable es que frías la tarjeta controladora de vuelo. Tenemos una explicación detallada de cómo hacerlo en otro tutorial que puedes encontrar aquí.

     

    Múltiples funciones compartiendo el mismo pin

     

    Algunas veces, un único pin puede ser empleado para múltiples funciones en Betaflight. Si ésta no es tu intención, es mejor liberar a los pines de tareas que no son imprescindibles.

    Para comprobarlo, simplemente teclea “resource” en el CLI.

    El CLI de Betaflight

    En este ejemplo, puedes ver cómo el pin C08 está compartido por dos funciones: LED_STRIP y CAMERA_CONTROL.

    Si no estás usando la tira e LEDs, pero sí el control de cámara, puedes liberar el pin C08 introduciendo el siguiente comando en el CLI

    resource LED_STRIP 1 none

    Y esto es todo!

    Enlace para el indice
    Glosario de la guia de drones