Dans ce nouvel épisode d’Au Coeur Du Drone, on va surtout s’intéresser au ralenti dynamique, ou Dynamic Idle, en anglais. Certains pilotes s’en méfient encore, on va donc essayer de comprendre pourquoi ça peut être un véritable atout pour nos machines !
La vidéo explicative sur le Dynamic Idle
Les 3 fonctionnalités sous-cotées de Betaflight
Avant d’entrer dans le vif du sujet, on va commencer par un petit rappel général concernant certaines spécificités de Betaflight.
Le firmware regorge de fonctionnalités géniales. Parmi elles il y a le nouveau filtre Notch Dynamique introduit en 4.3, l’Antigravity, ou bien encore le Throttle Boost pour n’en citer que quelques unes.
Mais il y en a 3 sur lesquelles on aimerait revenir rapidement, parce qu’elles sont aussi efficaces que sous-estimées. Quand on dit “sous-estimé”, c’est parce que beaucoup de pilotes s’en sont méfiés, à leur sortie et même parfois encore aujourd’hui.
On pense évidemment au Dynamic Idle, qui fera l’objet de l’article d’aujourd’hui, mais également au Feed Forward et au RPM Filter.
1. Le Feed Forward
Le Feed Forward est dans Betaflight depuis longtemps, mais il est parfois décrié parce qu’avec des valeurs élevées, il peut occasionner des comportements anormaux.
En réalité, ces comportements sont souvent liés à une mauvaise configuration du lien radio. Comme on l’a vu dans le deuxième épisode de notre trilogie sur le tuning, il est pourtant capable de pratiquement réduire à 0 la latence entre nos sticks et les mouvements du quad, sans entraîner de dépassement de consigne, du moins sur le début des mouvements ! Son efficacité est par conséquent redoutable.
Plutôt qu’un long discours, les 2 extraits de Blackbox ci-dessous illustrent le comportement de la même machine, sur le même mouvement, avec 120 de FF puis 210 :
On constate que la réduction du délai est considérable, sans engendrer d’effet néfaste.
Si vous êtes habitués à voler sans ou avec peu de FF, vous serez évidemment surpris du gain en réactivité de votre machine. Mais une fois qu’on a repris nos marques, on s’aperçoit que c’était dommage de s’en passer.
Maintenant je le monte souvent entre 150 et 200, mais à vous de trouver le compromis qui vous convient.
Dans l’épisode 5 de cette série, on avait démontré que le FF était le principal outil pour augmenter la réactivité d’une machine.
2. Le RPM Filter
Ensuite, on a le RPM Filter. Là aussi, son adoption a pris du temps, surtout parce que lors de sa sortie, tout n’était pas rose.
Aujourd’hui son utilisation fait consensus. Et comme on l’a vu dans l’épisode 6 de cette série, il suffit à lui seul à filtrer pratiquement tout le bruit qui atteint le gyro.
On avait même poussé le vice jusqu’à désactiver tous les autres filtres, sauf ceux du D Term, et ça volait toujours très bien !
On était même allé jusqu’à couper et tordre les pales de nos hélices. Et même retirer complètement une pale. Là encore, c’est le RPM filter qui suffisait à filtrer l’essentiel des vibrations.
Comme on l’expliquait dans l’épisode dédié aux filtres, le RPM filter, c’est quand même un total de 36 filtres notch !
3. Le Dynamic Idle
Nous arrivons donc à la 3eme fonctionnalité sous estimée, celle qui nous intéresse aujourd’hui : le Dynamic Idle.
Son rôle n’est pas toujours très clair. Beaucoup de pilotes préfèrent encore l’éviter. Et le mythe qui prétend que le ralenti moteur classique apporte plus de consistance et de prédictibilité au comportement du quad a encore la peau dure. Alors que c’est non seulement faux, mais surtout, c’est même exactement l’inverse comme on le verra dans quelques instants !
Le ralenti moteur, c’est quoi ?
Le ralenti, c’est le régime de nos moteurs (donc leur vitesse de rotation), quand le stick des gaz est à zéro. C’est ça qui permet à nos drones de rester stables, même quand on coupe les gaz.
Ça permet aussi d’éviter que les moteurs ne s’arrêtent, parce que leur redémarrage engendre un certain délai. Le ralenti garantit donc une bonne réactivité du quad. En prime, le ralenti limite un risque fréquent à bas régime : le desync. Il améliore également la gestion du propwash.
Historiquement, on parlait de ralenti DShot ou DShot Idle. Il s’appelle maintenant Ralenti Moteur, ou Motor Idle et on le retrouve dans l’onglet Moteurs de Betaflight.
Le Dynamic Idle, plus récent, se trouve dans l’onglet PID. Par défaut, il est à zéro, donc désactivé. À partir du moment où on lui assigne une valeur, il prend le pas sur le ralenti moteur, qui est alors désactivé.
À noter que pour pouvoir en profiter, il faut avoir activé le DShot Bidirectionnel. Le firmware de vos ESCs doit donc être compatible, c’est le cas de tous les firmwares récents. Si vos ESCs sont en BLHeliS, il suffira de les flasher avec le firmware Bluejay.
Le tableau ci-dessus donne un ordre d’idée des valeurs à utiliser pour le Dynamic Idle.
Le ralenti moteur classique
Avant d’expliquer ce qu’apporte le Dynamic Idle, on va revenir rapidement sur le fonctionnement et les limites du ralenti moteur classique, ou DShot Idle.
On a vu l’importance d’avoir un ralenti moteur sur nos machines. Se pose ensuite la question de la manière dont ce ralenti est obtenu. Il y a quelques années, on utilisait l’Idle UP. Ce réglage se faisait côté radio. Si les gaz étaient à 0, on configurait la radio pour qu’elle envoie toujours une valeur minimale de 5% de gaz par exemple.
Principe de fonctionnement du ralenti moteur classique
Par la suite, la gestion du ralenti a été implémentée directement dans le firmware Betaflight. Avec le fameux ralenti DShot ou Ralenti moteur. C’est le firmware qui fait en sorte que les valeurs envoyées aux ESCs via le protocole DShot restent au-dessus d’un minimum défini par la valeur du ralenti.
Les valeurs pour piloter les moteurs avec le protocole DShot se situent dans une plage comprise entre 48 et 2047. Le DShot Idle va « caper » la valeur minimum de cette plage à la valeur de dshot_idle_value (par défaut à 158), empêchant les moteurs de tourner moins vite.
Cette valeur DShot de 158 correspond à 5.5% de gaz. C’est la valeur que l’on retrouve dans l’onglet moteur.
Cette approche est un peu plus précise que l’Idle Up. Mais également plus sécurisée et surtout plus logique. Il paraît plus naturel que le ralenti soit géré par la machine elle-même plutôt que par la radio.
Les limites du ralenti moteur classique
Comme on l’a expliqué, il repose sur des valeurs DShot constantes pour gérer le ralenti des moteurs. C’est pour ça qu’on parle de ralenti statique.
Pour vulgariser, le ralenti consiste à fournir, par exemple, 5.5% de la puissance disponible aux moteurs, sans se préoccuper de la vitesse de rotation réelle des moteurs.
On suppose donc que les moteurs tournent toujours à la même vitesse pour une puissance donnée. Et c’est là que se situe le problème : ce n’est pas tout à fait exact. C’est suffisant pour avoir déjà de bons résultats, mais ça reste faux.
Le point faible du Dshot Idle, c’est qu’il travaille à l’aveugle. Les RPM, ou la vitesse de rotation des moteurs si vous préférez, ne sont pas connus et donc pas garantis ! Parce qu’elle dépend en fait d’autres paramètres extérieurs : la force que l’air exerce sur les hélices, la situation du quad, l’état de la batterie, les conditions météo, etc. On va s’intéresser à quelques cas concrets :
- En chute verticale à plat, la poussée de l’air sur le dessous des hélices va ralentir les moteurs. Donc la résistance à l’air augmente pendant la chute. Par contre, les ESCs maintiennent la même puissance. Ça conduit donc à un léger ralentissement des moteurs. Affectant potentiellement la stabilité de la machine si les moteurs ralentissent trop.
- En chute la tête en bas, au contraire, la vitesse des moteurs va être augmentée à mesure que la vitesse de chute augmente, l’air « poussant » sur le dessus des hélices. Le quad aura tendance à accélérer sa chute.
- Lors des figures avec coupure des gaz, la valeur du ralenti moteur ne sera pas constante.
- En fonction des conditions externes (vent, pression, température, état de la LiPo), l’effet du ralenti statique pourra varier.
Perte de capacité de freinage avec le ralenti moteurs classique
La vidéo étant déjà assez longue, ce point n’y a pas été abordé.
Comme évoqué précédemment, avec le ralenti DShot, la vitesse réelle de rotation des moteurs n’est pas connue, car les ESCs ne renvoient pas d’information de télémétrie.
Pour éviter que les ESCs reçoivent une commande trop basse risquant d’arrêter les moteurs ou de provoquer un désync, Betaflight remappe la sortie moteur dans la plage [dshot_idle_value, 2047]
.
Cela signifie que la FC ne peut jamais envoyer un signal en dessous de dshot_idle_value
, ce qui revient à décaler toute la plage de commande vers le haut. En pratique, c’est comme si dshot_idle_value
était toujours ajouté à la commande moteur, ce qui réduit la capacité de freinage.
C’est bien là la limite du DShot Idle classique : comme on ne connaît pas la vitesse réelle des moteurs, on est obligé de fixer dshot_idle_value
suffisamment haut pour éviter toute désynchronisation.
Pourtant, dans beaucoup de situations (notamment en Air Mode), les moteurs continuent de tourner suffisamment vite pour permettre de descendre en dessous de ce seuil sans risque (si seulement la FC en avait le droit).
C’est précisément ce que vient résoudre le Dynamic Idle, grâce à l’utilisation de la télémétrie RPM.
Le Dynamic Idle à la rescousse !
Depuis quelques années, on peut profiter du DShot Bidirectionnel dans Betaflight, et donc, de la fameuse télémétrie des ESCs. Quand les ESCs sont compatibles, ils renvoient alors la vitesse réelle de rotation de chaque moteur.
Ce sont ces informations qui sont utilisées par le RPM filter. Mais on peut également s’en servir pour la gestion du ralenti moteur, en activant notre fameux Dynamic Idle.
Et vous en percevez probablement déjà tout l’intérêt.
Le DShot Idle fonctionnait sans connaître la vitesse réelle de rotation des moteurs. Il fallait donc trouver un réglage « moyen », qui n’était jamais parfait, mais qui restait fonctionnel dans la plupart des situations.
À l’inverse, le Dynamic Idle s’adapte en permanence à la situation réelle du quad. Il ne contrôle pas directement la vitesse de rotation des moteurs, mais ajuste dynamiquement les signaux envoyés aux ESCs pour essayer de maintenir un régime suffisant (basé sur les RPM mesurés) afin d’éviter les désynchronisations, sans sacrifier la précision du contrôle.
Le résultat : un comportement plus précis, plus réactif et plus prévisible, même à bas régime.
En gros, le Dynamic Idle fait la même chose que faisait le DShot Idle. Mais il le fait juste mieux, parce qu’il “voit” ce qu’il fait, là où le Dshot Idle travaillait à l’aveugle.
Si on dit qu’il est « dynamique« , c’est parce qu’en réalité, pour maintenir une vitesse de rotation réellement constante en toute circonstances, il ajuste en temps réel les valeurs envoyées via le protocole DShot.
A noter que la valeur du Dynamic Idle dans l’interface, correspond en fait à la vitesse de rotation minimale des moteurs, divisée par 100. Une valeur de 30 correspond donc à un ralenti moteur de 3000 RPM.
Dshot Idle VS Dynamic Idle, en pratique
Nous avons voulu vérifier sur le terrain si les différences théoriques entre le ralenti moteur classique et le ralenti dynamique se confirmaient.
Nous avons donc réalisé un certains nombre de mouvements de tests. On a ensuite analysé le comportement du quad avec le DShot Idle, puis avec le Dynamic Idle.
On vous invite à regarder la vidéo qui accompagne cet article pour plus de détails sur le protocole de tests, la préparation des données et l’analyse des résultats.
Voici un aperçu du comportement du MIN RPM lors d’une chute à plat, avec le DShot Idle :
Et maintenant, avec le Dynamic Idle :
En résumé :
- Avec le ralenti moteur classique, nous avons constaté tous les effets prédits par la théorie :
- En chute à plat, les moteurs ralentissent
- En chute inversée, les moteurs accélèrent
- Sur des manœuvres générant du propwash, les moteurs sont fortement ralentis à cause de la poussée de l’air sur le dessous des hélices
- Les RPM ne sont pas du tout stables, avec des écarts de 1000 à 1500 RPM
- Les RPM mettent un certain temps à se stabiliser
- Inversement, avec le ralenti dynamique :
- Les RPM restaient en toutes circonstances autour de la valeur choisie à plus ou moins 50 RPM
- La vitesse de ralenti était atteinte beaucoup plus rapidement
- Les RPM ne descendent jamais vers des valeurs pouvant occasionner de mauvais comportements
Pour aller plus loin… (sources)
N’hésitez pas à jeter un coup d’œil à ces quelques ressources pour en apprendre plus :
Conclusion sur le Dynamic Idle
Pour résumer, nos expériences ont permis de valider la théorie.
On a vu que le Dynamic Idle était beaucoup plus efficace que le DShot Idle pour maintenir un ralenti constant et freiner plus efficacement les moteurs. Ce qui se traduit par un comportement plus consistant et prévisible de la machine.
De plus, il permet de prévenir certains soucis en maintenant les RPM demandés en toutes circonstances. Là où le DShot Idle ne suffirait pas à maintenir une vitesse suffisante et induirait plus de propwash, moins de réactivité ou plus de risque de desync.
On parle bien sûr de situations extrêmes, un DShot Idle suffisamment élevé permet d’éviter les desync. Mais comme on l’a vu, en situation de propwash intense par exemple, la vitesse des moteurs subit une réduction significative lorsqu’on utilise le DShot Idle.
Le but n’est pas de vous imposer une façon de régler vos quads. L’important comme toujours c’est d’être à l’aise avec votre machine. Et si vous considérez que le bon vieux DShot Idle répond à vos besoin, alors tant mieux.
Mais l’intérêt du Dynamic Idle n’est que très peu mis en avant. Il est même parfois victime de rumeurs infondées. Au travers de cette vidéo, on a voulu clarifier son fonctionnement, et montrer très concrètement son efficacité sur le terrain.