Les caméras FPV offrent plus ou moins de réglages en fonction des modèles. Certaines (comme la RunCam Sparrow) permettent même d’appliquer des préréglages adaptés à différents environnements d’un simple appui sur un bouton. Dans tous les cas de figures, il faut avoir accès à la caméra (en y branchant bien souvent une petite télécommande) pour effectuer les différents paramétrages.
Depuis peu, BetaFlight permet de modifier ces réglages en passant par le contrôleur de vol. Il existe 3 méthodes. Je vais vous détailler la plus simple en vidéo et survoler les 2 autres ci-dessous à l’écrit.
La méthode « Joystick Emulation »
En connectant la prise dédiée à la télécommande (joystick) de la caméra FPV à la FC on peut piloter l’OSD avec la radiocommande sous quelques conditions. Avec gaz à la moitié et yaw à droite on valide les options, avec l’axe pitch on monte et on descend dans les menus tandis qu’avec le roll on va de gauche à droite.
La version simple
Certaines cartes de vol comme la Foxeer F405 AIO disposent d’un port dédié au contrôle de la caméra FPV, généralement labellisé « cc ». Chez Foxeer il suffit de souder le fil OSD de la caméra (qui doit être une Predator v2, une Arrow Pro ou une Monster Pro) pour que ça fonctionne sans aucune autre manipulation :
En modifiant les paramètres « camera_control_internal_resistance » et « camera_control_ref_voltage » en CLI il y a certainement moyen que ça fonctionne avec d’autres marques (RunCam et Caddx typiquement). J’ai prévu de faire quelques tests à ce sujet, je mettrai à jour cet article s’ils sont concluants.
La version compliquée
Le déploiement initial de cette fonctionnalité est très bien détaillé sur cette page du Github BetaFlight. Elle est cependant relativement pénible à mettre en place. En effet, il faut déjà trouver un port libre pour le fil de l’OSD de la caméra. Ce peut soit être un UART, soit une sortie moteur, LED ou autre. Dans ce dernier cas de figure il faut « remaper » la sortie en CLI avec la commande « resource ». Ensuite, en fonction des modèles de caméras, il faut mettre une résistance (entre 150ohm et 600ohm) sur le lien caméra / FC. Pour finir, il faut définir 4 paramètres en CLI :
camera_control_mode = HARDWARE_PWM Allowed values: HARDWARE_PWM, SOFTWARE_PWM, DAC camera_control_ref_voltage = 330 Allowed range: 200 - 400 camera_control_key_delay = 180 Allowed range: 100 - 500 camera_control_internal_resistance = 470 Allowed range: 10 - 1000
La tension de référence (ref_voltage) doit être mesurée entre les PINs OSD et GND de la caméra lorsqu’elle est alimentée. Pour le reste tout est expliqué dans la documentation. Il y a également un paquet d’informations sur le topic RC Groups.
La méthode UART
Cette méthode est pour l’instant spécifique à RunCam et fonctionne à partir de BetaFlight 3.3. Elle est presque aussi simple à mettre en oeuvre que la version OSD de Foxeer. Il y a 2 fils à souder (Tx et Rx) au lieu d’une seul et un paramètre à activer sous BetaFlight (dans l’onglet port) au lieu d’aucun :
Tout est également très bien expliqué sur la page officielle du protocole.
Outre la simplicité de cette solution, elle devrait permettre, à terme, d’avoir d’autres options de contrôles. Je pense (et j’espère) notamment aux scripts LUA et à l’OSD actif de BF. Par contre, du côté des points négatifs, elle monopolise un port UART.