Betaflight 2.7.1

22
4067

FPV Air Show 2016La version 2.7.1 de Betaflight, version “patch 1” de la 2.7.0, est sortie il y a quelques jours. Boris B. ayant volé avec cette version 2.7 sur son Alien 5′ au FPV Air Show qui se tenait à Pourrières, dans le Var, ce week-end, je peux vous confirmer que cela volait très bien 😉

Les nouveautés…

[INFO] Le PID Controler MW23 a été supprimé dans cette version. Si vous l’utilisiez, il faudra repasser sur le REWRITE ou LUXFLOAT à partir de cette version 2.7

Au menu des nouveautés dans cette version, on notera en premier lieu une optimisation du code, et la modification des filtres appliqués dans le code à la gestion des PID. En clair ? Les seuils des filtres ont été optimisés pour trouver le bon compromis entre filtrage et performances en vol. Pour certaines cartes de vol, cela permet de pousser encore un peu plus loin les performances, et pour d’autres FC comme la LUX (et toutes celles possédant des gyro MPU6500), cela permet d’éradiquer les vibrations observées par beaucoup en vol.

On notera par ailleurs des ajustements pour le PID Controler LUXFLOAT. N’oubliez pas, lors du passage de la 2.6.1 à cette version 2.7.1, de multiplier la valeur de vos D par 2 si vous utilisez le LUXFLOAT comme PIDC !

Concernant les logs en vol sur BLACKBOX (qui permet d’enregistrer les informations du vol pour les étudier ensuite), des informations sur la configuration utilisée ont été ajoutées dans les fichiers pour faciliter les relectures et analyses ensuite.

Parmi les autres nouveautés, on retiendra qu’il est maintenant possible d’activer le TPA sur le YAW (il ne s’applique par défaut que sur le PITCH et ROLL), que le Super Expo devient disponible pour le YAW également (dans le CLI, on utilisera les paramètres super_expo_factor_yaw et super_expo_yaw), et que la vitesse des processeurs F1 des cartes de vol (Naze32 par ex.) redescend à 72Mhz.

[ATTENTION] Avec cette vitesse de processeur diminuée par rapport à la version précédente, les cartes à base de processeurs F1 (Naze32 par ex.) peuvent avoir du mal à tenir la cadence à 4khz ! (looptime 250)

[INFO] La valeur par défaut du min_check a été changée dans cette version. Si vous aviez l’habitude d’utiliser la valeur par défaut, n’oubliez pas de retourner dans le CLI et de rentrer la commande “set min_check = 1040” suivie d’un “save” pour sauvegarder la valeur.

Nouvelle gestion des “fast PWM protocols”…

Nous avons vu apparaître dans les versions précédentes de Betaflight la gestion du ONESHOT42 et du MULTISHOT, en plus du ONESHOT125. La manière de les activer change dans cette version 2.7 (CLI : fast_pwm_protocol), et la vitesse de rafraichissement des ESC/Moteurs peut maintenant monter jusqu’à 32khz (CLI : unsynced_fast_PWM).

L’expo gérée par la FC gagne en précision…

Le paramètre RC_EXPO (expo dans la FC) était gérée par l’équivalent d’une courbe à “5 points” (comme on peut le voir dans nos radios par exemple, c’est exactement le même principe). Cela engendrait des “cassures” dans la courbe des sticks. Pour améliorer les sensations en vol et la fluidité, Boris B. a multiplié par 5 la résolution de cette expo, améliorant ainsi la progression lorsque vous poussez les sticks vers les coins.

Et j’avoue que c’est très agréable en vol, cela donne plus de fluidité dans les trajectoires et lors des manoeuvres. Pour en profiter, il n’y a rien à faire, c’est codé en dur dans le code, vous aurez donc juste à installer cette version pour en profiter.

Les filtres…

Cette version 2.7 est là, à l’origine, pour régler les problèmes de vibrations rencontrés par certains (beaucoup ?) d’entre nous avec la LUX de Lumenier. En effet, cette FC (carte de vol), ainsi que d’autres d’ailleurs comme la SPF3Evo par exemple, possède des gyros de type MPU6500, plus sensibles aux vibrations que les MPU6050 montés sur d’autres FC (comma la Naze32 rev5 par ex. ou la Cyclone de Motolab). Le challenge de Boris B. était de trouver une manière de filtrer ces vibrations sans affecter les performances en vol.

