TriWiiCopter


Le TriWiiCopter est un tricopter qui utilise des gyroscopes et accéléromètres de console vidéo Nintendo Wii. On trouve ces capteurs dans les extensions de manette WiiMote. Ce tricopter a été l’occasion de développer mon propre soft de contrôle sur une plate forme Arduino. La stabilité obtenue est excellente et permet d’envisager sereinement toute sorte d’acrobatie. Le soft permet également de commander d’autres types de multirotor comme les quadrirotors.




Le tricopter de cet article est avant tout un projet d’électronique et de programmation, la structure fibre étant reprise du premier tricopter construit à base de gyroscopes Telebee.
http://radio-commande.com/experimental_projects/construction-tricopter/
Cette structure a juste été consolidée à la fibre carbone/kevlar, et des LEDs ont été rajoutées pour mieux la visualiser en vol.

Wii Motion Plus

Une manette de jeu Wii est constituée de 3 accéléromètres permettant de déterminer une position angulaire, et de mesurer des accélérations latérales.

C’est suffisant pour la plupart des jeux, mais un accéléromètre est peu précis pour mesurer de petites variations. Pour les jeux plus exigeants, Nintendo a développé l’extension Wii Motion Plus qui utilise 3 gyroscopes et se branche dans le prolongement d’une manette. Ces 3 gyroscopes couplés aux 3 accéléromètres permettent de déterminer bien plus précisément l’attitude de la manette.
On retrouve beaucoup d’informations sur toutes les extensions ici:
http://wiibrew.org/wiki/Wiimote/Extension_Controllers

Sur un multicopter, l’utilisation des accéléromètres est un plus mais n’est pas indispensable si on ne souhaite pas conserver rigoureusement sa position dans l’espace.
La mesure des accélérations angulaire est suffisante pour assurer une bonne stabilité.

L’extension Wii Motion Plus présente de nombreux avantages par rapport à d’autres capteurs:

1) son coût

Invensense est un fabriquant de composants électronique, et en particulier de gyroscopes. Habituellement, ces composants distribués indépendamment sont relativement chers.
exemple chez Sparkfun:
http://www.sparkfun.com/commerce/categories.php?c=85
Invensense fabrique (au moins 1 sur 2) les gyroscopes présents dans le Wii Motion Plus: IDG600 ou IDG650. Ils semblent avoir été conçus spécifiquement, avec un prix de gros probablement très bas.
On en profite directement dans le coût de l’extension, d’autant plus qu’il existe de nombreuses copies chinoises qu’on peut trouver pour $15 ou $20

2) son format

L’extension Wii Motion Plus est constituée de 2 paires de gyroscopes 2 axes, un seul axe étant utilisé sur un des deux. Au final, une fois le circuit imprimé extrait, on a un ensemble de gyroscopes 3 axes dans un espace réduit. Mais surtout, ils sont montés à plat sans PCB additionnels et c’est très pratique. En fonction des copies le circuit diffère légèrement, par contre le format reste identique.

3) son convertisseur analogique numérique intégré

Lorsqu’on veut exploiter la valeur d’un capteur brute, on utilise sa sortie analogique pour ensuite la convertir dans un format numérique exploitable par un programme. L’extension Wii Motion Plus intègre un convertisseur analogique numérique 14 bits.

4) son protocole de communication

Cette extension communique avec la manette sur un bus I2C en mode rapide à 400kbit/s. C’est intéressant car ce bus couplé au convertisseur analogique numérique intégré permet de réaliser les opérations de conversion qui ne seront pas à gérer par la suite par le microcontrôleur. Ce bus ne mobilise que 2 fils de données.

4) ses performances

A ce prix là, on n’a pas les meilleures performances existantes d’un gyroscope moderne. Le bruit (signaux parasites en l’absence de mouvement) est assez important, mais il s’agit quand même de capteurs MEMS qui surpassent les gyroscopes  piezo qu’on trouve encore dans beaucoup de gyroscopes RC. Correctement filtré, le signal exploitable est plutôt précis.

Pour info, la « Rolls » des gyro du moment semble être l’ADXRS610 , et à ce prix on n’a qu’un seul axe ;)   :
http://www.sparkfun.com/commerce/product_info.php?products_id=9058

Nunchuk

Un Nunchuk Nintendo est une extension d’une WiiMote qui est composé de 3 accéléromètres. Il permet de déterminer une inclinaison et peut mesurer des accélérations latérales.

Sur un multirotor, c’est la connaissance de l’inclinaison qui est recherchée.

Avec quelques calculs mathématiques associant les données de gyroscopes (filtres complémentaires ou filtres assimilés Kalman), il est possible de déterminer très rapidement une inclinaison en piqué ou en roulis.

Cette fonctionnalité est utilisée pour obtenir pour le mode auto stable, qui permet de remettre à plat tout seul le multirotor lorsqu’on lache les manches.

Le Nunchuk présente aussi de nombreux avantages:

1) con coût

Il est encore moins cher qu’un WMP. On peut trouver un Nunchuk sur ebay pour environ $10.

2) ses dimensions

Le PCB d’un Nunchuk est à peine plus grand que celui d’un WMP. Mais les composants sont toujours montés à plat.
Sur quelques versions, il est même possible de couper le circuit imprimé en deux, de manière à ne garder que la partie utile et de supprimer le joystick.

4) Son protocole I2C, relayé en mode « bypass » par le WMP

Lorsqu’un module Wii Motion Plus est déjà connecté à la WiiMote, le Nunchulk peut être directement connecté au WMP en mode bypass.

Il communique également avec le Wii Motion Plus via un bus I2C.

Dans ce mode, le WMP gère la communication et fournit l’ensemble des valeurs à l’Arduino dans un mode entrelacé (une lecture pour obtenir les valeurs des gyroscopes, puis un lecture pour obtenir les valeurs des accéléromètres)

Un intérêt: vu de l’Arduino, la connectivité est la même.

Arduino Pro Mini

Les cartes Arduino Pro Mini ont un format sympa, une des plus petites déclinaisons existantes proche du timbre poste, et toutes les possibilités d’une carte Arduino classique plus grosse. Elles sont conçues sur la base d’un Atmel 328p et existent en plusieurs version 3.3V/5V et 8MHz/16MHz. J’ai choisi la version la plus pratique et la plus puissante: 5V / 16MHz
http://www.sparkfun.com/commerce/product_info.php?products_id=9218

On ne dispose plus de la connectique USB permettant d’injecter un programme, mais on peut toujours passer par un petit adaptateur USB-série vendu séparément. Elle se programme comme tous les Arduino, sur un PC ou MAC en C avec son IDE gratuit.
http://www.sparkfun.com/commerce/product_info.php?products_id=9115


Arduino Pro Mini + Wii Motion Plus

Le format du Wii Motion Plus est assez similaire au format de la carte Arduino Pro Mini.
C’est très pratique pour concevoir une petite carte homogène.
L’ensemble est simplement relié par 4 fils.

L’extension Wii Motion Plus est alimentée par l’alimentation 5V régulée de la carte Arduino Pro Mini.
VCC Wii Motion Plus est connecté à la broche 12 de l’Arduino, et les masses GND sont reliées entre elles.
La broche 12 servira commuter l’alimentation du Wii Motion Plus lors de l’initialisation de la communication entre les cartes.
J’avais initialement relié VCC Wii Motion Plus directement à VCC Arduino (comme indiqué sur la photo), mais cela aboutissait parfois à de mauvaises initialisations des gyroscopes.
Les entrées analogiques A4 et A5 sont raccordées au bus I2C via les broches SDA et SCL.
(je sais que mes soudures ne sont pas des exemples du genre ;) )

Arduino Pro Mini + Wii Motion Plus+ Nunchuk

Il n’est pas nécessaire de disposer d’un Nunchuk pour pouvoir faire voler un multiwii copter.

Ce n’esgt nécessaire que pour avoir un mode stable qui permet d’avoir un retour automatique à l’horizontal.

Le soft détecte automatiquement si un Nunchuk est relié au WMP.

Seuls 4 fils doivent être raccordés entre le WMP et le NK.

Il est important aussi de respecter l’orientation des cartes.

Connexion des éléments

Le soft est maintenant capable de gérer des configuration de multirotor en quadritotor+ ou en quadrirotorX.
La configuration doit être définie dans le code source sketch en modifiant une seule ligne. (voir source&code pour les explications)

configuration Tricopter

configuration Quadricopter+

configuration QuadricopterX

configuration Y6

configuration HEX6

configuration en plate forme gyro stabilisée sans gestion des moteurs

L’orientation de la carte doit absolument être respectée (flèche bleue)

Pour la construction d’un tricopter puissant, il est préférable d’alimenter les contrôleurs en étoile à partir de la batterie avec des câbles de même section et de même longueur.
Sinon, ils risqueraient de ne pas être alimentés uniformément, surtout lors de forts appels de courant.

Pour le reste, un simple récepteur 4 voies peut être utilisé.

Diagramme général

(merci à Berkely)

Paramètres de vol configurables

Une fois le soft téléchargé dans la carte Arduino, des paramètres par défaut sont configurés lors de la première mise en route.
Ces paramètres conviennent pour une configuration identique à la mienne (moteur/contrôleur/hélice/poids)

En revanche, une autre configuration demandera probablement d’autres paramètres pour être optimum.
Par exemple, si on veut utiliser un tricopter plus important pour faire du FPV.

Le TriWiiCopter utilise une contrôleur de système en boucle fermé pour assurer sa stabilité et sa manoeuvrabilité.
Comme la majorité des multirotors, c’est un régulateur Proportionnel-Intégral-Dérivé (PID) qui est utilisé.

Ce régulateur est traduit en lignes de code dans l’Arduino et essaye de corriger l’erreur calculée entre une variable mesurée à la sortie du contrôleur (valeur mesurée par les gyroscopes) et une consigne donnée en entrée (position des sticks) , en calculant une action adaptée sensée ajuster la sortie du procédé (ordre donné aux moteurs).

Le régulateur PID implique 3 paramètres distincts : le terme Proportionnel, le terme Intégral et le terme Dérivé. La variation de chacun de ces paramètres modifie l’efficacité de l’asservissement.
Un peu de littérature générale sur le sujet: http://fr.wikipedia.org/wiki/R%C3%A9gulateur_PID

Appliqué à un multirotor, les coefficients de ces paramètres peuvent être traduits par leur comportement:

  • le coefficient Proportionnel: à lui seul, il peut permettre d’obtenir une stabilisation. Ce coefficient détermine l’importance de l’action sur les moteurs en fonction des valeurs mesurées par les gyroscopes. Plus ce coefficient est élevé, plus le tricopter semblera plus « rigide » face à une déviation angulaire. S’il est trop faible, le tricopter paraitra mou et sera plus dur à maintenir en stationnaire (impression de savonnette). On peut « sentir » ce paramètre en maintenant à pleine main le tricopter et en asseyant de le bouger, plus le paramètre est élevé, plus l’opposition est importante. En pratique, il faut régler ce paramètre seul jusqu’à être à la limite d’obtention de petites oscillations de l’ensemble. S’il est trop élevé, le système devient instable en amplifiant les oscillations.
  • le coefficient Intégral: ce coefficient permet d’augmenter la précision de la position angulaire. En pratique, lorsque le tricopter est perturbé et que son angle change, le terme Intégral « garde en mémoire » cette perturbation et applique une correction sur les moteurs jusqu’à obtenir le bon angle. On peut voir ce terme comme un conservateur de cap. Typiquement si on tient à pleine main de tricopter et qu’on le force dans une position, les moteurs vont continuer un certain temps à contrer l’action. Sans ce terme, l’opposition ne dure pas aussi longtemps. On peut ainsi avoir un maintien précis de l’assiette même en présence de bourrasques, ou pendant l’effet de sol. Par contre l’augmentation de ce coefficient implique souvent une diminition de la vitesse de réaction et du coefficient Proportionnel, on ne peut pas tout avoir.
    Par rapport à l’algorithme classique du PID, j’ai choisi d’annuler ce terme en présence de fortes variations angulaires, ce qui permet entre autre d’avoir un comportement plus sain lors de loopings ou de virages serrés.
  • le coefficient Dérivé: ce coefficient permet au tricopter d’arriver plus rapidement à l’attitude souhaitée. En pratique il va amplifier la vitesse de réaction du système, et permet dans certains cas de rehausser le terme Proportionnel. Par contre, plus ce terme sera élevé en valeur absolue (il est tout le temps négatif), plus on observera de parasites dans la stabilisation.

Par défaut, lors de la première mise en route, le tricopter est initialisé avec des valeurs de coefficient qui devraient permettre de voler plus ou moins bien:

P: par défaut 3.5
I: par défaut: 0.04
D: par défaut -15

Pour la configuration du tricopter, j’ai imaginé une méthode qui permette de reconfigurer rapidement sur le terrain ces paramètres, sans même avoir à mettre hors tension le tricopter.
L’utilisation d’un enchainement de commande sur les manches de la radiocommande permet de reconfigurer séquentiellement ces paramètres.

Afin de voir les valeurs modifiées, un petit écran LCD série peut être connecté le temps de la configuration.
http://www.sparkfun.com/commerce/product_info.php?products_id=9394
Le LCD n’est pas indispensable lorsqu’on sait compter les changements effectués (utilisateurs avertis)

réglage des paramètres

Démarrage du tricopter
La mise en route des moteurs s’effectue en basculant le manche de dérive à fond à droite tout en ayant le stick des gaz en position minimale.
Par sécurité, le stick des gaz doit être en position minimale pour pouvoir armer les moteurs.
A présent les moteurs tournent au ralenti et l’appareil est prêt pour le vol.
Il n’est pas nécessaire que le tricopter soit positionné à plat, l’angle n’a pas d’importance.

Arrêt des moteurs
L’arrêt des moteurs s’effectue en basculant le manche de dérive à fond à gauche tout en ayant le stick des gaz en position minimale.

Étalonnage des gyroscopes

en configuration WMP uniquement:
Pour régler le neutre des gyroscopes, tricopter à l’arrêt, il faut mettre le manche de la dérive à fond à gauche + le manche du piqué à fond à bas + le manche du gaz en bas.
Le tricopter ne doit pas bouger durant cette étape, en revanche son inclinaison n’a pas d’influence (on peut même faire cette opération tricopter retourné)

en configuration WMP+NK:
Lorqu’un Nunchuk est relié au WMP, la phase de calibration doit être réalisée au moins une fois manuellement (même procédure que ci dessus). Par contre, lors de cette étape, il est impératif que le multirotor soit le plus horizontal possible. Si les accéléromètres indiquent des valeurs de +/- 400, c’est qu’ils n’ont pas été calibrés. Une fois calibrés, les valeurs des neutres sont enregistrées dans l’EEPROM, et il n’est pas nécessaire de le refaire à chaque vol.

Début du mode configuration
Mettre mettre le manche de la dérive à fond à droite et en même temps le manche du piqué à fond en haut. Ceci initialise le LCD, fait clignoter la led et le paramètre P est alors prêt à être configuré.

Sélection du paramètre à configurer
Dans le mode configuration, mettre le manche du piqué à fond en bas. Le paramètre sélectionné change alors de façon séquentielle et le nombre de clignotement de la LED indique quel paramètre est pointé.
1 clignotement = paramètre P
2 clignotement = paramètre I
3 clignotements = paramètre D
Le choix du paramètre est indiqué sur l’écran LCD par un caractère surligné.

Modification de la valeur du paramètre:
Dans le mode configuration, mettre le manche du roulis à fond à droite (incrémentation) ou à fond à gauche (décrémentation).
Pour le paramètre P: la variation se fait par pas de 0.1, avec une valeur minimale fixée à 0.
Pour le paramètre I: la variation se fait par pas de 0.005, avec une valeur minimale fixée à 0.
Pour le paramètre D: la variation se fait par pas de 1, avec une valeur maximale fixée à 0.
A chaque modification la LED clignote

Si on « compte » les opérations réalisées, on peut savoir sans LCD la valeur des paramètres.
Mais on peut vite être perdu si on fait trop de modifications.

Fin du mode configuration
Mettre mettre le manche de la dérive à fond à gauche et en même temps le manche du piqué à fond en haut.
La LED clignote à nouveau et le tricopter repasse dans un état prêt à voler.

Interface graphique

Il est désormais possible de configurer et de visualiser les paramètres via un PC (ou Mac) grâce à une interface graphique.
Cette interface est assez intuitive et utilise le même port COM de l’IDE Arduino.

1) La carte Arduino doit d’abord être connectée au PC en USB

2) Il faut ensuite lancer l’interface graphique (GUI) et sélectionner le bon port COM (le même que celui utilisé par l’IDE)

3) Il faut attendre quelques secondes le temps que le sketch MultiWii s’initialise dans l’Arduino.

4) Une fois cette initialisation faite (LED clignotante), on peut presser le bouton START.

5) Les paramètres de configuation peuvent être enfin lu et modifiés via READ/WRITE.

Si le nunchuk n’est pas utilisé, il ne sera simplement pas détecté et le mode stable sera inactif.
Le modèle sera toutefois opérationnel pour un vol sans accéléromètre.

La représentation graphique de l’inclinaison sur la droite n’est opérationnelle qu’avec un nunchuk.

Quelques photos du premier TriWiiCopter


Matériel RC utilisé

Quoi Référence
Moteur 3x Hobbycity Turnigy 3020 Brushless Outrunner Motor 1200kv
- autre choix moteur 3x Hobbycity Turnigy 2204-14T 19g Outrunner
Contrôleur 3x Hobbycity Hobbyking SS Series 8-10A ESC
- autre choix contrôleur 3x Hobbycity Turnigy Plush 10amp 9gram Speed Controller
LED 1x Hobbycity Turnigy High Density R/C LED Flexible Strip-Green
Hélice 3x Hobbycity GWS EP Propeller (DD-7035 178x89mm)
Servo 1x Hobbycity Turnigy MG90S Metal Gear Servo 1.8kg
Batterie 1x Hobbycity Turnigy 1300mAh 3S 25C Lipo Pack

On peut bien sûr prendre une autre configuration pour un tricopter plus imposant.
Les exemples ne manquent pas sur internet.

Pour avoir un ordre d’idée sur la puissance de la configuration proposée, mesures réalisées par Joël:

Vidéo

Code source et interface graphique

MultiWiiCopter Arduino code and GUI (source + exe): prendre la dernière version dans ce répertoire

http://code.google.com/p/multiwii/source/browse/#svn%2Ftags

un répertoire contient le sktech Arduino et l’autre contient l’exécutable+code source GUI

L’interface graphique est codée avec processing et nécessite que Java soit installé, c’est souvent le cas par défaut.
Si ce n’est pas le cas, on peut télécharger Java JRE sur le site de sun.com ou réutiliser celui fournit avec l’IDE Arduino

Le code TriWii à insérer dans l’Arduino doit être édité avant d’être compilé pour sélectionner le type d’ESC utilisé.
Il faut dé-commenter une de ces 2 lignes:

//#define MINTHROTTLE 1310 // for Turnigy Plush ESCs 10A
//#define MINTHROTTLE 1120 // for Super Simple ESCs 10A

C’est grâce à de nombreux exemples trouvés sur internet et longuement remaniés que j’ai pu développer ce soft.
A ma connaissance, il y a certaines parties inédites et réutilisables indépendamment (interface radio, interface LCD, commande du servo).
Je souhaite rendre disponible à mon tour ce code sous licence GPL pour qu’il serve à d’autres, directement dans un tricopter ou indirectement sur d’autres projets.
C’est grâce à cette approche open source que la communauté Arduino a pu si vite se développer.

Les limites en mémoire et en puissance de l’Arduino utilisé ici ne sont pas atteintes, et le nombre d’entrés I/O restantes est suffisamment important pour qu’on puisse intégrer pas mal d’autres capteurs: magnétomètre, accéléromètres, GPS, altimètre, capteur  ultra son, …
Mon but ici était de faire un tricopter minimaliste, typé acrobatie, plutôt destiné au pilotage.

J’ai aussi espoir que quelqu’un publiera un jour un algorithme qui soit capable d’ajuster les meilleurs paramètres automatiquement.

Où trouver les composants

Les arduino pro mini, la carte d’interface USB et le LCD sont disponibles chez sparkfun.
Les extensions Wii Motion Plus sont largement disponibles sur ebay.
Les éléments RC sont tous disponibles chez hobbycity.

Vidéo du TriWii de Joël

Foire aux questions

1) Quelques fois, les gyroscopes semblent inefficaces ou donnent un graphique très perturbé dans l’interface graphique

Il existe beaucoup de copies en circulation de Wii Motion Plus sur Ebay (au moins 4 types différents). Elles fonctionnent plutôt bien, mais l’électronique utilisée pour gérée les gyroscopes Invensense varie.
On peut essayer de jouer sur plusieurs facteurs pour améliorer la situation:

  • Ajouter des résistances de pull up sur le bus I2C. L’Atmel 328p en possède déjà en interne, mais elle ne sont pas toujours assez basses (longue distance, environnement perturbé)
  • Diminuer la tension d’alimentation du Wii Motion Plus. Un Wii Motion Plus est normalement alimenté sous 3.3V. La tension de 5V est possible car il y a un régulateur interne, mais sous 3.3V il arrive que le WMP fonctionne mieux.
  • Un Wii Motion Plus communique avec la WiiMote en I2C à une vitesse de 400KHz (fast mode). Il arrive (toujours vrai avec un WMP original) que cette vitesse ne soit pas adaptée avec un Arduino. Le sketch Arduino permet de dessendre cette vitesse à 100kHz (voir les premières lignes du code qui en font mention)

Heureusement, dans la majorité des cas, Il n’y a pas de problème concernant les copies utilisées.

2) Pourquoi est-ce important de définir une valeur minimum de commande pour chaque contrôleur moteur ?

Les moteurs doivent toujours tourner en vol quelque soit la situation:

  • Les contrôleurs et les moteurs ne sont pas tous parfaits, et il arrive qu’ils ne se synchronisent pas correctement à chaque démarrage. On ne peut pas prendre ce risque en vol.
  • Même en prenant ce risque, on constate un autre phénomène avec certains contrôleurs (notamment les Turgigy Plush): en dessous d’un certain seuil de commande, même si le moteur n’a pas le temps de s’arrêter, le temps de réaction lorqu’il repasse au dessus de ce seuil est très long et incompatible avec une stabilisation acceptable.

Si vous choisissez d’autres contrôleurs que les turnigy ou les super simple, c’est possible à condition d’adapter la valeur correspondante dans le code. Ce paramètre est très important, c’est pourquoi  le sketch ne pourra pas être compilé si ce paramètre n’est pas changé.

3) Les moteurs ne peuvent pas être armés via la radio commande

Chaque canal RC doit être configuré pour avoir une pleine plage d’utilisation (pour un signal PPM, c’est une variation basse/haute entre 1000 et 2000 micro secondes). Ces valeurs peuvent être observées dans l’interface graphique en haut à droite.

Sur les radio Graupner/Futaba, celà revient à configurer sur chaque voie une ATV à 125%.

Si cet intervalle est trop petit, la valeur pour armer le MultiWii ne pourra pas être atteinte, et donnera l’impression d’un MultiWii qui ne répond pas à la radio.

4) Soyez bien sûrs que les contrôleurs moteur peuvent bien supporter un taux de raffraichisseemnt à 490Hz.

C’est le cas pour les Turnigy plush et les Super Simple. Mais tous ne le font pas.
Notez bien que le prix d’un contrôleur est indépendant de cette caractéristique.

5) Choisir d’autres couples de contrôleur/moteur/hélice

C’est tout à fait faisable, les exemples sur internet ne manquent pas.

6) L’Arduino semble bien être initialisé (LED clignotante), mais l’interface graphique n’arrive pas à communiquer avec.

Si vous utilisez Windows, le port COM doit parfois être configuré à 155200bit/s.

7) Rien ne se passe

Vous utilisez peut-être un clone d’un Arduino officiel qui n’a pas les mêmes caractéristiques.
En l’absence de toute connection (RC,ESCs, WMP), l’Arduino doit quand même clignote une fois initialisé.

8) Parfois un moteur s’arrête en vol

C’est probablement du à l’utilisation un contrôleur Turnigy Plush. Il faut dans ce cas les configurer en timing HIGH.

, , , , , ,

  1. #1 by amourdurisk on 20 juin 2011 - 10:08

    Ca serait juste une question d’initialisation alors, c’est bon à savoir ;) effectivement un petit changement dans le soft devrait pouvoir être une solution, malheureusement ici les posts semblent rester longtemps sans réponse ces derniers temps, surement à cause des vacances proches.
    Sinon les ESC que tu proposes sont sensés bien fonctionner, j’ai les mêmes en 18-20 A et ça marche nickel.
    Bonne continuation ;)

    ADR

  2. #2 by greuu on 21 juin 2011 - 20:15

    Merci pour cette réponse amourdurisk
    J’en appelle au bonnes âmes qui savent « bidouiller » dans le soft

  3. #3 by Grandjacot on 5 juillet 2011 - 10:12

    Bonjour,quelqu’un peut-il résoudre mon problème ?

    Un ami a programmé mon arduino, mais les moteur ne démarrent pas en mettant la dérive à droite et gaz au mini.
    J’ai une radio multiplex Profi 3010.

  4. #4 by yoyo13 on 6 juillet 2011 - 09:19

    yoyo13 :
    Salut a tous
    Dans la dernière version 1.7 il y a possibilité de programmer en Y4 , mais ou trouver l’affectation des moteurs et les sens de rotation de ceux ci ?
    Merci.

  5. #5 by amourdurisk on 11 juillet 2011 - 17:58

    yoyo13 :

    yoyo13 :
    Salut a tous
    Dans la dernière version 1.7 il y a possibilité de programmer en Y4 , mais ou trouver l’affectation des moteurs et les sens de rotation de ceux ci ?
    Merci.

    Salut Yoyo,

    Je n’ai pas la solution mais ce qui me parait logique, serait :

    avant gauche : rotation horaire
    avant droite : rotation anti-horaire
    arrière dessus dessous : peu importe, du moment qu’ils tournent dans des sens opposés.

    Pour l’affectation, essaie :
    avant G :3
    avant D :10
    arrière dessus :11
    arrière dessous :9

    Sinon :
    avant G 11
    avant D 10
    arrière dessus 3
    arrière dessous 9

    ADR

  6. #6 by yoyo13 on 11 juillet 2011 - 20:00

    Merci pour ta réponse mais c’est vrai que j’ai fait par déduction et il vole depuis 3 jours …alros je vous donne mon branchement
    avant G :3 horaire
    avant D :10 anti
    arrière dessus :11 anti
    arrière dessous :9 horaire
    Voila sa vole correct mais bon , il perd souvent l’anticouple et ce met a partir sur son lacet …… et il n’aime pas du tout le marches arrières en translation il perd l’anticouple aussi ……………est ce car le soft du Y4 n’est pas encore abouti ou alors un pb de mon modèle , je me pose la question

  7. #7 by moonshine972 on 18 juillet 2011 - 15:55

    Bonjour a tous,

    j’ai terminé mon quadwii mais l’or du test il sait retourné comme une crêpe…. résultat 4 hélices cassé et câble esc coupé mais tout ça est réparé.

    j’ai les deux moteurs a l’avant qui ne démarre pas comme les moteurs a l’arriere.

    a l’arriére les deux tourne a environ 1400 tours alors qu’a l’avant soit ils tournent ou …..pas sauf quand j’accélère un bon cou mais je sais que quand il sait retourné c’était du a ca.
    alors jai inversé les brenchement des moteurs sur l’arduino pour vérifié si sa venait de la mais du cout j’ai toujours le meme problème.

    savez vous d’ou peu venir ce probleme?

    j’ai 4 esc turnigy plush 10A
    et 4 moteurs Turnigy T 2204-1450 kv

    Merci de votre aide

  8. #8 by moonshine972 on 19 juillet 2011 - 20:19

    voici une capture d’ecran de mon multiwiiconf :

    http://imageshack.us/photo/my-images/194/dronew.jpg/

    j’ai deux moteurs qui ne tournent pas a la meme vitesse

    j’attends vos retour
    Merci

  9. #9 by smulti on 12 septembre 2011 - 16:14

    2 moonshine972

    Change MIDRC Value

  10. #10 by Rei on 15 septembre 2011 - 18:17

    bonjour, gros probleme lorsque je met en marche mon accelerometre : les sticks cotes droite ( devant derriere, droite et gauche) ne semblent pas fonctionner en vol pourtant dans le GUI ils fonctionnent bien…
    j’enleve l’accelerometre les sticks fonctionnent…
    une idée ??
    P.S : j’ai un BMA020
    a++

  11. #11 by Xavier on 18 septembre 2011 - 19:59

    Bonsoir ,

    Tout d’abord bravo pour votre tutorial .
    Juste une question , à quoi vous sert le servos sur la liste de ce que l’on doit prendre ?
    J’avoue ne pas trouver l’utiliter .
    Comment déterminer la taille de l’engin pour les moteur que vous utilisés ?
    En espérant qu’hobbicity ce dépêche à remettre du stock :)

    Bonne soirée

  12. #12 by Neuronix on 16 octobre 2011 - 14:59

    Bonjour, je voudrais me lancer dans ce projet mais je voudrais savoir si avec un arduino duemilanove cela fonctionnerait et quelle télécommande utiliser?
    merci de me répondre
    @+

  13. #13 by Neuronix on 16 octobre 2011 - 15:06

    Et aussi quel récépteur utiliser?
    dsl pour le double post

  14. #14 by Neuronix on 18 octobre 2011 - 18:15

    petit up…

  15. #15 by Pierre on 1 décembre 2011 - 18:05

    Bonjour encore merci à Alex pour tout ce travail. J’ai essayé également le tricopter. Il est instable et j’ai du mal à comprendre pourquoi … Lorsque je regarde l’interface après avoir « démarrer mes moteurs » sans les cabler j’ai une commande du moteur droit à 1579 , 1436 gauche et 1357 arrière. J’ai toujours une différence entre les trois. Avez vous une idée ? Même en déconnectant la télécommande j’ai le nunchuck qui s’active 10s et j’ai toujours une différence entre le moteur gauche et le moteur droit. Je suis avec la config 1.7. Merci d’avance pour vos réponses.

  16. #16 by chris on 29 décembre 2011 - 13:02

    bonjour j ai une colle !!!
    jai tous monte mais je n arrive pas a rentrer le programme dans l arduino !
    jai tout teste le port com un autre ordi etc…
    par contre mon arduino est un 168 kits en 5vls.
    j ai un message derreur qui me parle de data …

    http://my.ebay.fr/ws/eBayISAPI.dll?MyEbayBeta&MyEbay=&gbh=1&guest=1

    merci a tous par avance….

  17. #17 by amourdurisk on 1 janvier 2012 - 15:55

    Salut chris,

    Mets la ligne :
    #define LCD_CONF en commentaire, c’est à dire :
    //#define LCD_CONF

  18. #18 by rsmk on 9 janvier 2012 - 17:43

    Bonjour à tous et bonne année!

    depuis la semaine dernière je me suis remis à bricoler « WiiCopter » et j’adore! Merci Alex!

    Après le QuadriWiiCopter pour l’extérieur, le MiniQuadriWii pour dehors comme pour le vol en salle, je bricole un petit modèle qui devrait faire environ 120gr en ordre de vol….

    J’ai bien avancé mais il y a un hic:

    j’arme mes moteurs sans problème, mais je n’arrrive plus à les désarmer…. ils ne s’arrètent pas alors que la LED verte de l’Arduino s’éteint quand je désarme sur la RC.
    J’ai remarqué aussi que la vitesse de mes moteurs ne varient pas quelque soit la position du stick des gaz sur la RC…

    Lorsque je relie l’Arduino au PC, sur l’interface tout semble normal et notamment les jauges de Throtlle, Yaw, Pitch et Roll varient bien suivant la postion des commandes de la RC. Les jauges montrent bien aussi que j’arme et désarme sans problème.

    J’ai « calibré » mes ESC au départ avant de les souder sur ma PCB « miniature ». Les moteurs fonctionnent parfaitement et leur régime varie bien en fonction des gaz sur la RC quand j’ai testé hors montage WMP+Arduino

    Les ESC en question sont ceux-là:
    http://www.funrctoys.com/eShopWeb/product-8748-CONTROLEUR_3A_BEC de la marque « ZTW » si ça vous parle ou avant que vous ne les achetiez si l’idée vous venait de concevoir un rikikiWiiCopter pour voler en salle cet hiver!

    Est-ce un problème d’incompatibilité entre ces contrôleurs (taux de rafraichissement….ou autre) et le microcontrôleur Arduino? Dans ce cas peut-on modifier quelques lignes du programme code pour les rendre compatibles? Y-a t’il une ligne sur le taux de rafraichissement pour les ESC à modifier? J’ai aussi essayé de modifier MINCOMMAND et MIDRC mais pas mieux.

    Merci beaucoup à vous pour vos suggestions si ça vous dit quelquechose.

    A+

  19. #19 by rsmk on 9 janvier 2012 - 18:07

    bien entendu j’ai mis l’ATV à 125% sur ma RC aussi bien à droite qu’à gauche sur ma commande du lacet (YAW). Idem sur la commande des gaz…. ;)

  20. #20 by jérome on 15 janvier 2012 - 17:37

    Bonjour,
    j’ai construit mon tri mais lors des test j’ai un problème: lorsque je branche l’arduino sur le PC seul, tout semble fonctionner correctement, le NK est en vert et le voyant activé du NK est vert aussi donc si j’ai bien compris, c’est le mode stable.Je vois bien lévolution des signaux sur le graph ….
    lorsque je fais le test en branchant le recepteur pour vérifier par rapport à mes commandes, le NK se désactive et il m’est alors impossible de le réactiver.
    De plus, lorsque je lance les moteurs, ils tournent au ralenti (normal) et qd je monte à peine les gaz, le moteur avt droit accelère continuellement sans action de ma part.
    De plus, le multiwiiconf plante régulierement

    auriez vous une solution à mes problèmes car là je sèche
    d’avance merci

  21. #21 by Jérome on 17 janvier 2012 - 16:49

    Re bonjour
    mon pb d’activation de NK est résolu mais impossible de le décoller (2 essais, 2 retournements, 5 hélices cassées). malgré le pb de moteur avant droit réglé (mauvaise configuration des capteurs apparemment).

  22. #22 by gregoire on 22 janvier 2012 - 22:10

    bonjour

    j ai fini la construction de mon triwii mais j’ai un probleme. il y a un moteur sur les trois qui demarre bien et les deux autres c’est aléatoire et des fois ils arretent.avez vous une idée (variateur hobby king).est ce que c’est normal que les moteur demarre avec la commande des ailerons.

    bonne soirée

  23. #23 by thomas on 14 février 2012 - 23:33

    bonjour,

    Je comprend pas à quoi sert le servo ?

  24. #24 by Jérôme on 19 février 2012 - 18:46

    Bonjour
    @ gregoire : les moteurs qui s’arrêtent le font ils lorsqu’ils doivent ralentir pour redresser le triwii? si c’est le cas j’ai eu le même problème, il faut alors reprogrammer l’adruino en montant la valeur MINTHROLLE moi je l’ai mise à 1200, le régime minimum des moteurs est alors augmenté et la résistance de l’hélice n’arrêtera pas le moteur.

    @ thomas : le servo sert à orienter le moteur arrière à la manière de l’anticouple d’un hélico CP. Cela s’explique par le fait que les 3 moteurs tournant dans le même sens, cela entraine un mouvement de lacet naturel du triwii. en orientant le moteur arrière à l’aide de ce servo, il s’agit de conter ce mouvement. C’est pour cela que c’est inutile sur un quadri, car sur ceux ci, les sens des moteurs sont inversés 2 par 2 et alors le mouvement de lacet se compense de lui même.

    Espérant avoir pu vous aider…

  25. #25 by tsim79 on 19 février 2012 - 22:31

    Bonsoir,
    Je m’excuse, j’ai découvert votre site internet et je me suis dit « WAHOUUU je veux en faire un moi aussi! » d’autant que je possède déjà un Arduino UNO.
    Cependant, quand j’ai été voir sur le site de Hobbyking, la plupart des références conseillés sont indisponibles…
    J’ai bien trouvé une alternative:
    - Hobbyking Super Mini Quadcopter Frame with Motors (445mm),
    Il y a un châssis et 4 moteurs de 2800Kv.
    Le truc concerne les ESC… Comment faire pour trouver un bon modèle de ESC de 10A mini, qui respectent le fameux « taux de rafraichissement de 490Hz » et qui peux commander les moteurs du kit de 2800Kv tout en restant programmable par télécommande!?
    Merci de votre aide.

  26. #26 by jérome on 20 février 2012 - 05:28

    Au pire, les produits dont le statut est « BACKORDER » ne le sont jamais longtemps, environ 2 semaines en général.

    @ grégoire : pour ton problème de coupure moteur, vérifie que ta lipo est correctement chargée car les vario HK se coupent vers 9.3V (3.1V par élément). Et pour ton démarrage avec les ailerons, vérifie l’affectation des voies sur ta radio et sur ton récepteur.

  27. #27 by tsim79 on 20 février 2012 - 11:39

    Ha ouais 2 semaines au plus… Mmmh j’ai découvert le site la dernière semaine de décembre 2011… Et les références données pour le triwiicopter sont toujours back-order au jour d’aujourd’hui.
    Au final avec la référence que j’ai donné, pour peu d’euros il y a un châssis 4 moteur léger de 2800Kv. Cela ne vaut il pas le cout!? Après pour les ESC ils faudraient quoi qui respect le taux de rafraîchissement de 490Hz?

  28. #28 by jerome on 20 février 2012 - 20:50

    Parfois les produits ont tellement de succes qu ils sont bk des qu ils arrivent a l entrepot mais on n est pas la pour debattre sur hk.
    Sinon oui la frame peut valoir le coup

  29. #29 by tsim79 on 21 février 2012 - 00:01

    jerome :
    Parfois les produits ont tellement de succes qu ils sont bk des qu ils arrivent a l entrepot mais on n est pas la pour debattre sur hk.
    Sinon oui la frame peut valoir le coup

    Ok merci pour le conseil de la frame. Je ne voulais pas remettre en question HobbyKing, ils m’ont l’air chouette, et puis pour l’instant tout le monde en parle donc il y a une raison.
    - Est ce que le fait que les moteurs de la frame soit plus rapide à une incidence sur l’ensemble du quad wiicopter!?
    - J’avais repéré les ESC suivant TURNIGY_Plush_12amp_2A_BEC_BESC de 13g, ils sont plush ;-) , mais que vaut ce modèle Hobby_King_20A_ESC_3A_UBEC de 30g???

  30. #30 by jerome on 21 février 2012 - 06:41

    Les plush sont de très bons vario, les HK SS 20A tournent bien aussi, j’utilise d’ailleurs ces derniers sur mon tri

  31. #31 by jerome on 21 février 2012 - 09:44

    sinon pour l’incidence de la vitesse moteur, il faudra prévoir des hélices plus petites. en général chez hk ils disent la portée que tu obtiens avec le moteur en fonction des hélices qu’ils conseillent ainsi que la consommation du moteur.après à toi de choisir en fonction du poids de ton modèle et ce que tu veux en faire.

  32. #32 by Alfa on 26 mars 2012 - 20:26

    quel dommage que la plus part des éléments soit plus dispo
    je vais chercher des équivalent si je trouve je posterai
    AG

  33. #33 by Alfa on 9 avril 2012 - 15:31

    Bon en fait Ya tout biensur sur le net donc desole ce TUTO est biensur d actualite.

    autre fournisseur : lextronic …

    work in progress
    AG

  34. #34 by gregoire72 on 3 mai 2012 - 20:37

    bonjour
    je me suis lancé dans le triwiicopeter et j’essai de faire les réglages mais j’ai un problème avec l’axe de lacet il oscille en permanence moteur arrêté. quand je branche multiwiiconfigu j’ai la valeur du yaw qui varie de 0 à 1 en permanence tout comme le servo. alors que rien en bouge.
    auriez vous un conseil
    .
    bonne soirée

  35. #35 by Alfa on 14 mai 2012 - 13:23

    VDS kit Wii Y6 + 6 plush 30 + 6 moteurs + arduino + nunchuk + wii mot + usb …
    photo sur : http://www.mk-fr.info/forum/index.php?topic=7466.msg109479#msg109479

    Détails :
    + 6 TURNIGY Plush 30amp Speed Controller
    + 6 Turnigy 2209 28turn 1050kv 15A Outrunner
    + Arduino Pro Mini
    + Wii Motion Plus
    + Nunchuk
    + Adaptateur USB-série
    + Ecran LCD série
    + Convertisseur I2C -> PWM 4/6/8 voies
    + Chassis maison (cadeau) sandwich carbone depron + tube résine
    + Dome transparent
    + Cable silicone
    + connectique complète des moteurs

    Format du colis : 60 / 60 /10 avec le chassis.
    (possibilité de pas prendre le chassis de toute facon c ‘est cadeau …. c ‘est vous qui voyez)

    Prix de vente : 208 euros
    Ajoutez le prix du port selon votre choix
    Mode de paiement : chèque

    Antoine
    0602032950

  36. #36 by Jérome on 16 mai 2012 - 11:53

    Bonjour
    @Grégoire: j’ai la même chose depuis que je lui ai mis des patins souple pour faire amortisseur mais dès que je pets les moteurs en marche plus de problèmes. Si ça le fait encore en vol c’est que ton PID en YAW est trop fort abaisse le paramètre P.

  37. #37 by Jérôme on 20 mai 2012 - 12:28

    Rebonjour
    Je fais ce poste (desole pour le double poste) ^pour suggérer une idée pour une prochaine mise à jour du soft multiwii:
    sur MON tricoptere (je ne sais pas si ça la fait avec les vôtres aussi) les paramètre PID ne sont pas les mêmes en mode normal et en autostable. L’idée serai de, grâce à multiwiiconf, pouvoir stocker 2 réglages différents de PID avec la possibilité de passer de l’un à l’autre grâce à un switch de la radio genre idle up ou autre

  38. #38 by léo on 1 juillet 2012 - 12:49

    Bonjour Bonjour!!
    J’ai fbriqué mon triwiicopter depuis un bon petit moment.Voici ma config:

    3X-Turnigy 3020 Brushless Outrunner Motor 1800k
    3X-Hobbyking SS Series 8-10A ESC
    1X-Turnigy MG90S Metal Gear Servo
    1X-Turnigy 1300mAh 3S 25C Lipo Pack
    1X- Turnigy 9X 2.4GHz 8Ch Receiver (V2)
    1X-Arduino Pro mini 328-5V/16MHz
    jai eu beau tenter toute les différentes configurations pour mon arduino,rien n’a fait,il m’es IMPOSSIBLE de faire demarrer mes moteurs!!! pourtant ils me font un biiiiiip lorsque je branche la batterie,mais c’est tout!!! s’il vous plais aidés moi !!!!

  39. #39 by bastien on 2 juillet 2012 - 11:41

    Bonjour,

    Je suis complètement novice dans l’aéromodélisme, et je ne sais pas du tout quelle radiocommande choisir… J’ai cherché la MX16S, mais peut-être est-elle trop pointue pour seulement ce projet?
    Que me conseillez-vous?
    Merci de votre aide…

  40. #40 by andro on 15 août 2012 - 14:25

    Bonjour tous,

    J’ai une question au niveau de la commande ( émetteur& récepteur).
    Quelqu’un peut il m’expliquer comment est gérer la partie commande?

    dites moi si j’ai bon :

    -le pilote donne un ordre au drone;
    -la radio envoi l’info au récepteur qui se trouve sur le drone;
    -l’arduino récupère la commande du récepteur;
    -l’arduino traite l’info et commande a son tour les moteurs via les variateurs.

    1) jusqu’a la tout est bon ?

    Le PID permet la stabilisation du drone, cela veut dire que le PID gere en permanence la vitesse des moteurs?
    lorsqu’on envoi une commande ( par ex. aller a gauche) le PID est shunté temporairement? ( le temps de la commande)

    merci par avance de l’éclaircissement que vous pourriez m’apporter.

  41. #41 by Jérôme on 25 octobre 2012 - 17:57

    Bon je vais essayer de vous donner une réponse même si depuis le temps le vos problèmes doivent être résolu j’espère.
    Au pire ça sera pour la postérité.

    @Léo:
    Essaie de brancher un à un tes moteurs sur la voie 3 de ton récepteur et actionner les gaz de la radio pour voir si déjà ils tournent en direct (bien sûr
    sans hélice).
    Sinon la radio n’est peur être pas configurée en mode avion.
    Ou bien ton programme n’est pas saisi dans l’arduino.

    @Bastien:
    Pour ma part je pilote avec une turnigy 9x de chez hobbyking (firmware modifié ER9X) je pilote aussi hélico et mes avion avec, pas de problème depuis plus d’1 an que je l’ai.

    @Andro:
    oui tout est bon.
    oui le PID gère les moteurs en permanence ce qui lui permet de garder son assiette en cas de vent ou autre perturbation qui le ferai bouger indépendamment de ta volonté.
    Non lors de l’envoi d’une commande le PID n’est pas shunté, seulement un de ses nombreux paramètres est modifié mais il reste actif pour éviter que le modèle ne s’emballe

  42. #42 by Julien on 6 décembre 2012 - 18:58

    Bonjour à tous.

    Novice en la matière, je me lance dans la construction dans quadricopter sur base d’arduino et Wii motion + Nunchck.
    Avant d’acheter le matériel complet et lancer la construction j’aimerais réaliser d’abord l’électronique.

    J’ai donc connecter ma carte Arduino UNO au wiimotion sans le nunchuck.
    J’ai chargé le programme dans la carte arduino en décommentant uniquement la ligne #define QUADX.
    Mais quand je lance l’interface, je ne vois pas la courbe évoluer.

    Celle-ci devrait t’elle bouger?
    Y a t’il d’autres paramètres a dé-commenter ?
    Mon Wii motion etait neuf. Que puis je faire pour tester son bon fonctionnement ?

    Par la suite je souhaite ajouter le nunchuck.
    Quel sont les lignes a décommenter ?

    Merci d’avance pour vos éventuelles réponses.

  43. #43 by renbou on 17 juin 2014 - 00:05

    bonsoir
    ma configuration :pour mon tricopter
    3 moteurs KV 1500rpm/v – 3 esc torpedo basic serie 18A – un servo – 1 recepteur R700 de graupnerl
    -wi motion plus – _nunchuck – arduino duemilanove.
    Apres avoir connecté tout ca , j ai testé et comme ce n’été pas brillant, j ai modifié et installé desinstallé multiwi 1.9;2 et l a suite bref maintenant ma carte aduino connecté le voyant vert allumé mais la led orange de test reste allumée entrenant dans multiconf un message d ereur 12c et des chifre j ai multiwi 2-1.je ne sais plus quoi faire. peut on intégrer un soft dans la carte sans débrancher toutes les connections.. merci à tous

  44. #44 by rapiette on 26 novembre 2014 - 00:40

    bonjour j ai l arduino duemilanove . lorsque je telecharge le multiwi 2.1 la led verte reste allumée ( normall ) mais la led L orange reste elle aussi allumée entrainent des erreurs dans le 12c
    Ce sujet a été traité mais je ne le retrouve plus.

  45. #45 by gagnerdelargent.tv on 20 janvier 2016 - 17:54

    Une tres bonne lecture, merci !!!

  46. #46 by Dj DaViD on 20 mars 2016 - 13:55

    Bonjour a tous !
    j’ai une radio devo 7E avec deviation et la puce nrf24l01
    j’aimerai savoir comment je pourrais controlé le Arduino
    avec ma radio devo7e sans utilisé un RX ? puisque la puce nrf24l01 peux le remplacé .
    merci

  47. #47 by blade and soul gold on 26 mai 2016 - 02:32

    The youre really talented .

(ne sera pas publié)