Calibrer ses ESC BLHeli via Betaflight & Cleanflight

70
18845

Betaflight - MotorsDans ce tuto, nous allons voir comment calibrer ses ESC sous BLHeli à partir de Betaflight ou Cleanflight.

Depuis quelques semaines, en parcourant les forums ou les réseaux sociaux, je retrouve plusieurs méthodes de calibration des ESC, qui n’ont pas la même approche, et qui (pour ne rien arranger !) peuvent varier en fonction de la version de BLHeli utilisée (< 14.4, et à partir de 14.5).

Pour essayer de clarifier tout cela, nous allons voir ici une méthode pour calibrer ses ESC (car il en existe certainement plusieurs). Au fil des machines montées et de l’évolution des versions de BLHeli, j’ai affiné cette méthode pour qu’elle soit (je l’espère) le plus clair possible, en restant la plus fiable possible. Elle a le mérite de bien fonctionner et d’être valable quelle que soit la version et le protocole utilisé sur vos ESC (oneshot125, oneshot42 ou multishot). Je parle de “version”, car depuis la version 14.5 de BLHeli, les “anciennes” méthodes de calibration ne fonctionnent plus systématiquement et il faut être plus vigilant, car si la calibration n’est pas faite correctement, cela peut provoquer des comportements non souhaités comme des “spasmes” / “glitch” de vos moteurs, des désynchronisations en vol, des “stall” (moteur qui cale) d’un ou plusieurs moteurs, etc…

Pourquoi faut-il calibrer ses ESC ?

La calibration des ESC est une étape importante dans la configuration de sa machine. En effet, cela va permettre à votre FC (carte de vol) et à vos ESC d’apprendre l’un de l’autre quel est le minimum et quel est le maximum, dans la plage des régimes moteurs, à utiliser entre eux. Sans ces valeurs, la carte de vol sera incapable de faire voler votre multi (ou très mal !).

On en déduit facilement que la calibration est à refaire à chaque fois que l’on changera de version de BLHeli, d’ESC et / ou de moteur, et idéalement (c’est ce que je fais pour ma part) à chaque version de Cleanflight ou Betaflight installée !

Les pré-requis…

Je vais supposer dans ce tuto que vos ESC sont déjà flashés dans la version de BLHeli souhaitée (ex. : 14.4, 14.5 ou 14.6, qui sont à ce jour les versions les plus répandues). Si ce n’est pas le cas, je vous invite à suivre ce tuto qui vous permettra de les flasher.

Nous utiliserons BLHeli Suite 16.0.14.5.0.1 pour gérer les paramètres de nos ESC et Betaflight 2.7.1 sur la FC. Le tout sur un PC sous Windows 7 (x64).

Les variables utilisées…

Avant de passer à la calibration en elle-même, attardons nous quelques instants sur les variables utilisées dans la configuration de Betaflight et Cleanflight pour la calibration :

min_command, min_throttle, max_throttle.

En voici une définition “simplifiée” (le but n’est pas ici de vous faire une définition parfaite, mais de vous faire comprendre, pour une calibration des ESC, à quoi servent ces variables).

  • min_command : c’est la valeur minimum envoyée (par la FC) aux ESC pour leur indiquer qu’à cette valeur les moteurs sont à l’arrêt (je n’ai pas dit “tournant au régime minimum”, j’ai bien dit “à l’arrêt complet”, en d’autres termes : “éteints”).
  • min_throttle : c’est la valeur minimum (envoyée par la FC aux ESC), à laquelle les moteurs tournent tous de manière “fluide” (sans saccade). A déterminer justement (cf. la suite de ce tuto)
  • max_throttle : c’est la valeur maximum (envoyée par la FC aux ESC) pour leur demander de tourner “à fond”. C’est également la valeur utilisée lors de la calibration pour dire aux ESC : là, la FC envoie l’ordre “maximum”. La valeur optimale est à déterminer (cf. la suite de ce tuto).

Calibration initiale…

BTFL Configuration - Calibration ESCAvant de lancer la calibration de nos ESC, il faut enregistrer les bonnes valeurs des variables vu précédemment. Pour cela, rendez-vous (dans le configurateur Cleanflight sous Chrome) dans l’onglet “Configuration”, et dans le bloc “ESC/Motor Features”, et rentrez ces valeurs (n’oubliez pas ensuite de vous rendre en bas de la page et d’appuyer sur le bouton “Save and Reboot”) :

  • min_command = 1000 (Minimum Command)
  • max_throttle = 2000 (Maximum Throttle)

