Répondre à la discussion
Page 1 sur 8 12 3 4 5 6 7 DernièreDernière
Affichage des résultats 1 à 30 sur 225

- Arduino commandé par Joystick -



  1. #1
    vinvin69

    - Arduino commandé par Joystick -


    ------

    Bonjour à vous tous,

    Tout d'abord, j'espère que la questions n'a pas été déjà abordée, et si c'est le cas, je vous pris de m'excuser. J'ai cherché mais je n'ai rien trouvé qui puisse répondre à mon problème.

    Je me pose des questions concernant les Arduino. Je chercherai à commander des moteurs continue via un arduino, via un joystick. J'ai cherché sur le web, j'ai trouvé plusieurs tutoriels, mais tous utilisaient le joystick en "tout-ou-rien". Donc au final, je joystick est réduit à un simple interrupteur inverseur. Je cherche donc, une solution pour pouvoir commander des moteurs, ou n'importe quoi d'ailleurs ; mais en aillant une notion de progressivité.
    Le circuit au final serai un simple joystick connecté à un arduino, connecté à une carte pour commander les moteurs en courant continue. Si l'on pousse légèrement le joystick en avant, les moteurs tournent légèrement continuellement. Si l'on pousse le joystick jusqu'à sa fin de course, 100% du courant est envoyé dans les moteurs. Les moteurs à commander seront des moteurs à courant continue, et pas des servos.
    J'ai cherché des bouts de codes sur internet. Je n'ai rien trouvé de convaincant pour mon utilisation. Aussi, je me demande si la commande serra bien progressive et pas par "palier".

    J'espère avoir été clair, n'hésitez pas si vous ne comprenez pas mon "charabia". Je m'excuse si quelques fautes d'orthographes se sont glissées dans mon message.

    Bien cordialement,

    Vincent A.

    -----

  2. Publicité
  3. #2
    PIXEL

    Re : - Arduino commandé par Joystick -

    générer un PWM à partir d'une tension analogique variable doit être à la portée d'un Arduino

  4. #3
    jiherve

    Re : - Arduino commandé par Joystick -

    Bonjour,
    piste de solution:
    Coder en numérique la tension issue du joystick au moyen du CAN , transférer la valeur obtenue dans l'un des timer pour faire la PWM, grosso modo moins de 100 lignes d'assembleur y compris l'initialisation du µC.
    JR
    l'électronique c'est pas du vaudou!

  5. #4
    vinvin69

    Re : - Arduino commandé par Joystick -

    Merci à vous, PIXEL et jiherve.

    Si j'ai bien compris, le CAN d'un Arduino permet de convertir un signal analogique en signal numérique. En quoi cela peut nous aider pour arriver au résultat souhaité ? Je suis ouvert à toutes propositions. Merci d'avance.
    Si j'ai [encore] bien compris, le joystick doit être placé entre le + de l'alim et une entrée analogique de l'Arduino. Ainsi, l'Arduino "analyse" la tension d'entrée dans l'entrée analogique ?
    Est-ce que le code doit se faire sous la forme "If... Then... Else..." ?

    Merci encore à vous.

    Cordialement,

    Vincent A.

  6. A voir en vidéo sur Futura
  7. #5
    arsene de gallium

    Re : - Arduino commandé par Joystick -

    Sur un Arduino tu as au moins 6 entrées analogiques en 0 / 5v.
    Ces entrées convertissent un signal analogique en numérique sur 10 bit sur un Arduino Uno.
    Il ne faut pas regarder que les vidéos sur "you tu m'as vu" ou autre mais aller sur des sites plus sérieux comme:
    http://fr.openclassrooms.com/science...s-de-l-arduino
    Le signal converti en numérique par le CAN (Conversion Analogique Numérique en français), ADC (analog to digital converter en anglais), se traite avec les commandes habituelles:
    - addition
    - soustraction
    - multiplication
    - division
    - test
    - boucle
    - etc
    mais la on travail sur des mots de 8 bits ou 16 bits, pas sur 1 bit comme les entrées logiques.
    Il faut donc déclarer les variables en fonction des valeurs et de leur précision que tu attends: voir les cours.

    En sortie, il faut en effet passer par le PWM. Sur le Uno il y en 6: celles avec le tilde ~

  8. #6
    vinvin69

    Re : - Arduino commandé par Joystick -

    Salut à toi arsene de gallium

    Ok, d'accord. Vous m'avez déjà beaucoup aidé là. Le CAN, convertit le signal analogique en une suite de 10 bits.
    Donc le code se traitera ce cette sorte ?: "Si [la valeur de l'entrée du potentiomètre] est [inférieur, égale ou supérieur] à [un palier] alors [envoyer x Voltes dans la sortie]. Désolé si je ne comprend pas tout, mais croyez moi, je fais de mon mieux.
    Aussi, si le signal en sortie de l'Arduino est en PWM, que faut-il utiliser pour commander des moteurs DC ?

    Encore sincèrement merci.
    Vincent A.

  9. Publicité
  10. #7
    jiherve

    Re : - Arduino commandé par Joystick -

    Bonsoir,
    le joystick doit être branché entre le 5V et la masse, c'est un potentiomètre donc ce qui sera converti sera la tension présente sur le curseur.
    Ensuite la valeur obtenue, correctement conditionnée, sera utilisée pour piloter la PWM que l'on peut obtenir à partir de l'un des timer, il faut pour ce faire consulter la data sheet du µC présent sur l'Arduino, ou la doc de ce dernier.
    JR
    l'électronique c'est pas du vaudou!

  11. #8
    Yvan_Delaserge

    Re : - Arduino commandé par Joystick -

    Citation Envoyé par vinvin69 Voir le message

    Le circuit au final serai un simple joystick connecté à un arduino, connecté à une carte pour commander les moteurs en courant continue. Si l'on pousse légèrement le joystick en avant, les moteurs tournent légèrement continuellement. Si l'on pousse le joystick jusqu'à sa fin de course, 100% du courant est envoyé dans les moteurs. Les moteurs à commander seront des moteurs à courant continue, et pas des servos.
    Quelle doit être la réponse du moteur?

    Est-ce:
    Joystick en arrière à fond -> le moteur tourne en arrière à fond
    Position intermédiaire->vitesse intermédiaire
    Joystick au neutre-> le moteur s'arrête
    Position intermédiaire->vitesse intermédiaire
    Joystick en avant à fond -> le moteur tourne en avant à fond

    C'est bien ça?

    Ou bien est-ce:
    Joystick en arrière à fond -> le moteur s'arrête
    Position intermédiaire->vitesse intermédiaire
    Joystick au neutre-> le moteur tourne à V max/2
    Position intermédiaire->vitesse intermédiaire
    Joystick en avant à fond -> le moteur tourne à V max
    Un civet, un plat de côtes et puis, glissez-moi une petite paupiette avec.( Lino Ventura)

  12. #9
    vinvin69

    Re : - Arduino commandé par Joystick -

    Bonjour jherve et Yvan_Delaserge,

    Concernant jherve : Donc, si j'ai bien compris, c'est l'arduino, qui en "voyant" le courant qui entre dans les entrées analogique qui va en déduire un PWM à la sortie qui va ensuite commander les moteurs ? Si vous auriez un bout de code à me montrer, ça m'aiderai beaucoup

    Concernant Yvan_Delaserge : le joystick doit fonctionner de la sorte :
    Joystick arrière à fond : les deux moteurs tournent en arrière à Vmax
    Position intermédiaire : les deux moteurs tournent en arrière à une vitesse intermédiaire
    Joystick au neutre : Aucun moteur activé
    Position intermédiaire : les deux moteurs tournent en avant à une vitesse intermédiaire
    Joystick avant à fond : les deux moteurs tourne en avant à Vmax

    Joystick à droite à fond : le moteur droit tourne en avant à Vmax et le moteur gauche en arrière à Vmax
    Position intermédiaire (droite) : le moteur droit tourne (avant) à une vitesse intermédiaire et le moteur gauche aussi (arrière)
    Joystick au neutre : Aucun moteur activé
    Position intermediaire (gauche) : le moteur gauche tourne (arrière) à une vitesse intermédiaire et le moteur gauche aussi (avant)
    Position à fond à gauche : le moteur droit tourne en arrière à Vmax, et le moteur gauche en avant à Vmax

    Le projet se précisant, il faudra commander avec ce joystick 2 moteurs.
    Je me demande toujours si le joystick serra bien progressif, et si ils n'y aura pas de "palier" comme dans l'explication plus haut.

    Merci beaucoup à tous. Je suis ouvert à toute propositions.
    Cordialement,

    Vincent A.

  13. #10
    PIXEL

    Re : - Arduino commandé par Joystick -

    si le soft est bien écrit , il ne doit pas y avoir de paliers....

  14. #11
    Yvan_Delaserge

    Re : - Arduino commandé par Joystick -

    En alimentant le moteur avec une tension variable, il peut manquer de progressivité (donc on peut avoir un effet "paliers")aux faibles vitesses, parce qu'en même temps que l'on réduit sa vitesse, on réduit aussi son couple.
    Par contre, en alimentant un moteur en PWM, le couple à faible vitesse est mieux maintenu.
    Un civet, un plat de côtes et puis, glissez-moi une petite paupiette avec.( Lino Ventura)

  15. #12
    arsene de gallium

    Re : - Arduino commandé par Joystick -

    @vinvin69
    As-tu regardé le lien que je t'ai donné ?
    Apparemment non car les questions que tu poses sont déjà expliquées dans le cours.

  16. Publicité
  17. #13
    Yvan_Delaserge

    Re : - Arduino commandé par Joystick -

    Citation Envoyé par vinvin69 Voir le message
    le joystick doit fonctionner de la sorte :
    Joystick arrière à fond : les deux moteurs tournent en arrière à Vmax
    Position intermédiaire : les deux moteurs tournent en arrière à une vitesse intermédiaire
    Joystick au neutre : Aucun moteur activé
    Position intermédiaire : les deux moteurs tournent en avant à une vitesse intermédiaire
    Joystick avant à fond : les deux moteurs tourne en avant à Vmax

    Joystick à droite à fond : le moteur droit tourne en avant à Vmax et le moteur gauche en arrière à Vmax
    Position intermédiaire (droite) : le moteur droit tourne (avant) à une vitesse intermédiaire et le moteur gauche aussi (arrière)
    Joystick au neutre : Aucun moteur activé
    Position intermediaire (gauche) : le moteur gauche tourne (arrière) à une vitesse intermédiaire et le moteur gauche aussi (avant)
    Position à fond à gauche : le moteur droit tourne en arrière à Vmax, et le moteur gauche en avant à Vmax
    Il ne s'agit donc pas seulement de régler la vitesse de rotation des moteurs, mais aussi le sens de rotation.
    La vitesse peut être réglée par la PWM. Pour le sens de rotation, le plus simple serait d'utiliser un relais pour chaque moteur. Le relais serait commandé par l'Arduino.Nom : ARDUINO.gif
Affichages : 193
Taille : 7,1 Ko
    Un civet, un plat de côtes et puis, glissez-moi une petite paupiette avec.( Lino Ventura)

  18. #14
    DAUDET78

    Re : - Arduino commandé par Joystick -

    Citation Envoyé par Yvan_Delaserge Voir le message
    le plus simple serait d'utiliser un relais pour chaque moteur.
    Non, un pont en "H"
    J'aime pas le Grec

  19. #15
    Yvan_Delaserge

    Re : - Arduino commandé par Joystick -

    Oui, mais ça oblige à avoir 4 MOSFETs par moteur, au lieu de 1 Mosfet et un relais.

    Maintenant, bien sûr la question est : Est-ce qu'une sortie d'Arduino est capable de commander un relais?
    La question suivante étant: Un relais de quelle puissance?
    Pour répondre à la seconde question, il faut savoir la puissance envisagée pour les moteurs.
    Un civet, un plat de côtes et puis, glissez-moi une petite paupiette avec.( Lino Ventura)

  20. #16
    Yvan_Delaserge

    Re : - Arduino commandé par Joystick -

    Un pont en H se présente comme ceci:
    Nom : pont en H.png
Affichages : 163
Taille : 6,3 Ko

    L'avantage, c'est qu'il n'y a pas de questions à se pose sur le courant max. des sorties de l'Arduino. Mais il faut 4 MOSFETS par moteur.
    Un civet, un plat de côtes et puis, glissez-moi une petite paupiette avec.( Lino Ventura)

  21. #17
    vinvin69

    Re : - Arduino commandé par Joystick -

    Salut à vous tous,

    @arsene de gallium : Excuse moi, je ne l'ai pas mentionné. Merci pour le lien, j'ai commencé à le lire, mais visiblement, je n'en suis pas où cela peut m'être utile. Au passage, un cours très bien fait, parfait !

    @Yvan_Delaserge : Si l'ont commande les moteurs par PWM, les moteurs doivent s'agir de servomoteurs ? Peut-on utiliser le PWM, par l'intermédiaire d'un autre circuit pour commander lle courant qui va dans un moteur DC (quelque chose comme ça ?: http://www.gotronic.fr/art-commande-...2x2a-19344.htm) ? Merci pour ton schéma.

    Concernant les moteur, ce serrai des motoréducteurs MFA 50:1, alimenté en 12V, 8W max.
    Merci encore à vous tous, vous m'aidez bien

    Cordialement

    Vincent A.

  22. #18
    jiherve

    Re : - Arduino commandé par Joystick -

    Bonsoir,
    En fait c'est grosso modo ce que je suis en train de faire pour une télécommande de modèle réduit d'une vedette lance torpille (MAS) mais mes moteurs qui sont des moteurs récupérés dans des lecteurs CD sont de très faible puissance, j'ai opté pour une paire de PWM et une paire de relais commandé en // car cela ne nécessite que 3 sorties sur un Attiny 45.
    J'ai du code en assembleur mais il est adapté à la sortie nue du récepteur sans démultiplexage.
    JR
    l'électronique c'est pas du vaudou!

  23. Publicité
  24. #19
    Yvan_Delaserge

    Re : - Arduino commandé par Joystick -

    Qu'est-ce que tu utilises comme relais?
    Un civet, un plat de côtes et puis, glissez-moi une petite paupiette avec.( Lino Ventura)

  25. #20
    DAUDET78

    Re : - Arduino commandé par Joystick -

    Citation Envoyé par Yvan_Delaserge Voir le message
    Un pont en H se présente comme ceci:
    Pour info, ton schéma est une hérésie ! Pendant la transition, il y a conduction simultanée du PMOS et du NMOS
    D'autre part, les entrée ne sont pas compatibles TTL. Il faut du 0/12V

    Bref, à mettre à la poubelle
    PS : Un L298 (par exemple) est plus petit qu'un relais et commande jusqu'à 4A en 30V
    J'aime pas le Grec

  26. #21
    vinvin69

    Re : - Arduino commandé par Joystick -

    Je suis perdu la

    Donc, il faudrait mettre les potentiomètres du joystick entre le +5v. Jusque-là j'ai compris.
    Ensuite, sans parler du code au niveau des branchements, comment ça se passe ? Si j'utilise des relais, je n'aurai pas de progressivité ? De même pour un mosfet ?
    Donc il faut impérativement quelque chose entre l'arduino et les moteurs. N'existe-t-il pas un module permettant de commander la vitesse et le sens de rotation des moteurs via le PWM ?

    Encore merci,

    Vincent A.

  27. #22
    jiherve

    Re : - Arduino commandé par Joystick -

    Re
    1: les bâtons de joie (joystick) doivent être branchés entre +5 et GND.
    2: les relais ne servent qu'à l'inversion du sens de rotation.
    3: On peut commander les moteurs par une PWM avec un arduino because il y a un µC qui va bien dans ce bidule et cela sera progressif.
    JR
    l'électronique c'est pas du vaudou!

  28. #23
    Yvan_Delaserge

    Re : - Arduino commandé par Joystick -

    Citation Envoyé par vinvin69 Voir le message
    Je suis perdu la

    Donc, il faudrait mettre les potentiomètres du joystick entre le +5v. Jusque-là j'ai compris.
    Ensuite, sans parler du code au niveau des branchements, comment ça se passe ? Si j'utilise des relais, je n'aurai pas de progressivité ? De même pour un mosfet ?
    Donc il faut impérativement quelque chose entre l'arduino et les moteurs. N'existe-t-il pas un module permettant de commander la vitesse et le sens de rotation des moteurs via le PWM ?

    Encore merci,

    Vincent A.
    Si on reprend le schéma de départ:
    ARDUINO.gif
    On a les potentiomètres du joystick qui sont branchés entre le 0 et le +5 V.
    Sur le curseur, on a une tension qui dépend de la position du Joystick. L'arduino lit cette tension et la convertit en un nombre (convertisseur analogigue-numérique)

    A la sortie de l'Arduino, on a un signal PWM
    PWM.jpg
    Quand le joystick est à 10%, la largeur des impulsions est à 10%. C'est-à-dire que le moteur est alimenté à fond, mais 10% du temps. Il va donc tourner à (environ)10% de la vitesse maximum.
    Quand le joystick est à 80%, la largeur des impulsions est à 80%. C'est-à-dire que le moteur est alimenté à fond, mais 80% du temps. Il va donc tourner à (environ) 80% de la vitesse maximum.
    Et de même pour toutes les autres positions des joysticks. On a donc quelque chose de proportionnel.

    Nais l'Arduino ne peut pas fournir assez de courant pour alimenter les moteurs. Il faut donc des amplificateurs à la sortie de l'Arduino. Ils sont représentés par des triangles sur le premier schéma. On verra plus tard comment les implémenter.

    Et finalement, il faut pouvoir inverser le sens de rotation des moteurs. C'est le rôle des relais.
    RELAIS.jpg

    Les relais sont commandés eux aussi par l'Arduino.

    Les moteurs reçoivent en permanence le signal PWM qui est progressif et proportionnel à la position des potentiomètres du joystick. Les relais ne font qu'inverser la polarité du signal PWM. De toute manière, ils ne commuteront que lorsque le signal PWM sera au minimum (moins de 10%). Il n'y aura donc aucun à-coup.

    Pour que l'Arduino puisse activer les relais, il faut utiliser un transistor intermédiaire.

    relay NPN.gif

    Amicalement,

    Yvan
    Dernière modification par Yvan_Delaserge ; 25/10/2014 à 08h48.
    Un civet, un plat de côtes et puis, glissez-moi une petite paupiette avec.( Lino Ventura)

  29. #24
    Yvan_Delaserge

    Re : - Arduino commandé par Joystick -

    Citation Envoyé par DAUDET78 Voir le message
    Pour info, ton schéma est une hérésie ! Pendant la transition, il y a conduction simultanée du PMOS et du NMOS
    D'autre part, les entrée ne sont pas compatibles TTL. Il faut du 0/12V

    Bref, à mettre à la poubelle
    PS : Un L298 (par exemple) est plus petit qu'un relais et commande jusqu'à 4A en 30V
    Hello Daudet,

    Oui, bien sûr, tu as raison. Je précise que le schéma n'est pas de moi!

    Pour un premier essai, on va faire simple. Ce sera donc relais.

    Mais ultérieurement, on va chiader!

    Amicalement,

    Yvan
    Un civet, un plat de côtes et puis, glissez-moi une petite paupiette avec.( Lino Ventura)

  30. Publicité
  31. #25
    Yvan_Delaserge

    Re : - Arduino commandé par Joystick -

    L'Arduino uno possède des entrées analogiques (à gauche sur le dessin) et des sorties PWM (à droite)Nom : arduino uno.png
Affichages : 154
Taille : 31,1 Ko
    Il devrait se prêter admirablement bien à l'interfaçage d'un Joystick.
    Un civet, un plat de côtes et puis, glissez-moi une petite paupiette avec.( Lino Ventura)

  32. #26
    vinvin69

    Re : - Arduino commandé par Joystick -

    Bonjour à vous !
    Merci beaucoup Yvan_Delaserge. J'ai tout compris ! Mais 1 point reste assez sombre pour moi. Peut-on vraiment commander un moteur DC (qui a 2 fils en sortie) avec du PWM ? N'est-ce pas réservé aux servomoteurs ?
    Pour les relais, j'ai compris, le transistor aussi.
    Encore sincèrement merci, vous m'aidez bien là !

    Cordialement

    Vincent A.

  33. #27
    Yoruk

    Re : - Arduino commandé par Joystick -

    Citation Envoyé par vinvin69 Voir le message
    Peut-on vraiment commander un moteur DC (qui a 2 fils en sortie) avec du PWM ?
    Oui, c'est tout à fait possible. Le PWM est une façon simple de faire varier la vitesse de rotation d'un moteur CC.

    Citation Envoyé par vinvin69 Voir le message
    N'est-ce pas réservé aux servomoteurs ?
    Un servo se pilote par une impulsion de longueur variable en fonction de l'angle vers lequel tu veux l'envoyer. Ce n'est pas tout à fait le même principe...
    La robotique, c'est fantastique !

  34. #28
    vinvin69

    Re : - Arduino commandé par Joystick -

    Salut Yoruk,
    D'accord. Merci bien. Donc, si on récapitule, les joystick sont place entre le +5v et le -. Le signal est connecté à une entrée analogique. Ensuite, le signal est converti en numérique. Ensuite, un PWM est envoyé dans deux des sorties numériques. Via un transistor, ça active les moteurs 12v. Et en parallèle, y'a un circuit avec les relais pour le sens de rotation.
    Jusque-là, tout va bien. Corrigez moi si j'ai fait une erreur.
    Ensuite, concernant le code de l'arduino. La, pour être honnête, je ne vois vraiment pas comment faire.
    Merci encore à tous !

    Cordialement,

    Vincent A.

  35. #29
    Yvan_Delaserge

    Re : - Arduino commandé par Joystick -

    Comme ampli de sortie, on pourrait utiliser le circuit suivant:

    Nom : AMP.jpg
Affichages : 147
Taille : 49,7 Ko

    Le transistor est un Darlington largement dimensionné, qui travaille en commutation. Il reçoit sur sa base les impulsions PWM de l'Arduino.
    On peut l'acheter ici:
    http://www.ebay.com/itm/10-New-TIP14...item27ea1c37e3

    Selon sa position, le relais fait tourner le moteur en avant ou en arrière, à la vitesse fixée par les impulsions PWM.

    Le Transil 13 Volts aux bornes du moteur empêche que les surtensions de commutation générées par ce dernier, viennent perturber le reste du circuit.
    On peut l'acheter ici:

    http://www.ebay.com/itm/10x-BZW06-13...item4add050811

    Avec ça, je crois qu'on a un hardware suffisant pour le moment.

    On va pouvoir parler programmation.

    Amicalement,

    Yvan
    Un civet, un plat de côtes et puis, glissez-moi une petite paupiette avec.( Lino Ventura)

  36. #30
    Yvan_Delaserge

    Re : - Arduino commandé par Joystick -

    Citation Envoyé par vinvin69 Voir le message
    Salut Yoruk,
    D'accord. Merci bien. Donc, si on récapitule, les joystick sont place entre le +5v et le -. Le signal est connecté à une entrée analogique. Ensuite, le signal est converti en numérique. Ensuite, un PWM est envoyé dans deux des sorties numériques. Via un transistor, ça active les moteurs 12v. Et en parallèle, y'a un circuit avec les relais pour le sens de rotation.
    Jusque-là, tout va bien. Corrigez moi si j'ai fait une erreur.
    Ensuite, concernant le code de l'arduino. La, pour être honnête, je ne vois vraiment pas comment faire.
    Merci encore à tous !

    Cordialement,

    Vincent A.
    Tu as tout compris.

    Il y a encore une chose que l'on doit connaître avant de commencer à programmer:
    En connectant le joystick comme prévu, et en actionnant le manche du joystick de butée à butée, dans les deux axes, la tension sur les curseurs varie de combien à combien?

    ça, il faut que tu le mesures. C'est indispensable pour la suite.

    On attend ta réponse pour continuer.

    Amicalement,

    Yvan
    Un civet, un plat de côtes et puis, glissez-moi une petite paupiette avec.( Lino Ventura)

Page 1 sur 8 12 3 4 5 6 7 DernièreDernière

Discussions similaires

  1. Projet 2 moteurs cc 1 joystick arduino rev3
    Par Tranber72 dans le forum Électronique
    Réponses: 45
    Dernier message: 11/12/2014, 19h20
  2. Réponses: 5
    Dernier message: 10/04/2013, 17h22
  3. Moteur pas à pas commandé par un joystick
    Par mwilhem dans le forum Électronique
    Réponses: 19
    Dernier message: 05/05/2008, 17h39
  4. Commande par Joystick
    Par labMécatronique dans le forum Électronique
    Réponses: 1
    Dernier message: 27/04/2006, 21h59
  5. commande de 2 moteurs par joystick
    Par joeverneteam dans le forum Électronique
    Réponses: 3
    Dernier message: 17/09/2005, 11h49
Découvrez nos comparatifs produits sur l'informatique et les technologies.