Répondre à la discussion
Affichage des résultats 1 à 10 sur 10

Commande d'un moteur avec un Arduino UNO + Une interface MD22



  1. #1
    nicom77

    Commande d'un moteur avec un Arduino UNO + Une interface MD22


    ------

    Bonjour,

    Je sollicite votre aide pour terminer un projet. Tout d'abord quelques mots pour présenter mon projet...

    A la base on m'a fourni un chariot de golf ELECTROLEM et on m'a dit que le hacheur et que la carte de commande ne fonctionnaient plus, etc... Donc on a fait une étude afin de voir ce qu'on pouvait garder sur le chariot et ce qu'on allait devoir refaire. Après cette étude nous avons décidé de garder uniquement la batterie, le motoréducteur et la partie mécanique du chariot, donc nous avons due acheter une nouvelle carte de commande(Arduino Uno R3) et une interface de puissance(nous avons opté pour une MD22).

    Aujourd'hui je suis confronté au problème suivant : Je voudrai commander mon moteur par PWM seulement même en lisant les caractéristiques techniques du modules MD22, je ne comprend pas comment faire...

    Effectivement sur le module de puissance, il y a quatre petit switch qui sont censés définir quel mode de commande on utilise selon leur position : Analogique 0v,2.5v,5v (2.5V = moteur à l'arrêt, 0V = moteur tourne en vitesse max en marche arrière et 5V c'est l'inverse de 0V), Analogique de 0 a 5V + une autre entrée qui définie le sens de rotation, etc...

    Seulement je ne vois pas du tout comment faire.. Même au niveau branchement c'est léger quoi..

    En fait je ne sais pas comment brancher mon moteur(oui la carte peut faire tourner deux moteurs mais je n'en utilise qu'un moi). J'ai raccorder le +V aux 12V de ma batterie, le GND à la masse reliée à la batterie également.
    Ensuite On a les sorties M1, M1 et M2, M2, au début je pensais qu'il fallait brancher chacun des deux fils en sortie du moteur à un sortie M1 sauf que quel que soit le mode utilisé avec les switch, rien ne se passe quand je fais les branchments ainsi.

    De l'autre coté de la carte, j'ai branché le +5V à la sortie 5V de l'arduino, le GND logique a un GND sur le arduino, et il y a aussi deux entrées avec lesquelles je ne sais pas quoi faire : SCL et SDA, j'ai déduit que ça devait être les entrées de commande pour les moteurs M1 et M2 respectivement donc qu'on pouvait balancer dessus un PWM..

    Sauf que selon le mode utilisé (d'après ce que j'ai compris de la documentation technique) On peut ou doit utiliser une seul des deux entrée pour chaque moteur, ou alors les deux pour un ou deux moteur mais que l'on gérerai de la même manière.

    Donc voilà j'aurai besoin de renseignements complémentaires quand au signal qu'il faut envoyer sur les entrées SCL et SDA, laquelle deux deux utiliser(possible que l'on utilise les deux en même temps), quelle position donner aux 4 switch pour commander le moteur par PWM et qu'il soit réversible(deux configurations possibles je pense : la première c'est ON,ON,ON,OFF et dans cette position on aurait besoin seulement d'une des deux entrée SCL ou SDA et on devrait y envoyer des signaux analogiques entre 0 et 5V, d'après ce que je comprend, et la deuxième configuration possible serait OFF,ON,ON,OFF et dans ce cas on utiliserai les deux entrée, l'une des deux pour le PWM et l'autre pour définir le sens de rotation du moteur... enfin bon ce ne sont que des idées à confirmer quoi)..

    Sinon du côté de mon Arduino j'ai un programme complet permettant de gérer le marche/arrêt de mon chariot, avec un bouton bistable et des témoins lumineux(LED verte pour l'état marche ou arrêt et rouge pour indiquer un état de décharge de la batterie), mon Arduino est également connecté directement a un buzzer qui avertie lorsque la batterie est presque déchargée (il s'allume 5 secondes puis s'éteint afin de ne pas trop déranger l'utilisateur).. Le Arduino génère également un PWM sur la broche analogique 11 en se servant d'un bouton rotatif(potentiomètre) renvoyant des valeurs de 0 à 5V suivant sa position.. Je ne sais pas là non plus si j'ai bien fais les choses..

    Pour générer mon signal PWM, je récupère juste la valeur de mon bouton rotatif codée sur 1024 valeurs il me semble avec la fonction analogRead() [langage arduino] et je la divise par 4 puis utilise analogWrite sur ma broche 11.. Pour vous est-ce la bonne manière de faire ? Est ce que je génère bien un signal MLI(PWM) comme cela ou bien y a t'il quelque chose que je n'ai pas compris ?

    Pour la phase de test de l'interface j'ai laissé tombé le code complet que je trouve trop lourd pour ce genre de test(trop de facteurs à prendre en compte et qui pourraient fausser les tests) et l'ai remplacé par un simple code qui envoie un état logique 1 en sortie de la broche 11 en permanence, et j'ai raccordé ma broche 11 à mon SCL mais cela n'a aucun effet sur l'interface..

    D'où mes questions, est ce le code qui ne va pas ? Le fait que j'ai envoyé une valeur numérique(état logique) au lieu d'une valeur analogique en sortie de la broche 11, change t'il quelque chose (normalement non car l'état logique 1 équivaut à 5V et quand je fais une mesure avec un Voltmètre, j'ai bien 5V en sortie) ? Ou bien est ce mes branchements qui ne vont pas ? Quelqu'un peut il m'aider un peut pour comprendre comment on utilise ce Module MD22 ?

    Je suis actuellement en vacance pour deux semaines mais j'ai ramené chez moi le nécessaire pour tester mon projet, à savoir mon Arduino Uno R3, j'ai le logiciel Arduino sur mon PC, j'ai le câble de raccord pour le PC et le Arduino, un adaptateur pour transformer le 230V du secteur en 9V continu pour allimenter le microcontroleur... J'ai également mon interface de puissance(MD22), le tout est déjà connecté et prêt à être testé. Ah j'oubliais, j'ai également emprunté un petit moteur qui marche sous 24V(et moins) pour tester l'interface de puissance.

    Merci d'avance pour votre aide, c'est rare les gens qui prennent encore un peu de leur temps pour aider les autres.
    Bonne soirée.

    PS: Ne vous moquez pas trop de moi si j'ai dis de grosse bêtises au dessus, je ne suis pas un professionnel, je ne suis qu'un banal élève de terminale Scientifique option Science de l'ingénieur et le projet dont je vous parle au dessus est mon projet de BAC. Bien que je sois censé avoir un minimum de connaissance théorique, cela n'empêche pas d'avoir quelques petits problèmes de compréhension de temps en temps.

    -----

  2. Publicité
  3. #2
    Yoruk

    Re : Commande d'un moteur avec un Arduino UNO + Une interface MD22

    Fait un schéma détaillé, j'ai du mal à m'imprégner de ton explication... et sépare les différents problèmes (interface moteur, potar et sortie MLI)

    Google parle de la liaison arduino - MD22, tu peux déjà vérifier tes branchements :

    http://www.robot-electronics.co.uk/h...Motor%20Driver

    http://arduino.cc/forum/index.php?topic=56264.0

  4. #3
    nicom77

    Re : Commande d'un moteur avec un Arduino UNO + Une interface MD22

    Bonjour,

    Je te remercie pour ta réponse. Pour le premier schéma, j'avais déjà vu mais je ne sais pas ce que c'est I2C, moi je veux juste commander un moteur a courant continu, hors j'ai lu des truc sur I2C qui parlaient de positions et d'angles, donc j'ai pensé que c'était fait pour les moteurs pas à pas. Pour commander notre moteur, on nous impose la commande par PWM... Après voila..

    Pour le second lien, je crois qu'on parle encore de ce fameux I2C... De plus ils utilisent le langage C il me semble alors que moi j'utilise le langage arduino..

    J'ai fais un petit schéma sur paint(désolé c'est pas très propre mais c'est tout ce que j'ai sous la main actuellement).

    Nom : Montage.jpg
Affichages : 152
Taille : 43,4 Ko

    Merci de ta réponse

  5. #4
    boux

    Re : Commande d'un moteur avec un Arduino UNO + Une interface MD22

    Bonsoir,

    J'ai trouvé ça qui peut être intéressant : http://www.robot-electronics.co.uk/h...o_examples.htm

    Bonne soirée

  6. A voir en vidéo sur Futura
  7. #5
    nicom77

    Re : Commande d'un moteur avec un Arduino UNO + Une interface MD22

    Bonsoir,

    ça aussi je l'ai vu. Merci tout de même pour ton post.
    Entre temps j'ai bricolé un peu mon interface de puissance et j'ai raccordé le moteur en M1, M1, et à ma grande surprise, cette fois ci ça a marché, en mode analogique 0v-2.5V-5V seulement je voudrait que mon moteur soit commandé par PWM de 0 à 5V et qu'on commande le sens de rotation autrement qu'avec le palier de 2.5V.. Le problème est que je ne sais pas quel mode utiliser pour arriver à ce résultat..

    Sinon pour le reste j'ai trouvé les réponses à mes questions

    Bonne soirée, et encore merci.

  8. #6
    Yoruk

    Re : Commande d'un moteur avec un Arduino UNO + Une interface MD22

    Citation Envoyé par nicom77 Voir le message
    j'avais déjà vu mais je ne sais pas ce que c'est I2C, moi je veux juste commander un moteur a courant continu
    I2C c'est un protocole permettant d'échanger des données entre 2 entitées électroniques. http://fr.wikipedia.org/wiki/I2C


    Citation Envoyé par nicom77 Voir le message
    De plus ils utilisent le langage C il me semble alors que moi j'utilise le langage arduino..
    Le langage Arduino est un peu dérivé du C en fait. Et il supporte très bien l'I2C !

    J'ai du mal à voir comment on cable ton MD22. Pour info, il existe des chips (apparemment ?) plus simples et qui tournent sans problèmes avec Arduino, genre le L298.

  9. Publicité
  10. #7
    ftorama

    Re : Commande d'un moteur avec un Arduino UNO + Une interface MD22

    Citation Envoyé par Yoruk Voir le message
    J'ai du mal à voir comment on cable ton MD22. Pour info, il existe des chips (apparemment ?) plus simples et qui tournent sans problèmes avec Arduino, genre le L298.
    La MD22 est très simple à câbler, simplement, elle est "universelle" et peut être pilotée en analogique, en PWM, en I²C ou avec des impulsions servomoteurs.

    Pour le PWM, c'est le même réglage des switchs que le mode analogique (il y a un RC en entrée pour re-transformer en analogique). Maintenant, la MD22 ne supporte pas le mode contrôle de vitesse en 0-5V et direction sur une autre entrée.

    Pour ça, et un seul moteur,il aurait fallu choisir une MD03 ou équivalent.
    Quand un homme a faim, mieux vaut lui aprendre à pecher que de lui donner un poisson.

  11. #8
    nicom77

    Re : Commande d'un moteur avec un Arduino UNO + Une interface MD22

    Merci beaucoup pour vos réponses. En effet j'étais parti à la base sur le L298, le seul problème étant que les professeurs ont toujours le dernier mot, ils nous ont imposé le MD22 en nous disant qu'il supportait une intensité plus importante et que donc il était plus adapté à notre moteur, etc.. Donc il me semble que pour le L298, le courant maximum au niveau du moteur devait être de l'ordre de 2A, et sur le MD22 c'est 5A, c'est juste pour cela qu'on nous a dit de faire avec cette carte(à vrai dire on ne nous a rien dit du tout, on a fait un devis en commandant un L298 et on nous a donné un MD22 en nous disant que c'était plus cher et donc mieux...)

    Donc si je comprend bien, avec le MD22 on ne peut pas commander un moteur en PWM et en choisissant son sens de rotation ?

    Pfff c'est énervant quoi, on nous a déjà fait changer pas mal de choses sur ce projet à cause des profs dont le fonctionnement de base du chariot... On demande un bouton monostable pour que le chariot n'avance que lorsque le joueur de golf tient la poignier(et donc appui sur le bouton situé dessus) et on nous donne un bistable en nous disant : Ne vous inquiètez pas c'est mieux en plus regardé c'est super bien fait mécaniquement c'est une merveille ce bouton... Résultat en revue de projet on se fait défoncer car ce n'est pas le fonctionnement du chariot à la base quoi..

    Enfin bon, merci de vos réponses, maintenant il est trop tard pour commander une autre carte, je vais gérer comme je peux donc la seule solution qu'il me reste c'est de gérer cela en analogique juste avec un potar en mode 0V-2.5V-5V...

  12. #9
    nicom77

    Re : Commande d'un moteur avec un Arduino UNO + Une interface MD22

    Re,

    Bon eh bien si on ne peu pas faire comme je veux, pas grave je vais ruser, pour la vitesse du moteur je vais mettre un potentiomètre alimenté en 5VCC, récupéré sa position avec le arduino... Ensuite pour le sens je vais mettre un bouton à bascule et je vais faire une condition dans le code du arduino pour envoyer de 0à2.5V dans l'interface de puissance dans le cas ou on est en marche avant et de 2.5à5V si on est en marche arrière...

  13. #10
    ftorama

    Re : Commande d'un moteur avec un Arduino UNO + Une interface MD22

    Citation Envoyé par nicom77 Voir le message
    Re,

    Bon eh bien si on ne peu pas faire comme je veux, pas grave je vais ruser, pour la vitesse du moteur je vais mettre un potentiomètre alimenté en 5VCC, récupéré sa position avec le arduino... Ensuite pour le sens je vais mettre un bouton à bascule et je vais faire une condition dans le code du arduino pour envoyer de 0à2.5V dans l'interface de puissance dans le cas ou on est en marche avant et de 2.5à5V si on est en marche arrière...
    Et là, tu viens de comprendre que ton prof n'est pas si nul que ça. En t'obligeant à utiliser du matériel inadapté, il t'a forcé à réfléchir et à te creuser la tête pour répondre tout de même au cahier des charges.

    Je dirais même que c'est un très bon prof.
    Quand un homme a faim, mieux vaut lui aprendre à pecher que de lui donner un poisson.

Discussions similaires

  1. choix et commande moteur avec encodeur + arduino
    Par nicocco033 dans le forum Électronique
    Réponses: 0
    Dernier message: 25/11/2012, 16h23
  2. Utiliser un Arduino UNO R3 avec ATMEL Studio 6
    Par HAYAC dans le forum Électronique
    Réponses: 2
    Dernier message: 27/07/2012, 14h12
  3. controler un moteur avec arduino uno
    Par riffmaker dans le forum Électronique
    Réponses: 32
    Dernier message: 22/04/2012, 05h57
  4. controler un relais avec une arduino uno
    Par P390 dans le forum Électronique
    Réponses: 1
    Dernier message: 18/04/2012, 19h10
  5. Protection d'un Arduino UNO avec hacheur pour moteur
    Par Phoenix-74 dans le forum Électronique
    Réponses: 19
    Dernier message: 12/08/2011, 16h39
Découvrez nos comparatifs produits sur l'informatique et les technologies.