X-Copter, contrôle

Contrôle du vol

Comme on l'a vu plus tôt, le contrôle de la trajectoire d'un quadrirotor est réalisé en jouant sur la vitesse de rotation de chacun des moteurs. A moins d'être extrêment doué, il va être bien compliqué pour un humain de gérer les 4 moteurs.
Un module électronique, doit utilisé pour transformer les commandes classiques gaz, lacet, roulis, tangage en commandes des 4 rotors.

Electronique de contrôle

Il existe quelques modules prêt à l'emploi comme le FIETECH FQ90Y par exemple, mais il y a encore bien plus de projets "open-sources".
Ces modules permettent de donc gérer les moteurs selon les commandes du pilote, mais en fait, ils font beaucoup plus. Ils profitent des progrès technologiques fulgurants effectués en micromécanismes. Ils utilisent des gyromètres, des accéléromètres afin d'améliorer la stabilité.

En voici quelques un :
- MulitWii
- OpenPilot Copter Control : Gyro : IDG-500 (gyro 2 axes) + ISZ-500 (gyro 1 axe); Accéléro. - Analog Devices ADXL345 (3 axes)
- MikroKopter Flight Control
- Pipo ISU : Gyro ST L3G4200D (3 axes); Accéléro. - Analog Devices ADXL345 (3 axes); Compas - HMC5843 (magnétomètre trois axes.)
- KK multicontroler

Mon choix s'est porté sur le MultiWii pour diverses raisons dont le prix et la masse d'informations disponible sur internet.

MultiWii

MultiWiiCopter est un projet opensource destiné au contrôle d'un appareil multirotor radio-commandé. A l'origine, il associe une plateforme microcontroleur "Arduino" et les capteurs d'un Wii Motion Plus de Nintendo.

Caractéristiques

Multirotors :
- BICOPTER, TRICOPTER, QUAD +,QUAD X,HEX Y6,HEX FLAT +, HEX FLAT X, OCTO X8, OCTO FLAT +, OCTO FLAT X

Capteurs compatibles :
- Gyro. MEMS 3 axes : IDG-600, X3500W (Wii Motion Plus) ou ITG3200
- Accéléro MEMS 3 axes(optionnel) : LIS3L02AL (Nunchuk) ou Bosch BMA020 ou BMA180
- Magnétomètre (optionnel) : Honeywell HMC5883 ou HMC5843
- Baromètre (optionnel): Bosch BMP085

Modes de vol : Accro (Gyro seuls) ou Stable (Gyro + Accéléro.); stabilisation en altitude (Baromètre)

Stabilisation d'une nacelle pour appareil photo ou vidéo (Accéléro)

Configuration retenue

Carte microcontroleur Arduino Pro Mini

Carte équipée d'un Atmel ATmega328 à 16MHz

Arduino

Unité de Mesure Inertielle

Wii Motion Plus

Pour les gyromètres, la carte Wii Motion Plus (à gauche sur la photo), soit : des gyro MEMS Invensense IDG-600 (2 axes X, Y) , Toyocom X3500W (axe Z)

Bosch BMA020

Pour les accéléromètres : Acc. MEMS triaxial BMA020. (à droite sur la photo)

UMI

Cartes d'interconnexions

Afin de réaliser les interconnexions des différentes cartes j'ai acheté 2 circuits imprimés chez FlyDuino; MWC black pour l'Arduino et Flydusense pour les capteurs :

Cartes

Unité de Mesure Inertielle montée :
Le WM+ et la carte BMA020 sont alimentés en 5V. Laison I2C en 5V.
Le régulateur 3.3V est monté bien qu'inutile pour l'instant. (carte MWC)
Le LLC (Logic Level Converter) n'est pas câblé, il sert à passer le bus I2C en 3.3V pour d'autres capteurs.

UMI

Arduino Pro Mini : (Le régulateur 3.3V est monté en dessous afin de le pas interférer avec le connecteur)

Arduino

Comme les cartes ne sont pas documentées, j'ai dessiné les connexions :
Orange : Connexion Wii Motion +
Jaune : Connexion carte BMA020
Bleu : Liaison avec la carte MWC
Vert : Liaison I2C en 3.3V pour capteur de pression BMP085 par exemple.

flydusense

Ajout du LLC (Logic Level Converter constitué des 2 MOSFETs et 4 résistances) et d'un capteur de pression Bosch BMP085. La carte BMP085 est montée sur la face opposée aux cartes WM+ et BMA020. Ce capteur, contrairement aux autres n'a ni sens ni orientation.

BMP085
Electronique
Depuis juin 2005