Tuto débutant Multiwii 2.3 sur CRIUS AIO V1.1/V2

Après avoir passé des semaines sur internet à rassembler les différents tutos, videos, forums, voici venu le temps de se jeter à l’eau et de proposer ma version du tuto pour un usage bien précis de drone.
Je suis à la recherche d’un contrôleur de vol couvrant plusieurs objectifs assez différents, toujours avec un même drone:
  • Du cruising calme pour video/photos, éventuellement plus tard avec petite nacelle/Mobius ou GoPro
  • De l’accro en vol à vue, donc loops et roll (Pitch & Roll) en zone dégagée
  • Low riding/FPV Racing, donc vitesse et maniabilité (Yaw et Pitch) avec obstacle
A ce stade, les drones préssentis pour le montage sont des quadricoptères:
  • DJI F330 (original et copie Banggood),
  • Quad FPV Racing classe 250.
2 drones me serviront de référence pour mes usages et réglages:
  • Un DJI Phantom 2 avec nacelle Zenmuse H3-3D, FPV DJI AVL58 500mW et iOSD DJI, principalement utilisé en vidéo, en mode GPS ou Attitude.
  • Un DJI F330 avec Naza Lite, FPV Immersion RC/Flysky 400mW et caméra CCD 420lignes, principalement utilisé en vol à vue/racing, FPV, GPS ou Atitude et les premiers essais en mode manuel
La radio sera une Futaba T8FG Super, déjà utilisée pour les 2 drones ci-dessus.
Ce tuto est un rassemblement qui se veut exhaustif couvrant du choix du contrôleur de vol et du firmware à l’installation matérielle et logicielle et aux réglages. Plutôt que de mettre une collection de liens qui redirige vers des Tutos existants qui se recouvrent ou qui ne sont pas complet ou encore différent de mon usage cible, j’ai préféré rapprocher/regrouper l’ensemble de la démarche. En dernière partie j’ai laissé les liens source sans lesquels cette synthèse n’était pas possible. Ce tuto scindé en plusieurs parties:
Chapitre 1: Choix du contrôleur et du firmware
     1.1 Choix du contrôleur de vol
     1.2 Choix du firmware
Chapitre 2: Connexions et installation
Chapitre 3: Configuration du modèle/flash de la ROM
Chapitre 4: Réglages
4.1 PID
4.2 Expo
4.3 voies auxiliaires
4.4 GPS
Chapitre 5: Références
Chapitre 1: Choix du contrôleur de vol et du firmware 
1.1 Contrôleur de vol (Flight controler)
Je suis parti sur une carte CRIUS All In One Pro V1.1. Ce fut un choix par défaut au départ car elle était montée sur le F330 acheté d’occasion. En fouillant sur la toile, j’ai pu constater qu’il s’agissait plutôt d’une carte très haut de gamme. Elle date de 2013, donc un peu avant la généralisation de contrôleurs plus récent comme les KK2, ou plus orientés Racing comme les CC3D et Naze32, sans parler des contrôleurs nano qui commencent à apparaître.
Cette carte est idéale pour l’apprentissage des réglages et de la programmation avant de prendre des modèles plus évolués comme une Naze32: les firmwares Baseflight et Cleanflight de cette dernière sont basées sur une souche Multiwii qui fonctionne sur la CRIUS.
Bâtie sur une architecture très ouverte, son champ d’utilisation est vaste, allant du vol très stabilisé pour débuter, à la vidéo embarquée, au long range, à l’acro jusq’au racing comme nous allons le voir. Elle dispose de très nombreux connecteurs (mini-Molex) qui lui procurent  une solide extensibilité en la dotant de fonctionnalités complémentaires: GPS, Bluetooth, Sonar, OSD, Buzzer, Leds, etc.
Comme quelques cartes plus récentes, elle supporte plusieurs ROM, notamment la Megapirate, réputée pour ses fonctions de navigation et GPS très fiables, ou encore la multiwii, largement répandue pour de l’acro ou du FPV Racing.
D’un point de vue matériel, la carte mesure 50x50mm, avec un percage à 45mm. Elle est donc assez volumineuse et ne rentrera pas dans tous les quad de Racing. Pour information, j’ai réussi à la monter sans souci sur un RCX-H250CF-3K de MyRcMart (avec toute la vidéo embarquée et un minimOSD).
Cette carte a existé en plusieurs versions (originales et copies): V1, V1.1 et V2. Je détaillerai plus specifiquement la V1.1, mais les différences avec la V2 sont minimes: l’ensemble des réglages et connexions sont similaires. Elle repose sur un processeur ATMega 2560. On y trouve également accéléromètre, gyroscope, baromètre et boussole:
  • ATMega 2560-16AU Microcontroller
  • MPU6050 6-axis gyro/accel with Motion Processing Unit
  • HMC5883L 3-axis digital magnetometer
  • MS5611-01BA03 highprecision altimeter with metal cap
  • Supported MegaPirateNG /ArduCopterNG/ArduPlaneNG/MultiWii firmware
  • 8-axis motor output and 3 servos output for gimbal system
  • 8 input channels for standard receiver and PPM SUM input channel
  • 4 serial ports for debug/Bluetooth/OSD/GPS/telemetry module
  • 8 Analog port for Airspeed Sensor/Current & Voltage Sensor/LED controller
  • User-defined pads D32~37 & PG1~PG5
  • I2C 5V port for external device
  • Output/USB ports provided over current protection
  • Reverse polarity protection for input power
  • Select jumper for choose internal or external magnetometer
  • Onboard 16Mbit Dataflash chip for automatic datalogging
  • FT232RQ USB-UART chip and Micro USB receptacle for uploading firmware and debug
  • PCA9306DP1 logic level converter for I2C
  • Dimension: 50mmX50mmX11.6mm
  • Weight: 14.5g
  • Fixing hole spacing: 45mm
  • Hole diameter: 3.1mm