FPV Air Show - IRCAyant assisté aux vols de Boris B. lors du FPV Air Show dans le Var, je peux vous dire que sur son Alien 5″, la LUX fonctionnait plus que très bien. Mais je n’ai pas personnellement testé cette version 2.7 avec cette FC (ce sera bientôt le cas sur un 180), alors n’hésitez pas à nous faire part de vos retours dans les commentaires concernant les vibrations perçues avec cette FC.

Nous l’avons vu dans les nouveautés, les filtres ont donc été optimisés dans cette version, pour nous apporter les meilleures performances possibles en vol. Et pour satisfaire tout le monde (et surtout toutes les frames), les valeurs de ces filtres sont ajustables dans la configuration (via le CLI).

Par défaut, les valeurs des filtres sont données pour être “optimales” sur une frame qui ne vibre pas (ou peu). Je vous conseille d’abord de tester avec ces valeurs par défaut, et de ne les ajuster que si vous ressentez une gêne en vol (vibrations à haut régime par exemple, non réglables via les PID). Pourquoi il vaut mieux ne pas y toucher si tout va bien ? Car plus vous augmentez le filtrage, moins il y aura de vibrations transmises à la FC, mais en contrepartie, votre machine sera moins précise et moins “vive”.

Pour vous aider dans les réglages, voici les différentes valeurs qui sont préconisées en fonction des vibrations présentes sur votre frame :

[ASTUCE] pour modifier les valeurs de ces filtres, il faut passer par le CLI, et entrer les commandes suivantes :

set gyro_lowpass = XXX
set dterm_lowpass = YYY
save

Par défaut, et pour des performances optimales en vol, les valeurs de filtres sont :

gyro_lowpass = 100
dterm_lowpass = 110

Si votre frame vibre “légèrement”, vous pouvez mettre les valeurs de filtres suivantes :

gyro_lowpass = 80
dterm_lowpass = 100

Si votre frame vibre “franchement” (!), mettez les valeurs suivantes :

gyro_lowpass = 50
dterm_lowpass = 100

Et pour vous permettre de comparer avec la version 2.6.1, Boris B. fournit les valeurs par défaut de la version précédente :

gyro_lowpass = 80
dterm_lowpass = 70

Une vidéo de mon QAV210 en version 2.7.0…

Voici une petite vidéo (DVR), faite après le FPV Air Show pour tester cette version 2.7, sur un de mes QAV210 (Betaflight 2.7.0, moteurs Cobra 2204/2300kv / ESC Littlebee 20A, FC Cylclone en looptime 500 – PIDC : REWRITE, Lipo EPS 4S 1300mah).

Plus d’infos…

Pour le détails des autres modifications dans cette version 2.7.1, je vous laisse parcourir la release notes :

Patch 1 (2.7.1 notes):

  • Fixed Luxfloat drift
  • F1 boards defaulted to 1khz

2.7 Release notes

  • Fixed MPU6000 SPI slow speed for some targets
  • Fully working SPRACINGF3 Target
  • Enable MPU6000 and MPU9250 for Colibri Race Target
  • Many code cleanups and optimalisations
  • Remove MW23 Pid controller (use rewrite or luxfloat)
  • Fix for Dterm scaling in luxfloat. It is now fully matching rewrite. Luxfloat users from 2.6.1 need to multiply their D by 2 to get the same scaling
  • Added PID configuration to blackbox header and other configuration parameters
  • Added flightmode events to blackbox logging
  • Added Optional Super Expo for yaw (CLI: super_expo_factor_yaw, super_expo_yaw)
  • Iterm reset converted to Iterm limiter in super expo mode
  • Added Optional Iterm reset option even without super expo (CLI: iterm_always_reset)
  • Enabled TPA also for Yaw axis
  • Increased default min_check value due to many misunderstandings for beginners (lower min_check still recommended)
  • Added more debugging options
  • Many code optimilisations
  • Optimilisations for offline testing
  • Change filter cutoff configurations to integers
  • Dynamic PID Implementation (P accelerator)
  • Added Task Page for OLED display
  • Slightly improved biquad coefficients precision
  • Fix for out of order PPM ISR
  • Increased configurable range for yaw_p_limit
  • Improved rc_expo step resolution by factor 5
  • Added support for unsynced motor update speeds for fast PWM protocols up to 32k (CLI: unsynced_fast_pwm)
  • Added new way of configuring fast PWM protocols (CLI: fast_pwm_protocol (ONESHOT125, ONESHOT42, MULTISHOT))
  • Slowed down CPU for F1 targets back to 72Mhz to have better motor timing support. Naze32 may have more difficulties running 4k.
  • Configurable Iterm reset offset (CLI: iterm_reset_offset)

Où la télécharger…

Comme d’habitude, pour télécharger cette version, il faut se rendre sur la page des releases de Betaflight et si vous n’êtes pas réfractaire à l’anglais, vous pouvez toujours trouver de l’info sur le WIKI de Betaflight.

Bons vols,

22 COMMENTAIRES

  1. Bonjour,
    Depuis que je suis passer a cette version je ne peut plus faire une synchronisation des moteurs il n’y a même plus la music. J’utilise une naze32 Rev6, ESC Littlebee 20A.
    Une explication?
    Merci

    • Bonjour, Sur les trois que j’ai mis à jour ces derniers jours, je n’ai pas eu de soucis particuliers (et j’en ai un en Littlebee 20A justement). Tu as vérifié les min et max (min_check, max_check / min_throttle / max_throttle et min_command) ? Sur les Naze rev6 suivant la révision (A, B, etc…) la calibration ne se fait pas pareil, dans certains cas il faut débrancher le bec pour que cela fonctionne… Si ca peut aider 😉

      • Merci beaucoup, de ton aide vraiment impeccable il fallait juste pensé a débranché le BEC, sa me le faisait pas sur la NAZE32 Rev5.
        J’en et donc profiter pour faire la mise a jour des ESC en 14.5, et avec cette mise a jour j’ai l’impression de moins de vibration et une meilleur coordination des moteur a régime constant.
        Merci encore et bonne continuation je te lis a chaque article pondu bravo.

      • Bonsoir Olivier,
        À quoi correspond les min chek et autres… ?
        J’ai également réussi à diminuer mes vibrations mes elles persistent encore, d’où mon intérêt pour tester de nouvelles valeurs ! Merci !

        • Pas facile de décrire ces variables en quelques lignes 😉 min_check et max_check, ce sont des variables qui déterminent les valeurs minimum et maximum autour desquelles tes sticks entrent en action, et pour le min_throttle et max_throttle ce sont les valeurs min et max autours desquelles les moteurs tournent 😛

          • Merci pour les réponses! Je vais encore creuser pour les min chek et autres… par contre rien ne change avec un set gyro_lowpass = 80 …
            J’ai un moteur avant droit qui est brûlant, le gauche chaud et les arrières normaux…
            Par contre beaucoup moins de ratés…

    • Je viens de mettre à jour la mienne (SPRacingEVO) en 2.7.1, mais elle n’est pas sur une frame donc je peux pas tester jusqu’au bout. Malgré tout, dans l’onglet “Modes” j’ai bien Blackbox que je peux activer (par ex.) sur AUX3. Quel est le symptôme chez toi ?

  2. Bonjour,

    J’ai du changer de carte naze rev5 ==> naze rev6 et j’ai donc mis cette version.

    Ma machine ( ZMR250-1806 de 2300 KV – loop à 1000 sans one shoot ( simon K affro )) vibre énormément avec les pids par défauts….

    J”hésite entre jouer du filtre, et revenir sur une autre version… 2.6.1 ?

    • Je me réponds… Ne m’en sortant pas.

      Je viens de lire que sur la 2.6.1, les valeurs par défaut de filtres étaient de : 80 et 70.
      Peut être, me prenant la tete avec ces vibrations, est ce la première valeur a entrer pour ma naze MPU 6500 ?
      Considérant que les config moins filtrées iront très bien pour les carte à MPU 6050….

    • Si ta machine vibre avec les valeurs par défaut, cela vient probablement des valeurs des PID (qui par défaut sont optimisés pour une catégorie de machines, mais ne peuvent pas correspondre à toutes malheureusement). Il va falloir passer par la case : je tune ma machine en réglant les PID (si ca vibre c’est que les PID sont trop hauts, il faut donc commencer par baisser les valeurs de P et I par exemple).

      • Merci…
        Ce qui me surprends, c’est que sur exactement la même machine ( à la version de naze prêt ), les PID par défaut de la version 2.1.6 étaient “plug and fly”.

        Après une tentative infructueuse pour les tunner, je viens de modifier la fixation de ma carte pour essayer de mieux l’isoler des vibrations. C’est un peu mieux…

        Il faudra que je repasse par la case tunne.

    • Dans l’ordre du + performant au – performant : Multishot – Oneshot42 – Oneshot125. Je conseille de démarrer avec le Oneshot125 (le plus “classique”) et ensuite (si et seulement si besoin !) de se pencher sur les autres 😉 car moins performant c’est une façon de parler 😛

LAISSER UN COMMENTAIRE

Entrez votre commentaire, SVP !
Entrez votre nom ici, SVP