<Tuto commande ESC par Arduino et Wii nunchuck
Le Deal du moment :
Réassort du coffret Pokémon 151 ...
Voir le deal

Tuto commande ESC par Arduino et Wii nunchuck

Voir le sujet précédent Voir le sujet suivant Aller en bas

Tuto commande ESC par Arduino et Wii nunchuck Empty Tuto commande ESC par Arduino et Wii nunchuck

Message  nopap Mar 12 Fév 2013 - 9:17

Bonjour,
Comme demande sur mon autre post concernant mon longboard electrique, voila les details de mon montage
WII Nunchuck -> Arduino -> ESC Brushless

Le materiel

Arduino UNO R3
Nunchucky (Adaptateur prise Wii Nunchuck pour arduino, bcp d'autre modeles existent, c'est juste une plaque avec des pins a souder)

Wii Nunchuck sans fil (2.4ghz)
http://www.ebay.co.uk/itm/2-4-GHz-RF-Wireless-Nunchuck-controller-for-Wii-Nintendo-/120868592265?
Tuto commande ESC par Arduino et Wii nunchuck Sany2514_thumb

ESC Brushless, qui vont avec le moteur.

Attention, les differents modeles de nunchuck sans fils ne s'interfacent pas tous facilement avec
l'arduino, il y a une histoire de codage du signal qui peut donner des soucis a la librairie arduino nunchuck.
Les libraires Nunchuck sont normalement faites pour le nunchuck officiel, a fil. Les modeles sans fils normalement demandent de la bidouille.
Ce modele fonctione tel quel avec la librairie, coup de chance, donc pas de bidouille.

Ca n'est pas de la top qualite, il y a des fois des coupures dans le signal envoye par le joystick, mais bon ca fonctionne.

Connections

WiiChuck Adapter / Arduino PIN
* Gnd / Gnd
* 3.3v / 3.3V
* Data / A4 (I2C Data)
* Clk / A5 (I2C Clock)
ESC for Brushless motors / Arduino PIN
* Black (Gnd) / Gnd
* White (data) / Digital PWM 9

Programmation Arduino

Librairie Nunchuck:
http://www.gabrielbianconi.com/projects/arduinonunchuk/
Il en existe plusieurs, j'ai trouve celle la simple et claire. Elle fonctionne parfaitement pour moi.

Progamme:
j'envoie les signaux a l'ESC en microseconds, au lieu d'utiliser l'angle qu'on envoie d'habitude au servo.
Sinon, les ESC ne s'initialisent pas correctement au branchement et se mettent en erreur.
http://arduino.cc/en/Reference/ServoWriteMicroseconds

Ci dessous un exemple simplifie de programme Arduino. C'est une version ultra light du mien qui est plus complexe, car il attenue l'acceleration
sinon je tombe du skate au demarrage, et j'ai aussi ajoute une fonction 'cruise control' qui garde la vitesse courante.

En gros, il faut peut etre adapter les valeurs SERVO_MIN et SERVO_MAX en fonction de l'ESC,
j'ai aussi gere le fait que le moteur ne demarre vraiment a 1180 sur mon ESC. Par contre l'initialization ne se fera qu'a la valeur 1000.
J'ai ajoute un delay PULSE_DELAY sinon les signaux 'bourrent' l'ESC qui finit par faire n'importe quoi. Donc apres chaque commande envoyee on attend PULSE_DELAY
avant de continuer.

Code:

// ====================================================
#include <Wire.h>
#include <ArduinoNunchuk.h>
#include <Servo.h>

#define BAUDRATE 19200

#define SERVO_MIN  1000 //0    // 33 ?
#define SERVO_MAX  2000 //180  // 142 ?
#define PULSE_DELAY 300 // Délais entre chaque impulsion (cette valeur varie-t-elle selon les moteurs/ESC ?)
#define GLOBAL_DELAY 10 // Delai between each WiiChuck joystick check

