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 Joël de Belgique on 3 juin 2010 - 22:28

    3 x Super ! pour ce tricoptère.
    Voilà mon petit mot pour annoncer que j’entame la construction sur base des données d’Alex.
    Mon objectif est la prise de vue aérienne.
    Manifestez-vous si vous aussi construisez,
    partageons non expériences.
    Joël.

  2. #2 by hervé on 4 juin 2010 - 02:38

    Il est trop fort Alex,on pense qu’il dort et hop il nous ressort un magnifique sujet.
    Merci Alex ,on te suit .
    Hervé

  3. #3 by Dude on 4 juin 2010 - 09:55

    Felicitations Alex.
    J’ai bien envie de tenter l’experience aussi….

  4. #4 by Tortor62120 on 8 juin 2010 - 20:23

    Salut,trop fort alex.Le seul truc que j’ai pas compris c’est ton code source,car ce n’est jamais moi qui les incer dans mes system je suis toujours assister par mon formateur.Peut tu expliquer dans quel format et comment le placer dans la mémoire de la carte ardunio stp. Merci a+

  5. #5 by Tortor62120 on 8 juin 2010 - 20:31

    Je croi que sur le schéma de branchement tu a oublier de couper le + ou le – des prise BEC de deux controleur car si on monte le câblage comme sa le récepteur vas griller avec cet excédant de volt.^^ a+

  6. #6 by renbou on 16 juin 2010 - 21:05

    Bonjour
    félicitations un site teès bien conçu. ; En électronique je suis nul, mais je me pose des questions. Pourquoi ne pas prendre la platine arduino usb board qui éviterai l’achat d’un adaptateur USB pour la mini pro. et pourquoi effecter des soudure délicate sur la platine wi alors que l’on dispose des connections, car n’étant pas un pro de la soudure je risque provoquer quelques degats sur la platine WI
    A+

  7. #7 by Alex on 16 juin 2010 - 23:27

    Bonjour,
    On peut effectivement prendre une carte Arduino nano, ou même une carte Duemilanove avec usb intégré.
    Ce serait finalement plus simple, mais ça prend aussi plus de place. Quand on fait le calcul adaptateur usb+arduino pro mini, on n’est pas très au dessus du coût d’une carte complète.
    Même raisonnement pour la platine WMP, on pourrait utiliser les connecteurs déjà soudés, mais c’est plus volumineux.
    Si la place n’est pas un soucis, n’hésite pas à faire comme tu le penses.

  8. #8 by Vincent.be on 17 juin 2010 - 11:01

    Bonjour

    Bien je voudrai me faire un 2 eme tricopter. j ai construit celui de Willi, il fonctionne bien mais reste chère au départ. « Gyro » Je préfère le garde pour du FPV par exemple.
    Le tri de Alex si je peut me permet est super et me coute presque rien. Le bute est de ce défoule avec sans pensé a ma carte Visa.

    Je viens de passe quelques commandes chez mais fournisseur.
    Pour le chassi je vais me basse sur celui de Wili, je peut facilement le faire découpe a la cnc.

    Merci Alex, pour travail que tu accomplis c est formidable.
    Bon vol, Vincent

  9. #9 by tazdevil on 17 juin 2010 - 14:40

    cool , le montage

    pour les parametre PID , les reglage sont valable pour les 3 axes en meme temps roll nick et yaw ?

    il n’y a pas moyende dissossier les setting pour chaque axe ?

    beau travail

  10. #10 by Alex on 18 juin 2010 - 13:36

    @Vincent : la stabilité du modèle de Willi restera à mon avis longtemps au dessus du lot, grâce à ses excellents capteurs. Le TriWii ne s’en sort pas trop mal sur la stabilité et est bien pour tenter des choses qu’on n’oserait pas forcément avec un modèle plus cher.
    Si ça pouvait aider certains à franchir le pas, je serais très satisfait d’en voir plus sur les terrains, car c’est aussi très fun à voir et à piloter.

    @Taz
    Comme dit sur rcgroups 😉 le PID configurable est global aux axes nick/roll.
    Si l’expérience montre que la sensibilité gyro peut différer sur ces axes, je séparerai les paramètres.
    Le PID n’est pas configurable sur l’axe du lacet

  11. #11 by jun on 22 juin 2010 - 15:29

    Hi, Alex
    I am now building TriWii copter like you.
    So I have a Question of supplying Power of WMP semsors.
    My sensors of WMP are IDG650 and ISZ650.
    they have to be supplied 3.3V max in datasheet.
    but on your wiring sensor connected with 5V Power.
    I think WPM needs to be supplied 3.3V?

  12. #12 by Alex on 22 juin 2010 - 16:02

    Hi jun,
    you can continue the discussion in the english traduction: http://radio-commande.com/international/triwiicopter-design/
    IDG650 and ISZ650 should be supplied with 3.3V, it’s true.
    However, the WMP integrates a 3.3V voltage regulator besides the sensors. So there is no problem to connected it with 5V.

  13. #13 by jun on 22 juin 2010 - 16:32

    Thanks Alex
    I’ll flying triwii-copter in near future.

    Yun

  14. #14 by tazdevil on 30 juin 2010 - 16:17

    Hi alex , is it possible to have 6DOF code for testing it tomorow, and bata test , my tri is 6DF ready

  15. #15 by Sylvain on 30 juin 2010 - 19:06

    Superbe travail Alex!
    Je suis à travailler sur la mécanique et j’ai bien hâte de pousser la commande des gaz!
    Par contre, il semble avoir un problème avec la version
    1.2. Celle-ci refuse de s’ouvrir avec Arduino 018
    contrairement à version 1.1. J’ai essayé sur 2 ordis
    et toujours la même erreur.
    Merci de partager si généreusement ce projet!
    Sylvain.

  16. #16 by Alex on 30 juin 2010 - 21:22

    Salut Sylvain,
    Pour le problème de version, ça vient d’un point dans le nom du fichier. Il suffit de remplacer le point entre 1.2 par _ par exemple. Pas évident à trouver, merci Joël.
    Pour les prochaines, je ferai autrement pour le nom des versions.

  17. #17 by Tristan on 8 juillet 2010 - 13:11

    Beau boulot !
    Je vais aussi me lancer dans la conception dans ce type d’engin.
    J’ai quelques difficultés à comprendre le code source. Il y a quelques « nombres magiques » dans le source. Je peux faire du copier/coller mais cela me dérange.
    Je pense qu’il serait bien d’avoir ce source avec plus de commentaires pour le bien de la communauté.
    Tristan

  18. #18 by renbou on 9 juillet 2010 - 23:46

    bonjour
    je me suis décider d’acheter une carte arduino Duemilanove avec usb; Mais ne connaissant rien en électronique, y aurait il un shema ou manuel pour la connexion avec la wii motion plus , les contrôleurs bec et le récepteur sans compter les codes, sources et réglage ;
    Un pas à pas pour les nuls
    d’avance merci

  19. #19 by Vincent.be on 28 juillet 2010 - 12:35

    Bonjour

    J ai commencé a construire mon Triwiicopter voici quelques images partie fixation moteur:

    http://img718.imageshack.us/img718/7838/dscf0194ts.jpg

    Le module arduino USB.
    j ai fait un petit PCB de dépare , il vas surement évoluée.
    http://img836.imageshack.us/img836/1917/dscf0195c.jpg

    http://img694.imageshack.us/img694/8286/dscf0196h.jpg

    A+ Vincent.be

  20. #20 by Alex on 29 juillet 2010 - 03:56

    Bonjour Vincent,

    Les fixations moteur que vous avez élaborées avec Joël sont vraiment très abouties. Tu devrais penser à en faire de petites séries. Sur rcgroups ça ferait un carton.
    Pour le PCB, que dire, ça fait très propre et pro.

  21. #21 by Vincent.be on 29 juillet 2010 - 07:21

    Bonjour Alex

    Au fait je me inspirée des images que Joël avait. j ai juste remis a ma façon.
    C est juste un proto fait en Epoxy , je conte le refaire en carbone une fois corriger.

    J ai opter pour un PCB c est plus propre et plus facile en cas de problème.
    a++ Vincent.be

  22. #22 by Vincent.be on 29 juillet 2010 - 07:24

    Re salut

    j ai effectivement remarque que sur RC group pas de mal personnes ce lance dans l aventure . c est une bonne chose, peut etre des personnes ne veule investir dans une version RTF genre MK ou Gaui.

    Bonne continuation.

  23. #23 by Vincent.be on 30 juillet 2010 - 07:00

    Salut Alex

    Peux tu me dire si avec ton logiciel est il possible de voir les info du récepteur sans connecter le module Wiimotion?

    Parce que avec la wii original , sa cause pas I2c et rien sur l écran PC et LCD
    J ai fait une commande sur ebay pour avoir une copie de wii.

    D après Joël sa dois d abord causse avec le module wii avant que sa indique les restes des infos.

    Merci Vincent.be

  24. #24 by Vincent.be on 30 juillet 2010 - 07:28

    Re salut

    J ai contrôler la tension alim du module elle arrive bien, mais sur le régulateur, mais ce régulateur erst controler par Up NEC qui active la Pin EN du régulateur 3Volts.

    Je pence que sa viens du bus . J ai force la Pin EN du régulateur sa change rien.

    A++

  25. #25 by slayerson on 30 juillet 2010 - 09:38

    Boujour,
    Merci d’avoir partage votre travaille. C’est enorme.
    Je viens construire un triwii, en suivant votre descriptif.
    Lorsque je met sous tension et que je veux initialiser les moteurs ( derive à droite ) rien ne se passe. Pas de probleme particulier lors du transfert programme, je seche. Auriez-vous une idée? J’ai une MX16s également.
    Merci par avance.

  26. #26 by Vincent.be on 30 juillet 2010 - 10:08

    Bonjour Slayerson

    Tu peut me dire si ta Wiimotion est original ou copie ebay ???

    Merci Vincent.be

  27. #27 by slayerson on 30 juillet 2010 - 11:30

    Bonjour,
    C est une originale.
    A+

  28. #28 by Vincent.be on 30 juillet 2010 - 11:32

    Tu dois avoir le problème que moi.

    a++

  29. #29 by Alex on 30 juillet 2010 - 12:33

    Bonjour,
    Il y a une ligne dans le code pour imposer une vitesse de 400kHz sur le bus I2C (fast mode). Cette vitesse semble mal supportée par les WM+ originaux.
    Il est possible de repasser en vitesse standard (100kHz) en supprimant simplement cette ligne du code:
    // change the I2C clock rate to 400kHz
    TWBR = ((16000000L / 400000L) – 16) / 2;
    Pourriez vous essayer ?

  30. #30 by slayerson on 30 juillet 2010 - 12:52

    Bonjour,
    Il y a plus de vie. Le serveur s’est mise au neutre.
    Mais je n’arrive pas à initialiser quoi que se soit avec la MX16.
    Merci

  31. #31 by Alex on 30 juillet 2010 - 13:01

    C’est bon signe alors.
    Pour pouvoir initialiser, il faut que la voie de la dérive franchisse un seuil.
    Hors ce seuil ne peut être franchi sur une MX16S qu’en augmentant l’ATV à 125%.
    A faire sur toutes les voies.
    (menu Régl.Servo -> Débat.)

  32. #32 by slayerson on 30 juillet 2010 - 13:06

    Je me suis deja mis à 125%.

  33. #33 by Alex on 30 juillet 2010 - 13:10

    ça donne quoi avec l’interface graphique ?

  34. #34 by slayerson on 30 juillet 2010 - 13:24

    lorsque je compil le code de l’interface, j’ai cette erreure:

    error: expected unqualified-id before ‘public’ In function ‘void setup()’:
    In function ‘void draw()’:
    At global scope:
    Bad error line: -7

  35. #35 by Vincent.be on 30 juillet 2010 - 14:26

    Salut Alex

    j ai modifier en rajoutant // devant TWBR et compiler par la suite, maintenant sa cause bien, et sa réagit bien sur l interface graphique. Servo réagi aussi.

    Un grand merci Vincent.be

  36. #36 by slayerson on 30 juillet 2010 - 14:36

    Salut
    Pour utiliser l’interface graphic, tu as bien compilé et uploader le programme TriWiiConf ?
    Merci
    Je creuse mon point dur.
    A+

  37. #37 by Alex on 30 juillet 2010 - 14:40

    Pour utiliser l’interface graphique, il faut:
    – que le dernier JRE java soit installé (une erreur à l’exécution peut signifier que ce n’est pas le dernier)
    – simplement lancer l’exécutable dans le dossier application.windows
    (j’ai mis les sources, mais c’est inutile de les re compiler c’est déjà fait)

  38. #38 by slayerson on 30 juillet 2010 - 15:00

    Ok merci beaucoup.
    J’essaie ce soir sur un autre Pc.

  39. #39 by slayerson on 1 août 2010 - 09:26

    Bonjour,
    J’ai essayé avec l’interface et dès que je selectionne le port ca bug.
    Quand je mets le lipo sur le triwii j’ai la led rouge qui s’allume et la verte qui clignotte. Est ce bien initialisé ?
    Merci

  40. #40 by slayerson on 4 août 2010 - 07:17

    Bonjour,
    J’ai changé le couple Arduino + WM+ et j’obtiens le meme resultat (led rouge et verte allumé). Mais rien ne se passe lorsque je veux initialiser les moteurs.
    Je pense que se doit etre un soucis de configuration sur ma MX16. Quelqu’un pourrait il me dire le parametrage necessaire sur le MX16/JR ?
    Merci d’avance.

  41. #41 by Alex on 8 août 2010 - 07:19

    Il doit y avoir un souci au niveau de ton récepteur (mal câblé sur l’arduino défectueux)
    La configuration de la MX16s est plutôt simple, il suffit de sélectionner un modèle avion, de pousser les ATV à 125% et d’inverser le sens des voies ROLL et YAW.

  42. #42 by slayerson on 8 août 2010 - 22:14

    Bonjour,
    Ok, merci.
    J’etais en helico 3-2.
    J’essai dès que possible. J’attend un nouveau controleur turnigy.
    Merci pour la réponce, et également pour le partage de ton projet.
    A+

  43. #43 by PaiPai62 on 12 août 2010 - 13:04

    Bonjour,

    Super Hack! Sur ce model, quel est la charge utilise du TriWii et son poids ?

    Merci

  44. #44 by Alex on 12 août 2010 - 13:24

    Comme le châssis est de la même conception que celui du précédent article:
    http://radio-commande.com/experimental_projects/construction-tricopter/

    Son poids hors batterie doit être assez similaire: (260g, électronique un peu moins lourde, mais qui doit être compensée par les renforts kevlar que j’ai du mettre)
    Les batteries utilisées pèsent 120g.
    La traction max avoisine 950g.
    Je pense qu’on peut voler tranquillement jusqu’à 600 ou 700g, ce qui laisse pas mal de marge 😉

  45. #45 by Vincent.be on 14 août 2010 - 16:03

    Salut Alex

    j ai fait mon premier vol que tu peux voir ici:

    http://img132.imageshack.us/img132/8092/mvi0043.mp4

    Je constate quelque truc bizzar, il réagis comme un savon, et au niveau autonomie en 3s pas térrible. J utilise les meme moteur que toi, mais les ESC sont des plusch. As tu unje idée sur ce problème, radio, confic ESC……..

    merci Et bon vol Vincent.be 🙂

  46. #46 by Vincent.be on 15 août 2010 - 07:21

    Salut Alex

    J ai relu ce que tu as ecrit sur le PID , j ai corriger mon P , maintent il est moin savon, une bonne chose. Reste a trouver le problème de puisance il a dure a monter quand je tire sur les gaz, comme si il était lourd.

    A+

  47. #47 by Alex on 15 août 2010 - 17:51

    Salut Vincent,

    Pour la réaction « savonnette », il faut effectivement jouer sur les paramètres, surtout P qu’il faut pousser jusqu’à la limite d’oscillation. Une fois bien réglé, le tricopter a un comportement très rigide.

    Pour le problème de puissance, essaye peut-être de jouer sur le timing des ESCs (les régler en high pour un moteur à grand nombre de pole).
    J’ai toujours volé en 3S, jamais en 2S. Après, si ton poids est trop important, il n’y a pas grand chose à faire…
    Je sais que ces moteurs rouges tournent un peu moins vite que les jaunes, mais je volais très bien avec avant d’en casser un et de recommander des jaunes pour tout remplacer.
    A+

  48. #48 by Vincent.be on 16 août 2010 - 13:51

    Salut Alex

    Ok, je vais voir en modifier le timing des ESC il sont sur low pour le moment. Je vol aussi en 3 s1300mh Zippy 30-40C, la lipo est chaud mais pas bouillant. Le temps de vol en station et petite translation Max 7minutes après il deviens savons.
    Mon chassie hors lipo fait 383gr avec la lipo sans tourne dans les 500gr.
    Si sa va pas je change de moulin.

    A+ Vincent.be et merci conseil 🙂

1 2 3 18
(ne sera pas publié)