La version 2.0 utilise un altimètre de précision MS5611-01BA03 avec un corps en métal, alors que sur les versions 1.0 et 1.1, le MS5611-01BA01 utilise un corps en céramique. La version 01BA01 permet une mesure plus stable sur sa plage de tension (2% au lieu de 2.5%), différence qui ne se ressent pas sur le terrain.

Il est à noter une grande sensibilité du capteur barométrique à la lumière, à l’humidité ou encore au vent. Nous verrons ultérieurement comment traiter cette sensibilité pour disposer de la meilleure stabilisation possible.
La version 2.0 dispose en outre de 8 ports analogues, alors que la version 1.1 n’en propose que 6. L’alimentation directe de la carte est placée vers l’avant (à côté des prises Molex) avec la version 1.1 alors qu’elle est à l’arrière avec la 2.0 (proche des prises ESC).
Elle dispose de 256 octets de mémoire, ce qui permet de gérer les nombreuses extensions possibles (GPS, Sonar, bluetooth, OSD) sans souci par opposition aux autres modèles CRIUS SE ou Lite qui n’ont que 100 octets disponibles.
Son processeur ATMega2560 est cadencé à 8MHz ce qui est désormais en retrait par rapport aux processeurs plus récents, qui tournent en 32bits (Naze32) voire 64bits (DJI-A2) .
Grâce aux nombreux ports séries et à l’intégration dans la carte des composants I2C et FTDI, la connexion du GPS ou du Bluetooth peut se faire directement, sans carte d’extension I2C/FTDI.
Enfin, la prise microUSB, réputée fragile, est à manier avec précaution mais facilite grandement les Flashs de ROM. Pour ma part, je vais faire le choix de limiter l’usage de la prise microUSB au flashage de ROM, préférant faire tous les autres réglages (PID, Calib, etc.) par un module Bluetooth, connecté soit au PC, soit à un smartphone android.
Le site FPV Central a effectué une excellente revue de cette carte, osant même un comparatif avec le contrôleur DJI-Wookong que la CRIUS sur classe largement sur la qualité des composants.
1.2 Firmware
Cette carte peut être utilisée avec plusieurs firmwares, notamment les ROM MegaPirateNG, ArdutPilot ou encore Multiwii.
Le firmware MegaPirateNG est un bon choix pour une utilisation en vidéo/vols stabilisés. Il offre notamment des options intéressantes pour gérer les waypoints/vols autonomes ou automatisés.
Compte tenu de ses composants haut de gamme, cette carte est à recommander vivement pour des vols dans des conditions difficiles comme l’accro ou le FPV Racing pour lesquels sa fréquence d’échantillonnage (2000°/s) couplée à un logiciel Multiwii font merveille. Ce firmware propose de très nombreux réglages (notamment le PID, qui correspond à la sensibilité de l’ensemble chassis/ESC/Moteurs/hélices) pour ajuster finement le comportement du drone. Elle gère également de nombreuses extensions que nous pourrons exploiter grâce aux nombreux ports séries de la carte: OSD, Bluetooth, GPS, LED, Buzzer.
La suite de l’article fera référence à une ROM Multiwii 2.3.
Dans la ROM Multiwii, plusieurs modes sont disponibles. Ils se répartissent en :
  • modes primaires: ces modes sont les modes principaux, ils sont exclusifs; on ne peut se trouver que dans l’un d’eux à un instant donné. Ils exploitent différemment les composants matériels de la carte.
  • modes secondaires: ces modes peuvent se cumuler aux précédents et entre eux. Certains se présentent sous forme d’options/actions uniques.