ArduinoNunchuk nunchuk = ArduinoNunchuk();
Servo myservo;  // create servo object to control a servo
int pos = 0;    // variable to store the servo position
int lastpos = 0; // store the last value and write to the servo only if it changes

void setup()
{
  nunchuk.init();
  myservo.attach(9);  // attaches the servo on pin 9 to the servo object
}
void loop()
{
    nunchuk.update();
      // Get nunchuck joystick pos and convert it to the ESC scaled value
    pos = nunchuk.analogY;
    pos = map(pos, 128, 256, SERVO_MIN, SERVO_MAX);    // scale it to use it with the servo
   
    if (pos != lastpos)
    {
       // sets the servo position according to the scaled value
      myservo.writeMicroseconds(pos);
      delayMicroseconds(PULSE_DELAY);
      // remember this value to see if the next is different
      lastpos = pos;
    }   
    delay(GLOBAL_DELAY);
}
// ====================================================



Dernière édition par nopap le Dim 17 Mar 2013 - 19:15, édité 2 fois

nopap

Messages : 50
Date d'inscription : 29/11/2012

Revenir en haut Aller en bas

Tuto commande ESC par Arduino et Wii nunchuck Empty Re: Tuto commande ESC par Arduino et Wii nunchuck

Message  pierrot22 Mar 12 Fév 2013 - 21:04

merci d'avoir partagé, je garde ça dans un coin de la tête Smile

à l'usage, ça se dose bien ou pas le joystick ?

tu dis que le signal coupe régulièrement, c'est surtout ça qui m'inquiète, que l'ESC reste au taquet parce que la connexion a sauté par exemple. Tu as moyen de détecter ça avec la librairie ?
pierrot22
pierrot22

Localisation : Rennes (35)
Messages : 105
Date d'inscription : 05/02/2013
Age : 36

Revenir en haut Aller en bas

Tuto commande ESC par Arduino et Wii nunchuck Empty Re: Tuto commande ESC par Arduino et Wii nunchuck

Message  nopap Mer 13 Fév 2013 - 7:34

Oui ca dose pas trop mal, mais sa course est petite donc ca peut donner des accoups, d'ou l'interet d'une librairie qui amortit les accelerations.
J'ai aussi note que sur ce nunchuck pas cher, la course du joystick commence a envoyer du signal a 1/3, c'est a dire que la course deja petite n'est effective que sur 2/3 de celle ci.

Enfin qd je dis que ca coupe, c'est pas en roulant et l'ESC ne reste jamais au taquet, pas de souci de ce cote la. Note aussi que l'ESC si l'arduino coupe arrete les moteurs automatiquement par securite.

En fait ca coupe qd tu donnes les gaz a un certain point, toujours le meme, comme si le joy avait un point sans contact. Pas simple a expliquer... en gros tu acceleres en poussant le joy, le signal recu va augmenter, et a un certain point retomber a 0 pour ensuite repartir de la ou il en etait. C'est maintenant amorti avec mon programme arduino, mais les premiers essais etaient un peu casse gueule car les moteur ont la peche qd ca repart de 0 a la ou tu en etais :-)




nopap

Messages : 50
Date d'inscription : 29/11/2012

Revenir en haut Aller en bas

Tuto commande ESC par Arduino et Wii nunchuck Empty Re: Tuto commande ESC par Arduino et Wii nunchuck

Message  toma Mer 13 Fév 2013 - 11:25

alors là y a de la maitrise......belle idée en tout cas.....dommage pour la course!!
toma
toma

Localisation : trignac
Messages : 1913
Date d'inscription : 05/09/2010
Age : 50

http://www.kitesk8.com/index.php5

Revenir en haut Aller en bas

Tuto commande ESC par Arduino et Wii nunchuck Empty Re: Tuto commande ESC par Arduino et Wii nunchuck

Message  pierrot22 Mer 13 Fév 2013 - 21:14

