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é.
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 by ced on 3 avril 2011 - 18:16
salut, où modifier cette valeur de l’ATV sur le lacet ? j’ai vu dans le fichier pde la variable MINCOMMAND .
Merci
#2 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!
#3 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
#4 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
#5 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)
#6 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)
#7 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….
#8 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
#9 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.
#10 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
#11 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 ?
#12 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?
#13 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
@+
#14 by plastic on 6 avril 2011 - 20:02
merci fryzer
je test
à+
#15 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
#16 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.
@+
#17 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
#18 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).
#19 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.
#20 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!
#21 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
#22 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+
#23 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)
#24 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
#25 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 » !!
#26 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
#27 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.
#28 by Shintaro on 23 avril 2011 - 09:11
si il oscille essaye de baisser un peu le « P » ca devrait le calmer un peu…
#29 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.?
#30 by patrick on 3 mai 2011 - 22:58
c bon c t un problème de java.
#31 by jofamilly on 9 mai 2011 - 22:07
salut, faut t il des servos analogique ou numerique
bicopter en 1.7
merci
#32 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
#33 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
#34 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
#35 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
#36 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.
#37 by MacFly on 23 mai 2011 - 09:15
Ah oui je précise que je suis en v1.7
#38 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…
#39 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
#40 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!
#41 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 +
#42 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.
#43 by amourdurisk on 12 juin 2011 - 22:05
Je vais répondre à ma question :
pour activer l’accéléromètre il suffit de cocher une des cases blanches sur la ligne LEVEL, par exemple la case HIGH de Aux2 pour activer l’ACC sur le niveau Haut de l’inter 3 positions du Tx.
à Bientôt les Wiistes
#44 by amourdurisk on 13 juin 2011 - 14:49
@Alex,
J’ai du mal à bien calibrer l’aCC de façon à avoir un Quadri stable.
Ca serait bien si l’on pouvait modifier les valeurs de l’acc à la main comme les paramètres PID dans la GUI.
A++
ADR
#45 by Ynojal on 16 juin 2011 - 11:39
Bonjour Alex,
je commence un QuadX,
Radio Turnigy 9 CH avec un firmware ER9X
Je cherche les réglages à mettre dans la radio … un template ?
Merci
#46 by amourdurisk on 17 juin 2011 - 08:55
Aucun réglage Ynojal
#47 by yoyo13 on 19 juin 2011 - 09:44
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.
#48 by greuu on 19 juin 2011 - 09:45
Bonjour
Je n arrive pas à initialiser mes ESC (Turnigy Thrust 45A de chez HK). quand je mets un autre ESC cela fonction très bien. J’ai descendu le paramètre MINCOMMAND en dessous de 900, mais rien n’y fait.
Quand je branche directement l’ESC sur le récepteur il s’initialise correctement mais quand je le mets sur l’arduino rien à faire.
Avez vous une piste?
Merci
#49 by amourdurisk on 19 juin 2011 - 16:16
Salut greuu,
Je les ai testé aussi, malheureusement les trust ne supportent pas une fréquence au dessus de 100hz, ils sont donc incompatibles avec ce système
prends des turnigy plush ou bien des HK SS qui sont moins cher et qui fonctionnent très bien.
ADR
#50 by greuu on 19 juin 2011 - 21:59
Merci pour ta réponse
Mais j’ai constaté que quand je les initialisais avec le récepteur et que je les branchais ensuite sur l’arduino ( unique ment le fil signal , sans couper l’alimentation) ils fonctionnaient parfaitement.
N’y a t il pas moyen de modifier le soft pour qu’ils fonctionnent quand même
Sino si je prends ceux la : http://www.hobbyking.com/hobbyking/store/uh_viewItem.asp?idProduct=6459
Ils devraient fonctionner?
Merci