[Energie] Commander un motoréducteur
Répondre à la discussion
Affichage des résultats 1 à 26 sur 26

Commander un motoréducteur



  1. #1
    invitee55b920f

    Commander un motoréducteur


    ------

    Bonsoir,

    Pour un projet dans mes études, je dois utiliser un motoréducteur, je dois obtenir en sortie une vitesse comprise entre 20 et 40 tr/min (après mon réducteur poulie courroie, cf ce post pour plus de détails http://forums.futura-sciences.com/ph...-motorise.html)

    (J'ai vu quelques sujets correspondant sur le forum ainsi que dans la FAQ mais je n'ai pas trouvé de réponses précises à mes questions.)

    Pour cela je pense utiliser l'un de ces deux moteurs (à voir lequel est le meilleur) :
    http://www.selectronic.fr/motoreduct...940d-1001.html
    http://www.selectronic.fr/motoreduct...919d-1481.html

    Ma question est de savoir comment piloter un tel moteur. Je n'ai pas beaucoup de connaissances pratiques sur le sujet.
    Quelles solutions s'offrent à moi ?
    Dois-je mettre en place un système à PWM ? Avec un Arduino ?

    Merci d'avance pour vos réponses

    -----

  2. #2
    gcortex

    Re : Commander un motoréducteur

    C'est long... çà dépend si tu veux une variation de vitesse, le freinage et/ou les 2 sens de rotation.

  3. #3
    antek

    Re : Commander un motoréducteur

    Citation Envoyé par Peezy8 Voir le message
    Quelles solutions s'offrent à moi ?
    Dois-je mettre en place un système à PWM ? Avec un Arduino ?
    Tout prêt avec commande en PWM : http://www.gotronic.fr/art-kit-k8004-917.htm
    Pas besoin d'un micro-contrôleur.

  4. #4
    gcortex

    Re : Commander un motoréducteur


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

    Re : Commander un motoréducteur

    Merci pour vos réponses,

    J'ai besoin d'une variation de vitesse en effet, c'est pour cela que le PWM me semblait utile. Par contre pas de changement de sens ni de freinage n'est nécessaire.
    Le kit proposé par Antek semble intéressant, comment fonctionne ce kit ? Il y a une "vis" de réglage dessus si j'ai bien compris ?
    J'ai vu que cela utilisait un SG3525A. Est-ce un composant semblable au 555 proposé par gcortex ? ou à un L293D ?

  7. #6
    antek

    Re : Commander un motoréducteur

    Citation Envoyé par Peezy8 Voir le message
    . . . comment fonctionne ce kit ? Il y a une "vis" de réglage dessus si j'ai bien compris ?
    J'ai vu que cela utilisait un SG3525A. Est-ce un composant semblable au 555 proposé par gcortex ? ou à un L293D ?
    Il doit y avoir un potentiomètre de réglage de tension de sortie.
    Je n'ai pas vu de schéma du kit.

  8. #7
    invitee55b920f

    Re : Commander un motoréducteur

    D'accord,

    sinon quelqu'un peut-il confirmer que les moteurs cités plus haut correspondront à mes attentes ?

  9. #8
    antek

    Re : Commander un motoréducteur

    On ne peut rien calculer, mais comme la puissance aura à vaincre uniquement des frottements et de l'inertie, oui.
    Le plus puissant des deux.

  10. #9
    invitee55b920f

    Re : Commander un motoréducteur

    Et si je prend le 21W qui fonctionne entre 4.5 et 15V, ça ne pose pas de problème avec la carte de commande qui fonctionne entre 8 et 35V ?

    Et pour l'alimentation, je suppose qu'il me faut du 15V au moins ? quel genre d'alim il me faut ?

  11. #10
    inviteede7e2b6

    Re : Commander un motoréducteur

    euuuuhhhhh quand même , si c'est un projet d'études , tu pourrais faire un (petit) effort

  12. #11
    invitee55b920f

    Re : Commander un motoréducteur

    Citation Envoyé par PIXEL Voir le message
    euuuuhhhhh quand même , si c'est un projet d'études , tu pourrais faire un (petit) effort
    Gardez vos réflexions si ce n'est pas pour apporter des réponses constructives. Tout n'est pas évident pour tout le monde. Merci


    J'ai finalement décidé d'utiliser mon arduino avec un shield moteur (double pont en H, L298P), c'est l'occasion pour moi de découvrir arduino.
    J'ai juste peur de confondre tout ce qui concerne l'alimentation (celle de l'arduino, du shield, celle des moteurs). J'ai vu qu'il y avait une entrée Vin-GND sur le shield (celle pour les moteurs, circuit de puissance ?) mais je suppose que ça ne remplace pas l'alimentation de l'arduino ? (Il y a pas mal de tuto sur le net mais c'est jamais très clair sur l'alimentation).

    Merci à ceux qui accepteront d'éclairer ma lanterne.

  13. #12
    Antoane
    Responsable technique

    Re : Commander un motoréducteur

    Bonjour,

    As-tu pris en compte les vibrations ? J'imagine que c'est un point assez critique de ta mécanique.

    Il faut une alimentation pour le moteur, le courant traverse le L298 puis alimente le moteur.
    Ton shield est un circuit proche de : http://perso.iut-nimes.fr/fgiamarchi...-de-moteur.pdf
    Tu peux demander à Google de t'aclairer sur le fonctionnement du L298, c'est un composant qui, bien que (quasiment) obsolète, est très courant en DIY.
    Sa tension doit être compatible avec le L298 et avec la vitesse de rotation max envisagée (ou, ce qui peut revenir au même : avec la tension max admissible par le moteur).

    Il faut, en plus de cela, une alimentation fournissant de l'énergie à l'arduino.
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  14. #13
    invitee55b920f

    Re : Commander un motoréducteur

    Bonjour,

    concernant les vibrations, j'ai acheté 3 roulements à billes, et je suppose que le moteur aura une vitesse stable.
    En effet j'utilise précisément ce shield : http://www.selectronic.fr/microbot-c...estion=produit
    J'ai fais pas mal de recherche sur la L298 (surtout sur la L293), je me pencherai plus amplement sur la prog quand je l'aurai reçue.
    J'ai regardé la doc fournie par le site, et je crois avoir compris que j'aurais l'alimentation "logic" venant de l'Arduino (lui même alimenté via USB ?) et l'alimentation pour les moteurs sur le shield (46V max donc je pense avoir de la marge).
    Avec une tension de service 4.5-15V pour le moteur, je vais donc me procurer une alimentation 15V DC.

    Merci pour l'aide en tout cas.

  15. #14
    Antoane
    Responsable technique

    Re : Commander un motoréducteur

    Bonsoir,
    Citation Envoyé par Peezy8 Voir le message
    J'ai regardé la doc fournie par le site, et je crois avoir compris que j'aurais l'alimentation "logic" venant de l'Arduino (lui même alimenté via USB ?) et l'alimentation pour les moteurs sur le shield (46V max donc je pense avoir de la marge).
    Oui.
    Avec une tension de service 4.5-15V pour le moteur, je vais donc me procurer une alimentation 15V DC.
    Pense qu'il y a une tension de déchet dans le 298 : si tu lui donnes 15V, il ne donnera pas 15V au moteur, mais moins.
    Les "source" et "sink" "saturation voltage", page 3 http://www.st.com/resource/en/datasheet/l298.pdf sont les tensions perdues dans les transistors internes entre le + du moteur et le + de l'alim et entre le - du moteur et le - de l'alim.
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  16. #15
    invitee55b920f

    Re : Commander un motoréducteur

    Donc si je me réfère aux valeurs typiques je devrais plutôt utiliser du 16V ?
    De toute manière je n'utiliserai pas le moteur à sa vitesse maximale, mais si je peux avoir jusqu'à 15V c'est mieux.

  17. #16
    Antoane
    Responsable technique

    Re : Commander un motoréducteur

    En valeurs typiques, il faut ajouter 1.2V "en bas" et 1.35V en haut, soit 2.55V au total. Il faudrait donc une alim de 17.6V. (pour 1A).
    Sachant que c'est du typique et qu'il serait préférable, pour être sûr, d'utiliser les valeurs max.
    Et sachant que de toute façon, avec un PWM, tu peux diminuer la tension donc utiliser une alim trop grande ne pose pas de problème, il suffit de ne pas utiliser le PWM jusqu'à 100%.

    Mais bon, c'est un peu pour le plaisir de chipoter et de tout comprendre si tu sais déjà que tu n'utiliseras pas le moteur à sa vitesse maximale.
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  18. #17
    invitee55b920f

    Re : Commander un motoréducteur

    D'accord, je vais voir ce que je peux trouver
    Quand est-il de l'intensité ? J'ai vu que mon moteur avait un courant max de 2.85A, sachant que mon shield sort 2A max par sortie, ça peut poser problème lorsque le moteur tourne à vitesse maximale ?

  19. #18
    Antoane
    Responsable technique

    Re : Commander un motoréducteur

    Ca va poser problème si le couple demandé par le moteur est trop important.
    couple <=> courant
    vitesse <=> tension

    https://www.google.fr/search?q=MCC+b...c+motor+basics
    http://ww1.microchip.com/downloads/e...tes/00905B.pdf
    Dernière modification par Antoane ; 26/10/2016 à 23h23. Motif: Réparation balise URL
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  20. #19
    inviteabf9a731

    Re : Commander un motoréducteur

    Bonjour

    Si tu dépasses la valeur maximale admissible en tension du moteur tu risques de le claquer. Mais bon ce n'est pas fragile comme un semi-conducteur et ce n'est pas 0.5 volt de trop qui le grilleront je pense.

    Mais moi je dirais quand même que par prudence je me limiterais si tu n'as pas besoin de la vitesse maximale.

    Sauf si tu manques de couple: du PWM à 15 volt te donneras un peu plus de "péche" que du PWM à 14 (plus d'excursion possible en courant, vu que I=U/R et que R (résistance bobinage) est constant).

  21. #20
    Antoane
    Responsable technique

    Re : Commander un motoréducteur

    Bonjour,

    Juste sur ce point :
    Citation Envoyé par JeanR40 Voir le message
    (plus d'excursion possible en courant, vu que I=U/R et que R (résistance bobinage) est constant).
    Ce I là est le courant de démarrage du moteur s'il est directement branché sur une alim 14/15V (sans rampe de tension). C'est un courant assez énorme (R est de l'ordre de quelques dizaines d'ohm à qq ohm). C'est aussi le courant de blocage du moteur. Il faut s'arranger pour qu'il n'arrive jamais, en particulier car le pont en H ne va pas aimer.
    Les résistances de shunt sont là pour mesurer le courant moteur, elles peuvent servir à assurer la protection du montage : si le courant moteur dépasse une certaine valeur, on coupe la tension.

    Dans les bons moteurs, ce courant de démarrage pose un problème supplémentaire : le pic de courant peut être suffisant pour créer un champ magnétique suffisant pour perturber les aimants permanents du moteur.
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  22. #21
    antek

    Re : Commander un motoréducteur

    Citation Envoyé par Peezy8 Voir le message
    J'ai vu que mon moteur avait un courant max de 2.85A, sachant que mon shield sort 2A max par sortie, ça peut poser problème lorsque le moteur tourne à vitesse maximale ?
    Regarde si on ne peut pas connecter les deux pontH en parallèle.

  23. #22
    invitee55b920f

    Re : Commander un motoréducteur

    Bonjour,

    J'ai enfin reçu tout le matériel et j'ai pu fabriquer mon système avec ll'arduino et le shield.
    J'ai utilisé une alimentation sortant entre 2 et 12V en CC (il y a un bouton pour faire varier) mais sur 12V j'ai mesuré 15V en sortie au Vmètre.
    Concernant le programme, j'ai utilisé celui donné par mircrobot (fabriquant du shield), le moteur tourne, mais pas très vite (même à vide). Voici le programme (pour 1 seul moteur) :


    Code:
    #include <motorshield.h>
     #include <Wire.h>
    
    motorshield MotorShield;
    
    const int analogPin1 = A2;
    
    int analogValue1;
    uint8_t pwmValue1;
    
    void setup()
    {
        MotorShield.initialize(); // initialize the Motor Shield hardware
        Serial.begin(9600);       // initialize Serial Port
        Serial.println("Dual DC Motor Shield test sketch");
    }
    
    void loop()
    {
      // read potentiometer value
      analogValue1 = analogRead(analogPin1);
    
      // apply direction adjustment
      if(analogValue1 > 512)
      {
        MotorShield.setMotorDir(1, 1);
        pwmValue1 = ((float)analogValue1 - 512) * 0.1953; // evaluate new pwm value
      }
      else
      {
        MotorShield.setMotorDir(1, 0);
        pwmValue1 = ((float)511 - analogValue1) * 0.1953; // evaluate new pwm value
      }
    
      // apply speed adjustment
      MotorShield.setMotorSpeed(1, pwmValue1);
      MotorShield.setMotorSpeed(2, pwmValue2);
    }

    J'ai beaucoup de mal à comprendre comment il fonctionne, notamment à quoi correspondent les "analogpin" et le calcul de la pwmValue. J'ai trouvé des programmes expliqués sur le net met sur d'autres shields dont la syntaxe est différente.
    Comment faire varier mon rapport cyclique dans le programme ?
    De plus, lorsque le moteur tourne, je mesure au Vmètre seulement environ 9V aux bornes de l'alimentation. Est-ce normal ?

    Merci
    Dernière modification par Antoane ; 06/11/2016 à 22h07. Motif: Ajout balises code

  24. #23
    Antoane
    Responsable technique

    Re : Commander un motoréducteur

    Bonjour,

    qu'as-tu branché sur l'entrée 1 de l'arduino ?
    Il faut un potentiomètre dont la tension de sortie est mesurée par le µC (analogValue1), puis convertie pour donner un rapport cyclique pwmValue1.

    Le langage arduino est simple, tu peux demander à Google des exemples et explications, en particulier portant sur les différentes fonction.
    Ex. https://www.google.fr/search?q=analo...SaBZaFaOL0s9AI > https://www.arduino.cc/en/Reference/AnalogRead
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  25. #24
    invitee55b920f

    Re : Commander un motoréducteur

    Bonsoir,

    Sur l'arduino j'ai juste placé le shield, après j'ai branché le moteur sur l'entrée moteur 1 (M1+ et M1-) et l'alim sur le shield également (Vin GND) et c'est tout (+ l'usb à l'ordi biensur).

    J'ai fais pas mal de recherche ces derniers jours sur la manière de programmer le shield, c'est assez compliqué (les programmes sont spécifiques aux différents shield et des potentiomètre sont souvent utilisés) même si je maîtrise à peu près le C... Suis-je obligé d'utiliser un potentiomètre, n'y a-t-il pas moyen de paramétrer directement la valeur dans le programme ?
    J'ai essayé d'entrer une valeur entre 0 et 255 pour pwmValue1 mais ça ne fonctionne pas. Par contre j'ai constaté qu'en augmentant la valeur 0.1953 la vitesse augmente mais si j'augmente trop, le moteur "saute" et je ne suis toujours pas à la vitesse max à vide.

    Le problème vient peut être de l'alim, comment expliquer que la tension diminue ? Puis-je me permettre d'essayer un alim plus grosse (17 ou 18V) ?

  26. #25
    Antoane
    Responsable technique

    Re : Commander un motoréducteur

    Bonjour,

    J'ai fais pas mal de recherche ces derniers jours sur la manière de programmer le shield, c'est assez compliqué (les programmes sont spécifiques aux différents shield et des potentiomètre sont souvent utilisés) même si je maîtrise à peu près le C...
    En effet, l'arduino n'est pas du C... Ya des similitudes, mais ça s'arrête là. D'ailleurs, je parle peu le C mais comprend à peu près les programmes arduinos (simples ).

    Le programme change en fonction du shield car les connexions entre les I/O du shield et l'rduino ne sont pas les mêmes sur tous les shields. De plus, l'entrée de l'arduino permettant à l'utilisateur de choisir la vitesse de rotation du moteur peuvent varier d'un programme exemple à l'autre. Cependant, les fonctions utilisées sont à peu près toujours les mêmes (en tous cas pour les basiques programmes de test : analogread(), pwmwrite() et un peu de calcul).


    Pour les questions spécifiques à l'arduino, je laisse la main.



    J'ai utilisé une alimentation sortant entre 2 et 12V en CC (il y a un bouton pour faire varier) mais sur 12V j'ai mesuré 15V en sortie au Vmètre.
    Ce n'est pas anormal.
    De plus, lorsque le moteur tourne, je mesure au Vmètre seulement environ 9V aux bornes de l'alimentation. Est-ce normal ?
    Quel est le courant max que peut fournir l'alim ? Quel est le courant consommé par le moeteur dans cette situation ?
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  27. #26
    invitee55b920f

    Re : Commander un motoréducteur

    Bonjour,

    Je reviens vers vous après deux semaines où je n'ai pas vraiment eu le temps de bosser sur mon projet.

    Mon alimentation sort un courant de 0,3A seulement (ça me paraît très faible sachant que le moteur prend 2,85A (max)), donc je vais en changer.

    J'ai épluché les sites webs sur l'arduino, ainsi que la doc de mon shield, j'ai vu que le shield permet d'obtenir sur les entrées analogiques le courant traversant les canaux (A0 et A1), ce qui me serait très utile.
    Ça paraît bête mais je ne vois pas comment obtenir ces valeurs avec le logciel Arduino. J'ai bien essayé un serial.print(valeur) ou serial.println(valeur) mais je ne vois pas où et comment ça s'affiche et aucune info sur le net (je trouve des infos sur l'utilisation d'écrans etc ... mais rien sur la manière d'afficher une valeur sur l'ordinateur pendant ou après l’exécution).

    Merci.

Discussions similaires

  1. Commander deux motoréducteur a l'aide d'une radiocommande
    Par invite7e21dc2e dans le forum Électronique
    Réponses: 1
    Dernier message: 12/12/2011, 16h37
  2. motoreducteur
    Par invite175953cf dans le forum Physique
    Réponses: 12
    Dernier message: 29/06/2008, 07h47
  3. Motoréducteur?
    Par inviteb5437249 dans le forum Électronique
    Réponses: 4
    Dernier message: 25/04/2007, 09h50
  4. Motoréducteur
    Par invite0fc5d613 dans le forum Technologies
    Réponses: 1
    Dernier message: 05/03/2006, 15h59
  5. motoreducteur
    Par invitec2a58db8 dans le forum Physique
    Réponses: 7
    Dernier message: 18/04/2005, 13h33
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...