je vois ce que tu veux dire ouais, c'est bizarre, et ça peut être désagréable...

C'est surtout la partie commande de l'ESC qui m'intéresse. Soit je ferai une solution sans fil dans ce cas je prendrai plutôt une télécommande de modélisme. Soit une solution filaire, dans ce cas plutôt avec une gachette comme sur les trottinettes électriques, avec une carte "testeur de servo" ou à travers un petit arduino.
pierrot22
pierrot22

Localisation : Rennes (35)
Messages : 105
Date d'inscription : 05/02/2013
Age : 36

Revenir en haut Aller en bas

Tuto commande ESC par Arduino et Wii nunchuck Empty Re: Tuto commande ESC par Arduino et Wii nunchuck

Message  nopap Jeu 14 Fév 2013 - 7:32

Tu as raison, la partie importante c'est la commande des ESC.
Sur l'ardhuino tu peux interfacer bcp de commandes differentes.

J'ai un module bluetooth, pour faire une commande a base de smartphone ou manette wii, le module WII nunchuck, et je viens de me trouver sur ebay un module emetteur recepteur en 433mhz pour faire eventuellement ma propre telecommande a gachette.

Apres en filaire tu n;as plus de limite et c'est finalement pas si embetant, sur mon skate j'aii mis un leash pour prevoir un arret auto si je tombe, donc je suis deja relie par un fil, un de plus fait peu de difference.

nopap

Messages : 50
Date d'inscription : 29/11/2012

Revenir en haut Aller en bas

Tuto commande ESC par Arduino et Wii nunchuck Empty Re: Tuto commande ESC par Arduino et Wii nunchuck

Message  Christian Jeu 14 Fév 2013 - 8:42

nopap a écrit:un module émetteur récepteur en 433mhz pour faire éventuellement ma propre télécommande
C'est relativement facile de se faire une télécommande avec une carte Arduino, mais méfiance quand même avec le 433 MHz
Il y parfois du monde dessus : talkies-walkies, télécommandes de garages, écoute-bébé, stations météo sans fil, alarmes, jouets... et assez peu de canaux.
Donc au minimum prévoir un codage d'identification, contrôle d'erreur de transmission, cheksum...
Christian
Christian
Modérateur
Modérateur

Localisation : Alpes (région Grenoble 38) et Pornichet, St Brévin (44)... en été
Messages : 2962
Date d'inscription : 13/10/2010
Age : 57

Revenir en haut Aller en bas

Tuto commande ESC par Arduino et Wii nunchuck Empty Re: Tuto commande ESC par Arduino et Wii nunchuck

Message  nopap Jeu 14 Fév 2013 - 10:50

Oui tu as raison, j'ai d'ailleurs commande ce module au depart pour recuperer les donnees de mes capteurs de station meteo sur un arduino. Comme il vient avec emetteur et recepteur ca m'a donne d'autres idees...
C'est le probleme avec arduino c'est sans fin Razz

nopap

Messages : 50
Date d'inscription : 29/11/2012

Revenir en haut Aller en bas

Tuto commande ESC par Arduino et Wii nunchuck Empty Re: Tuto commande ESC par Arduino et Wii nunchuck

Message  leonoxo Dim 4 Aoû 2013 - 14:22

Hi

Currently this code reaction is very sensitive, you can provide me with constant speed and brake the code to try it??

My config is: Logic3 Wireless Nunchuck + Arduino UND R3 + HobbyKing Red Brick 60A ESC *2 + Turnigy L3040A-480G Brushless Motor *2

Why choose this motor and ESC, (because it is cheap, but the road has not been tested, I do not know enough torque)

My e-mail: leonoxo @ gmail . com

leonoxo

Messages : 1
Date d'inscription : 04/08/2013

Revenir en haut Aller en bas

Tuto commande ESC par Arduino et Wii nunchuck Empty Re: Tuto commande ESC par Arduino et Wii nunchuck

Message  Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum