Envie de participer ?

Article de Philippe COLL

Paramètres sous Cleanflight

Vous trouverez ici quelques pages d’explications comprenant les différents paramètres présents sous le logiciel Cleanflight Configurator v1.1.0, logiciel nécessaire pour faire les réglages de la Naze32 par exemple. Après ces explications, vous trouverez aussi une somme d’info pratiques emmenant du blog Oscar Liang en Anglais. Son blog m’a beaucoup aidé, c’est clair, net, précis et fonctionnel.

bleu1/ Historique:

Le logiciel CLEANFLIGHT est une déclinaison de son grand frère BASEFLIGHT, lui-même issu de l’OPENPILOT GCS (avec une interface plus simple et accessible).

Il existe une autre évolution qui s’appel BETAFLIGHT, mais comme son nom l’indique, il sert aux betatests, c’est-à-dire à la vérification de firmwares en cours de développement. De nombreux pilotes l’utilisent régulièrement, mais il peux comprendre certains bugs car il est avant tout utilisé pour améliorer la gestion de vol en mode acro, le reste étant mis de côté. Si vous voulez l’utiliser, il vaut mieux prendre au moins une version avant la dernière, et bien lire les explications d’amélioration pour comprendre les risques.

 bleu2 /Installation:

Pour l’installation de ce logiciel, je vous invite à vous inscrire sur le site, et suivre le tuto suivant :

http://www.modelisme.com/forum/helico-drone-multi-rotors-ufo/193147-participatif-naze32.html

Bien que certains raccourcis ne fonctionne plus à cause des changements de versions, ce forum est une mine d’information pour tout ce qui touche à la naze32, et ce qui tourne autour.

Je n’essaye pas ici de le copier, mais simplement de résumer en quelques pages les connaissances que j’utilise régulièrement pour régler mes machines.

Les exemples de copie d’écran son basés sur le modèle d’un membre du club (Une ébauche du ZMR MCD…) :

Châssis : ZMR250, modifié par le remplacement des 2 plaques de base, par une carte de distribution de puissance Diatone v1 – Masse : 576 – 596g en ordre de vol selon le pack choisi – Flight Controler : AbuseMark AfroFlight Naze32 Full – Rx : Futaba R617FS – Esc : DYS opto 20A 2-4s Firmware BLHeli – Bat. : Turnigy Nano-Tech 1800 et 2200 Mah 45-90C Matched – Moteurs : DYS 1806-2300Kv – Hélices : DAL 5×4.5 bipales – VTX : FatShark 250Mw – 5.8GHz – Antenne : CloverLeaf 5.8Ghz SGV type SMA – Camera : CCD Lumenier CS-800 Tvl S-WDR.

bleu3 /Les menus de Cleanflight:

Mise en garde : Sous CleanFlight, tout changement de valeur sur une page doit être accompagné d’une sauvegarde/save and reboot, sinon c’est oublié au changement de page, voir non pris en compte sur la visu en live !!!

Page d’Acceuil Cleanflight :

Cette page permet de flasher la carte Contrôleur de Vol (Flight Controler) de son choix, avec les dernières versions stable connues.

Onglet SETUP :

Calibration des accéléromètres, il faut que la carte soit bien à plat sur son châssis, et le châssis bien horizontal (utiliser un niveau à bulle si possible).

La calibration du Magnétomètre n’est utile que sur la version 10Dof (Degree Of Freedom) Degrés de Liberté, c’est-à-dire dotée d’un magnétomètre, et d’un baromètre. Le magnetometre se base sur le pole magnétique, il faudra faire cette calibration dans un environnement non métallique.

Onglet PORTS :

Il n’y a que 2 ports UART sur la Naze32 rev5, et rev6, ce qui est assez limitant pour installer des accessoires genre GPS, OSD, RGB Leds, Sonar, etc… sauf que en drone racer, on recherche avant tout la performance, et la notion de conduite directe, sans assistance, au plus bas du sol, pour avoir les plus fortes émotions… donc exit les GPS, trop lourd, et inutile à cette altitude, exit le Sonar qui ne marche qu’à vitesse réduite, sur des surfaces dures, et à une altitude max de 3m, exit la version Naze32 Full pour son Barometre qui n’assurera jamais un maintient stable à 30cm du sol….

On gardera peut etre les Leds RGB pour signaler l’arrière d’un racer à ses poursuivants (peut etre remplacé par une barre de Leds fixes), et indiquer s’il augmente ses gaz, freine, tourne à gauche ou à droite, ou encore donner l’état de la naze32.

On gardera peut etre aussi l’OSD, mais avec un affichage simpliste, de la qualité de réception RX (RSSI), de la tension du pack, d’un décompte de sa capacité, voir d’un timer….

Onglet Configuration (page1/3) :

Mixer – Quad X – permet de choisir la forme du modèle utilisé, on trouve aussi le sens de rotation attendu des moteurs ; pendant l’assemblage d’un nouveau quad, si un moteur tourne dans le mauvais sens, il faut croiser 2 des 3 fils de moteur pour régler le problème.

Board Alignement – Yaw Adj – 270, Valeur de l’orientation (en degrés) de la carte naze32, par rapport à son orientation théorique indiquée par une flèche sérigraphiée. Avec 90°, on peut tourner la carte pour avoir la prise USB sur le coté gauche du model, il faudra mettre 270° si on la veut du côté droit (Naze32 jusqu’à rev5 – pas de necessité avec la rev.6, le port Usb est dejà installé de coté),

