Partage
  • Partager sur Facebook
  • Partager sur Twitter

[ARDUINO] Commande moteur pas-à-pas + axe linéaire

    15 mars 2014 à 22:55:09

    Bonjours tous le monde,

    Je souhaiterai utiliser un moiteur pas-à-pas accouplé à un axe linéaire. Cet axe linéaire est doté de deux fins de courses (avant et arrière) ainsi que d'un capteur pour la prise d'origine. Pour cela j'utilise une carte Arduino qui pilote le Driver du moteur pas-à-pas.

    Le fonctionnement est le suivant. Sur l'appui du bouton poussoir marche "BPM" le moteur pas-à-pas fais déplacer l'axe linéaire en faisant des aller-retour. L'appui sur le bouton Arrêt permet de stopper le mouvement. un capteur d'origine permet est utiliser au début du cycle : le moteur recherche ce capteur puis ensuite effectue les aller-retour.

    Mes questions sont:

    - Est que mon câblage est bon,

    - Dois-je rajouter des composants (transistors, réqistances,...), je suis automaticien, j'ai plutôt l'habitude des automates programmables, on câble directement sur l'automate (pas de resistance de pull-up ou pull down avec des boutons poussoirs

    Voici le schéma :

    -
    Edité par Sub ZERO 16 mars 2014 à 21:21:59

    • Partager sur Facebook
    • Partager sur Twitter
    Mon CV : http://aidel.automation.free.fr/ Ma société : www.ams-automation.fr
      16 mars 2014 à 9:39:23

      Il nous faudrait quand même la doc de ton driver pour que l'on puisse te dire si son câblage est bon.

      =====

      En ce qui concerne l'arduino, tu n'es pas obligé de mettre des pull-up.

      En effet, tu peux t'en passer en configurant ta pin en INPUT_PULLUP et non en INPUT.

      Dans ce cas là, le bouton a juste à faire le contact entre GND et la pin en question.

      Notons quand même qu'ajouter une PullUp est tout de même recommandé si tes boutons sont loin de la carte arduino.

      =====

      Le bouton HOME est mal cablé (il te faut utiliser la même chose que pour les 2 autres).

      Donc bouton HOME entre GND et la pin + éventuellement une pull-up sur la pin.

      • Partager sur Facebook
      • Partager sur Twitter
        16 mars 2014 à 17:03:29

        Merci pour ta réponse
        C'est vrai que j'aurai du amené la masse sur l'entrée pour le capteur HOME
         Voici le lien pour le driver du moteur pas a pas:
        http://www.soprolec.com/catalog/commande-moteur-driver-pas-pas-driver-micro-pas-50v56a-p-33.html?cPath=25_28&osCsid=f1423a1b4d9b5a3294f9ae6586b109ad
        En fait mes questions concernant le câblage c'est plus des questions sur les histoires de pull down et pull up.
        Est ce que sur l'entrée "Enable-" du driver du moteur je peux raccorder un bouton arrêt d'urgence et les fins de course bout a bout comme ça ?
        Comme expliqué dans mon poste je suis automaticien, et l'application en question ne mérite pas un automate pour ce qu'il y a faire (simple aller-retour sur appui bouton marche)
        Cate arduino 30 euros alors que automate c'est 10 fois plus cher.
        Donc voilà je suis pas électronicien et je voulais savoir si dans mon schéma j'ai pas oublie une résistance un transistor ou quelque chose de ce genre . Les histoires de pull up et pull étant pour moi nouveau je voudrai pas d'autres surprises.
        Merci
        • Partager sur Facebook
        • Partager sur Twitter
        Mon CV : http://aidel.automation.free.fr/ Ma société : www.ams-automation.fr
          16 mars 2014 à 17:31:37

          Sur la doc, on peut voir :

          Logic signal current

          7

          10

          16

          mA

          Drainer un courant de 16mA pour un automate, ce n'est rien du tout :)

          Par contre, pour un arduino, cela fait beaucoup ...

          Je te conseille d'ajouter un transistor (et une résistance sur la base) entre l'arduino et ton driver.

          Mais même avec ça, je ne suis pas certain que le régulateur 5V de l'arduino aime beaucoup (il faudrait lire la doc pour voir si il peut sortir3 fois 16mA sans broncher).

          Pour le cablage, tu peux t'inspirer de ce qu'ils donnent en exemple :

          N'importe quel transistor NPN devrait faire l'affaire (du genre un 2N2222) ; sauf si tu fais des pulses très rapides.

          A cela, il ne faut pas oublier de rajouter une résistance derrière la base avant la connexion à l'arduino.

          Voir aussi une pull down pour etre sur d'avoir un beau 0 logique lorsque l'arduino est en mode reset.

          =====

          Pour ton enchainage de 3 boutons, il n'y a aucun risque avec le montage que tu as fais ;)

          -
          Edité par lorrio 16 mars 2014 à 17:34:42

          • Partager sur Facebook
          • Partager sur Twitter
            16 mars 2014 à 18:23:02

            16mA ca devrait passer. On joue à 20mA dans le tuto avec plusieurs leds en même temps et ca fume pas encore :D

            • Partager sur Facebook
            • Partager sur Twitter

            Retrouvez moi sur mon blog et ma chaine Youtube !

              16 mars 2014 à 18:43:55

              16mA, ça fait quand même beaucoup je trouve ; d'autant que ça peut être plus suivant la résistance utilisée en série.

              A la limite, il pourrait mettre la pin pulse en connexion direct vu que qu'elle n'est pas active en permanence (et ça permettra d'avoir un meilleur signal puisqu'il n'y aura pas de transistor pour limiter la bande passante).

              Par contre, la pin dir qui peut être active en permanence, je lui mettrait bien un transistor.

              =====

              D'un autre coté, il se pourrait très bien que le système fonctionne aussi avec un courant de 1mA (car 16mA pour une entrée sur opto, ça fait très luxe quand même).

              • Partager sur Facebook
              • Partager sur Twitter
                16 mars 2014 à 21:36:12

                Merci pour vos réponses.

                Pourtant on peut lire que les entrées comme les sorties TOR peuvent supporter 40mA sur une Arduino.

                http://arduino.cc/en/Main/arduinoBoardUno#.UyYIQYXtJaU

                DC Current per I/O Pin40 mA


                J'ai trouvé ça sur Youtube, le câblage est en direct

                https://www.youtube.com/watch?v=RakXequOrSY

                https://www.youtube.com/watch?v=SCyGM2Tp37w

                Si je dois rajouter des résistances pour des pull up ou pull down, et éventuellement des transistors (à voir). Que me conseillez-vous pour faire un câblage propre. Vers quel professionnel dois-je me tourner pour faire un petit circuit avec ces quelques composants avec sur ce petit circuit un bornier pour me brancher dessus?

                • Partager sur Facebook
                • Partager sur Twitter
                Mon CV : http://aidel.automation.free.fr/ Ma société : www.ams-automation.fr
                  16 mars 2014 à 23:28:24

                  Ah, autant pour moi alors.

                  J'utilise principalement des pics qui eux, sont limité à 20mA par pin donc je pensais que c'était à peut prêt pareil pour arduino.

                  Dans ce cas, ton câblage est bon ;)

                  Écrire un LOW activera l'entrée de ta carte ; écrire un HIGH fera l'inverse (désactivation).

                  Je ne vois rien à redire concernant le cablage de ton triple bouton sur Enable.

                  En faite, c'est juste pour ton bouton HOME : il faudrait faire un système pullup comme les 2 autres boutons poussoir.

                  =====

                  Par contre, comme tu peux le voir sur leur exemple, leur driver intègre déjà une résistance 270 Ohm en série sur l'opto.

                  En plus de cette résistance, ils en ajoutent une dont la valeur n'est pas précisée (on voit seulement écrit R).

                  Ces résistances permet de limiter le courant qui passe dans l'opto et donc de soulager un peu l'électronique de commande pour ne pas que le courant soit trop fort.

                  Par contre, si le courant devient trop faible, il est possible que l'opto ne fonctionne plus.

                  Il te faut donc trouver un bon compromis afin d'avoir un courant assez faible tout en gardant un fonctionnement optimal.

                  =====

                  Histoire de donner quelques ordres de grandeur, un opto est une diode qui prend environ 2.4V.

                  Avec 5mA, il devrait fonctionner sans problème.

                  Si ton arduino est en 5V, il faut donc une résistance qui absorbe 5 - 2.4V= 2.6V

                  Donc on a R = U / I = 520 Ohm.

                  Moins les 270 Ohmù qu'il y a déjà, une seconde résistance de 220 ou 280 Ohm ne ferait pas de mal ;)

                  Après, tu peux augmenter petit à petit pour voir jusqu’où ton système fonctionne tout en gardant une marge de sécurité.


                  • Partager sur Facebook
                  • Partager sur Twitter
                    17 mars 2014 à 8:20:52

                    Concernant le driver, sur la version SD504

                    http://www.soprolec.com/phpmv2/phpmyvisites.php?url=http%3A//www.soprolec.com/catalog/images/File/doc_drivers/md542_manual_fr.pdf&id=1&pagename=FILE:DOC_SD5042_FR

                    On peut voir sur cette doc page 4/9 que la resistance à placer entre le controler (Arduino) et le driver est inutile car pour VCC = 5V R=0 d'après la doc.

                    Par contre concernant la dernière question de mon post, as-tu une solution (pour faire un petit circuit électronique, vers qui puis-je me tourner)

                    J'hésiterai pas à faire un retour de ce petit projet.

                    Merci encore.

                    -
                    Edité par Sub ZERO 17 mars 2014 à 8:21:43

                    • Partager sur Facebook
                    • Partager sur Twitter
                    Mon CV : http://aidel.automation.free.fr/ Ma société : www.ams-automation.fr
                      17 mars 2014 à 9:36:02

                      Hum, R=0, ils n'ont pas envie de trop se mouiller ^^

                      En disant ça, ils sont sur que l'opto va marcera, mais c'est quand même luxe à mon avis.

                      D'un autre coté, si la vie d'un homme en dépend, faut pas trop chercher à diminuer le courant en augmentant le risque que l'opto n'est pas assez de courant pour déclencher.

                      =====

                      En tout cas, je vois que tu regardes les doc, c'est un bon point (c'est comme cela que l'on devient autonome) ;)

                      =====

                      Du coup, si tu mets R=0, c'est juste un simple fil.

                      Dans ce cas, vu que ton montage en contient que 3 résistances pullup et des boutons, je ne vois pas trop l'interet de passer par une société pour faire un circuit ...

                      A la limite, tu t'achètes une barette à pluguer sur ton arduino ( un truc de ce genre : http://fr.farnell.com/te-connectivity-amp/1-826629-6/embase-male-16-voies-droite/dp/1248124 )

                      Voir éventuellement une carte de prototypage pour avoir un support pour tes barettes et résistances ( un truc de ce genre : http://fr.farnell.com/vector-electronics/8015-1/pcb-pad-hole/dp/2295747 )

                      • Partager sur Facebook
                      • Partager sur Twitter
                        17 mars 2014 à 9:54:29

                        C'est clair, en fait c'est juste pour placer mes résistances sur quelques choses de propre (pas en vrac). Et aussi par curiosité, car si ce projet abouti je voudrai savoir pour d'autres projets avec plus de composants (2-3 transistors et/ou condensateurs, ..) comment faire? (ou vers qui?). Au collèqe (ça me rajeunit pas) on avait fait un petit circuit pour réaliser un petit clignoteur à LED (typon, gravure, perçage, ... la totale :D, .. le bon vieux temps), donc je me posais la question de comment faire quelque chose de propre.

                        Par contre j'ai pas compris l'utilité des deux références que tu m'as donné.

                        Merci encore.

                        • Partager sur Facebook
                        • Partager sur Twitter
                        Mon CV : http://aidel.automation.free.fr/ Ma société : www.ams-automation.fr
                          17 mars 2014 à 10:30:20

                          La plaque est composée d'un cadrillage de trous au pas de 2.54mm donc tu peux y glisser n'importe quel composant (y compris ces barrettes qui viendront se pluger dans les rangée de pin de l'arduino).

                          Sur le dessous, tu as des pastilles pour souder les composants qui tu as glissé.

                          Et pour finir, tu peux relier les pastilles entre elles (avec beaucoup de soudure ou des fils) pour faire les connexions.

                          Au final, tu peux avoir quelque chose dans ce style :

                          • Partager sur Facebook
                          • Partager sur Twitter
                            17 mars 2014 à 11:21:37

                            Impeccable, encore une fois merci beaucoup.

                            Comme dis précédemment, je vous tiens au jus pour cette application.

                            • Partager sur Facebook
                            • Partager sur Twitter
                            Mon CV : http://aidel.automation.free.fr/ Ma société : www.ams-automation.fr

                            [ARDUINO] Commande moteur pas-à-pas + axe linéaire

                            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                            • Editeur
                            • Markdown