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
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)
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 :
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.
Arduino Pro Mini : (Le régulateur 3.3V est monté en dessous afin de le pas interférer avec le connecteur)
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.
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.