La valeur de min_throttle importe peu ici, car elle se sera pas utilisée dans cette partie.

[ATTENTION] TOUTES les phases de calibration des ESC se font SANS HELICES !!!!

Allez ensuite dans l’onglet “Motors”, et activez le bouton “Motor Test Mode” :

BTFL - Motor Test ModeDéplacez le curseur “Master” tout en haut (à fond). Les valeurs des 4 moteurs doivent alors passer à 2000 (valeur que nous avons mis pour max_throttle) :

BTFL - Calibration - Master 2000Branchez alors votre lipo, vos ESC “chantent” (petite musique indiquant que vous êtes en mode calibration justement) – Pour l’anecdote, ce ne sont pas les ESC qui chantent mais les moteurs 😉 . Lorsque la musique s’arrête (au bout de quelques secondes), baissez rapidement le curseur “Master” au minimum – la valeur indiquée par vos moteurs sera alors 1000 (valeur de min_command) :

BTFL - Calibration - Master 1000Une autre petite musique s’enclenche alors, et s’arrête quelques secondes plus tard : la calibration initiale est terminée !

Débranchez la lipo, et décochez le bouton “Test Motor Mode” :

BTFL - Test Motor Mode OFFSi vous utilisez une version BLHeli 14.5 ou supérieure, NE VOUS ARRÊTEZ PAS LA 😉 ! Il vous faut aller dans BLHeli pour vérifier les valeurs PPM Min Throttle et PPM Max Throttle de calibration : BLHeli - PPM Min Max Throttle

[ASTUCE] Il est tout à fait normal que dans BLHeli Suite, les valeurs “PPM Min” et “PPM Max” soient légèrement différentes d’un ESC à un autre ! Ne cherchez surtout pas à faire en sorte qu’elles soient identiques pour vos 4 ESC…

Lancez BLHeli Suite et connectez-vous à vos ESC. Vérifiez alors pour CHAQUE ESC, les deux valeurs indiquées en bas à droite : PPM Min Throttle et PPM Max Throttle. Ces deux valeurs ne doivent PAS être égale à respectivement 1000 et/ou 2020. Si c’est le cas, il y a de fortes chances que vous ayez une calibration dite “hors plage”. Et il faut alors y remédier avant d’aller plus loin !

[INFO] Si BLHeli affiche 2020 pour le PPM Max Throttle (car le plus fréquent depuis la version 14.5 de BLHeli), c’est probablement que le max est encore au delà de cette valeur, mais ne pouvant pas afficher plus que 2020, l’application affichera cette valeur “trompeuse”. De la même manière, s’il affiche 1000 pour le PPM Min Throttle, il se peut que le min soit en deçà de cette valeur.

Voici la marche à suivre si vous êtes “hors plage” :

Retournez dans le configurateur Cleanflight sous Chrome, et changez les valeurs de min_command (qui contrôle le minimum, il faut donc l’augmenter) et de max_throttle (qui contrôle le maximum, il faut donc le baisser) :

  • Si vous étiez à 2020 dans BLHeli pour le “PPM Max”, baissez dans Betaflight la valeur du max_throttle à 1980 dans un premier temps.
  • Si vous étiez à 1000 dans BLHeli pour le “PPM Min”, augmentez la valeur du min_command dans Betaflight, à 1020 dans un premier temps.

Relancez alors une calibration initiale (en reprenant ce tuto au paragraphe “Calibration Initiale” avec les valeurs ci-dessus).

Après avoir refait la calibration initiale avec les valeurs ci-dessus, retournez encore une fois dans BLHeli Suite et vérifiez à nouveau les valeurs PPM Min et PPM Max. Si celles-ci sont différentes de 1000 et 2020, c’est tout bon ! Sinon, vous avez gagné un troisième tour 😉

Recherche des valeurs optimales…

[ATTENTION] Dans cette partie, le temps de trouver les bonnes valeurs, vos moteurs et ESC vont tourner plusieurs secondes voir plusieurs dizaines de secondes à vide, sans hélices ! Ils peuvent ainsi chauffer et brûler !!!!!

Je vous conseille vivement de ne pas le faire avec vos lipos 4S (pour ceux qui volent en 4S), au risque de griller ESC ou moteur ou bien les deux !

Utilisez plutôt une lipo 3S, de préférence avec moins de 50% de charge, pour que le voltage envoyé aux ESC et moteurs soit le plus faible possible. Cela préservera votre électronique 😉