Accelerometer Trim – Permet de régler la position horizontale du quad en cas de dérive persistante après calibration des accéléromètres, se fait à atelier, moteurs désarmés, en mettant les Gaz à 100%, et en donnant des coups de manche – à fond – dans le sens du redressement désiré; chaque coup de manche augmente la valeur de 1 pas (voir la vidéo : https://youtu.be/66gwDG3P16o ).

ESC/Motor Feature :

MotorStop – Permet de garder les moteurs arrêtés lorsque le stick de gaz est à 0, sinon, les moteurs tournent doucement dès l’armement de la Naze32. Avec l’expérience, il paraît évident qu’il vaut mieux laisser cette option non active, et donc laisser les moteurs démarrer à allure très lente, même avec les Gaz à 0. De cette façon on garde toujours une activité de stabilisation en vol, même si on reduit les gaz complètement. Cela suppose aussi de pouvoir utiliser un interrupteur pour armer/désarmer les moteurs, et d’utiliser cet interrupteur dès que l’on touche le sol, pour éviter de brûler un variateur si une hélice vient a être bloquée.

OneShot125 Permet une amelioration des performances des variateurs – qui le supporte – en synchronisant la mise à jour des consignes envoyées par la naze, avec celle des variateurs. Option utile pour les experts.

Disarm Motor – Permet de désarmer les moteurs si on utilise une voies RC dédiée. Doit être décochée si on utilise la procédure d’armement/ désarmement aux manches. 

Disarm Motor Delay – Je n’en vois pas trop l’intérêt… A vous de me dire !

Minimum Throttle – Défini la valeur en µs correspondant à la position en dessous de laquelle les moteurs ne sont plus actifs. C’est ici qu’il faut définir la vitesse minimum des moteurs lorsque l’on active le bouton armement. Une valeur de 1050 à 1150 est valable (si on a une range de 1000-2000), mais il faut faire des essais avec un pack lipo bien chargé, et ce réglage doit être refait si on passe en 4S au lieu de 3 habituellement… baisser la valeur, sinon votre machine risque de décoller juste en armant les moteurs (c’est du vécu…).

Middle Throttle : – Défini la valeur médiane en µs correspondant au neutre de la radio (1520 µs dans le cas des Futaba, 1500µs pour la plupart des autres marques de radios commandes).

Maximum Throttle – Défini la valeur en µs de la position des gaz maximum (varie d’une radio à une autre.

Minimum Command – Défini la valeur en µs de la position minimum de la commandes des Gaz (à vérifier !).

Attention : Pour pouvoir armer les moteurs, la gamme de fréquences du manche des gaz doit débuter en-deçà de 1100µs et doit aller au-delà de 1900µs. Il faut augmenter les buttés éléctroniques dans l’émetteur si ce n’est pas le cas.

Onglet Configuration (page2/3) :

Receiver Mode : RX_PARALLEL_PWM – Choisi le mode de transmission des signaux du recepteur vers la naze32, le mode PPM permet de limiter la connectique RX/Naze32 et liberer des ports pour d’autre accessoires (GPS, OSD, sonar…). Ce choix n’est possible qu’avec des recepteurs compatibles CPPM ou PPM : les ordres « servo commande» passent tous par un seul fil de signal, en série au lieu de l’habituel parallele ou un fil correspond à un servo,esc. Dans notre cas, on active le mode RX_PARALLEL_PWM, il y a autant de fils que de voies sur le recepteur.

Serial Receiver Provider – Inactif dans le mode parallele, sinon defini le protocole de communication en série, variable suivant chaque constructeur.

Receiver Failsafe – Defini la consigne de commande moteur à donner en cas de perte de communication avec l’émetteur RC. Danger : Il faut le mettre à 0% de gaz, soit 1000µs, pour couper les moteurs (point vérifié avant toute competition).

Batterie Voltage : Vbat – pour la mesure de tension de batterie de propulsion par la Naze32, cette fonction tient compte de la tension intiale pour en deduire le nombre d’éléments, et donc d’en deduire la tension théorique de chaque éléments, et émettre des signaux auditifs (bips) en cas de depassement de la tension plancher pré-définie. Cette fonctionnalité peut etre utilisée avec la telemetrie ou non.

Minimum Cell Voltage – 3,2v défini la tension seuil de l’alarme critique, tension à ne pas dépasser (bip quasicontinu – il faut impérativement atterir sous peine de reduire l’espérance de vie du pack).

Maximum Cell Voltage – 4,3v défini la tension maximum d’un élément (cela sert au calcul du nombre d’éléments du pack connecté)

Warning Cell Voltage – 3,4v défini la tension de l’alarme initiale, (Bip discontinu – il faut prevoir d’atterrir), cette tension est à ajuster selon la batterie, sa qualité – résistance interne (30C ou 70C), le poids du modèle, sa façon de voler… trop haut, ça bip alors qu’on peut encore rouler 4 minutes, trop bas, on dépasse les capacités du pack, une chutte brutale du modèle peut survenir (surtout avec les pack à forte capacité de décharge).

Scale Voltage – 110 Paramètre de réglage analogique/digital pour mesurer la tension du pack ; ne pas le modifier…

Curent sensor: – Il est possible d’installer un capteur de courrant, on regle alors le niveau logique de traduction dans la naze, ainsi qu’un offset pour soustraire-ajouter la conso radio.

Notes importantes :

Cette mesure de tension ne tient pas compte des variations de tension entre les différents éléments du pack… Exemple : si la tension de l’élément central d’un pack 3s s’éloigne des 2 autres, la naze32 ne le vera pas, seule la tension globale du pack est analysée. L’élément risque donc de passer sous la barre cruciale des 3 volts, et d’autant plus se dégrader qu’il est desiquilibré. Ce deséquilibre ne se verra pas en sortie de chargement (équilibré), sauf à verifier le temps de charge qui va augmenter, mais bien APRES le vol….

Astuce : pour ceux qui ne savent pas encore, si un élément est déchargé en dessous de 3v, le plus basic des chargeur Lipo refusera de le prendre en « charge », il suffit alors de faire remonter la tension de l’élément concerné en utilisant la fonction de charge NIMH, ou même utiliser un simple chargeur 12v 0,5 A pendant une à cinq minutes sur le pack complet. Après cette période, on repasse en charge LIPO equilibré, et ça marche comme par miracle.

Type de mesure : Cette mesure embarquée se fait « sous charge », c’est-à-dire pendant que les moteurs et l’electronique embarquée « tirent » sur le pack, une fois attéri, la tension va immédiatement remonter du fait de l’absence de consommation des moteurs, il faut donc juste faire des mesures de « capacité restante », pour calibrer la tension d’alarme.

Influence des paramètres physiques du modèle : La encore, il faut se meffier de ses habitudes, le quad supporte constament son propre poids avec ses moteurs, donc la consommation est tout de suite dans la partie mediane/haute, dès que l’on décole, il n’y a aucun « repis » pour les accus. Tout changement de configuration (poids du pack, taille et forme des hélices, ajout d’un accessoire… température ambiante) va entraîner une modification de la « charge » appliquée sur le pack, et par là même, modifier le temps disponible avant l’alarme initiale. On peut donc voler sans s’en soucier pendant les premières 5 minutes, mais après, il vaut mieux faire évoluer son modèle pas trop loin de soit pour pouvoir entendre l’alarme.

FailSafe activé, à faire aussi sur le recepteur, et Telem activée.

Onglet Configuration (page3/3) :

RSSI (Signal Stenght) : analog RSSI input sert à retransmettre la valeur de la qualité de reception RC que le recepteur detecte à un OSD. Option utilisable si le signal est sous forme analogique (niveau de tension).

Si ce signal est digital (numerique), voir plus loin, on atribuera une voie pour la transmission du RSSI vers la naze32, puis à l’OSD.

System Configuration : Flight Controler LoopTime – Defini la vitesse de calcul du processeur. Un changement de valeurs de ce paramètre, agit directement sur la vitesse de calcul du processeur, il faut donc refaire le réglage des PIDs (sauf pour l’algorithme LuxFloat)

Other Features : autres fonctionnalités que l’on peut ou non activer dans cet onglet. Attention : certaines fonctions ne peuvent fonctionner que si le port corespondant est activé dans l’onglet – Ports.

Par ailleurs, compte tenu des limites de connectivité de la naze32, toutes les fonctionalités ne peuvent pas fonctionner en même temps, mais dans le cas des drones racers, on gardera au besoin :

Inflight_acc_cal – C’est l’option qui auto-stabilise le quad à plat en mode Angle et Horizon

Softserial – option pour communiquer en mode serie avec la Naze32 (voir SBUS…)

Telemetry – Active la sortie des parmètres sur le canal Telem de la Naze32

Led_Strip – Active la gestion de LEDs dites RGB, en fonction des activités de la Naze32

Blackbox – Boite noire qui archive tous les parametres de vol….

Servo_Tilt – Option pour faire pivoter la camera en sens opposé du corps du Quad, et ainsi garder une vision 50/50% entre le sol et le ciel, mais en pratique, ce mécanisme est compliqué et surtout fragile, donc pas fiable.

Onglet PID Tuning :

Profile : (1) – On peut pré-configurer jusqu’à 3 profiles différents et indépendants, ils pourraient être sélectionnés (au sol ou en vol) par un cannal de la radio.

Pid Controler : (LuxFloat) – Liste de profils de PIDs controler préétablis, datant plus ou moins en fonction des versions de hardware et de software, avec quelques defisciences de Yaw par ex. sur le 1-MultiWii (old) – 2,3 Hybrid. Luxfloat est un des derniers PIDs sortis du chapeau des ingenieurs, il est plus souple que les autres, ses réglages varient beaucoup entre le mode Angle, et Horizon. Angle sera hyper stable et sécurisant, alors que Horizon, bien que stabilisé, ne demande pas trop d’insistance sur la commande de pitch pour avancer ; mon Pid préféré !!!

Les PIDs :

Les PIDs sont des coeficients appliqués sur tous les axes gérés par la FC, ils déterminent le comportement des boucles logicielles de régulation de la stabilisation.

Proportional : La théorie, c’est l’écart constaté entre une consigne et la mesure, multiplié par le Gain. En pratique,

C’est la valeur qui corrige la position du multi à l’instant présent. Un gain trop bas va produire des oscillations lentes du quad. La correction appliquée arrive trop tardivement, de sorte qu’un nouveau déséquilibre est apparu avant que la correction ne soit entièrement appliquée. Le quad se ballade, il est difficile à contrôler. Là c’est toi qui te bats pour le maintenir en stationnaire.
Au contraire, un gain trop élevé sur le P va produire des oscillations très rapides comme s’il
 vibrait. La correction appliquée va induire une réaction trop forte des moteurs qui vont faire que le quad dépasse le seuil de la position idéale. La carte va alors corriger mais dans l’autre sens pour revenir à la meilleure position. C’est un jeu sans fin .Et l’atterrissage va ressembler à une partie de yoyo... (source : http://www.modelisme.com/forum/helico-drone-multi-rotors-ufo/193147-participatif-naze32-181.html)

Il suffit de réduire la valeur par 1/10° pour trouver la meilleur stabilisation, sans sacade de régulation.

Attention : Avant de faire le réglage de P, il faut mettre la valeur de l’Integral à 0,01

Integral : La théorie, c’est un reducteur de l’écart consigne/mesure. En pratique,

C’est la correction qui est appliqué dans le temps par la carte.
Pour expliquer, tu t’imagines faire un statio face à vent assez violent. Le multi doit baisser la tête pour tenir face au vent. Avec un gain trop faible sur le I, le multi va se redresser tout seul parce la gravité va faire qu’il va se remettre à plat, parce que le vent va soulever son nez etc. …. La carte corrige l’erreur produite par l’environnement extérieur mais pas suffisamment vite de sorte que ce qu’elle croit corriger est toujours légèrement décalé par rapport à la position d’origine, il y a quelques pouièmes de seconde plus tôt.
Par contre, avec un I trop élevé, il va devenir très difficile de faire bouger le multi comme s’il y avait un électro-aimant juste au-dessus de lui qui l’empêchait de bouger. Il est littéralement scotché. Je n’ai jamais mis de I trop élevé au point de voir apparaître des oscillations.
Pour redonner de l’amplitude de mouvement au multi, je diminue un peu mon I et mon P qui sont intimement liés… (Source
http://www.modelisme.com/forum/helico-drone-multi-rotors-ufo/193147-participatif-naze32-181.html)

c’est le taux de correction de stabilisation, plus il est élévé, moins le modèle dérive, mais moins modèle est réactif. On règle ce paramètre en deséquilibrant le modèle (poids au bout d’un bras) ; le bon réglage est obtenu lorsqu’il n’y a plus de dérive. On peut être amené à reprendre le réglage de Proportional, car celui-ci peut évoluer pendant le réglage de l’integral.

Derivative : La théorie, c’est l’accelerateur du processus de régulation. Paramètre qui donne la vitesse de reaction de la boucle de régulation. En pratique,

C’est plus subtil à appréhender. C’est la manière, l’amplitude de réaction du quad par rapport aux manches de la radiocommande. J’augmente souvent mon D pour avoir des réactions franches.

Après avoir tout lu, tu ne touches dans un premier temps qu’au P du Pitch et du Roll pour supprimer les oscillations (si P trop faible) ou les vibrations (si P trop élevé) .Tu augmentes d’un demi-point à la fois après tu peaufines.
Le I et le D sont plus subtils à ressentir. Evites d’y toucher. (Source :
http://www.modelisme.com/forum/helico-drone-multi-rotors-ufo/193147-participatif-naze32-181.html)

plus il élevé, plus le modèle est réactif, la réponse est forte et il faut être délicat avec les commandes, moins il est élevé, plus la bête est sage.

Attention : ne pas mettre une derivative trop élevée (>30-40), sous peine d’avoir des comportements erratique de la stabilisation. Trop forte, la derivative induit des dépassement de capacité de régulation, le système part en depassement de compensation, ça oscille de plus en plus…

Roll, Pitch, Yaw rate : Ces paramètres donnent la vitesse de rotation angulaire dans les positions extrêmes des 3 commandes d’attitude. Plus il est élevé, plus le basculement se fera rapidement, et inversement, plus bas, plus la rotation sera lente (action en bout de course des manche… à vérifier !!!).

TPA : Throttle Pid Attenuation – Système d’atténuation de stabilisation en vu de reduire son influence lors des translations du modèle, plus on va vite, moins la stabilisation doit agir car elle peut engendrer des parasites du fait des changements trop frequent d’attitude et d’environement d’air.

TPA Breakpoint : 1500 – Position des Gaz à partir de laquelle, l’action de stabilisation des PIDs va decroître, à hauteur du pourcentage de TPA. Ex : si le Roll/pitch est à 30%, on laisse 70% à la Naze32 pour la stabilisation. Sur ces 70%, le TPA (50%) donne le pourcentage d’attenuation lorsque les Gaz sont au max. Quand on dépasse la valeur 1500, le ratio de stabilisation (70%) va se reduire jusqu’à atteindre 100% du TPA lorsque les gaz seront à 2000 env. (gaz max).

Donc à 1500, la stabilisation joue à hauteur de 70%.

à 1750, il s’applique le calcul : 70% – 70% * 0,5 TPA * ½ Course depuis breakpoint, soit 70% – 17,5% =52,5 % de stabilisation.

à 2000, 70% – 70%*0,5*1 = 70% – 35% = 35% de stabilisation

Détails sur le PID Controller 2, “LuxFloat”

Le contrôleur de PID 2 (LuxFloat) est un luxueux algorithme à virgule flottante, contrairement aux contrôleurs 0 et 1 qui utilisent des calculs arithmétiques, qui étaient plus rapides dans le temps des cartes MultiWii 8-Bit, mais moins précis.

Ce contrôleur contient un code qui tend a compenser les variations induites par une modification du « looptime » (boucle de régulation…interprétation personnel). Ceci veut dire que les PIDs n’ont pas a être retouchés lorsque l’on change le Looptime. Il y avait initialement quelques problèmes avec le mode Horizon, et des mollesses en mode accro, qui ont étés récemment fixés par Nebbian dans la version 1.6.0. Important : La fonction Autotune ne fonctionne pas avec cet algorithme.

C’est le premier Contrôleur PID créé pour les processeur 32 Bits, ce n’est pas une adaptation d’un issu des MultiWii.

La puissance de l’auto-stabilisation (auto-leveling correction) appliquée en mode Angle est ajustée avec le paramètre « Level » dans la colonne « Strenght (angle) ». Il peut être utilisé pour ajuster l’auto-leveling indépendamment du mode Horizon. La valeur par défaut est 5.0.

La puissance de l’auto-leveling correction appliquée en mode Horizon est ajustée par le parametre “Level” dans la colonne “Strenght (horizon)” ; par défaut elle est à 3.0, ce qui rend le mode horizon moins stabilisant que le mode angle. Note: il y a un bug dans le soft qui montre ce coef divisé par 100 (il apparait comme 0,030 au lieu de 3,0).

La transition entre l’auto-stabilisation et le comportement acro en mode Horizon est contrôlée par le “transition (horizon)”. Il définit le pourcentage de la position du manche au-dela de laquelle on n’a plus d’assistance (Accélero). En deçà de cette position, l’assistance décroit proportionnellement au déplacement du manche vers cette valeur. Par défaut à 75% (3/4 de position de manche).

Exemple: avec un “Transition(horizon)” à 100%, au neutre on a 100% de d’auto-stabilisation, à mi-course, on n’est plus qu’à 50% d’auto-stab, et en fin de course, plus du tout; seul les Gyro agissent.

Si le “Transition (Horizon)” est descendu à 75%, on a alors toujours 100% d’auto-stab au neutre, 50% restent à 63% de course du manche, et plus à 75% de position du manche et au-delà.

Exemple de PID pour

le J-Mini (mini quad 180):
set align_board_yaw = 0

set looptime = 2500
set rc_rate = 120
set rc_expo = 65
set thr_mid = 50
set thr_expo = 0
set roll_pitch_rate = 50
set yaw_rate = 90
set tpa_rate = 40
set tpa_breakpoint = 1500

set failsafe_throttle = 1000 set

p_pitch = 35
set i_pitch = 35
set d_pitch = 30
set p_roll = 30
set i_roll = 30
set d_roll = 28
set p_yaw = 127
set i_yaw = 45
set d_yaw = 0
mixer QuadX

Onglet Receiver :

Throttle MID : Défini la valeur PWM du stationnaire, à trouver par essai en vol, dépandant de chaque config hardware (poids, motorisation, hélice) ; cette valeur donnera le centre d’application du Throttle Expo.

Throttle Expo : Exponentiel des Gaz en staionnaire,ce parametre aplatit la « courbe » de gaz autour du throttle Mid, et donc permet une tenue plus precise de l’haltitude du modèle en stationnaire, voir en dérive à plat.

RC Rate : Encore un pourcentage pouvant affecter la réponse du modèle, mais de façon plus globale, sur l’ensemble des 3 commandes Pitch/Roll/Yaw (multiplicateur d’entrée). Plus il est au-dessus de 1 plus la réponse sera agressive (pour les acro de l’accro) et inversement (pour les autres).

RC expo : Taux d’expo appliqué sur le RC rate, du fait du manque d’accessibilité en vol, il peut être remplacé par des réglage d’expo sur la Radio-Commande.

RC Yaw expo : Expo appliquée seulement à l’axe Yaw (Lacet), idem remarque précedente.

Channel Map : Prend en compte les specificité d’organisation des voies selon plusieurs marques d’emetteurs (Defaut/Futaba, Hitec/JR,Spectrum,Graupner) pour la partie en lettres (AETR, TAER), et des 4 voies AUX possibles en chiffres (1234). Il est ici possible de faire comme bon nous semble pour associer n’importe quel mixage, à n’importe quelle sortie de commande radio.

RSSI Channel : Affecte une des voies du Recepteur, à la reception du niveau du RSSI dans la Naze32. Il faut que le recepteur soit capable de lire son RSSI et de l’envoyer sur une de ses voie libre.

Onglet Modes :

Remarque : Cet onglet change de contenu en fonction des options selectionnées en onglet Ports et Configuration.

Il faut au moins 2 voies supplémentaires aux 4 commandes de manches pour un peu de confort et de sécurité.

1/ ARM : pour armer ou desarmer la Naze32, coupe moteur d’urgence, sinon, on peut aussi le faire avec une combinaison de position des manches (Gaz = 0 + Yaw droit > Armement… Gaz = 0 + Yaw gauche > Desarmement).

2/ Modes de vol : Acro, Horizon, Angle

Mode Acro : activé par défaut, c’est le mode le plus véloce, mais aussi le moins confortable car toute action au manche est exécutée sans se soucier de l’attitude (assiète) du modèle ; je le compare à un mode « conservation de cap » ou d’attitude, et certain à une savonette. On met du Roll une fraction de seconde, le quad se penche pendant ce temps (vitesse angulaire donnée par le Pitch Rate l’inclinaison du manche de RC), et le quad reste alors penché tant qu’on ne donne pas d’autre ordre à contre…. Mais l’attitude (l’assiète) en cours, est conservée par la stabilisation gyroscopique interne (pas d’autre assistance), et ne varie pas quelque soient les conditions externes au modèle…

Au décollage on donne un ordre sur le pitch, le quad se penche en avant avec un angle qui dépend du temps que l’on a gardé l’ordre et de la « quantité d’action » mise au manche. on remet le manche à 0, et le quad reste penché jusqu’à ce qu’on lui redonne un autre ordre sur cet axe ; c’est très pratique alors de cruiser, sans se battre constament contre la stabilisation (des autres modes), il suffit de tourner en Roll et Yaw combinés (on peut aussi faire un mixage Roll>Yaw sur la radio), et d’adapter sont altitude (distance au sol) avec les Gaz, en fonction de l’angle choisi.

Le Mode (Acro) est idéal pour le FPV.

Le mode Angle : Le modèle se penche de façon proportionnelle aux ordres des manches Pitch ou Roll, et avec une vitesse de basculement réglée par le Pitch Rate, Roll Rate et Yaw Rate ; sans jamais aller au-delà de 50° d’inclinason, c’est très bien pour débuter, on ne peut pas passer sur le dos, mais pour avancer un peu, il faut constament donner du Pitch pour garder le modèle en position d’avance, et on ne peut pas faire d’acro.

Le mode Horizon : le modèle se penche proportionnelement aux ordres des manches, mais sans limite d’atittude, il peut executer des toneaux ou looping automatiquement des lors qu’un certain seuil d’inclinaison des manches est franchi (voir details sur le controleur LuxFloat – Transition). La vitesse d’execution du retournement dépend d’une valeur que l’on donne à la Naze32 dans l’onglet CLI en tapant une commande , voir maintenant (Cleanflight V1.10) dans l’onglet Config sous le titre LOOPTIME. Cette valeur ajuste la vitesse de calcul du microprocesseur (CPU) de la carte FC – Pas assez clair pour en parler plus.

Le Mode Baro : permet théoriquement de stabiliser le modèle à l’altitude (actuelle) dès l’activation de la fonction avec un interrupteur sur une des voies disponible. En pratique, n’est possible qu’avec une Naze32 FULL (10Dof) qui comporte un baromètre en plus des 3 Gyro / 3 Accelero, cela reste assez évasif quand à la precision de la stabilisation (+/- 100cm… c’est difficile à utiliser en course).

Les modes Mag : – HeadFree – HeadAdj : Permettent d’utiliser le magnetomètre de la carte (FULL 10Dof) pour que le modèle sache son orientation par rapport au nord magnétique terrestre, il permet couplé à un GPS de faire du RTH (Return to home). Pas testé, pas d’avis.

Modes HeadFree – HeadAdj : Permettent d’utiliser le magnetomètre de la carte (FULL 10Dof) pour que le modèle sache son orientation par rapport au nord magnétique terrestre, il permet couplé à un GPS de faire du RTH (Return to home). Pas testé, pas d’avis.

Mode GPS Stab – GPS RTH : Permet de stabiliser le modele en plein vol, à l’arret, ou revenir à sa position initiale, là où le GPS s’est initialisé .

OSD_SW : Accès des parametrages via l’OSD (On Screen Display), c’est le point d’entrée d’une commande RC, dans les systèmes d’OSD, il donnent théoriquement accès aux parametres de la naze32, simplement en changeant de menu dans l’affichage de la caméra… magique, on n’a plus besoin de PC pour changer un Pitch Rate sur la Naze… je suis en cours d’expérimentation depuis quelques.. quelques mois. La théorie est jolie, la mise en œuvre beaucoup moins simple !!!!

AutoTune : permet de faire trouver les meilleurs PIDs par la Naze32 pendant le vol… (testé en PID 2,et 3 Hybrid OK, mais jamais sur LuxFloat)

Fail-Safe : Peut-être une mise en Fail-Safe volontaire, une position de setting permettant de se récupérer d’une situation scabreuse (perte vidéo, acrobatie hasardeuse…)… Pas testé, ni renseigné !!!

Onglet Ajustements :

Page de parametrage d’accès via des combinaisons de voies, dans le but de pouvoir modifier tout type de réglages vus précédament (12 ajustement possibles – Necessite une comm RX/Naze en PPM, ou Serial Modes, pour libérer au moins 2- 3 voies dont une sera gérée par un bouton rotatif pour la selection du paramètre, l’autre pour l’engagement /sens du réglage, la troisième en mode push pour incrémenter la valeur… une belle usine à gaz, mais ça marche ).

Rate Profil Selection :

C’est ici que l’on programme, sur une entrée à 3 positions, le changement de profile à distance. Un seul AUX est util, et renseigné dans les 2 champs, et il faut une ligne pour chacun des profiles, et répéter ce réglage dans chacun des profiles actifs.

Onglet Servos :

Onglet GPS :

Onglet Motors :

Onglet LED Strip :

Onglet Sensors :

Onglet Logging :

Onglet Dataflash :

Onglet CLI :

  • Here we can work out the CMIX for all four motors

    • Motor1:

      • Roll: 10.125/10.125 = 1

      • Pitch: (-) 7.75/10.125 = -0.765

    • Motor2:

      • Roll: (-) 10.125/10.125 = -1

      • Pitch: (-) 7.75/10.125 = -0.765

    • Motor3:

      • Roll: 10.125/10.125 = 1

      • Pitch: 7.75/10.125 = 0.765

    • Motor4:

      • Roll: (-) 10.125/10.125 = -1

      • Pitch: 7.75/10.125 = 0.765

So we have this custom mixing table for my ZMR250.

mmix 1 1.000 -1.000 0.765 -1.000

mmix 2 1.000 -1.000 -0.765 1.000

mmix 3 1.000 1.000 0.765 1.000

mmix 4 1.000 1.000 -0.765 -1.000

Voilà, si ce document peut aider à débroussailler le sujet pour les personnes non adèptes de la langue de shakespear…

La suite contient des copies de blogs que je trouve interessants, sur les different sujets liés au drone racers.

Philippe COLL

pcoll@immucor.com

BIBLIO (Anglais):

Le blog d’Oscar Liang regorge de discutions sur tous les paramètres concernant les Quad Copters, il sait rester simple et pratique dans ses explications. Je ne sais pas s’il fait partie des dévelopeurs ou Betatesters, mais il detient souvent les informations les plus à jour, et ses conseils peuvent être appliqués à la lettre, ça marche. Nous pouvons que le remercier pour cette aide precieuse qu’il nous apporte.

Quadcopter PID Explained and Tuning

Share this:

Many Multicopter, Quadcopter software (such as KK2.0, Multiwii, etc) allow users to change PID configuration values to adjust the performance of their quadcopters. In this post i will try to explain briefly what is PID, how does it affect the stability of the quadcopter (or multicopter), and how to tune the PID for your quadcopter.

Be prepared, this article is a bit more “academic” than mine other PID explained post, so do check it out also!

Apart from PID, Rates and expo also affects your flight performance and control.

What is PID?

PID (proportional-integral-derivative) is a closed-loop control system that try to get the actual result closer to the desired result by adjusting the input. Quadcopters or multicopters use PID controller to achieve stability.

There are 3 algorithms in a PID controller, they are P, I, and D respectively. P depends on the present error, I on the accumulation of past errors, and D is a prediction of future errors, based on current rate of change. These controller algorithms are translated into software code lines.

To have any kind of control over the quadcopter or multicopter, we need to be able to measure the quadcopter sensor output (for example the pitch angle), so we can estimate the error (how far we are from the the desired pitch angle, e.g. horizontal, 0 degree). We can then apply the 3 control algorithms to the error, to get the next outputs for the motors aiming to correct the error.

You don’t need to understand how PID controller works in order to fly a quadcopter. However, if you want more theory, here is a very interesting and detail explanation of PID controller with examples. This PID tutorial is also very good and easy to understand for beginners.

There are three parameters that a pilot can adjust to improve better quadcopter stability. These are the coefficients to the 3 algorithms we mentioned above. The coefficent basically would change the importance and influence of each algorithm to the output. Here we are going to look at what are the effects of these parameters to the stability of a quadcopter .

The effect of each parameter

The variation of each of these parameters alters the effectiveness of the stabilization. Generally there are 3 PID loops with their own P I D coefficients, one per axis, so you will have to set P, I and D values for each axis (pitch, roll and yaw).

To a quadcopter, these parameters can cause these behavior.

  • Proportional Gain coefficient – you quadcopter can fly relatively stable without other parameters but this one. This coefficient determines which is more important, human control or the values measured by the gyroscopes. The higher the coefficient, the higher the quadcopter seems more sensitive and reactive to angular change. If it is too low, the quadcopter will appear sluggish and will be harder to keep steady. You might find the multicopter starts to oscillate with a high frequency when P gain is too high.

  • Integral Gain coefficient – this coefficient can increase the precision of the angular position. For example when the quadcopter is disturbed and its angle changes 20 degrees , in theory it remembers how much the angle has changed and will return 20 degrees. In practice if you make your quadcopter go forward and the force it to stop, the quadcopter will continue for some time to counteract the action. Without this term, the opposition does not last as long. This term is especially useful with irregular wind, and ground effect (turbulence from motors). However, when the I value gets too high your quadcopter might begin to have slow reaction and a decrease effect of the Proportional gain as consequence, it will also start to oscillate like having high P gain, but with a lower frequency.

  • Derivative Gain coefficient – this coefficient allows the quadcopter to reach more quickly the desired attitude. Some people call it the accelerator parameter because it amplifies the user input. It also decrease control action fast when the error is decreasing fast. In practice it will increase the reaction speed and in certain cases an increase the effect of the P gain.

I have written a more detailed post aiming to explain the PID effects on a multicopter’s flight performance.

Aerobatic flight:

  • Requires a slightly higher P

  • Requires a slightly lower I

  • Increase D

Gentle smooth flight:

  • requires a slightly lower lower P

  • Requires a slightly higher I

  • Decrease D

This is a good video that demonstrate P and I gain effects.

http://www.youtube.com/watch?v=YNzqTGEl2xQ

Here is my quadcopter play list, also demonstrates as I learn to tune my quad’s PID, the video quality improves a lot. If you are also interested in improve FPV videos, you can also see my technique on how to convert 30fps footage into smoother 60fps video.

How to tune quadcopter PID Gains

I usually tune one parameter at a time start with P gain, I and then D gain. You can also go back to fine tune the values if need to.

For P gain, I first start low and work my way up, until i notice it’s producing oscillation. Fine tune it until you get to a point it’s not sluggish and there is not oscillation.

For the I gain, again start low, and increase slowly. Roll and pitch your quad left and right, pay attention to the how long does it take to stop and stabilize. You want to get to a point where it stabilize very quickly as you release the stick and it doesn’t wander around for too long. You might also want to test it under windy condition to get a reliable I-value.

For D gain, it can get into a complicated interaction with P and I values. When using D gain, you need to go back and fine tune P and I to keep the plant well stabilized.

Quadcopters are symmetric so you can set the same PID Gain values for Pitch, and Roll. The value for Yaw is not as important as those of Pitch and Roll so it’s probably OK to set the same values as for Pitch/Roll to start with (even it might not be the best).After your multicopter is relatively stable, you can start alter the Yaw gains. For non-symmetric multicopter like hexacopter or tricopter, you might want to fine tune the pitch and roll separately, after you have some flight experience.

RC Rate” vs “Roll/Pitch/Yaw Rate” in Cleanflight Naze32

Couple of people asked about the difference between RC rate and Pitch/Roll/Yaw rates, so here are my 2 cents on what they are, how they affect your quadcopter based on Cleanflight firmware, and how to set them up.

You might be also interested in PID tuning.

What is RC Rate?

RC Rate is the multiplier on your Radio Transmitter inputs for all 3-axis: pitch, roll and yaw (one value for all 3 axis). If you increase this your quad will respond more aggressively to your stick inputs. This is basically the stick sensitivity setting.

What is Pitch/Roll/Yaw Rate?

Pitch, Roll and Yaw rates change the speed at which the quad moves in a given angle or rotation. For example, if you increase ROLL RATE, the quad will spin around roll axis faster and more than at a lower rate.

It affects all-round stick range and not just the end points!

Pitch/Roll/Yaw Rates were closely linked to PID before (and still the case in some PID controllers such as PIDC 0, 3, 4 and 5). They were introduced in Multiwii to allow greater response at the extreme endpoints for aerobatic pilots.

The idea is, you can have relatively moderate stick sensitivity around mid sticks for “normal flying movement”, and yet super fast roll/flip for acro moves. Later on Pitch/Roll rate was separated in Cleanflight to enable individual axis tuning. (before it both axis share the same value)

As we mentioned, in PID controller 0, 3, 4 and 5 these rates affect your PID loops, so by increasing pitch/roll rate, you get faster spins, but your multicopter might feel less in control at stick end points.

In the new PID controllers 1 and 2 in Cleanflight, the pitch/roll rates are no longer linked to P gain and D gain, so your control feels better when doing acrobatics (better stability). In this case, they are just like RC rate which controls the overall stick sensitivity, only difference is that you can fine tune each axis independently.

As for Yaw Rate, it’s explained in Cleanflight documentation that, “in PID Controllers 0 and 5, it acts as a PID reduction as explained above. In PID Controllers 1-4, it acts as a stick sensitivity multiplier, as explained above.”

How about Expo?

Generally, Expo is a value between 0% and 100%. It reduces the sensitivity of your stick input around the centre stick (imagine a U curve, where it’s flatter in the middle). 0% = no Expo, it means no sensitivity reduction, and you get a V curve.

Expo is often used with high rates, so the pilot can have precise control near centre sticks, but yet can do aggressive aerobatics with stick end points.

There is no right or wrong expo value, as long as it suits you. I have shaky fingers, so my expo is a bit higher than other people’s. :p

How to set RC Rate and Roll/Pitch/Yaw Rate?

I mostly fly FPV in acro mode with Baseflight/Cleanflight. I always prefer to tune RC rate and RC expo first, for normal flying and levelling (no flips/rolls). Then I crank up Roll, Pitch and Yaw rates for flip, rolls and acrobatics, until I am happy with the speed of rotation. But of course you need to adjust Pitch/Roll/Yaw expo as well at the same time, make sure it’s not too twitchy around centre stick.

As Pitch/Roll/Yaw rate will boost stick sensitivity around stick centre, I might want to go back and adjust RC rate and expo to get a good balance.

One thing I notice from all the different flight controller software is, they all have different ranges of PID and rates numbers. So I never bother trying to relate those values from one to the other. Just whether the value should be smaller or bigger.

Also, avoid setting expo on the radio (TX), because it reduces your stick value resolution. ONLY set Expo in the flight controller

For LOS quads (although I don’t fly LOS much), I was recommended to use higher Roll/Pitch rate and lower RC rate as it makes the movements looks crisper and more precise. (but it would look a bit jerk-ish and robotic in FPV)

Update 14/09/2015 – Danny Cruz from Multicopter International Group mentioned a discussion between him and Boris B. Boris pointed out that in PID C1 and C2, you can forget about RC Rate. Just set it to 1 for example, then adjust roll / pitch rate separately (reason mentioned above post already). I thought I wanted to mention this as it will make a lot of people’s lives easier.

Throttle Mid and Expo

Lastly, Next to RC rate and expo, you also have Throttle Mid and Throttle Expo.

THROTTLE MID is default at mid throttle, but in my opinion this should be set to a value where your quad hovers. If you have to raise your throttle stick past the centre to hover, increase it. If your quad has higher power-to-weight ratio than 2, (hover at less than 50% throttle), you might want to drop it, so it’s easier to control your altitude. You need to use this with some throttle expo, otherwise it won’t do anything. If you set Expo = 0, you can ignore throttle mid.

One funny situation I see all the time is, some people fly a over-powered mini quad, and their throttle mid is way too high than its hover point, and they cannot land it without crash into the ground. ?

THROTTLE EXPO is how flat you want your throttle mid to be on a curve, so the flatter curve, the softer response it will give you. I personally use default value which is no expo, you get better resolution with throttle control. Especially useful when flying proximity and racing.

What are PID Controller 0, 1, 2, 3, 4 and 5 in CleanFlight?

I have been hearing people discussing “PID controller 1” or  “PID controller 2” a lot recently, after they flashed CleanFlight on their Naze32 or CC3D, so what are these all about? Well, this is actually the new feature added in the flight controller firmware. This post is part of the CleanFlight Setup guide.

Cleanflight now has six optional built-in PID Controllers which are numbered 0, 1, 2, 3, 4 and 5. Each of them has different flight characteristics, and requires different PID gain settings to achieve best performance.

  • PID Controller 0 – Multiwii

  • PID Controller 1 – Rewrite

  • PID Controller 2 –  LuxFloat

  • PID Controller 3 – MultiWii23

  • PID Controller 4 – MultiWiiHybrid

  • PID Controller 5 – Harakiri

At the moment you can select which PID controller to use, by setting the “set pid_controller = Xparameter in CLI Commands. But please make sure you understand the differences between these PID controllers before changing it.

Here is a simple explanation what PID is, or a more in-depth overview of PID Controller for Quadcopters.

What Difference do these Flight Controllers Make?

Just some brief description of each PID Controller in Cleanflight.

PID Controller 0 – Multiwii

This is the default PID Controller (PD) in Cleanflight. As you might know, cleanflight is a fork of baseflight, and baseflight is a fork of Multiwii. The PID Controller 0 is originated from older version of Multiwii (Multiwii 2.2 – MW2.2 and older).

This default PID controller 0 has some strange behaviour where changing PIDs affects rates. For example the strange effect with this PD is, as you increase P on roll or pitch axis, the rotation speed of those axis also decreases, and you need to increase the pitch or roll rate to compensate.

PID Controller 1 – Rewrite

As the name implies, this is a rewritten PD algorithm from 0. It originates from Multiwii 2.3 (MW2.3) and Cleanflight documentation suggests that it should perform better. PID tuning is easier and the tolerance range is wider.

In PID Controller 1, PID is no longer connected with rates, so changing P will not affect rotation speed, e.g. increasing P gains does not make rates sluggish. It gives you much better yaw response.

What I heard the most from those who use PID Controller=1 is, “the control response seems more direct, feels more locked in”, and “no need for TPA anymore”. This is recommended PID Controller for everyone who fly acro mode (rate mode, or manual mode). Note that it also changes how PID works in self-level modes (angle and horizon modes), if you do fly in these modes, try it out before deciding. For all flight modes in Multiwii.

PID Controller 2 – LuxFloat

Multiwii was written for 8 bit processors, now the newer flight controllers such as Naze32 and CC3D are using 32-bit processors, which are faster and more accurate. To take advantage of that, this PD is written for 32 bit floating point algorithms, and not derived from Multiww. Although it’s called “baseflight”, but it was never used in Multiwii nor baseflight. (It was called “baseflight”, name changed to “LuxFloat” since 29th of Jan 2015)

It’s also independent of looptime. I believe this PD is still experimental, and being worked on for better reliability, and integration into the firmware. At the moment it is not supported in Autotune..

PID Controller 3 – MultiWii23

This is a direct port of of Multiwii 2.3 algorithm.

The algorithm is handling roll and pitch differently to yaw. Users with problems on yaw authority should try this one.

PID Controller 4 – MultiWiiHybrid

This is combination of MW2.2 and MW2.3. Roll and pitch is using the MultiWii 2.2 algorithm and yaw is using the 2.3 algorithm.

PID Controller 5 – Harakiri

This PID controller is a port from Harakiri firmware.

Here is the CF official documentation.

PPM vs SBUS – D4R-II vs X4R-SB

There have been a lot of discussion on using SBUS over PPM for radio receiver. Here we will have a look at the differences and the advantages of SBUS over PPM.

Why SBUS is better than PPM?

PPM (aka CPPM) is an old, analogue signal. SBUS is a newer, digital signal.

In a nutshell, SBUS has the advantages of

  • SBUS is faster than PPM and PWM

  • Different Error Handling

  • Smoother, better resolution RC inputs

Delay

According to Gurus on RCGroups, CPPM and PWM both have around 60ms-80ms delay, and SBUS only have 10ms-20ms delay.

Actually, the delay with PPM is defined by the signal width, which is 18ms (or 27ms in the new firmware which fixed the 8 channel issue). But because the way Cleanflight deals with PPM signal, a 3 points average (or 4 points previously) is used to calculate the PPM input (to prevent signal frame glitches), this causes more delay (3x18ms or 3x27ms).

50ms improvement might not sound like a lot, but it definitely helps! For example for looptime of 1000, each control loop takes 1ms to complete. By going SBUS your quad can react to your stick command 50 control loops earlier. Less delay in RC input will make your quad much more responsive.

BanniUK commented in my post on Multicopter Internation, he asked how far can the quad travel in that delay period? Very interesting question!

Lets say if your quad is going at 100Km/hr (about 62 MPH) which is 27.8m/s, in 50ms of delay, your quad can travel 1.39 meters which is about 4.5 feet! Wow ?

Error Handling

As mentioned PPM is analog signal and it can have jitter or even interference from other signals. The flight controller won’t be able to tell if there is an error in the data, because it’s still a valid value (0% to 100%). To prevent that, 3 point moving average is used (taking average of 3 consecutive values). Thus it causes delay.

Digital signal RX such as SBUS has built-in error checking and correction, so multiple point averaging is not needed.

X4R-SB vs D4R-II

The most common RX choices for PPM is the Frsky D4R-II, and for SBUS is the X4R-SB.

 

RX

RX Type

Channels

Delay

D4R-II

CPPM

8 PPM or 4 PWM

60ms-80ms

X4R-SB

SBUS

16 SBUS + 3 PWM

10ms-20ms

D4R-II is widely supported by most flight controllers without any additional converter or adapter, for both signal or telemetry.

The X4R-SB might require signal inverter for some flight controllers like Naze32 Rev5, or a SBUS-to-PPM converter on the KK2. You will also need an adapter for its different S.Port telemetry as well.

However on the X4R-SB, it allows you to use the 3 additional PWM channels while running the 16 channels SBUS. So you can hook them up maybe to your servos, gimbals, loud buzzer etc where only accept PWM input. With PPM enabled on the D4R-II, you lose the PWM outputs.

Both RX are similar in price and range (both are marketed range of 1.5Km), binding process and failsafe setup are the same.

Get your Frsky X4R-SB Receiver.

Using X4R-SB (SBUS) on CC3D, Sparky, SPRacing, Dodo, Tornado

For all these flight controllers (CC3D, Sparky, SPRacing, Dodo, Tornado), setup is very simple. All you need is a direct connection between FC and RX pretty much like PPM.

With CC3D, just configure the Main Port as SBUS and you have a direct connection with 3 wires only.

Using X4R-SB (SBUS) on Naze32

Because Naze32 Rev5 or earlier boards don’t support the inverted SBUS signal, you need to get an inverter like this. Or you can DIY one yourself. The signal wire goes to RC4 pin, and you then need to configure UART2 for Serial RX in Cleanflight.

 

You might ask if the inverter can introduce some delay and contradict with the latency reduction benefit. I have not personally look into this but I read somewhere the latency is neglectable, since the inverter is just a fast switching NFET which runs at the speed of micro seconds.

No Inverter on Naze32 – X4R-SB Hack

Even if the delay caused by the inverter is not significant, for a cleaner setup there are hacks you can do on the X4R-SB receiver to get rid of the inverter. Link 1 Link2

 

Latest firmware for X4R-SB

Here is the latest firmware for X4R-SB. Apparently the best firmware is X4R-X4RSB-CPPM, taken from another forum:

Binding without the jumper retains the original behaviour, i.e. PWM channels 1-3 and SBUS on output 4.

Binding with jumper turns output 1 into CPPM channels 1-8, outputs 2 & 3 become PWM channels 9 & 10, and output 4 is still SBUS.

Essentially this firmware turns the X4R-SB into a 8+2 or 16+3 channel RX.

Conclusion

This post is not trying to convince anyone to use SBUS over PPM, maybe PPM performs well enough for certain people, and SBUS might make no difference at all. But that is certainly some interesting fact and I can’t wait to test it myself.

Review – RunCam PZ0420M FPV Camera

RunCam recently released an improved version of the most popular FPV camera (Sony 600TVL PZ0420 Camera), the Runcam PZ0420M.

Get your Runcam PZ0420M camera from Runcam.com!

 

To summarize, this camera has been optimized in:

  • Wider voltage input (supports 2S to 4S Lipo battery)

  • No more fragile resonator hanging around (used to cause lots of problems, easy to snap in crashes)

  • Smaller form factor, size reduced down to 28mm x 28mm (in fact I don’t know if this is a good thing, lots of frames are designed for the original dimension: 38mm x 38mm and breakable to 32mm x 32mm)

  • 3 grams lighter, weights at 11.8g.

I got to say, this camera is Super! Image quality is just great for FPV. I flew directly into the sun, and everything else is still visible. Flew into the forrest, and wide range dynamics works well, and lighting adjustment kicked in very quickly. Here is some footage of this camera.

With some little changes in setting below, it performs even better for me:

  1. Factory Reset

  2. DWDR on, level to 63.

  3. Select LCD display

  4. Gamma 0.55

  5. Added brightness +5

  6. Sharpness maximum

 

With the smaller size, I think it could make a good camera for 180 mini quad. I used this camera on myDemon Ghost 220 mini quad, the camera mount was designed for ordinary size board camera (34mm), but i still managed to mount it on with cable ties (not easy though ? )

Also note that the camera lens is about 2-3mm longer than the older version, despite the smaller size, so mind the lens sticking out of the frame when you are mounting it. Here is the manual that comes with the camera.

Linear Regulator VS Switching Regulator For Copters

Why use a voltage regulator in a multicopter? Some times you might need to power some part of your quadcopter or tricopter with a specific voltage. For example some cameras require 5V, and 12V power, some video transmitter require 3.3V, 5V, 7V and 12V. To avoid overload your RC plane with many separate batteries of different voltages, many people choose to use a voltage regulator to step down or up the voltage from the main pack. There are mainly two type of voltage regulator available, switching and linear. Each has their cons and pros, here we are going to have a look at them.

Switching Regulator

A switching voltage regulator works by switching the input voltage on and off to charge an inductor, hence the term switching regulator. With the help of an electrical switch and a controller which regulates the rate between 50K to 100K times a second, depending on the voltage and current needed by the electrical load, the regulator will be turn on for a longer or shorter period of time to let the required energy to pass through.

This is a very efficient way of regulating voltage as the energy losses are relatively small, which can typically have 85% efficiency. But it also emits loads of radio frequency interference. Meaning that it actually acts as a noise generator. It also produces noise in the output voltage also known as ripple. Since their efficiency is less dependent on input voltage, they can power useful loads from higher voltage sources.

Linear Regulator

A linear regulator works by taking the difference between the input and output voltages and burning of the excess as heat. The larger the difference, the more heat is produced. In most cases, a linear regulator wastes more power stepping down the voltage than it actually ends up delivering to the target device! (meaning the efficiency is lower than 50%)

Although they are inefficient, linear regulators are very popular for low power devices because they are easy to use and cheap. Also linear voltage regulator actually reduces output voltage ripple and doesn’t emit radio frequency interference (not as noisy as switching regulator), so they are popular for powering noise sensitive devices as well.

Which one to use in quadcopter?

It really depends on what you want to do with it. For noise sensitive application, and efficiency is not a big deal (voltage difference between input and output is not large), it’s best to use linear regulator. If efficiency is most important and you don’t care about noise, go for switching regulator.

For example I needed to get a stable 12V for my FPV video transmitter from the 4S main battery in mytricopter. I prefer a linear voltage regulator, because my video transmitters and cameras are all analogue devices, which are very sensitive to voltage supply ripples and noise. And on top of that the radio frequencies emitted by the switching voltage regulator can also reduce the range of the video. As described above, we don’t have this problem by using the linear regulator.


 (i also put a LC filter in to further reduce voltage ripple)

So we now have cleaner power supply from the linear regulator, the trade off is we waste a bit more energy on the conversion, but is it really a big deal? Let’s calculate how much power is wasted in heat. The heat (in watts) can be calculated as (Input voltage – output voltage) x current draw. In my case a fully charged 4S lipo is 16.8V, minus 12V at output, multiplied by 0.2A (the current draw of my video transmitter)

(16.8-12)*0.2=0.96

Is that a lot? Let’s take a look what the is power the whole system, which runs on voltage of 16.8V, and the current draw of the system at hover is around 25A. That is

16.8*25 = 420!

Nearly 1W of wasted heat compared to 420W of the whole system, which is only 0.23%! How would that affect our flight time?

I get about 10 minutes flight time on a 4s 3000mAh Lipo battery. By putting a linear regulator in the system, it would lose less than 1 seconds of flight time. ( 420/(10*60) * 0.96 = 0.67 seconds! But taking into account the weight of the device, it will lose a little bit more flight time)

LC Filter and FPV

LC filter is one of the most basic filters in electroincs, which comprises of just one inductor (coils) and a capacitor. It is a circuit used to suppress the noise in the power source created by ESC and brushless motors. 

What is LC Filter and How it improve FPV experience

An inductor resists changes to the current flowing through it: A capacitor resists changes to the voltage across it. See this post for a more sophisticated version of power filter.

Apart from the video transmitter power, antenna gain, the FPV range and quality also depend on how noise your power supply is. If you have a independent power source e.g. a separate battery for your video transmitter, you generally should not have any noise issue. But if you want to have a simpler system and share the main battery with the ESC/Motor, the power supply will be very noisy.  In FPV sometimes we find our picture being affected by this dirty power supply, and there appear horizontal white lines ripples across the screen.

When you changes the speed of your motors, it changes the current being drawn from the battery too, therefore it causes fluctuations in voltage level – Noise. For ESCs, this is sometimes solved by simplywrapping the servo lead from the ESC round a ferrite ring 5 or more times. However it takes a lot more than that for the video transmitter, that’s why we can then use a LC filter.

Most common video transmitter requires 12V power supply, which can be powered from the 3S battery directly. If you are running 4S Lipo To have a stable 12V you need a voltage regulator. And the LC filter can be coupled with the voltage regulator, although there might be filtering circuit in it already, it will help to add one.

Building a LC Filter

The value of capacitor and inductor affects the ability of noise suppression at certain frequency bands, so if you are really going to use a LC filter, you need to identify what frequency noise you are getting, and work out what capacitor and inductor you will need. But I have been hearing a lot from people that any random capacitor and coil do just fine, so maybe it’s not a big deal after all.

When choosing capacitor, ensure the capacitor voltage rating is above the max line voltage. The more farads it has, the better in my opinion 100uF to 2000uF is a good range.

As for the inductor, you can make one yourself with a Ferrite ring or just use a rod/pencil. The length and diameter should be large enough to get half a dozen winds of wire through it or around it. However try to use Ferrite rings and really, they are very cheap. Or you can just hack one out of an old PC mother board or radio power supply. Same for the capacitor: a cheap electrolytic type (polarized or non-polarised) hacked from an old radio, or PC part is going to do just fine.

I also find the LC filter seem to work better with just the positive wire wound on the toroid. When winding the cable round the ferrite ring, do NOT loop any of the wires back to the point they originate from, i.e. what is behind the filter stays behind the filter. Try to place the capacitor on the side where the transmitter and camera are relative to the inductor.

Conclusion

LC filters are great because they are so simple, and because they are more likely to eliminate/attenuate “noise” than not when not designed well. I always put one in, they are so cheap and easy to build, why not?

Use GoPro Mobius For FPV Camera and External Power

I have been asked many times the question, “I want to keep my quadcopter as low profile as possible, can I use my Mobius or GoPro camera as the FPV camera for live stream video, through the video transmitter, to my goggle or monitor?”

The answer is certainly yes, both cameras have video out. But I would recommend running a dedicated FPV board camera for your FPV goggle or monitor. In this article I will discuss why a CCD board camera is better for FPV. I will also explain briefly how to setup the GoPro and Mobius for FPV if you insists in doing that, also how to run these cameras with external power source.

Why use a Dedicated Board Camera for FPV?

For me, a few reasons:

  • Better dynamic light range

  • Smaller Latency

  • Extra features: night vision, IR vision, etc

The wider dynamic light range is very important especially flying at places with extreme lighting conditions, e.g. the wood on a sunny day or hills/buildings behind the sun. When the Brightness suddenly changes, some cameras adjust slower than others, and you will lose visibility (“blinded”). I have been using theSony Super Had CCD board camera, and it seems to do better than the Mobius.

Here is a more detailed explanation on how to choose a good FPV camera.

I made a simple video comparing the performance of dynamic light contrast between the Sony PZ0420 camera and the Mobius.

The latency is also very obviously when you are recording on the Mobius and GoPro, which is not good for FPV. Take a look at this great comparison video.

How to use Mobius or GoPro as a FPV camera?

There is a video out cable you can get for both camera. They go into the USB socket of the camera, and the video end can go straight into a video transmitter just like most FPV board camera.

Many FPV cameras produce interference in the UHF band, and it could affect the range of UHF systems. One possible solution is to keep the cables twisted and wind them round a ferrite ring. Some of these cameras are supplied in a metal casing and it is preferred that this is not removed for this reason.

Mobius Action Camera Video out

For the mobius, you will need to make sure the cable you have is made for video out. That means Pin4 is connected to Pin5. Regular mini USB cables have pin4 floating (not connected to anything) which is only good for battery charging.

Pin4 acts as a hardware switch of video out for the mobius. If you are not sure, try it first. If it doesn’t work for video out, you’ll need to open up the mini USB and bridge pin4 and pin5. (Picture from RC Group)

If you are powering the camera with external power, make sure to use the same ground for the video and for the power, from the camera cable, both go to the same ground input on the video transmitter.

GoPro Hero3 Camera Video out

It’s much simpler for the GoPro, get the video out cable and it should just work following the connection diagram below.

Power Mobius and GoPro with external power

Not much to explain on this, just follow the previous diagrams. But if you are powering them and using video out at the same time on your quadcopter, make sure you use the same ground connection.

To learn how to edit Mobius footage in GoPro Studio.

Both devices require a 5V power supply. However the GoPro demands more current than the mobius, generally getting a UBEC or voltage regulator that is able to provide 1A current or above should be pretty much enough.

CCD and CMOS FPV Camera – Quadcopter – Drone – Jello

When I started I was confused about CCD and CMOS. CCD cameras are almost always better than CMOS cameras for FPV. There are a lot more information than we hobbyists need, when comparing the CCD and CMOS cameras. In this post we will only discuss the few main points briefly.

As you might already know, CCD stands for charged coupling device and CMOS stands forcomplementary metal oxide semiconductor. These are the different imaging sensor type.

CCD Cameras are better at extreme lighting conditions (low and high light level). Many current CCD FPV cameras with proper settings, for example, can allow the pilot to see clearly when it’s pointing straight into the sun, or in dark evening after sunset. The CCD sensors also have a greater dynamic range.

CCD Cameras are not affected by jello or vibration issues so much. The CMOS however uses something called “rolling shutter”, which means it exposes from top to bottom. This results in jello in the image if the vibration exists. CCD Cameras uses “global shutter”, which means it exposes the entire sensor instantly, so it’s less susceptible to jello.

However, CCD cameras use more power than CMOS cameras. CCD cameras are also more expensive.

To setup your Gopro or mobius as FPV camera, check out this post.

To see how I choose my FPV camera, come here.

How to choose FPV camera | Quadcopter Multicopter RC

Many currently available FPV cameras were originally designed for security and surveillance purposes, and they generally work well for FPV too. But to choose the best FPV camera for your drone, there are a few things to consider which we will discuss in this post.

Choosing the Best FPV Camera For Quadcopter / Multicopter

FPV camera is one of the most important parts of your quadcopter setup. No matter how good the video transmitter is, the image quality on your FPV goggle or monitor display, is limited by your FPV camera.

Content Index

CCD and CMOS – Imaging Sensor Type

CCD and CMOS are two different imaging sensors used in cameras, each has its unique characteristics and advantages. Many HD digital cameras uses CMOS, but for FPV the CCD cameras works better than CMOS. Here are a summary of the pros and cons, check out this post for more detail.

CCD

  • Less jello

  • Better light sensitivity

  • Greater dynamic range

  • Less noise

CMOS

  • Cheaper

  • A little bit lighter

  • A little bit smaller

Size and weight is almost negligible these days, pick a small CCD camera would be an ideal option. Very often when I see a very cheap FPV camera, it’s likely to be a CMOS camera, and tend to have poor colour and resolution.

NTSC and PAL – Video Encoding Standard

It really isn’t a big issue whether to use PAL or NTSC nowadays, as they are both supported by most FPV equipment. NTSC is used in North America, Japan and South Korea. PAL is used in most of Europe, Australia and large parts of Africa and Asia. It’s a good idea to stick with the standard in your country. But I don’t think it would be a huge problem if you decide to use the other system.

The main different is that PAL offers better resolution, while NTSC allows more frame rate. So if you want to have good picture, PAL is good. But if you want more fluid footage, NTSC does a better job.

  • PAL: 720 x 576 @ 25fps

  • NTSC: 720 x 480 @ 30fps


For a more detail comparison, check out this post.

FPV Camera Field of View (FOV) – Lens Focal Width

When selecting a FPV camera, you usually have an option of different lens focal width, which give you different field of view (FOV). The most common being 3.6mm or 2.8mm. For example, a 3.6mm focal length lens would give you about a 90 degree FOV, which is good for FPV. A 2.8mm lens will give you even more, which is 112 degree (some people like it, some people don’t).

It’s important to pick a suitable focal width number, that you feel comfortable with. The lower focal length number, the wider FOV (and the more environment you can see). But it’s not always a good thing as you will start to notice the “fish eye” effect. The objects in the middle will appear smaller and further away, and the edges of the image will appear curly. With a high focal length number the image will appear zoomed in. I personally find 2.8mm and 3.6mm appropriate values for FPV.

This is a good example of different FOV, from high focal width number to low.

In fact many cameras offer the accessory lenses of different focal length for swap-out. You can buy these change-able lenses and try them, instead of buying a whole camera. These are the 2.8mm Screw-in FPV camera lenses.

Some people find 2.8mm too wide to see clearly, because objects might look more distant and smaller. So it’s all down to personal preference and what type of flying you do. For instance if you tend to fly through the wood, narrower FOV would help to see more clearly, and avoid hitting obstacles. If you fly high altitude in clear open space, wider FOV allow a wider view.

Some lenses can even improve the camera light sensitivity, and some come with infrared filter which enhance the ability at night.

FPV Camera Resolution TV Line (TVL) – Definition

TVL (TV Lines) is basically a measure of how good the FPV camera resolution is. The number is based on how many alternating black and white lines can be displayed in its image horizontally. A 600TVL camera means it can display 300 black lines and 300 white lines alternately in one picture. Commonly seen FPV cameras have TVL at 380, 480, 540, 600, 700, 800 etc. Therefore, as you can see the more TV lines, the better definition image you can get out of the camera.

Of course, the more TVL of resolution comes with a price, it costs more! You can always fly with a low TV Line camera such as a 380TVL, but the image is not as clear as a 600TVL camera. But it’s not always “the more the better”, due to the limitation of the video transmission system, there is a upper-bound TVL value.

Personally when I fly FPV, I don’t find 700TVL too much better than 600TVL. Some say it’s because of the NTSC and PAL standards constrains, which have a limit of 483 and 575 lines respectively due to blanking effects. Therefore a 600 TV lines camera is good enough. Lastly, with 5.8Ghz video transmiiter, you can use higher TVL Cameras than 1.2GHz as the former transfer more data per second.

FPV Camera Size, Weight and Operating Voltage/Wiring

Next things to consider would be the dimensions and working voltage. Cameras for FPV these days is standardizing, most are made into a square shape of length 32mm or 38mm. Sometime you see them as 1/3″ cameras because they use the popular 1/3″ Sony CCD chip. So they are also often branded as “Sony Camera”.

Sometimes they come with a metal case to protect the PCB and components, sometimes it doesn’t. It all depends on how you are mounting it on your quadcopter.

A FPV cameras could weight somewhere between 20g to 50g (with the metal case). But I have also seen some mini FPV cameras which are only 5g.

The electrical connections are usually very simple, these cameras usually have 3 or 4 cables. Red wire is the positive voltage power, black wire is the ground, yellow wire is the video signal. Sometimes you get an extra withe wire which is the audio (if there is a built-in microphone). There are two common operating voltages of FPV cameras, 3.5-5 Volts and 12 Volts. In my opinion 12V cameras are handy, because you have the option of powering it with your main lipo battery (if you are running 3S Lipo). I also prefer to run aLC filter (power filter) to clean the power source for the camera and video transmitter for the best quality image possible.

IR Block VS IR Sensitive

Nowadays some cameras offers two versions, one is IR Block and the other IR Sensitive. One gives you better colour, the other one works better in low light condition.

Here is a more detail comparison of the two.

Camera Settings Features

Some good cameras allow users to change settings using an OSD (on screen display) menu module. There are so many settings on these cameras, it could be overwhelming for beginners. To understand some of the useful features, take a look at this post about how I set up my Sony Super HAD 600TVL Camera.

Running a dedicated FPV camera VS GoPro / Mobius

If you use the GoPro or Mobius camera for recording, you might wonder if these cameras can be used for FPV as well. It’s not uncommon to see people do that, in order to simplify their multicopter systems to save weight and costs. However there are some disadvantages with GoPro and Mobius as FPV cameras, as I have already pointed out in this post “the reasons for running a dedicated FPV camera.

  • Lag – there is a obvious delay, especially when recording.

  • Battery dependant – You don’t have video feed if the GoPro battery dies.

  • Recording locks up – If for some reason the recording freezes, your will also lose video feed.

Therefore I always use a dedicated FPV camera alongside with a HD recording camera, to take videos and photos. It’s also important that you don’t put the FPV camera on a gimbal, so it doesn’t mess up your orientation. You can also consider having video feed from the GoPro as well at the same time, and use a video feed switcher. You can switch between cameras with your radio transmitter, and see what the Gopro is filming.

Adding On Screen Display Data – OSD

This is a bit off the topics, but i am sure there are still people wondering what an OSD is. Basically, an OSD (on screen display) is a device that overlays text/data onto your camera image. It takes the video feed from the camera, and the output goes into your video transmitter.

Many people who are just starting out don’t really need it, but it’s definitely a useful tool to have. You can display all sorts of data depending on your OSD: flight speed, altitude, compass heading, take off coordinate and distance, etc. For people like me who doesn’t fly long range, I prefer to have just the time, and batter voltage level displayed on my FPV screen.

Conclusion

So here we conlude the above are some important aspects to bear in mind, when you are choosing your FPV camera. I hope this article helped you in understanding what makes a good FPV camera, and hopefully you can now go and find the best FPV camera for yourself. Don’t hesitate to leave a comment/question, and have a great FPV flight!

Choose Flight Controller for Quadcopter Hexacopter

A flight controller is a circuit board that reads sensors data and user commands, and makes adjustment to the motor speed, in order to keep the quadcopter balanced and in control. All multicopter flight controllers have Gyro (Gyroscopes) and Acc (Accelerometer) these days, some more advanced FC even have Barometer (barometric pressure sensors), magnetometer (compass) and GPS. For example the gyroscopes is for orientation, the barometers is for holding altitudes, while the GPS can also be used for auto-pilot or fail-safe purposes.

While many flight controllers have similar hardware or sensors, they have very different software and calculation algorithms, which results in different flight characteristics, and user interface. That’s why the same multicopter flies and feels diffdifferently with different flight controller installed.

There are so many flight controllers available at the moment on the market. Some of them are more expensive, while some are richer in functionality. Some have been around a long time, while some are just cheaper clone of others. This post is not about comparison, but a quick insight of some flight controllers, and there is a few tips on how to choose the right flight controller for your quadcopter.

How to Choose a Flight Controller?

A good pilot needs a good flight controller, but one FC isn’t always better than the other. Sometimes it depends on many factors, such as what type of flying you plan to do, and what kind of multicopter you are flying with. For example some flight controllers are easier to setup, some are better with small size aircraft, while some can do GPS and some cannot.

Also there are many clones on the market, they might appear to be similar and cheaper because of the low quality components they use. You will be putting your whole quadcopter at risk if a untrusted flight controller is used.

Finally, always ask questions, don’t rely solely on the information on the net.

Comparison Chart

This is the chart of some of the popular Flight controllers.

FC Name

Price

RX Modes

Baro/Compass

GPS

MicroController

APM 2.6

$240

PWM, PPM

External

Yes

8-bit, 16MHz

BrainFPV

$130

PWM, PPM, S.Bus, DSM, HoTT

Internal/External

Yes

32-bit, 168MHz

CC3D

$16

PWM, PPM, S.Bus, DSM

No

Limited

32-bit, 72MHz

Crius AIO

$48

PWM, PPM

Internal/External

Yes

8-bit, 16MHz

Flip32

$25

PWM, PPM, S.Bus

No

Limited

32-bit, 72MHz

KK2.1.5

$22

PWM, PPM

No

No

8-bit, 16MHz

Multiwii SE 2.5

$15

PWM, PPM

Internal

Yes

8-bit, 16MHz

Naza M Lite

$170

PWM, PPM, S.Bus

External

Yes

unknown

Naza M V2

$300

PWM, PPM, S.Bus

External

Yes

unknown

Naze32 Acro

$25

PWM, PPM, S.Bus

No

Limited

32-bit, 72MHz

Naze32 Full

$53

PWM, PPM, S.Bus

Yes

Yes

32-bit, 72MHz

Quanton

$66

PWM, PPM, S.Bus, DSM, HoTT

Internal/External

Yes

32-bit, 168MHz

Revo

$130

PWM, PPM, S.Bus, DSM

Internal/External

Yes

32-bit, 168MHz

Sparky

$60

PPM, S.Bus, DSM

Internal

Yes

32-bit, 72MHz

My First Flight Controller – KK2

The KK2 was my very first flight controller, and I would recommend it to beginners as their first FC. It is one of the most popular boards out there, and it’s relatively cheap. It doesn’t fly as well as the 32-bit FC, but the main advantage of the KK2 board is the on-board screen and menu. You can setup and tune your quadcopter right on the flight controller without the need of a computer. This is very user friendly and useful for beginners. You can skip this and just get other FC, it’s not a problem.

The KK board was designed by Rolf R. Bakke, aka KapteinKuk. There are a small graphical LCD and 4 buttons to allow the user to change parameters. The KK2 only uses P and I, and there is no D on the board. Despite the simplicity, the KK board might not be the best performer for any of the common drone types. But if all you want is just to get out and do some flying, it’s good enough.

More information on the KK2.

Multiwii Based Flight Controller

There are many popular flight controllers are Multiwii Based (or developed originally from Multiwii code). Such as the CC3D, Naze32, Sparky, Brain FPV, Quanton. Most of the following are in this category.

CC3D

The Pioneer of 32-bit flight controller, one of the earliest if not the first. The CC3D FC used to be so expensive, and difficult to get hold of, it scared a lot of customers away. But now it’s becoming more widely available, at a more affordable price. Some people complain about the difficulty of tuning the CC3D, and since there are also more and more firmware/software you can use with this great FC, such as CleanFlight, which should help overcome the issue.

Naze32

I have talked about the Naze32 before. The Naze32 seems to be one of the most popular flight controller for mini size quadcopters, marketing must have been done very well. ?

But you can’t deny the performance you can get out of this small board. Many people I know, and myself can confirm this board feels just “locked in”. The BaseFlight GUI is pretty easy to use too. Of course there are also other software you can use such as CleanFlight. Here is how you can flash cleanflight.

the Naze32 Acro is a 32-bit FC same as CC3D, but there is also a Naze32 Full version which includes a compass and barometric sensor, which the CC3D does not offer. Fore a more detail comparison between Naze32 and the CC3D.

Flip32

Flip32 is a Naze32 Acro clone but cheaper. It looks simiilar to the Naze and uses the same software.

MultiWii Boards

There are many different Multiwii boards, for example the MultiwiiPro.

Multiwii is the name of an open source project, started many years ago. It useed Nintendo Wii Nunchuck hardware (Gyro and accelerometer) as its sensor as they were widely available at the time, that’s where the name was originated. Because it was the only few open source multicopter projects back then, the code was copied and further developed into many other projects and platforms as well.

MultiwiiPro FC

One good example is the MultiWii Pro (MWP) board, which is based upon the Arduino and utilizes the ATmega2560 processor. This board has gyro, acc, barometer, and magnetometer. It also supports many other optional sensors, such as the GPS and sonar sensor. MultiWii is capable of flying RC plane and multicopter. The software interface might not look as good as the APM one, but it still does a good job and cost you less.

Naza

The Naza is so famous probably because of the DJI Phantom.

Information about Naza.

APM2.6

One of the few FC that offers reliable GPS features. It has also released the APM Mini at a cheaper price recently. However I wouldn’t use this FC for Acro flying. ?

Information about APM2

Crius AIO Pro

A good alternative to the expensive APM. It’s also capable of running multiwii software on it.

Information about Crius AIO Pro

Brain FPV

The Brain FPV has integrated OSD hardware which is handy. It’s only been released recently and I have not personally used it so not sure how it performs.

I am currently running some tests on this FC, more detail to come.

For more information, check our my review of BrainFPV flight controller.

Sparky, Quanton

Sparky, Quanton and Brain FPV Flight controllers were all based on OpenPilot’s project.

The Sparky (around $40) as you can see in the picture has a very odd shape, which does not make mounting easy. But it does support some basic GPS features. The Quanton on the other hand are richer in GPS features and has a better processor, but of course it will also cost you almost double.

SerialRX

SerialRX is a purely digital lossless protocol that uses 3 wires, signal, power, ground. Serialrx does use a serial port on the Naze32, means no other devices like GPS can be connected unless you use feature softserial. SerialRX is not like PPMSUM which is still analog in time domain.

To enable SerialRX use CLI and type:

feature SERIALRX

and then choose the type of receiver by typing one of the following lines

set serialrx_type=0” for Spektrum 10bit (1024)
“set serialrx_type=1” for Spektrum 11bit (2048)
“set serialrx_type=2” for Futaba SBUS mode
“set serialrx_type=3” for Graupner SUMD
“set serialrx_type=4” for msp
“set serialrx_type=5” for Flysky IBUS

Spektrum

SpektSat connections are ground, input pin 4, 3.3V power (NOT 5V, use the 3.3V pin) See here where the 3.3V pin is Rev5 pdf

Or you use a 3.3V adapter cable 3.3V adapter cable

How to bind spektrum satellite to Tx without main Rx

  • Make sure that satellite has been connected correctly.

  • Connect Naze32 to USB

  • Open baseflight and connect to Naze32 (baseflight app in Chrome)

  • From Configuration tab make sure that you have selected “Enable Serial-based receiver” and Serial receiver is correct (e.g. SPEKTRM2048 for DSMX)

  • From CLI tab type: “set spektrum_sat_bind = 9” for DSMX or “set spektrum_sat_bind = 5” from DSM2

  • type “save” and after Naze32 reboot remove USB cable (=Power off the Naze32)

  • Wait a sec and reconnect the USB cable. After cold start satellite led should start blinking and transmitter should be turned on while pressing the bind button.

  • After binding satellite led should be solid. Connect baseflight and use receiver tab to test that satellite is working correctly.

  • Final step is to go to CLI tab and type “set spektrum_sat_bind = 0” and then type “save”. This must be done so that satellite doesn’t go back to binding mode when Naze32 is repowered again.

SBUS

For SBUS you need a hardware signal inverter. Signal goes to input pin 4, power is 5V.Cheap SBUS inverter

SumD

SumD is the simplest, ground, input pin 4, 5V power. Set the receiver to SUMD with the transmitter.

 

Serial MSP

Multwii serial protocol rc commande. It will listen on the main serial port

IBUS

IBUS is simple, ground, input pin 4, 5V power. Use the ibus “out” or ibus “servo” connector.

COMMENT AMELIORER LA REPONSE DE LA NAZE32 :

Dicussion sur des modifs de firmware pour liberer de la bande passante au CPU de la naze32, en vu d’en améliorer les performances en terme de vitesse de stabilisation… En gros, en tapant les commandes ci-dessous dans l’onglet CLI (commandes facon DOS), on augmente la vitesse du cerveau, ce qui lui permet de mieux gerer les rotation accrobatiques.

Par exemple, le tonneau passe plus lentement, mais sans saccades desagréables pendant, ni en fin de figure (ce qui est souvent le cas sur une config normale).

For those using Cleanflight, here are a few CLI commands that might help you improve your multicopter’s performance! Many people are running these now and having good feedback.

I shared this in the MI group originally (Multicopter International – my facebook group), but some people complained searching for it is impossible, so i am putting them here on my blog too.

Please read what these commands do before applying on your Naze32 flight controller.

set deadband=6

set yaw_deadband=6

set emf_avoidance = 1

set acc_hardware=1

Both “deadband” settings can reduce TX yaw, pitch and roll jitters (either caused by user error or problematic hardware), making your quad fly smoother when there is no user input. Depends on how bad your sticks fluctuates, value 4 or 6 should be enough.

emf_avoidance” was originally designed to avoid electro-magmatic interference that are harmonic frequency to the Flight controller processor speed. When this parameter is set to 1, it changes your processor speed (increases it, to be exact). Be aware that this setting will disable the USB port on a CC3D, so all settings can only be done via mainport with an USB-serial adapter. I don’t have a CC3D to test this.

acc_hardware”, when set to 1, it disables your ACC (Accelerometer sensor), therefore your horizon/angle modes WILL STOP WORKING! But it frees up more processing power for calculations! Do not use this command if you have to rely on self-level mode for flying.

As an interesting experiment, I set “looptime” to 0 in CLI. It doesn’t mean looptime will be 0, but the Naze32 will run at the lowest possible looptime, which normally is around 1200. with “acc_hardware” set to 1, the lowest looptime dropped all the way to around 320! I then set “emf_avoidance” to 1 as well, looptime dropped further to 290.

However, it doesn’t mean you can run your looptime this low. With lower looptime you will have more noise problems, not to mention gyro sensor can only get a new sample value every 1000us, when your looptime is lower than 1000 you will be likely to reuse the previous old gyro value, so there is no obviouls benefit of using lower looptime than 1000 at the moment. I recommend running looptime higher than 1200 on the current stable cleanflight release (1.9), for more reliable performance.

So what’s the point of increase the processing speed of the Naze32 if you cannot go very low in looptime? The answer is stable looptime. You will notice at any looptime greater than 1000, it’s become very stable, and doesn’t fluctuate up and down like crazy before.

Having said that, some newer FC like the Dodo or SPRacing F3 claim to have much better processing power than the Naze32, but how useful is that going to be if looptime is limited by the gyro sampling rate? Correct me if I am wrong, maybe it allows you to run more hardware and do more stuff at the same time. But if I am just going to fly acro without any other gadgets, then I don’t see I need to move away from Naze32 just yet.

PID tuning

Every aspect of flight dynamics is controlled by the selected “PID controller”. This is an algorithm which is responsible for reacting to your stick inputs and keeping the craft stable in the air by using the gyroscopes and/or accelerometers (depending on your flight mode).

The “PIDs” are a set of tuning parameters which control the operation of the PID controller. The optimal PID settings to use are different on every craft, so if you can’t find someone with your exact setup who will share their settings with you, some trial and error is required to find the best performing PID settings.

A video on how to recognise and correct different flight problems caused by PID settings is available here:

https://www.youtube.com/watch?v=YNzqTGEl2xQ

Basically, the goal of the PID controller is to bring the craft’s rotation rate in all three axes to the rate that you’re commanding with your sticks. An error is computed which is the difference between your target rotation rate and the actual one measured by the gyroscopes, and the controller tries to bring this error to zero.

PIDs

The P term controls the strength of the correction that is applied to bring the craft toward the target angle or rotation rate. If the P term is too low, the craft will be difficult to control as it won’t respond quickly enough to keep itself stable. If it is set too high, the craft will rapidly oscillate/shake as it continually overshoots its target.

The I term corrects small, long term errors. If it is set too low, the craft’s attitude will slowly drift. If it is set too high, the craft will oscillate (but with slower oscillations than with P being set too high).

The D term attempts to increase system stability by monitoring the rate of change in the error. If the error is rapidly converging to zero, the D term causes the strength of the correction to be backed off in order to avoid overshooting the target.

TPA and TPA Breakpoint

TPA stands for Throttle PID Attenuation and according to AlexYork.net:

TPA basically allows an aggressively tuned multi-rotor (one that feels very locked in) to reduce its PID gains when throttle is applied beyond the TPA threshold/breakpoint in order to eliminate fast oscillations..”

Note that TPA is set via CLI or on the PID TUNING tab of the GUI. tpa_breakpoint is set via CLI

Also note that TPA and tpa_breakpoint may not be used in certain PID Controllers. Check the description on the individual controller.

TPA applies a PID value reduction in relation to full Throttle. It is used to apply dampening of PID values as full throttle is reached.

TPA = % of dampening that will occur at full throttle.

tpa_breakpoint = the point in the throttle curve at which TPA will begin to be applied.

An Example: With TPA = 50 (or .5 in the GUI) and tpa_breakpoint = 1500 (assumed throttle range 1000 – 2000)

  • At 1500 on the throttle channel, the PIDs will begin to be dampened.

  • At 3/4 throttle (1750), PIDs are reduced by approximately 25% (half way between 1500 and 2000 the dampening will be 50% of the total TPA value of 50% in this example)

  • At full throttle (2000) the full amount of dampening set in TPA is applied. (50% reduction in this example)

  • TPA can lead into increase of rotation rate when more throttle applied. You can get faster flips and rolls when more throttle applied due to coupling of PID’s and rates. Only PID controllers 1 and 2 are using linear TPA implementation, where no rotation rates are affected when TPA is being used.

How and Why to use this?

If you are getting oscillations starting at say 3/4 throttle, set tpa breakpoint = 1750 or lower (remember, this is assuming your throttle range is 1000-2000), and then slowly increase TPA until your oscillations are gone. Usually, you will want tpa breakpoint to start a little sooner then when your oscillations start so you’ll want to experiment with the values to reduce/remove the oscillations.

PID controllers

Cleanflight has 6 built-in PID controllers which each have different flight behavior. Each controller requires different PID settings for best performance, so if you tune your craft using one PID controller, those settings will likely not work well on any of the other controllers.

You can change between PID controllers by running set pid_controller=n on the CLI tab of the Cleanflight Configurator, wheren is the number of the controller you want to use. Please read these notes first before trying one out.

PID controller 0, “MultiWii” (default)

PID Controller 0 is the default controller in Cleanflight, and Cleanflight’s default PID settings are tuned to be middle-of-the-road settings for this controller. It originates from the old MultiWii PID controller from MultiWii 2.2 and earlier.

One of the quirks with this controller is that if you increase the P value for an axis, the maximum rotation rates for that axis are lowered. Hence you need to crank up the pitch or roll rates if you have higher and higher P values.

In Horizon and Angle modes, this controller uses both the LEVEL “P” and “I” settings in order to tune the auto-leveling corrections in a similar way to the way that P and I settings are applied to roll and yaw axes in the acro flight modes. The LEVEL “D” term is used as a limiter to constrain the maximum correction applied by the LEVEL “P” term.

PID controller 1, “Rewrite”

PID Controller 1 is a newer PID controller that is derived from the one in MultiWii 2.3 and later. It works better from all accounts, and fixes some inherent problems in the way the old one worked. From reports, tuning is apparently easier on controller 1, and it tolerates a wider range of PID values well.

Unlike controller 0, controller 1 allows the user to manipulate PID values to tune reaction and stability without affecting yaw, roll or pitch rotation rates (which are tuned by the dedicated roll & pitch and yaw rate settings).

In Angle mode, this controller uses the LEVEL “P” PID setting to decide how strong the auto-level correction should be. Note that the default value for P_Level is 90. This is more than likely too high of a value for most, and will cause the model to be very unstable in Angle Mode, and could result in loss of control. It is recommended to change this value to 20 before using PID Controller 1 in Angle Mode.

In Horizon mode, this controller uses the LEVEL “I” PID setting to decide how much auto-level correction should be applied. Level “I” term: Strength of horizon auto-level. value of 0.030 in the configurator equals to 3.0 for Level P. Level “D” term: Strength of horizon transition. 0 is more stick travel on level and 255 is more rate mode what means very narrow angle of leveling.

PID controller 2, “LuxFloat”

PID Controller 2 is Lux’s new floating point PID controller. Both controller 0 and 1 use integer arithmetic, which was faster in the days of the slower 8-bit MultiWii controllers, but is less precise.

This controller has code that attempts to compensate for variations in the looptime, which should mean that the PIDs don’t have to be retuned when the looptime setting changes.

There were initially some problems with horizon mode, and sluggishness in acro mode, that were recently fixed by nebbian in v1.6.0. The autotune feature does not work on this controller, so don’t try to autotune it.

It is the first PID Controller designed for 32-bit processors and not derived from MultiWii.

The strength of the auto-leveling correction applied during Angle mode is set by the parameter “level_angle” which is labeled “LEVEL Proportional” in the GUI. This can be used to tune the auto-leveling strength in Angle mode compared to Horizon mode. The default is 5.0.

The strength of the auto-leveling correction applied during Horizon mode is set by the parameter “level_horizon” which is labeled “LEVEL Integral” in the GUI. The default is 3.0, which makes the Horizon mode apply weaker self-leveling than the Angle mode. Note: There is currently a bug in the Configurator which shows this parameter divided by 100 (so it shows as 0.03 rather than 3.0).

The transition between self-leveling and acro behavior in Horizon mode is controlled by the “sensitivity_horizon” parameter which is labeled “LEVEL Derivative” in the Cleanflight Configurator GUI. This sets the percentage of your stick travel that should have self-leveling applied to it, so smaller values cause more of the stick area to fly using only the gyros. The default is 75%

For example, at a setting of “100” for “sensitivity_horizon”, 100% self-leveling strength will be applied at center stick, 50% self-leveling will be applied at 50% stick, and no self-leveling will be applied at 100% stick. If sensitivity is decreased to 75, 100% self-leveling will be applied at center stick, 50% will be applied at 63% stick, and no self-leveling will be applied at 75% stick and onwards.

PID controller 3, “MultiWii23” (default for the ALIENWIIF1 and ALIENWIIF3 targets)

PID Controller 3 is an direct port of the PID controller from MultiWii 2.3 and later.

The algorithm is handling roll and pitch differently to yaw. Users with problems on yaw authority should try this one.

For the ALIENWII32 targets the gyroscale is removed for even more yaw authority. This will provide best performance on very small multicopters with brushed motors.

PID controller 4, “MultiWiiHybrid”

PID Controller 4 is an hybrid version of two MultiWii PID controllers. Roll and pitch is using the MultiWii 2.2 algorithm and yaw is using the 2.3 algorithm.

This PID controller was initialy implemented for testing purposes but is also performing quite well.

For the ALIENWII32 targets the gyroscale is removed for more yaw authority. This will provide best performance on very small multicopters with brushed motors.

PID controller 5, “Harakiri”

PID Controller 5 is an port of the PID controller from the Harakiri firmware.

The algorithm is leveraging more floating point math. This PID controller also compensates for different looptimes on roll and pitch. It likely don’t need retuning of the PID values when looptime is changing. Actually there are two settings hardcoded which are configurable via the GUI in Harakiri:

OLD_YAW 0 // [0/1] 0 = multiwii 2.3 yaw, 1 = older yaw.

MAIN_CUT_HZ 12.0f // (default 12Hz, Range 1-50Hz)

The PID controller is flight tested and running well with the default PID settings. If you want do acrobatics start slowly.

Yaw authority is also quite good.

RC rate, Pitch and Roll Rates (P/R rate before they were separated), and Yaw rate

RC Rate

An overall multiplier on the RC stick inputs for pitch, rol;, and yaw.

On PID Controllers 0, and 3-5 can be used to set the “feel” around center stick for small control movements. (RC Expo also affects this).For PID Controllers 1 and 2, this basically sets the baseline stick sensitivity

Pitch and Roll rates

In PID Controllers 0 and 3-5, the affect of the PID error terms for P and D are gradually lessened as the control sticks are moved away from center, ie 0.3 rate gives a 30% reduction of those terms at full throw, effectively making the stabilizing effect of the PID controller less at stick extremes. This results in faster rotation rates. So for these controllers, you can set center stick sensitivity to control movement with RC rate above, and yet have much faster rotation rates at stick extremes.

For PID Controllers 1 and 2, this is an multiplier on overall stick sensitivity, like RC rate, but for roll and pitch independently. Stablility (to outside factors like turbulence) is not reduced at stick extremes. A zero value is no increase in stick sensitivity over that set by RC rate above. Higher values increases stick sensitivity across the entire stick movement range.

Yaw Rate

In PID Controllers 0 and 5, it acts as a PID reduction as explained above. In PID Controllers 1-4, it acts as a stick sensitivity multiplier, as explained above.

BUZZER SIGNIFICATION:

Buzzer tone sequences (square wave generation) are made so that : 1st, 3rd, 5th, .. are the delays how long the beeper is on and 2nd, 4th, 6th, .. are the delays how long beeper is off. Delays are in milliseconds/10 (i.e., 5 => 50ms).

 
     

-Sequences available in Cleanflight v1.10 are :

Gyro calibrated 20, 10, 20, 10, 20, 10

RX lost landing beeps SOS

TX off or signal lost 50, 50 (repeats until TX is okay)

Disarming the board 15, 5, 15, 5

Arming the board 30, 5, 5, 5

Arming and GPS has fix 5, 5, 15, 5, 5, 5, 15, 30

Battery is critically low 50, 2 (repeats)

Battery is getting low 25, 50 (repeats)

GPS status multi beeps (sat count)

RX set short beep (when aux channel is set for beep or beep sequence how many satellites has found if GPS enabled)

ACC inflight calibration completed two short beeps

ACC inflight calibration failed two longer beeps

GPS locked and copter ready 4, 5, 4, 5, 8, 5, 15, 5, 8, 5, 4, 5, 4, 5

Multi beeps variable # of beeps (confirmation, GPS sat count, etc)

ACC inflight calibration completed two short beeps

ACC inflight calibration failed two longer beeps

GPS locked and copter ready 4, 5, 4, 5, 8, 5, 15, 5, 8, 5, 4, 5, 4, 5

Multi beeps variable # of beeps (confirmation, GPS sat count, etc)

Stick held in disarm position 0, 100, 10 (after pause)

Board is armed 0, 245, 10, 5 (after pause ; repeats until board is disarmed or throttle is increased)

How to choose battery for Quadcopter, Tricopter and Hexacopter

Share this:

Larger battery allows for longer flight time. Unfortunately the increase of flight time isn’t proportional to the increase of battery size, which means you are looking at something like this.

As the battery gets larger, the increase in flight time becomes ineffective. Eventually it will reach a point where it just doesn’t gain any more flight time with bigger battery (even lose flight time). This is mainly caused by the weight of the battery. Also note that the heavier your copter gets, the less agile it will be. But some people prefer the stability it brings with heavier weight, some would call it “flies like a tank” :). Apart from capacity, there is also C-rating you need to consider, which I shall explain later.

The trade off between flight time and battery capacity, makes it more difficult to choose which battery should be used, rather than just “pick the largest battery available”. There are techniques you can use to help with this selection task – creating graphs and mathematical model in Excel, which I found really useful when comparing various products of the same kind. I recently bought some 4S batteries for my FPV tricopter, I will use this as an example. This technique should be useable for any multicopters, including the250 mini quad.

Talking about Batteries, here is a tutorial on how to do LiPo parallel charging.

List All Batteries and Create Graphs

First, list all the batteries with different capacities, brands of the same cell number. You can include their weight, price, etc in your table. For example I was looking for 4S lipo battery for my tricopter and here is the table I created.

Max Current Draw and Battery C-Rating

It’s important to note, that the batteries you listed can supply enough current for the motors. Max current supplied by the battery can be calculated by this formula:

max current = capacity * C-rating

First, work out what would be the possible max current draw from your motors. I usually just look at the motor datasheet, which should tell you what the current draw is at 100% throttle, times number of motors, and add some margin for other electrical parts, and you have the possible max current draw from your quadcopter.

My tricopter has a max current draw of around 30A – 35A, and all of the batteries below meet the requirement.

Listing batteries and data

From these data, you can create some very interesting and useful graphs, for example I usually do

  • Density, which is capacity per gram (= capacity / weight), and

  • Value, which is capacity per dollar (= capacity / price)

From the above graphs, if I am only going for best performance and not worry about the price, I would definitely go for 2650mah, 3000mah, or 3300mah. Also 4000mah might be a good choice too due to its outstanding value.

These graphs tell you some insights into which battery has the highest price/performance ratio, but it doesn’t tell you whether this is the best battery for your RC aircraft, quadcopter or tricopter. To do that, we need to create a mathematical model.

Build Mathematical Model to Estimate Flight Time

This is actually pretty fun to do. By using this model, you will be able to calculate the flight time of any battery. All you need to do is to put in the data of that battery in the excel spreadsheet. Of course, this is only an estimation, but it does give you an rough idea what battery to go for, and save you from spending too much money and time to try each type.

First of all, you need to get one battery first, and collect data using it. Basically the data we need is flight times under different loads. You can of course collect some other data as well to help you identify what is the max load your multicopter can take, for example, the throttle value, current etc.

In my example, I used a 2200mah 4S Lipo Battery as a reference, and tested the flight times under different load weight (0g, 110g, 220g, 340g, 405g, 515g – all these weights are physical items I can find in the house that’s why the uneven numbers). This is the data I collected from 6 test flights.

I always land the tricopter when the voltage alarm beeps, which is when the voltage reaches 3.5V per cell. The column “Actual Capacity Used” is not really needed, but I collect it just to make sure my data is valid. I got that from my charger, when I charge it fully at 4.2V per cell, I know what capacity was used in the previous flight. I then work out “mah / second”, which is the speed of power consumption, and we can draw a graph from this.

The good thing about Excel is, it provides an equation from a few dots on the graph. This is probably should not be a linear relationship, but the battery weight falls within this range so it’s close enough for me.

So here is the model. “Cap at 3.5V (86%)” is the effective capacity that can be used during a flight. I am making an assumption that the voltage drops down to 3.5V when 86% of battery capacity is used. “mah/s” is calculated from the above equation, we can work out the mah/s for each battery, depends on their weight.

And now the estimated flight time is roughly equals to effective capacity divide by mah/s. For example for the 6000mah battery, the effective capacity is 5160mah, and the speed of power consumption is 5.75mah/s, so the flight time would be 898.16 second which is nearly 15 mins.

When I worked out all the flight times, I found this interesting relationship between size of the battery and flight time. That’s exactly what we predicted at the very beginning.

That’s the analysis I always do when buying batteries. I made a lot of assumptions above, so also do your research on the flight time, ask people for their experience, to verify your theory.

Let me know if there is any mistakes in the method, or any better ideas.

Flash and Program BLHeli ESC via Cleanflight – Flight Controller

Share this:

Do you know that you can now change settings on your ESC in BLHeliSuite, via your flight controller? That’s right, no complicated programming tool, USB linker or Arduino. All you need to do is just connect your flight controller, and you can flash firmware and change settings on your ESC!

This feature basically turns your FC into a ESC programming tool!

Well, as we speak, it still isn’t working yet on the latest Cleanflight v1.10, but it’s making its way there I believe. It’s already implemented in Betaflight firmware, so if you are running Boris’s Betaflight, then you can try it!

This features is awesome IMO, it really helps someone lazy like me. I no longer need to take my quad apart just to change some settings on ESC. It also means direct soldering of ESC on FC is now possible and no more headache ?

Requirement (dated 26/Oct/2015)

  • Running Betaflight on your FC

  • Running BLHeli already on your ESC (Not sure what the oldest version it supports, the oldest I tried was 14.0 )

  • BLHeli Bootloader installed on ESC (Important!). Firmware and bootloader is not the same thing.

  • Latest version of BLHeliSuite (I am using 14.1.0.3).

News and Updates

27 Oct – There are also reports of problem running this features on some F3 boards. However I cannot verify this as I have only tested this on Naze32 and it’s working perfectly.

28 Oct – Pass-through programming won’t work on a Tornado. The 5V buffers on the PWM outputs aren’t bidirectional. You’ll have to connect directly to the ESCs. BorisB said Seriously Pro Racingboard (SPR F3) has issues with auto detecting the ESCs. He said you can connect to each ESC one at a time.

Here is a quick Demo how I use it.

How to Flash / Program ESC via Cleanflight in BLHeliSuite

My Setup: Naze32, Blueseries 20A ESC with BLHeli 14.0

Select Cleanflight Interface

First of all, in BLHeliSuite, select your choice of interface, with (Cleanflight) at the end of the option.

Wrong Interface

Don’t worry if you chose the wrong one (whether Atmel or Silabs), you will be warned if you have selected the wrong interface.

Connect and Read settings

Once you have chosen the correct interface, and the COM Port of your flight controller, click Connect, then Read Setup.

Flash Latest BLHeli Firmware

Flashing firmware is the same as the usual way.

ESC not in Sync with Master

You might see this message saying “Setup not in Sync with Master”. That basically means some of your ESCs have different settings.

Settings including PPM Min/Max and PWM Frequency/Damped and so on would trigger this warning. Difference in Motor Rotation setting would not trigger this warning.

You will also notice the number is grey colour when it’s not in sync, with a warning when hover over it.

Changing settings on a particular ESC

To change settings on a particular ESC, you first need to select it.

To select an ESC, you need to click on all the ESC except that one, when you do that, those ESC number would disappear. For example, when ESC number 1 2 and 4 disappear, number 3 will become blue and bold, that means it’s now selected.

It’s possible to configure multiple ESCs at the same time. The Blue bold number indicates the master, all other ESC will copy the master’s settings when Write Setup is pressed.

Checking ESCs are in Sync

Okay once you have programmed all your ESCs, you want to do a finally check. There is a Checkbutton on the bottom right.

And below shows you the All Okay message. And you should see all the ESCs are green and happy. (except ESC 1 is blue, because it’s the master ESC)

 

Motor Tab in BLHeliSuite

You will also notice a motor tab in BLHeliSuite. I find it really handy as you can calibrate your ESC and test your motors right inside BLHeliSuite.