Si vous êtes adeptes de la course ou du freestyle vous connaissez/utilisez déjà Betaflight et l’utilisez probablement en tant que firmware pour votre contrôleur de vol.
La toute nouvelle version 3.2 vient de sortir en « stable ». Le rythme des sorties des versions de Betaflight s’est considérablement réduit du coup cette version embarque de nombreuses nouveautés et améliorations.
Il est donc temps de faire un petit tour d’horizon des nouvelle fonctionnalités … tout du moins les plus interessantes.
Avant de vous lancer dans la mise à jour : ayez conscience qu’il y’a de nombreuses modifications dans les commandes CLI. Il ne sera pas possible de copier-coller un ‘dump’ ou un ‘diff’ de la configuration sans adaptation. Il faudra refaire des parties de la configuration à zero et bien vérifier que tout est ok avant de voler de nouveau.
Dynamic Filter
Il s’agit probablement de la fonctionnalité majeure de Betaflight 3.2. Pour bien utiliser cette nouvelle fonction, qui se trouve tout en bas de la rubrique « Other Features » du menu « Configuration », il faut comprendre quelques concepts importants sur le fonctionnement du gyroscope et des différents filtres qui lui sont associés habituellement.
Un quad est plus ou moins affecté par des vibrations en provenance des moteurs. Celles-ci vont affecter les capteurs du contrôleur de vol et notamment le gyroscope et produire des mesures faussées.
On constate parfois, quand on ne prend aucune mesure contre les vibrations, des comportements imprévisibles en vol (retournement soudain, mouvement non demandé, etc). Ceci est signe d’un gyroscope affecté par les vibrations qui transmet des valeurs erronées au contrôleur de vol.
Heureusement la solution existe : les filtres !
Il y’en a plusieurs par défaut dans le boucle gyro (gyro loop) de Betaflight dont le but est de limiter l’impact des vibrations (des coupe-bande, des passe-bande, différents modes d’échantillonnage des valeurs).
L’emploi de ces filtres comporte néanmoins un inconvenient majeur. La latence de traitement entraine une réactivité moindre du quad en général. Sur certaines manoeuvres brutales on va avoir des oscillations difficiles à éliminer (propwash oscillations par exemple).
Un autre aspect négatif de ces filtres statiques est qu’ils ont une valeur par défaut (certaines fréquences à filtrer) mais que ne n’est pas forcement adapté pour tous les montages. Pour bien faire les choses il faut ajuster les filtres avec des logs blackbox pour s’assurer qu’ils coupent bien le bruit à certaines fréquences spécifiques. Fastidieux en somme.
Bref dans l’idéal on se débarrasse des filtres statiques et c’est ce que permet de faire la fonction « dynamic_filter » dans une moindre mesure car les filtres classiques travaillent sur des plages de fréquence établies à l’avance.
Donc, cette nouvelle fonctionnalité est plus interessante si, après l’avoir activée, vous désactivez les anciens filtres.
Dans Betaflight 3.2 cela se fait directement dans l’interface de configuration, plus besoin de passer par la CLI. Dans le Menu « PID Tuning » > « Filter Settings » on va effectuer les réglages suivants :
- D-Term Lowpass Filter : PT1
- Désactivation des « Gyro Notch Filter 1« , « Gyro Notch Filter 2 » et éventuellement « D Term Notch Filter«
Attention : comme indiqué en haut de ce menu. Après avoir effectué les modifications il faut voler un peu en stationnaire, puis un vol court sans être agressif et vérifier la température des moteurs. S’ils sont trop chauds il faut remettre les filtres. Pas de blague vous pouvez détruire les moteurs.
PS : avec des valeurs de D aux alentour de 20 (réglages PID) il n’y a aucun souci de chauffe moteur…en principe.
Si tout est ok par la suite vous vous retrouvez avec un quad au vol fluide et des commandes plus réactives qu’avant. Pour ma part je sens une vraie différence.
NB : si vous utilisez un contrôleur de vol F3 et que vous activez « Dynamic_Filter » il faut utiliser une « Gyro Update Frequency » de 4kHz au maximum.
NB2 : les filtres logiques c’est bien mais rien ne vaut des filtres physiques sous la forme de fixations anti-vibrations pour le contrôleur de vol.
Contrôle de la caméra FPV
Possibilité de piloter l’OSD d’une caméra type HS1177 directement depuis la télécommande. Voir l’article dédié sur le « FPV camera control ».
Support des « DSHOT Commands »
Si vous utilisez le protocole DSHOT (vous devriez, on est fin 2017) pour communiquer entre le contrôleur de vol et vos ESC vous avez accès à quelques fonctionnalités assez sympathiques. Elles reposent sur le fait que DSHOT est capable de véhiculer des commandes aux ESC pour faire certaines choses.
Actuellement les commandes DSHOT permettent les choses suivantes :
Indiquer aux ESC qu’ils doivent changer le sens de rotation des moteurs. Ce qui permet 2 choses : la fonction « anti-turtle mode » (voir plus bas) et de définir un sens de rotation des moteurs inversé dans la configuration « Betaflight » :
La rotation inversée semble interessante pour éviter d’entrainer des saletés ou des chose qu’on percute vers la caméra FPV. J’ai pas testé mais c’est pas bête.
L’autre commande DSHOT va permettre de dire aux ESC de bipper. Cela semble n’être pas grand chose mais cela permet de se passer de buzzer sur son montage. Les ESC jouant le rôle de buzzer.
Pour profiter donc des commandes DSHOT il faut flasher sur les ESC un firmware BLHeli compatible (le nom du firmware comporte « DSHOT Commands »).
Plus d’infos : https://redpinelabs.com/dshot_commands/
Anti-Turtle mode
C’est un peu gadget mais ca peut être très utile dans certaines situations. Ce mode permet de retourner un quad qui se serait mystérieusement retrouvé sur le dos.
Pour utiliser cette fonction in faut des ESC avec firmware BLHeli supportant les « DSHOT Commands ».
Donc ce fameux mode « anti-tortue » s’appelle « Flip Over After Crash« . Il faut lui affecter une position de bouton dans le menu « Modes ».
Pour l’utiliser :
- On active le mode « Anti-Turtle » avec le bouton de la télécommande
- On arme les moteurs
- On regarde de quel coté on pourrait retourner le quad sur le ventre (hélices non entravées par exemple)
- On se sert des commandes Roll/Pitch pour retourner le quad
Bien sur, si les hélices sont bloquées on va casser les moteurs, les hélices. A utiliser à bon escient donc.
Réglages buzzer
Tout en bas du menu « Configuration » vous trouverez tout un ensemble de réglages du buzzer.
On peut régler plus finement le comportement du buzzer et on peut à présent désactiver le buzzer quand le contrôleur de vol est branché en USB … et ça c’est pas rien.
Si vous avez flashé les ESC avec une version de BLHeli compatible « DSHOT Commands » les ESC vont également bipper.
Pour faire bipper les ESC il est nécessaire d’activer cette fonctionnalité avec la commande CLI suivante (valable depuis la RC6 de Betaflight 3.2) :
set beeper_dshot_beacon_tone = 1 save
On peut mettre des valeurs plus grandes que 1 pour faire bipper plus fort. 3 serait correct et si vous utilisez une valeur plus grande il faut vérifier que les ESC/Moteurs ne surchauffent pas. Attention à ne pas endommager votre matériel.
Renommage et suppression de commandes CLI
De nombreuses commandes CLI ont été renommées. Si vous les utilisiez dans votre configuration sous Betaflight 3.1.x vérifiez attentivement votre diff de configuration.
- yaw_motor_direction [1, -1] est devenu yaw_motors_reversed [OFF, ON]
- sport_halfduplex est devenu set tlm_halfduplex
- tlm_inversion est devenu tlm_inverted
- spektrum_sat_bind_autorst est devenu spektrum_sat_bind_autoreset
- dfu est devenu bl (comme Bootloader)
- current_meter_type = ADC est devenu current_meter = VIRTUAL
- d_lowpass est devenu dterm_lowpass
- d_lowpass_type est devenu dterm_lowpass_type
- d_notch_cut est devenu dterm_notch_cutoff
- d_notch_hz est devenu dterm_notch_hz
- digital_idle_percent [7.00] est devenu dshot_idle_value [450]
- yaw_accel_limit est devenu acc_limit_yaw
- yaw_control_direction [1] est devenu yaw_control_reversed [OFF]
- anti_gravity_thresh est devenu anti_gravity_threshold
- battery_meter_type est devenu battery_meter
- blackbox_rate_denom [4] est devenu blackbox_p_denom [32]
- ibat_offset [0] est devenu ibata_offset [0]
- ibat_scale [400] est devenu ibata_scale [400]
Commandes supprimées :
- feature -VBAT
- feature -FAILSAFE
- feature -CURRENT_METER
- feature -BLACKBOX
- feature -SDCARD
- feature -VTX
- set align_mag
- set bat_detect_thresh
- set blackbox_rate_num
- set fixedwing_althold_dir
- set frsky_vfas_cell_voltage
- set gyro_use_32khz
- set mwii_ibat_output
- set servo_lowpass
A noter aussi l’apparition de nouvelles commandes, la liste est disponible sur le wiki de Betaflight.
Support de contrôles caméra (Runcam Split notamment)
Pour ceux qui utilisent une Runcam Split il est possible de la contrôler depuis la télécommande via le contrôleur de vol à présent.
Pour ce faire on va la raccorder sur un UART libre et, dans le menu « Ports », indiquer que c’est un périphérique de type « RunCam Split ».
Ensuite on pourra lui affecter des actions via le menu « Modes » (Camera Control 1, 2 et 3).
De tête cela vous permettra de déclencher/arrêter l’enregistrement HD, allumer/éteindre le wifi.
Ajout d’informations dans l’OSD Betaflight
Y’a beaucoup d’options et chacun met un peu ce qui l’intéresse. A noter néanmoins qu’il est possible d’afficher l’index du log blackbox à présent (option « Blackbox Log Number« ).
C’est bien pratique pour s’y retrouver dans les différents logs de vol.
Autre info interessante si vous avez un VTX configurable à distance (supportant le protocole Tramp ou SmartAudio) comme le Holybro Atlatl HV c’est la fonction « VTX Channel« . Qui indique sur l’OSD quel sont les réglages de bande/canal/puissance de l’OSD.
Conclusion
A mon sens Betaflight 3.2 et « Dynamic_Filter » apportent un vrai plus en terme de contrôle en vol. Il y’a beaucoup d’améliorations et de petites fonctionnalités qui manquaient. Bref, une mise à jour utile.
EnregistrerEnregistrer
Super article, très intéressant ! Merci pour cette synthèse ! 😀
Dans les nouveautés que j’ai pas traité (car pas testé) il y’a le « FPV Camera control » consistant à pouvoir changer les réglages de la caméra FPV compatible (type HS1177) directement avec la télécommande et l’OSD.
Voir : https://github.com/betaflight/betaflight/wiki/FPV-Camera-Control-(Joystick-Emulation)