Pour mes réglages, j’utilise une vieille lipo 3S 1300mah 35C déchargée à 40%.

Maintenant que la calibration initiale est terminée, nous allons chercher les valeurs optimales pour les variables min_throttle et max_throttle.

Surtout ne vous arrêtez pas à la calibration initiale, car votre carte de vol et vos ESC ne sont pas utilisables en l’état !

Valeur optimale du min_throttle

Commençons par chercher la valeur minimum à laquelle tous les moteurs tournent sans saccade et sans caler.

Pour cela, rendez-vous dans l’onglet “Motors” à nouveau, et activez le “Motor Test Mode” (le curseur Master est quant à lui au minimum) et branchez votre lipo 3S.

BTFL - Motors - Min_ThrottlePlacez vous sur le moteur 1 et faites monter le curseur tout doucement, jusqu’à ce que le moteur correspondant tourne sans saccade et de manière fluide. Dans notre exemple, il tourne de manière fluide à une valeur de 1028. Notez cette valeur et repassez à 1000 (valeur minimum).

Répétez l’opération pour les moteurs 2, 3 et 4 et notez pour chacun d’eux la valeur correspondante. Dans notre exemple, nous avons : 1024, 1027 et 1028 pour les moteurs 2, 3 et 4.

Prenez la valeur la plus élevée des 4, ici 1028, ajoutez une “marge de sécurité” (personnellement, pour des moteurs qui tournent aux alentours de 1025 – 1030, je met 1050 comme valeur), cela devient votre valeur min_throttle optimale !

Allez dans l’onglet “Configuration” et rentrez cette valeur dans la case “Minimum Throttle” et sauvegardez ensuite cette valeur en cliquant sur le bouton “Save and Reboot”.

[INFO] Sur les forums et les réseaux sociaux, on trouve de tout concernant cette valeur de “marge de sécurité“. Certains vous dirons qu’avec 5 de marge, cela vole très bien, d’autres qu’il faut mettre au moins 30 à 40 de marge…

Personnellement, j’avais, il y a de cela plusieurs mois, une marge de 50 (oui oui, à l’époque c’était la valeur préconisée ! lol), puis, j’ai testé avec 5 de marge, mais j’ai eu des soucis de moteurs qui calaient lors de grosses reprises ou de virages très serrées, et je me suis arrêté, ces temps-ci, sur une marge d’environ 20 qui convient dans toutes les situations (courses, freeride, freestyle, cool ou en mode virages secs).

[ASCTUCE] Cette marge de 20 permet de garantir des moteurs qui ne caleront pas lors de grosses manœuvres, mais garantie également, lors d’une descente avec les gaz au minimum, assez d’accroche pour gérer la stabilité de votre machine (avec l’AIRMode activé bien entendu). Sinon dans certains cas, l’airmode ne pourra pas stabiliser la machine, car les moteurs n’auront pas assez d’accroche / force pour stabiliser l’ensemble.

A partir de BLHeli 14.5, dans certains cas, la valeur à laquelle les moteurs tournent de manière fluide peut être trompeuse. Il ressort des tests effectués et des échanges sur les forums (RCGroups notamment) qu’il vaut mieux ajouter une “bonne” marge, même si les moteurs tournent à très bas régime. D’après les tests que j’ai pu effectuer sur mes machines, notamment en Multishot (14.5 et 14.6), j’avais des valeurs entre 1040 et 1070 comme min_throttle (ESC Littlebee 20A & 30A).

Valeur optimale du max_throttle…

Pour déterminer la bonne valeur du max_throttle, nous allons utiliser une méthode similaire mais cette fois-ci dans le haut de la plage moteur.

Rendez-vous encore une fois dans l’onglet “Motors”, activez le “Motor Test Mode” (le curseur Master est quant à lui au minimum) et branchez votre lipo 3S.

BTFL - Motors - Max ThrottlePlacez-vous sur le moteur 1 et mettez le curseur au maximum (2000) :

Ecoutez (non, c’est pas une blague 🙂 ) le moteur tourner et faites descendre cran par cran le curseur. Vous allez vous apercevoir qu’au départ, le moteur ne change pas de régime, il se trouve sur un régime “plateau”. Continuez à descendre le curseur jusqu’à ce que le régime moteur change ! Vous êtes alors sorti du régime “plateau”, c’est cette valeur charnière qui nous intéresse.

Notez cette valeur à laquelle le régime moteur commence à changer. Dans notre exemple, pour le moteur 1, nous sommes à 1942.

Répétez l’opération pour les moteurs 2, 3, 4 et pour chacun d’entre eux, notez la valeur de changement de régime.

Gardez alors la valeur la plus basse (par ex. : 1942 / 1948 / 1952 / 1944, gardez 1942) et utilisez cette valeur pour la variable max_throttle. Pour cela, allez dans l’onglet “Configuration” et rentrez la valeur dans la case “Maximum Throttle” et sauvegardez le tout en cliquant sur le bouton “Save and Reboot”.

[ASTUCE] Personnellement, j’arrondis la valeur trouvée à la valeur inférieure (multiple de 5) la plus proche. Dans notre exemple, j’ai 1942 comme valeur minimum, je garderai donc 1940 comme valeur de max_throttle.

Et nous voilà arrivés au terme de ce tuto ! Vos ESC sont maintenant calibrés et Betaflight ou Cleanflight configuré avec les valeurs optimales pour ces ESC/Moteurs.

Une dernière chose… Gardez en tête qu’à la prochaine recalibration de vos ESC, il faudra penser à repasser, notamment, la valeur de max_throttle à 2000 avant la “calibration initiale” 😉 On peut facilement l’oublier, d’autant plus si on a pas calibré ses ESC depuis un moment.

Bons vols,

70 COMMENTAIRES

  1. Bonjour.

    Tout d’abord un grand merci pour tes différents tutos qui sont extrêmement complets et instructifs pour le Newbee que je suis.

    Je rencontre un soucis avec la calibration des ESC. En effet, je n’arrive pas à obtenir la “musique” de mise en calibration des ESC. Les 4 moteurs se mettent à tourner dès que je branche la lipo. J’ai beau essayer de reprendre tous les points que tu nous donnes, rien n’y fait.

    Si tu as une odée, je suis preneur ;-).

  2. Bonjour.
    tout d’abord merci pour tes tutos toujours très instructif et très bien fait. Une petite question. pourquoi ne pas calibrer les ESC directement sous BLHeli suite et ensuite reporter les valeurs dans Betaflight?

    luc

    • Avec blheli direct, j’ai déjà eu des soucis avec certains esc où je perdais la liaison avec un esc où plusieurs et obligé de les reflasher ensuite car leur conf était corrompue… Du coup j’utilise bêta ou ça fonctionne a tous les coups 😛

  3. Salut Olivier, j’ai une énorme différence de mini pour mes moteurs, du coup les 1 et 4 démarrent bien après les autres. Je ne sais pas s’il y a un lien mais les moteurs 1 et 4 sont Reversed dans BLHeliSuite
    moteur 1 : mini 1148 – maxi 1832
    moteur 2 : mini 1036 – maxi 2020
    moteur 3 : mini 1028 – maxi 2020
    moteur 4 : mini 1148 – maxi 1832

  4. bonjour
    je souhaite calibrer mes esc ( emax nano 20 A ) via betaflight.
    le soucis est que lorsque je branche la batterie, les esc chantent non stop. je ne comprend pas.
    j’ ai essayé de flasher les esc via blheli mais ils ne sont pas reconnus ?

    La, je sèche.
    si vous avez une idée, je suis preneur
    d’ avance merci
    Loïc

    ps: c’ est mon premier quad !

  5. Bonjour Olivier, je t’avais déjà contacté pour un problème de naze a mes débuts,depuis ,j’en ai monté 6-7 sans prob ,merci 😉
    mais là justement,le 6eme me fais un truc bizarre,sur 4esc ,3 ont le oneshot ,le 4eme est sans frein (en position 1 sur le quadri,en bas à droite) ,j’ai recalibré etc ,décoché ,recoché etc ..rien n’y fais ) ..et sur le 7eme quadri,j’ai pas du tout de oneshot … tu saurais où j’me suis loupé ? j’ai sur tous mes quadri la meme config : cobra/lettlebee20/naze rev6 -cleanflight … merci de ta reponce

    • Humm… Là comme ca je ne vois pas, je suppose que par oneshot, tu veux dire dampedlight (le frein moteur) ? Vérifie que tous tes ESC sont bien à la même version de BLHeli, et qu’en regardant ESC par ESC (et pas les 4 à la fois) que les paramètres BLHeli sont bien identiques pour les 4 + recalibrer ensuite. Pour le reste, ta conf est standard, et je n’ai jamais eu de soucis particulier avec les littlebee20 donc y’a pas de raison 🙂

  6. merci de ta réponse,effectivement je parlais du frein moteur …j’avais repris chaques esc 1 part1 et mis à jour ,ca n’avait rien “changé” …le seul “truc” qui m’a interroger ,c’est que l’esc 1 est appelé Master ..et que justement,c’est lui qui n’a pas de frein…
    (mais c’est plus tres frais j’avoue ,j’ai plus regardé depuis mon message )

  7. salut,
    j ai suivi ton tuto pour calibrer mes esc.
    cela est il possible que pour le regime des moteurs pour calibrer le max throttle ne change que vers 1250?
    cela me parait vraiment bas…
    je suis sous betaflight 3.1
    esc little bee 20A pro en 14.9
    moteur emax 1306 4000KV.

    merci d avance.

    • Bonjour,
      Non ce n’est pas possible d’être aussi bas, la procédure de calibration n’a pas du fonctionner si c’est le cas… Cela peut varier de 50, allez 100 max en partant du max_throttle (donc en gros entre 1850 et 1950) mais pas 750 comme dans l’exemple que tu donnes. Je te conseille de recommencer la procédure de calibration du début, car il y a sans doute un soucis à ce moment là.

  8. bonsoir j’ai un robocat 270 avec une spf3 comme controleur de vol, j’ai suivis vos differents tutos, au depart je n’arrivé meme pas a me connecter a cleanflight ou à armer mes moteurs , depuis j’ai fais les differentes manip de calibration des esc, j’ai eu les musiques lorsqu’on joue avec le master etc mais les moteurs ne sont pas synchros si j’actionne un stick alors le regime de 2 moteurs change, et les moteurs restent sur des regimes differents meme avec le stick en position centrale avec les helices ça donne un flip des que j’actionne les gaz et que j’arrive au regime proche du decollage ??? autrechose j’ai constate sous cleanflight dans l’onglet setup lorsque le chassis apparait avec la fleche verte dessus, j’ai du mettre le gyro sur cw90° pour avoir la fleche dans le bon sens par contre lorsque je bascule le multirotor en avant ou en arriere a l’ecran il bascule de gauche a droite sur l’axe roll ??? lorsque je fais basculer l’appareil a gauche ou à droite à l’ecran le chassis bascule en avant ou en arriere que faut il parametrer pour que tout rentre dans l’ordre svp ?

    • bonjour,
      pour le dernier point, ta carte n’est pas du tout bien orientée. dans qu’elle direction est la flèche qui est sur la carte?
      pour la calibration des moteurs, reprends tout depuis le début. ça doit marcher. je l’applique sur tous mes drones qui sont équipé de SPRacingF3.
      luc

  9. Bonjour depuis un moment je fais et refais les configs du tuto mais la j ai un soucis , j ai flasher ma carte naze 32 rev 6 avec le dernier firmware et je flash mes esc avec ma derniere version bheli je config tout comme d hab mais j ai mes moteirs qui chauffent un peu. J ai fait 4 bateries il vole tres bien mais bizarre que ca chauffe non? Xnova 2207/ 2500kv littlebee 30A tattu 1500 75C voila merci de m aider lol .

  10. bon désolé, je ne vois pas d’où cela peu venir. surtout que j’ai abandonner depuis un petit bout de temps les naze32 (surtout la rev 6 car gyro trop sensible) pour des spracingf3. tu peut essayer de passer les valeurs des setpoint à 1 pour le premier et 0.3 pour le deuxième.

  11. Bonjour,

    voici ma config:
    – naze32 rev 6 flashé sous cleanflight
    – PDB-XT60 de chez matek systeme,
    – Moteur rs2205 2300kv de chez Emax
    – ESC 30a oneshot125 BLheli
    – lipo 4S 75c 1800mA
    – récepteur Ibus

    Voici mon problème,

    Lorsque je branche le tout, mes 4 ESC chantent. Cependant, je n’ai que 3/4 qui tournent. J’ai testé mes 4 moteurs qui sont OK.
    Lorsque je souhaite calibrer mes ESC, il m’est impossible d’activez le bouton “Motor Test Mode” et donc de calibrer mes ESC.

    Une idée? Pourquoi ai-je un moteur qui ne tourne pas?

    Merci

        • ok, donc c’est un problème à mon avis au niveau de ton récepteur ibus. tu as peut être mal configuré cleanflight. c’est quoi comme récepteur? qu’elle version de cleanflight? en plus j’ai voir sur les forum qu’il y avait un problème avec cleanflight en ibus.
          luc

LAISSER UN COMMENTAIRE

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