Vous êtes ici :   Accueil » QuadCoptère Multiwii
 
 

QuadCoptère Multiwii.

Et bin voila!..., encore un bidule volant...
Oui je sais, c'est la grande mode des "Drones" ou plutôt multirotors, en ce moment ... 
Ca ne m'intéressait pas forcement plus que ça, mais... pour en avoir vu voler en mode auto stable en lâchant la télécommande, rester sur un point fixe sans bouger, ou revenir au point de départ et se poser tout seul, c'est vrai que technologiquement ça a éveillé ma curiosité...
On trouve des petits Quadcoptères tout prêt à voler avec la télécommande pour 50 euros ou moins...
J'en ai essayé un (un Syma X5C), c'est très fun, stable, il est de plus équipé d'une petite camera pour faire photos et vidéos, et il fait même des flips!!
Bref, on s'amuse vite, et pour pas cher!! (Ouais bon..  pas de chance j'ai essayé ce joujou après avoir commencé à fabriquer le mien...)
 

1. LE CHASSIS

1.1 Design:

Je suis donc parti sur la construction d'un Quad en ayant au préalable bien pompé à coup de mitraillage photos la conception sur un autre quad qui volait bien...( Merci Jimmy!! j'ai même pas honte!! biggrin...)
Apres quelques heures de modélisation sur Sketchup, voila à quoi ca ressemble:




 

Il s'agit donc d'un Quad (4 rotors) de 50cm, de conception classique en X, avec toutefois, et sous les conseils de Jimmy, la particularité d'avoir les bras avant écartés de 120 degrés au lieu de 90, ceci afin de libérer le champ visuel puisque mon but est d'intégrer une camera dessus.



Si cela en intéresse certains, vous pouvez télécharger les plans:
Téléchargement:
PLAN (PDF)
SCHEMA DE CABLAGE (PDF)
Cette page en PDF
 

1.2 Montage:

Apres impression du plan, on commence par découper les deux plaques en contre plaqué 3mm qui serviront de base au support des bras et à l'électronique. Les plaques sont différentes, l'inferieure contient des rainures pour passer un velcro pour le maintient de la batterie, la supérieure contient une encoche pour laisser de la place pour le récepteur.




 

Les bras sont des profilés carrés d'aluminium 10mm*10mm par 1mm d'épaisseur que j'ai trouvé chez Leroy Merlin en barre de 1m.
Une barre suffit, mais attention au découpes car les bras avant et arrières n'ont pas la même longueur.
Pour les visserie j'ai pris une poche de vis D2.5mm par 20mm.


Les bras seront fixés en sandwich entre les deux plaques.




La PowerBoard (ici en bleu) qui sert à relier les câbles d'alimentation des différents ESC est optionnelle, mais bien pratique. Je l'ai fixé sur la plaque supérieure par des vis. Les ESC (ici en vert) sont fixé sur les bras par des colliers.




Détail de la plaque supérieure.
Les bras sont temporairement fixés avec des boulons. On voit ici la PowerBoard fixé par quatre boulons, sur laquelle sont soudés les câbles d'alimentation des ESC, le câble avec le connecteur batterie et le BEC de 3 Ampères qui sert à l'alimentation du récepteur et du contrôleur de vol (mes ESC sont OPTO).




Fixation des deux plaques (penser à mettre du frein filet..) et installation du contrôleur de vol ( en bleu) et du récepteur (marron foncé)




Viens ensuite l'installation des moteurs et des pieds fixés avec des boulons (et frein filet!!).




Voila, ca commence à prendre forme!!




 

2. L'ELECTRONIQUE

2.1 Moteur 
J'ai choisis des FC 28-22 Brushless Outrunner 1200kv de chez Hobbyking.
Spécifications:
Weight: 39g (with wire & sticker etc)
Shaft: 3mm, Motor Length: 46mm, Diameter: 28mm, Stator Size: 22x10mm, Suggested prop: 9~10inch
Voltage: 11.1v (3S), Kv: 1200RPM/V

Apres tests ils sont plutôt performants montés avec une helice 9*4.7

2.2 ESC
J'ai choisis des Turnigy Multistar 20 Ampères 2-4S
C'est un ESC prévu pour multicoptère avec un taux de rafraichissement de plus de 400Hz.
Spécifications:
Constant Current: 20A, Input Voltage: 2-4 cells Lipoly
BEC: None (OPTO) PWM: 8 KHz, Max RPM: 240,000rpm for 2 Poles Brushless Motor
PCB Size: 41mm x 24mm
Weight: 25g

2.3 BEC
Mes ESC étant OPTO, il faut donc un BEC externe pour alimenter l'électronique... j'ai utilisé  un  Turnigy UBEC qui fournit 3 Ampères.
Spécifications:
Output: 5v/3A or 6v/3A (selectable)
Noise: <50mVp-p(@2A/12v)
Input: 5.5v-23v (2-5S Lipo pack, 5-15cells NiMh)
Size: 41.6x16.6x7.0mm
Weight: 7.5g

2.4 Batterie
J'ai effectué mes premiers essais avec mes batteries d'hélico, des 2200mAh 20C 3S. Avec, j'ai une autonomie de 5 minutes... c'est un peu juste, idem pour le courant disponible en pointe même si elles ne chauffent pas beaucoup...
Du coup, j'ai pris une batterie ZIPPY Flightmax 4000mAh 3S en 20C. Alors la.... Avec le Quad qui pèse un peu plus d'un kilo prêt à voler, ca me donne une autonomie de quasiment 15 minutes!!! Ouarff!! que du bonheur!!  smile

 

3. LE CONTROLEUR DE VOL

3.1 Choix
Je ne fais pas simple sur ce coup la... 
Pour que ca ne coute pas trop cher, je n'ai pas pris un module completement prêt à voler mais j'ai choisi la carte Multiwii Crius SE V2.5 que j'ai eu à moins de 20 euro.
C'est quoi un contrôleur Multiwii?
Et bien c'est simplement un Arduino (un module microcontroleur ATMega) auquel a été greffé des capteurs et dans lequel  est implanté un logiciel de gestion, tout ca sur une carte avec des connecteurs pour brancher les différents éléments.

Photo de la Crius V2.5
Le microcontrôleur ATMega328P c'est le "gros" circuit intégré en bas. Les quatre capteurs sont regroupés au dessus.
On différencie bien le capteur de pression: le CI gris avec un trou au milieu.


Pour ce prix la cette carte embarque tout de même un  gyro, un accéléromètre, un baromètre (pas super précis..), et un magnétomètre. Elle dispose d'entrée permettant par la suite d'y ajouter par exemple un GPS, un adaptateur Bluetooth, un écran...
C'est bien, seulement, il va falloir pas mal bidouiller pour les réglages....eek


Description de la Crius SE V2.5 (en anglais):
 Dimension: 40mmX40mm, Height: 11.6mm, Weight: 9.6g
 6 input channels for standard receiver and PPM SUM receiver
 Up to 8-axis motor output
 2 servos output for PITCH and ROLL gimbal system
 A servos output to trigger a camera button
 A FTDI/UART TTL socket for debug, upload firmware or LCD display
 A I2C socket for extend sensor,I2C LCD/OLED display or CRIUS I2c-GPS NAV board
 Separate 3.3V and 5V LDO voltage regulator, On board logic level converter
 ATMega 328P Microcontroller
 ITG3205 3-axis MEMS gyro
 MPU6050 6 axis gyro/accel with Motion Processing Unit
 HMC5883L 3-axis digital magnetometer
 BMP085 digital pressure sensor

Flight mode:
 Acro, Level, Alt Hold, Head Lock
 HeadFree (CareFree)
 GPS Hold (Need GPS receiver + I2C-GPS NAV Board)
 GPS Return to home position (Need GPS receiver + I2C-GPS NAV Board)

Doc Multiwii ici (en Anglais): http://www.multiwii.com/wiki/index.php?title=Main_Page


 

3.2 Fonctionnement (les grandes lignes)
Comment ca marche?
Un multicoptère c'est tout simplement plusieurs rotors (de deux à huit moteurs plus hélices) qui vont permettre la sustentation et le déplacement de la machine, les version deux et trois rotors nécessitant en plus des servos pour la gestion de l'axe de lacet.
Les différentes configurations possible pour Multiwii se trouvent ICI.

La gestion se fait avec un contrôleur de vol qui va agir indépendamment sur la vitesse de rotation de chaque moteur afin de transmettre les ordres de la télécommande pour déplacer l'appareil, mais aussi et surtout assurer sa stabilité.

Déplacements:
_Pour monter ou descendre, c'est simple, les quatre rotors tournant à la même vitesse, si on accélère la vitesse de l'ensemble des rotors le Quad monte et forcement si on ralentit il descend.

_Pour les translations, les rotors fonctionnent par deux en inclinant l'appareil pour créer une force de déplacement.
Exemple de rotation en roulis pour mon Quad (Attention! ici c'est inversé car l'appareil est vu de face):
Quand j'actionne le manche en roulis vers la  gauche, les moteurs droits tournent plus vite (flèche orange) et les gauches moins vite (flèche verte) ce qui oriente le Quad vers la gauche (flèche bleue). L'appareil se déplace donc sur la gauche.


 

_Pour les rotations en lacet on joue sur les couples car les moteurs ne tournent pas dans le même sens.
(c'est bien foutu quand même!!! biggrin )
Exemple pour mon quad: On voit le sens de rotation des moteurs et ici ils tournent à vitesse identique et donc l'appareil ne tourne pas sur lui même.


Maintenant avec des couples différents: les moteurs tournant plus vite (flèche orange) engendre un couple inverse plus important et inversement pour les moteurs tournant moins vite (flèche verte), ce qui engendre une rotation sur l'axe de lacet (flèche bleue) tout en maintenant l'altitude car la somme des vitesse moteurs est identique.



La stabilité:
La stabilité est assuré par les différents capteurs du module multiwii qui vont transmettre des informations au microprocesseur. Celui va traiter les informations reçues et agir en conséquence.

On trouve donc:
_Les gyros pour stabiliser l'appareil et le maintenir dans une position ( ITG3205).
_Les accéléromètres pour le mode Level va permettre au Quad de se remettre à l'horizontale (MPU6050).
_Le baromètre pour essayer de maintenir l'altitude (BMP085).
_Le magnétomètre pour garder un cap constant (HMC5883L).

Tout cela est donc un sacré gloubiboulga de mixage de vitesse de moteurs par le contrôleur en fonction des ordres de la télécommande et des infos provenant des capteurs.

3.3 Branchements

Un schéma valant mieux qu'un long discours, voila mes branchements...

Cliquer sur l'image pour agrandir.



 

Les voies 1 à 4  du récepteur sont banchées sur les entrées D2 à D6 (voir schéma). Les voies suivantes sont commandées par les inters de la radio pour choisir les différents modes de vols de la carte.  Sur mon récepteur 6 voies, les voies 5 et 6 sont affectées respectivement à AUX1 (D5) et AUX2 (D6) de la carte Crius.  
Les sorties moteurs sont D3, D9, D10, D11.
Attention au positionnement de la carte sur le châssis!!! la petite flèche indique l'avant !!

 



3.4 Description des fonctions

La carte CRIUS SE gère plusieurs modes de vol.
Documentation (en Anglais) ici: http://www.multiwii.com/wiki/?title=Flightmodes

_ACCRO: Mode utilisant les gyroscopes. c'est le mode de base, on peut mettre l'appareil dans toutes les positions et faire de la voltige, les gyroscopes permettant de stabiliser l'appareil dans la position voulue.

_LEVEL: Mode auto stabilisant nommé aussi "ANGLE" ou "STABLE". Utilise les gyroscopes et les accéléromètres pour mettre à plat l'appareil automatiquement quand on n'agit pas sur la télécommande. C'est un mode très sécurisant.

_HORIZON: Mode mixant le mode ACCRO et LEVEL, ayant tendance à remplacer le mode LEVEL apparemment obsolète. c'est en fait un mode ACCRO qui passe en mode LEVEL quand les commandes sont centrées.
 

Sur ces trois modes de vol on peu greffer des options:
_BARO: Maintient d'altitude (ALT HOLD).
_MAG: Verrouillage de cap.
_HEADFREE: Permet un déplacement absolu de l'appareil quel que soit son cap. Manche vers l'avant l'appareil s'éloigne, manche vers soit l'appareil se rapproche, etc..

Couplé à un GPS en option on dispose aussi des modes:
_POSITION HOLD: Maintient de position (PH)
_RETURN TO HOME: Retour au point de départ (RTH)



3.5 Modules complémentaires
Cette carte CRIUS dispose de plusieurs ports d'entrés/sortie sur lesquels on peut ajouter des modules:

Port FTDI: Permet de brancher la CRIUS au PC pour la programmation et les configurations à l'aide d'un adaptateur FTDI.
Port UART: Permet de brancher un Module Bluetooth pour la configuration de la carte à l'aide d'un téléphone Android.
(très pratique pour les réglages sur le terrain!!)
Port I2C: La carte dispose de deux ports I2C permettant de brancher un GPS avec sa carte de contrôle, un SONAR, un module d'affichage.

 

4. PROGRAMMATION

4.1 Télécommande
Choisir simplement un nouveau modèle avion vierge.
Vérifier que les Subtrims soient à zéro et les Endpoints à 100% pour chaque voies (on règlera tout ca quand le quad sera connecté au PC).

4.2 Réglages de base Multiwii 2.3 (Sketch Arduino)
On trouve plein de doc sur le net pour paramétrer une carte Multiwii, notamment ici:
http://lalegiondesquadri.wordpress.com/2014/05/28/multiwii-pas-de-panique-2/
http://www.multiwii.com/wiki/index.php?title=Config.h
http://www.robson.fr/montage-et-configuration-dun-quadcopter-multiwii-lite/
Je vais donc pas m'étendre en détail sur l'installation....

En premier lieu il va falloir charger le logiciel Multiwi 2.3 dans la carte CRIUS (elle était vendue avec la version 2.2) avec la configuration pour un Quad.
Prérequis:
_Il faut télécharger le logiciel Arduino (http://arduino.cc/en/Main/Software), le dézipper et installer les pilotes FTDI (voir ICI par exemple). 
_Il faut télécharger le soft Multiwii (http://code.google.com/p/multiwii/downloads/list) et le de zipper aussi.
_Avoir un adaptateur FTDI (que l'on trouve ICI par exemple).

Aller dans le répertoire multiwwi et double-cliquer sur le fichier MultiWii.INO pour ouvrir le soft  Multiwii dans le logiciel Arduino.

On va modifier certains paramètres.
Pour cela ouvrir le fichier de configuration en cliquant sur la fleche en haut à droite et en cliquant sur "config.h"

En parcourant le fichier il faut décommenter (c'est à dire supprimer les // ) des lignes suivantes:
  #define QUADX     
  #define CRIUS_SE_v2_0
car notre multicoptère est un QUAD de forme X et il utilise une carte CRIUS SE (V2.0 et V2.5 c'est la même chose, avec un deuxième connecteur I2C pour la version 2.5).
Le fait de décommenter les lignes active les fonctions correspondantes.

En option (mais pas obligatoire au début) j'ai decommenté  aussi ces lignes:
#define RCAUXPIN8                         (pour activer l'entrée AUX2 sur la broche 8 de la carte afin programmer un switch sur la radio)
#define MPU6050_LPF_188HZ        (filtre les vibrations de mon Quad)
#define DEADBAND 6                      (ajoute une zone de neutre sur les manches centrés)

Voila... Maintenant on peut sauvegarder (avec un nouveau nom) les modifications pour une réutilisation futur ("Fichier", "Enregistrer sous").
Et on va enfin pouvoir balancer tout ca dans la carte...

Brancher l'adaptateur FTDI sur le port FTDI de la carte et le brancher sur le PC.
La CRIUS SE est basée sur un Arduino Pro Mini 328, il faut donc choisir la bonne carte en cliquant sur "Outils", "Type de carte" et choisir "Arduino Pro Mini (5V, 16MHz) w/ ATmega328"
 


Il faut également choisir le bon port COM en cliquant sur "Outils", "Port série" et cocher le bon port (ici le mien c'est le COM12)



Maintenant pour compiler le soft et le balancer dans la carte cliquer sur la flèche "Téléverser"  (en haut à gauche), et attendre...
On peut suivre le bon déroulement par la barre d'avancement en bas.
Si "Téléversement terminé" apparait en bas à gauche, c'est que tout c'est bien passé !!!!!!!!!!!!!!! smile
Dans le cas contraire....., un beau message d'erreur apparait en orange dans le cadre noir en bas.... Cela peut être due à une erreur de syntaxe dans le sketch, l'adaptateur FTDI mal branché, un mauvais port COM choisi, etc... Donc il faut revérifier tout et recommencer.

Voila on peut maintenant quitter le programme Arduino.


4.3 Vérification fonctionnement, Réglages de base par PC et Test.
ATTENTION!! il faut ENLEVER LES HELICES avant toute manipulation. Les ESC peuvent même êtres débranchés.

Connexion:
Brancher l'adaptateur FTDI sur le port FTDI de la carte et le brancher sur le PC. Le contrôleur s'initialise.
(dans certains cas si le port USB ne peut pas fournir suffisamment de courant pour tout alimenter, il peut être nécessaire de brancher la batterie du Quad).
Ouvrir le répertoire "Multiwii", aller dans "MultiWiiConf", ouvrir  le dossier correspondant à son système d'exploitation (dans mon cas "application.windows32")  et lancer le logiciel "MultiWiiConf".
 



 


 

Vérification des sens:
Une fois le logiciel ouvert, choisir le bon port COM en haut à droite (dans mon cas port COM4), celui ci devient alors vert.
Cliquer ensuite sur "START". Si tout va bien, La liaison s'établit entre le PC et le Quad et on voit dans le carré blanc du bas défiler les courbes des différents capteurs en temps réel. Dans le cas contraire, vérifier les branchements et recommencer la procédure.

Les courbes, l'horizon artificiel, les indicateurs de roulis et tangage ainsi que le compas doivent varier (et dans le bon sens!! sinon c'est que la carte n'est pas positionné flèche vers l'avant!!) en fonction des rotations et déplacements du Quad lorsqu'on le bouge à la main.

Réglage radio:
Maintenant il va falloir régler le sens de débattement, les Subtrims et les Endpoints sur la radio. Pour cela il faut s'aider de la fenêtre ou l'on voit les débattements dans le logiciel MultiWiiConf.
 


 

_ Régler le sens de débattement de la radio pour chaque voies afin d'avoir les déplacement de la barre bleu clair dans le bon sens. (ex: gaz à fond la barre THROT doit être complément bleu claire.)
_ Manches au neutre, régler les Subtrims de chaque voies pour être le plus prêt possible de 1500.
_ Manches en butées, régler les fins de course pour avoir le minimum à 1100 et le maximum à 1900.  
Voila, la radio est réglée... On pourra par la suite programmer les voies Auxiliaires, mais ca n'est pas nécessaire pour les premiers vols qui serviront au réglage des PID en mode ACCRO (mode par défaut).

_Calibrer les ESC pour avoir un fonctionnement homogène des contrôleurs. on peut le faire un par un en les branchant à tour de rôle sur la voie moteur du récepteur ou alors utiliser une procédure spécial en activant l'option "ESC_CALIB_CANNOT_FLY" dans le fichier config.h.
Tuto en anglais ici: http://www.multiwii.com/wiki/index.php?title=Extra_features#ESCsCalibration

_Pour terminer, il faut faire un calibrage des gyroscopes et accéléromètres. Mettre le Quad à l'horizontal, cliquer sur "CALIB_ACC" et ne plus le bouger pendant une minute.

Bon....... voila... C'est prêt.... smile


Premier Test:
Le premier test se fera sans hélices.
_Allumer la radio. (Gaz à zéro)
_Brancher la batterie du Quad. Celui-ci s'initialise, la LED clignote puis s'arrête. Le Quad est prêt.
_Avec la radio en mode 2, pour armer le Quad, il faut mettre le manche des gaz en buté basse à droite. Les moteurs se mettent à tourner en régime de ralentit.
En montant les gaz, le régime moteur augmente et si on bouge le Quad à la main on entend les moteurs qui essayent de compenser (en vain car il n'y a pas d'hélice...)
Si tout semble correct, désarmer l'appareil (Manche en buté basse à gauche) et les moteurs s'arrêtent alors de tourner.
Débrancher la batterie. Remettre les hélices (Dans le bon sens!!!!!!!!!!!!!!).

On peut alors faire un premier test!!!!
 


 


4.4 Installation Bluetooth
A venir...

4.5 Réglages par Bluetooth
A venir...

4.6 Réglages des PID
A venir...
 


Date de création : 02/11/2014 @ 22:57
Catégorie : Selection - RC helico
Précédent  
  Suivant


Réactions à cet article

Réaction n°9 

par lolodu36 le 22/04/2017 @ 16:41

bonjour,
Nous utilisons une carte multiwii crius SE, un HC-05 (module bluetooth), des moteurs brushless 1000Kv avec ESC (trouvable sur amazon) et nous n'avons pas le récepteur que tu utilise (est-il nécessaire de l'avoir). Nous aimerions avoir le programme sur telephone (+application qui l'utilise) que tu as pu utiliser. Merci de ton aide et de ta patience sur notre projet.e
Au passage, j'aimerais savoir si tu a pas quelque chose de plus simple pour parler ou je pourrais voir au moins les notifs stp (mais si tu veux pas c'est pas grave on reste ici) .
Cordialement,
Loïc



Réponse:
Je viens  de répondre par Email  wink


Réaction n°8 

par lolodu36 le 21/03/2017 @ 15:51

bonjour Manu,
nous sommes sur un projet terminal sur un drone et nous sommes vraiment coincéy on n'en perd même la têtekn tout ton programme nous sert même si les moteurs ne tournent toujours pas. nous avons des téléphones sans gyroscope et aimerais savoir si possibilité de programmer sans et sans télécommande (au passage) que des téléphones voilà nous comptons vraiment sur toi pour nous aider !
Cordialement  des élevés en difficulté...

Réponse:

Bonsoir,
intéressant un projet multi-rotor à l'école!!! j'aurais bien aimé ça à l'époque!!!...
enfin bon...


Première chose à savoir, les contrôleurs de vol Multiwii ont été abandonnés il y a quelques temps déjà...
Voila pourquoi je n'ai pas mis à jour les rubriques manquantes de ma page.

Pourquoi? parcqu’ils sont basé sur des microcontrôleurs ATmega qui sont trop limités pour les multi-rotors d'aujourd'hui.
(limité en puissance de calcul 8bit, vitesse de traitement, mémoire interne etc..)

Ils ont été remplacé par des cartes équipées de microcontrôleurs ARM STM32.
Ce sont des microcontrôleurs 32 bits, avec plus de mémoire, meilleur vitesses de calcul etc..)
Ces nouvelles cartes sont des CC3D, NAZE32, SPRacing F3, F4 etc....


Cependant, autant on pouvait bidouiller un peu le code avec le multiwii qui utilisait l'interface d'Arduino,
autant les programmes actuels sous STM32 deviennent compliqués et il faut être un programmateur chevronné (et je n'en suis pas un!!....).

D’ailleurs aujourd'hui on ne fait que flasher les contrôleurs STM32 des cartes avec les binaires des programmes compilés.
les paramètres de réglages se font par un programme dédié (par exemple cleanflight, betaflight, etc...)

Je veux bien aider un peu dans les limites de mes compétences...
mais je n'ai pas trop compris ce que vous deviez faire exactement....
Quel matériel utilisez vous?
utilisez vous des cartes, des ESC, des moteurs du commerce?

Cordialement,
Manu


Réaction n°7 

par Chris le 07/10/2016 @ 23:37

Salut Manu,
voila un lien vers un test d'une copie de ton drone.
https://www.youtube.com/watch?v=C-XEUdxxdyA

Merci pour les explications précises!!
Chris


Réponse:
Woaw!! le test dans l'appart!!! meme pas peur!!!
En tout cas belle réalisation il est super stable!  wink


Réaction n°6 

par Chris le 17/02/2016 @ 02:25

Bravo!
merci!
que dire de plus..... Felicitations

Réaction n°5 

par steph le 16/02/2016 @ 07:14

superbe explication....plus d'un an que je fouine sur le net et franchement c'est la meilleure explication que je vois en français et en anglais traduit...vivement la suite concernant le gps......Branchement de l'OSD.....et surtout d'un 3dr wifi.....a tous ceux qui lise ce site, faite le connaitre car la multiwii est la source de liberté...est le blog merite d'etre reconnu......encore merci Manu

DébutPrécédent [ 1 2 ] SuivantFin
Vous êtes ici :   Accueil » QuadCoptère Multiwii