Les modes primaires sont:
  • ACRO – Il s’agit du mode le plus basique, point de départ nécessaire des phases de réglages. Seuls les gyroscopes sont utilisés par ce mode. Le pilotage dans ce mode est le plus difficile. Il permet les vols acrobatiques, avec flips, tonneaux et looping. C’est le mode par défaut, i.e. ni ANGLE, ni HORIZON: il est actif dès que les moteurs sont armés.
    • ANGLE – C’est le mode qui procure la plus grande stabilité au drone, en exploitant les accéléromètres en plus des gyroscopes de la carte. Cette stabilité sera conditionnée par:
      • le calibrage des capteurs,
      • le réglages des neutres de la télécommande,
      • le choix des valeurs de PID.

    Ce mode est considéré comme obsolète par les développeurs de Multiwii.

  • HORIZON – Ce mode est une combinaison des modes ACRO et ANGLE: dans les positions proches du centre des sticks de la télécommande, le mode ANGLE est actif. Au delà d’un seuil de déplacement des commandes (qui se configure), le mode ANGLE se désactive et est remplacé par le mode ACRO. Cela permet de déclencher des figures et de l’acro, mais de disposer d’une assistance à la stabilisation à l’issue de la rotation.
    Selon les développeurs de mutliwii, ce mode remplace le mode ANGLE.
Les modes secondaires sont activables en complément:
  • MAG – Cette option active le magnétomètre/compas pour stabiliser la direction du drone. Elle est utilisée assez souvent. C’est un pré-requis au mode HEADFREE.
  • BARO – Cette option verrouille l’altitude en exploitant le baromètre de la carte. Le vol du drone avec cette option est à altitude constate. Un changement d’altitude peut-être obtenu en utilisant la commande des gaz: même si le changement d’altitude est plus lent une fois l’option activée, le drone se pilote sur les autres axes normalement. Point d’attention, il est impossible de désarmer les moteurs ou de les armer dans ce mode: décollage et atterrissage sont à faire sans cette option qu’il faudra activer/désactiver en vol. 
    Cette option peut-être activée dans les 3 modes primaires. Cumulé au mode ANGLE, elle donne un comportement qui se rapproche le plus du mode ATTITUDE des contrôles NAZA de DJI..
  • GPS HOLD – Cette option verrouille la position du drone sur base des coordonnées GPS et de l’altitude donnée par le baromètre. Comme le mode BARO, dans ce mode, le drone se pilote normalement [TODO à vérifier]. Cette option se cumule aux trois modes primaires. Ce mode se rapproche le plus du mode GPS des contrôleurs DJI NAZA (en le cumulant à l’option BARO).
  • HEADFREE – Ce mode est disponible en complément des 3 modes principaux (ACRO/ANGLE/HORIZON) et vérouille la direction (yaw) du drone. Le nez de l’appareil pointe toujours dans la même direction, quelque soit les déplacement de sticks [TODO à vérifier]. Ce mode se rapproche du mode IOC Course Lock des contrôleurs DJI NAZA. Ce mode est utile pour stabiliser une direction en mode vidéo et guider pour réaliser des travellings par exemple.
  • HEADADJ – Cette commande permet la réinitialisation de la direction retenue par HEADFREE.
  • GPS HOME – Ce mode fait revenir le drone au point de départ. Le point de départ est défini comme le point où les moteurs ont été armés. La stabilisation durant le vol de retour est celle du mode principal (ACRO/ANGLE/HORIZON). L’altitude du vol retour est celle fournie par le GPS, donc peu précise. Il faut envisager d’utiliser le baromètre pour aider à maintenir une altitude constante. Ce mode se rapproche du RTH (return to home) des contrôleurs DJI NAZA.
Les modes et options, primaires et secondaires ne sont pas tous compatibles entre eux:
Une excellente explication en anglais sur les compatibilités  est disponible sur le wiki.
Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :