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 Alex76540 on 29 mars 2011 - 21:05

    Bonsoir à tous

    Ma Question va peut paraitre idiote mais je n’arrive pas modifier les paramètres PID avec MultiWIIconfig, comme fait ton pour modifier les paramètre ?

    D’avance merci

  2. #2 by Xbo on 30 mars 2011 - 16:33

    Salut Alex76540,

    Pour modifier les PID tu cliques sur la case concernée, puis tout en maintenant cliqué tu déplaces ta souris sur la droite ou la gauche.

  3. #3 by pp340 on 30 mars 2011 - 21:18

    Bonsoir Alex ,

    J’essaie de charger la version 1.preter 7 pour tester mon bicopter, mais le programme bute notamment sur le VBAT.
    J’ai récupéré l’ensemble platine WM+ NUNCHUK que j’avais sur mon tri avec la version 1.5.
    L’évolution des paramètres configurables étant importante entre ces deux versions, peux-tu m’éclairer sur les lignes obligatoires à commenter ou décommenter dans la 1.7.
    Merci de ton aide

    A+

  4. #4 by pp340 on 31 mars 2011 - 08:29

    Bonjour,

    J’ai pu charger la version 1.preter 7.
    J’avais oublié de définir le type de gyro et d’accéléromètre.
    Je vais pouvoir essayer.
    Merci

  5. #5 by Skyjet on 31 mars 2011 - 16:31

    Bonjour,

    Tout d’abord merci à Alex pour ce projet qui défonce tout! Ainsi qu’a tout ceux qui aide les autres sur ce projet!

    A ce propos^^

    J’ai quelques questions :

    Je me suis lancé dans la version TRI:

    1°) Vaut-t-il mieux placer le WMP au centre de la bête ou le NK?
    Car j’ai due mal à configurer le PID… En faite, le tri est stable à puissance réduite mais dès que j’accélère, les moteurs s’emballent…

    2°) Aussi, je me demandais si la taille du Tri influaient sur la stabilité?
    Car le mien fait 80 cm de diamètre ==> très grand par rapport à celui d’Alex.
    – Cela amplifie t-il les oscillations capté par le gyro?

    3°) Enfin je trouve que mes valeurs sur le P sont très petites (quand mon système semble légèrement stable, du moins à faible vitesse) ==> 1.1!

    Merci d’avance!

  6. #6 by ced on 31 mars 2011 - 17:38

    bonsoir, j’ai un probleme pour armer mes moteurs. Au vue de tous les anciens messages j’ai vérifié la connectique, l’ordre des voies du récépteur, calibré chaque moteur indépendament. Mais rien à faire ils ne veulent pas démarrer , tout me parait ok dans l’interface graphique de processing. J’ai regardé au voltmetre sur les sorties 9,10,11 j’ai 2.4 v mais comme c’est du pwm ca ne revele rien du tout. Si quelqu’un à une idée à me soumetre.
    Merci

  7. #7 by RSMK on 2 avril 2011 - 18:13

    Bonsoir Ced,

    je suppose que dans l’interface graphique tu vois bien la « jauge » des differentes commandes bouger qd tu manipules les sticks de ta RC…

    si oui, as tu essayé en modifiant ton ATV à 125% sur le lacet (vers la droite pour armer mais aussi vers la gauche sinon tu ne pourra pas couper tes moteurs!) et les gaz (vers le bas)?

    c’est souvent la manip à faire!

  8. #8 by RSMK on 3 avril 2011 - 17:09

    bonjour à tous!

    je suis en 2S et non en 3S….

    du coup je n’arrive pas à faire les bonnes modif des valeurs VBAT et BATLEVEL dans le programme code pour que le buzzer cesse de sonner!

    qqun a-t’il une idée?

    merci de votre aide!

    A plus

  9. #9 by ced on 3 avril 2011 - 18:16

    RSMK :
    Bonsoir Ced,
    je suppose que dans l’interface graphique tu vois bien la « jauge » des differentes commandes bouger qd tu manipules les sticks de ta RC…
    si oui, as tu essayé en modifiant ton ATV à 125% sur le lacet (vers la droite pour armer mais aussi vers la gauche sinon tu ne pourra pas couper tes moteurs!) et les gaz (vers le bas)?
    c’est souvent la manip à faire!

    salut, où modifier cette valeur de l’ATV sur le lacet ? j’ai vu dans le fichier pde la variable MINCOMMAND .
    Merci

  10. #10 by RSMK on 3 avril 2011 - 19:51

    non Ced tu dois faire la modif via le menu de ta RC et non via l’interface!

  11. #11 by ced on 3 avril 2011 - 20:32

    ok je vais regarder ca , mais faut que je fasse un cable pour pouvoir modifier la conf c’est une hobby king HK-T6A-M2 2.4 ghz

  12. #12 by RSMK on 4 avril 2011 - 08:57

    Rebonjour à tous!

    donc je bidouille je cherche mais toujours ce buzzer qui sonne ou ne sonne pas qd il faut…

    je suis maintenant en 2S et je pense devoir modifier les resistances R1 et R2 qui classiquement font respectivement 33K et 51K pour du 3S en LiPo!

    je crois que c’est ce pont diviseur de tension que je dois modifier pour que la ligne de code corresponde car on a [0V;5V]->[0;1023] on analog V_BATPIN mais moi avec ma LiPo en 2S je n’ai au max que 3.3V (soit 1.6 fois moins)

    alors j’ai essayé en divisant les valeurs seuils de 1.6 des 3 VBATLEVEL…

    ou en multipliant ici vbat = (analogRead(V_BATPIN)*16 / VBATSCALE)*1.6

    mais rien n’y fait….

    qqun saurait-il me sauver de cette impasse??

    merci de votre aide

  13. #13 by ced on 4 avril 2011 - 09:26

    salut, je suis pas trés calé en modélisme mais un peu plus en électronique.
    Pour la valeur de vbatt regarde ici http://www.electronique-radioamateur.fr/elec/schema/calcul-diviseur-tension.php
    rentre la tension de la lipo 2s soit 7.4v et les résistances du pont diviseur
    qui donner pour 7.4v une tension de 4.493v pour une valeur analogique numérique de 1023
    4.93 correspond à 1023
    je ne sais pas quel seuil de tension tu veux faire beeper le buzzer.
    si c’est pour 4v la valeur A/N est 910 (6.58v réel)
    3 v –> 680 (4.92v réel)

  14. #14 by ced on 4 avril 2011 - 09:27

    je reposte mon message en corrigeant deux trois choses:

    salut, je suis pas trés calé en modélisme mais un peu plus en électronique.
    Pour la valeur de vbatt regarde ici http://www.electronique-radioamateur.fr/elec/schema/calcul-diviseur-tension.php
    rentre la tension de la lipo 2s soit 7.4v et les résistances du pont diviseur
    qui donne pour 7.4v une tension de 4.493v pour une valeur analogique numérique de 1023
    4.493 correspond à 1023
    je ne sais pas quel seuil de tension tu veux faire beeper le buzzer.
    si c’est pour 4v la valeur A/N est 910 (6.58v réel)
    3 v –> 680 (4.92v réel)

  15. #15 by RSMK on 4 avril 2011 - 10:06

    merci Ced!

    dis moi ce serait pas plutôt 51K pour R1 et 33K pour R2 car dans ce cas avec du 11.8V cad du 3S on a Vout à 5V et en 2S du Vout à 3.3V sinon avec les valeurs inverses des resistances on a bien en 2S du 5V mais on passe à 7.2Vout avec du 3S….

  16. #16 by RSMK on 4 avril 2011 - 10:17

    et si je remplace R1 par 22K au lieu de 51k j’obtiens avec une LiPo 2S du 5V en Vout

    mais de changer seulement cette resistance R1 sans changer R2 pose t’il un pb pour le reste du montage (sans doute question bete mais je ne suis pas electronicien…)

    merci

  17. #17 by ced on 4 avril 2011 - 10:47

    je n’ai pas le schéma de montage , tu peux me passer un lien ?
    si tu changes R1 tu vas changer le rapport de division mais ca peut marcher en laissant les valeurs de résistances par contre il faut changer la valeur de la variable vbatt.

  18. #18 by RSMK on 4 avril 2011 - 14:25

    Re Ced! alors figure toi qu’en inversant les 2 resistances en question cad qu’en mettant R2 à la place de R1 et vis versa, j’obtiens la bonne tension soit quasi 5V pour une LiPo en 2S…

    en jouant sur les valeurs de BATLEVEL à savoir que la valeur de 860 pour le 3ème niveau d’alerte (en version 1.4) ça marche et déclenche le Buzzer comme il faut!

    donc ne pas souder directement les resistances sur la PCB mais sur des petits connecteurs de façon à pouvoir les interchanger si l’on passe d’une LiPo 3s à une LiPo 2S.

    Merci encore de ton aide Ced!

    Bonne journée à tous

  19. #19 by fryzer on 6 avril 2011 - 09:55

    Bonjour,
    Je suis en train de me faire un MultiWii en conf Y6. Et en lisant le soft a chargé sur l’arduino on voit qu’il est dit que la stabilisation de la caméra n’est pas compatible avec y6, HEX6 et HEX6X.

    Ma question est pourquoi ?

  20. #20 by plastic on 6 avril 2011 - 15:16

    slt a tous
    j’ai besoin d’un petit coup de main
    je viens de terminer mon quadri mais je sèche sur les branchements du récepteur .
    ma télécommande futaba t6exap
    le recepteur : esky er635a(6ch)
    ch1=aileron servo
    ch2=elevator servo
    ch3=throttle servo
    ch4=rudder servo
    ch4&ch6=not used
    B=battery connector
    comment je doit brancher mon récepteur a votre avis ?
    d2=ch3
    d4=ch2
    d5=…
    d6=ch4
    a votre avis?

  21. #21 by fryzer on 6 avril 2011 - 15:38

    Salut Plastic,
    Alors pour moi après recherche.
    D4 = Roll = voie 1
    D5 = Pitch = voie 2
    D2 = Throttle = voie 3
    D6 = Yaw = voie 4
    D7 = Mode = voie 5

    @+

  22. #22 by plastic on 6 avril 2011 - 20:02

    merci fryzer
    je test
    à+

  23. #23 by patrick on 7 avril 2011 - 07:08

    Bonjour, je viens de finir le montage de mon quadri, mais g une soucis.
    Je ne sais pas comment régler ma radio (mode eli ou avion, réglage)….
    J’ai une optic 6, sur l’interface j’ai bien les différentes courbes pour le wm+ mais ma radio non.
    Pourriez vous m’aider?

    Merci

  24. #24 by fryzer on 8 avril 2011 - 10:11

    Salut Patrick,

    Alors la radio en mode avion, car il ne faut pas de mixage des voies.
    Ensuite il y a surement des voies que tu dois inverser, mais là il faudra le tester, car cela dépend des radios.
    Moi je suis en Futaba et je crois que c’est les voies gaz et profondeur.
    @+

  25. #25 by pp340 on 8 avril 2011 - 21:30

    Bonsoir,

    J’ai monté une carte wii à base d’arduino nano, WM+ et nunchuk sur un ancien tricopter. J’ai télécharger la version 1.7 preter, et tout semble correct sur l’interface.
    Quand je connecte l’ensemble radio la commande du servo n’est pas active, et je n’arrive pas à armer les moteurs. Sur carte nano la led rouge de tension est allumée, et une autre led jaune clignote.
    Est-ce du à un problème de câblage ?
    Merci de vos suggestions

  26. #26 by patrick on 9 avril 2011 - 08:40

    J’ai essayé d’inverser les voix mais rien y fait.
    J’ai installé une led en d13, elle clignote rapidement pendant 1s puis clignote toute les seconde environs.(montage perso avec un atmega328).

  27. #27 by patrick on 9 avril 2011 - 09:21

    Édit: je vien de faire une calibration, maintenant la led clignote rapidement pendant 1s puis s’éteint.

  28. #28 by patrick on 9 avril 2011 - 16:07

    Édit 2: Problème résolu!!!
    C t un probleme de code… j’avais supprimer les commentaires pour cette ligne ://#define SERIAL_SUM_PPM ROLL,PITCH,THROTTLE,YAW,AUX1,AUX2,CAMPITCH,CAMROLL //For Robe/Hitec/Futaba

    Tout a l’air de bien réagir,et switch régler pour le nunchuck!

  29. #29 by ced on 10 avril 2011 - 18:25

    RSMK tu pourrais me contacter en direct pour mon probleme de démarrage des moteurs car j’ai modifier l’atv mais toujours rien …
    merci

  30. #30 by Pascal on 14 avril 2011 - 19:03

    Bonsoir,

    Merci pour ce sujet… comme beaucoup j’ai craqué et fait venir tout le matos 😀

    Tout fonctionne et pratiquement du premier coup (juste inversé le branchement des moteurs gauche et droit)
    Par contre, j’ai un petit soucis tout bête: dès que je passe la mi-gaz, les élices se décrochent!! Les élastiques d’origine sont trop faibles. Donc vous utilisez quoi comme « prop-saver » qui ne soit pas des « prop-killer » ??

    J’en suis à la phase de test en le tennant à la main, ça ne m’est pas arrivé en vol.

    Merci, A+

  31. #31 by Shadow35 on 14 avril 2011 - 22:40

    @Pascal : Perso j’utiliser des joints toriques achetés au castomerlin du coin (rayon plomberie je crois)

  32. #32 by ToTo on 16 avril 2011 - 15:14

    Bon allé, je me lance: ça me fait vraiment envi.

    Mais d’abord faut que je vende du matos, peut être qulqu’un est intéressé:

    http://annonces.ebay.fr/search?fu=5007165356&fnm=Geoffroy

  33. #33 by Pascal on 18 avril 2011 - 12:55

    @Shadow35: Merci, ça marche au poil (joints de raccords de jardin)

    Il ne me reste plus qu’a réapprendre à piloter… j’ai rien touché de volant depuis près de 15 ans. Merci pour le mode « auto-stable » !!

  34. #34 by Pascal on 19 avril 2011 - 19:26

    Bonjour,

    J’ai un petit soucis avec le mode stable… l’axe PITCH est compensé à l’envers. Pas de soucis sur le ROLL ni en mode pilotage sans nunchuck.
    Quel est le paramètre à inverser dans le programme pour corriger cela? vue que j’ai pas trop envie de retrourner le circuit du nunchuck et de le resouder, il a déjà un peu souffert.

    Merci 🙂

  35. #35 by Pascal on 21 avril 2011 - 18:57

    … Finalement, j’ai retourné le circuit… les pistes ont sauté… nunchuck racheté… monté dans le bon sens, ça va bien mieux.

    Par contre, j’ai comme des interférences. Tant que je le tiens dans la main, tout se passe bien, mode stable ou non. Dés que je le lâche, il a tendance a ossiler et se crashe.

    Et un autre truc bizare c’est produit: au ralentis posé bien a plat dans le salon, après 10 ou 15 sec sans rien faire, le moteur droit est partis à fond et a propulsé le tri dans le mur (j’étais pas sur la trajectoire heureusement)

    Dans tous les cas, ce que je trouve très positif, c’est que c’est super solide vue le nombre de crash à son actif.

  36. #36 by Shintaro on 23 avril 2011 - 09:11

    si il oscille essaye de baisser un peu le « P » ca devrait le calmer un peu…

  37. #37 by patrick on 3 mai 2011 - 22:28

    Bonjour, je viens de passer sous Ubuntu 11.04 et le log ne fonctionne plus.
    Est ce que chez vous il fonctionne.?

  38. #38 by patrick on 3 mai 2011 - 22:58

    c bon c t un problème de java.

  39. #39 by jofamilly on 9 mai 2011 - 22:07

    salut, faut t il des servos analogique ou numerique
    bicopter en 1.7
    merci

  40. #40 by amourdurisk on 15 mai 2011 - 16:05

    SAlut à tous,

    Je teste la stabilisation de la caméra et je m’aperçois que sur l’axe du pitch la caméra à tendance à revenir au neutre toute seule, alors que sur l’axe Roll est suit et garde bien l’angle donné par le Xcopter. Cela est-il normal ?

    ADR

  41. #41 by PierHenri62 on 18 mai 2011 - 17:42

    Salut à tous! Ca fait plusieurs mois que je suis tout ce qui se passe sur ce site et cela ma donné envie d’en  » faire un, moi aussi ». Alors je me suis lancé et j’ai maintenant un tri, et deux quads, dont un mini. Les seuls problèmes que j’ai rencontré sont liés aux réglages PID. Elles sont plutôt nerveuses, ces sales bêtes, lol! Mais maintenant j’ai trouvé les valeurs qui conviennent à mon matos ET à mon tempérament: tout est OK et j’ai déjà en commande de quoi en refaire un autre ( quad) Naturellement, je vous tiendrai au courant de mes aventures, et en attendant, je voudrais surtout remercier ALEX qui a accompli un travail remarquable qui a largement dépassé les limites de notre beau pays( hum! déjà entendu ça, non?) – Pierre

  42. #42 by filbo on 20 mai 2011 - 08:56

    Bonjour a tous!! Toutes mes ficelles de calecon a Alex et aux autres pour ce sympathique et evolutif projet.. Je me suis moi aussi decidé a construire un tricopter (orienté pilotage) en suivant pas a pas la methode expliquée à travers les differents tutos et autres forums ( bon, je ne me suis pas cogné les presques 1000 pages en briton de rcgroups). Bref tout serait parfait si je n’avais pas un PROBLEME:
    Voici ma config: arduino pro mini, WMP origine ,3 turnigy 2204, 3 Hobbyking SS Series 8-10A ESC , futabaFF9 41Mhtz recepteur 6 voies chinois
    Donc, j’ai chargé dans l’arduino la version 1.5, les trois moteurs demarrent bien par un coup de derive a droite , le servo d’anticouple fonctionne au manche et compense bien dans le bon sens , sur la multiwiiconfig1.5 j’ai bien une reponse pour les trois gyros de la WMP quand je bouge le tricopter……MAIS impossible de monter les gaz : pas de reponse au manche !! les moteurs tournent desesperement au ralenti ..ET là je seche.. Un docteur en triwii aurait il une idee??
    J’ai pourtant verifié mon cablage ,le fait que chaque moteur fonctionne correctement branché seul sur le recepteur (voie3), meme testé d’autres versions (la 1.3 et 1.7)
    Comme le dirait un groupe de musique celebre : HELP

  43. #43 by Franck H on 21 mai 2011 - 17:09

    bonjour filbo,
    voit tu le curseur de la voie des gaz evoluer sur l’interface graphique quant tu monte tes gaz.
    sinon a part un erreur dans l’affectation des voies je ne voit pas!
    as tu verifier avec un servo directement sur le pin gaz du rx?
    ta config est ok, on a mis un tri en vol il y a 15jours avec les même composant

  44. #44 by MacFly on 23 mai 2011 - 09:14

    Hello all!

    Tout d’abord merci à Alex pour ce beau projet!

    Je me suis lancé dans un Triwiicopter.
    L’engin fonctionne bien par contre, j’ai un petit soucis en vol.

    En effet j’ai le moteur du yaw et parfois 1 des 3 autres moteurs qui coupe en vol…. plutôt chiant…

    Je ne vois pas où est le problème sachant que j’utilise les Hobbyking SS Series 8-10A ESC.

    Quelqu’un à déjà eu ce problème?

    Merci.

  45. #45 by MacFly on 23 mai 2011 - 09:15

    Ah oui je précise que je suis en v1.7

  46. #46 by maxic31 on 24 mai 2011 - 12:16

    @MacFly

    Tu peux passer les timmings en HIGH sur tes vario ?

    Un pote qui à un tri à aussi le même pb que toi de temps en temps…

  47. #47 by filbo on 24 mai 2011 - 19:33

    hello
    @Frank et les autres si d’aventure vous aviez une idee sur mon souci qui me cause des problemes

    Je viens de refaire qqs essais et ca se complique…
    usb branchee sur l’ordi (windows), fins de courses reglees a 125% toutes choses identiques au precedent essai je connecte les moteurs 1 par 1 je les demarre et là bonne reponse aux gaz (verifiee sur les baregraphs de l’interface graphique) et puis les moteurs s’emballent plus de controle aux gaz….pas meme moyen de les arreter par de la derive a gauche !!
    apres un moment le controle revient …
    Je debranche tout, refais la manip de maniere identique et là nib que dalle je retombe sur le meme probleme d’origine à savoir moteurs au ralenti et pas de controle de throttle.Et donc ,pour repondre directement a ta question Franck dans ce cas le curseur des gaz dans la multiwiiconfig reste immobile.
    j’ai effectivement essayé de remplacer un moteur par 1 servo (si je comprends bien) et il ne bouge pas dans ce cas
    Est ce que ça pourrait venir de mon recepteur? je compte passer en 2.4 spectrum d’ici peu.
    Est ce un probleme d’armement des moteurs?
    Y a t il une procedure à suivre pour ce faire? sachant que le courant vient d’un des controlleur et que l’electronique est alimentee au moment ou je connecte l’accu (sauf si branchee par l’usb) je n’ai donc pas d’alim de l’arduino separee
    c’est une « panne » pas franche . Un coup ca marchouille un coup rien . J’ai d’ailleur failli satelliser mon triwii ce we sur emballement des moteurs (merci à la haie qui a retenu ses velleites de fuite)..
    any suggestions people??

    a pluche

  48. #48 by Franck H on 27 mai 2011 - 19:50

    @filbo: si tu peut, change de recepteur.
    Verifie toutes tes soudures a la loupe.
    un servo a la place d’un desvariateur ne peut pas fonctionné car la frequence des pulses de commande sont trop élevé, par contre directement a la sortie du recpteur il doit evidement fonctionner.
    tu as mis tous les atv a fond en + et en – (exple: +125% et -125%) certaine radion vont jusque 150% ( ma dx6)
    sinon enleve les helices tand que ça marche pas a coup sur!

  49. #49 by filbo on 29 mai 2011 - 18:32

    hello coptermen!!
    Je pense que mon souci vient peut-etre d’un mauvais contact. Je me suis donc decidé a refaire mes soudures mais ce faisant j’ai du faire un peu trop chauffer l’arduino et maintenant les moteurs ne demarrent plus (la led verte de la carte ne s’allume plus ). Bref j’en ai recommandé un chez lextronic et je vais recommencer tout ca proprement et ce coup ci il n’y a pas de raisons pour que ca ne marche pas.. Je vous tiens au jus hehehe
    a +

  50. #50 by amourdurisk on 12 juin 2011 - 09:57

    SAlut les Wiistes,

    une petite question concernant l’accéléromètre (vers 1.7)

    lorsque je branche le quadri à la gui (tx éteint) j’ai les cases ACC et ACTIVE en vert donc actifs, lorsque j’allume le Tx, ACTIVE passe à OFF, et pas moyen de commuter entre ACTIVE et OFF avec le switch du Tx. Ce switch commande AUX1 AUX2 CAM1 et CAM2 en même temps.
    Comment Activer Désactiver l’accéléromètre ?
    Merci.

(ne sera pas publié)