Partage
  • Partager sur Facebook
  • Partager sur Twitter

commander un motoréducteur 12V

    5 novembre 2019 à 12:35:35

    Bonjour à tous, 


    j’essaie de commander le sens de rotation d’un motoréducteur avec un module de pont en H et une carte arduino uno. 


    J’ai un problème avec le montage. Voici les composants du montage : 

    J’ai câblé le moteur et les deux fils reliés à la carte uno permettant de commander le sens de rotation du moteur. 

    Je ne comprends rien du tout au niveau des alimentations entre le 5V et le 12V. Ou se branche les "-"des alimentations (5v de l'arduino Uno et 12v de l'autre alimentation) ?


    merci d’avance pour votre aide :)

    • Partager sur Facebook
    • Partager sur Twitter
      6 novembre 2019 à 18:51:31

      Bonjour,

      Tout d'abord, niveau sécurité, il vaut mieux utiliser une alimentation fermée, où les contacts secteur ne sont pas accessibles, ou mettre celle que tu as dans un boîtier, les fils protégés contre un possible arrachement (si tu te prends les pieds dans le fil secteur, ils peuvent se détacher et soit se toucher entre eux, soit toucher quelqu'un), et si c'est un boîtier métallique, il faut utiliser un cable secteur avec prise et fil de terre, pour qu'en cas de défaut interne à l'alimentation, tu ne te retrouves pas à toucher la tension secteur mais que ça fasse plutôt sauter les plombs ou le disjoncteur. Même si tu peux croire qu'il faut juste faire attention, un accident peut facilement arriver (au moins, tu as apparemment une alimentation de marque).

      Pour répondre à ta question les 2 masses, V- et GND de l'arduino doivent être connectées ensembles. Les tensions de sortie et d'entrée des 2 cartes sont des différences de potentiel par rapport à la masse de leur carte respective, donc si on veut que la sortie 5V de la broche 8 ou 9 de la carte arduino soit "comprise" comme du 5V par l'entrée IN1 ou IN2 de la carte contrôleur, les 2 cartes doivent avoir la même masse.

      De plus entre V+, V- et +12V et GND de la carte contrôleur, tu devrais utiliser les fils de plus grosse section et pas les fils de breadboard, puisqu'ils vont recevoir le courant destiné au moteur. Tu peux connecter la masse de l'arduino au choix au V- de l'alimentation 12V ou au GND de la carte contrôleur avec les fils de breadboard par contre.

      Et juste pour info, quand le jumper au milieu de la carte contrôleur est en place, le 5V sur le connecteur bleu à 3 broches est une sortie, il ne faut pas le connecter au 5V de l'arduino.

      • Partager sur Facebook
      • Partager sur Twitter
        7 novembre 2019 à 14:19:56

        Bonjour, 

        merci pour ta réponse. Tu as raison niveau sécurité, je viens de commander un boitier de protection. 

        J'ai essayé de faire le câblage :

        câblage du moteur

        En ce qui concerne l'alimentation de l'arduino 5V, je ne comprends pas comment utiliser le jumper. Y'a en effet un composant électronique sur le contrôleur de moteur mais sur lequel je ne pas "brancher" de fil de électrique. 

        • Partager sur Facebook
        • Partager sur Twitter
          7 novembre 2019 à 23:54:09

          Es-tu sûr que le 12V se trouve de ce côté du connecteur bleu à 3 broches. Normalement il y a des inscriptions sous la carte, au moins pour indiquer où sont le 5V et la masse, le 12V s'il n'est pas indiqué est sur la broche restante qui devrait être celle la plus à l'extérieur. Comme toutes les cartes L298N sont légèrement différentes, je ne peux pas être sûr que ce soit le cas...

          Le jumper sert à alimenter ou non le régulateur 5V, le composant à 3 broches marqué 7805 ou 78M05 qui génère le 5V à partir du 12V. La puce principale, le L298N, a besoin du 5V pour fonctionner. 

          Sur le connecteur bleu à 3 broches, de l'extérieur vers l'intérieur, tu devrais avoir entrée 12V (ou 6-35V), GND et sortie 5V. Si tu veux alimenter l'arduino avec l'alimentation 12V, tu peux connecter le 12V sur la broche Vin de l'arduino (et donc utiliser le régulateur 5V intégré à l'arduino) ou connecter le 5V de la carte contrôleur à la broche 5V de l'arduino (et donc utiliser le régulateur 5V de la carte L298N pour alimenter l'arduino), mais pas les 2 à la fois, parce que ça connecterait 2 régulateurs en parallèle avec un risque de générer des oscillations parasites sur le 5V parce que les 2 essaieront d'obtenir une tension 5V légèrement différente.

          Ce n'est généralement pas recommandé d'alimenter l'arduino directement pas sa broche 5V, parce que ça contourne les protections contre les courts-circuits de l'arduino entre le 5V et la masse. Le régulateur 78M05, de la carte contrôleur, devrait également avoir ce genre de protection, mais je ne suis pas sûr que tous les clones chinois du 78M05 aient cette protection.

          • Partager sur Facebook
          • Partager sur Twitter
            8 novembre 2019 à 12:03:39

            Tout d'abord, un grand merci pour ton aide ! ;) 

            voilà le montage (avec la pile pour alimenter l'arduino) : 

            Il reste à brancher le pwm pour régler la vitesse des moteurs (si je ne me trompe pas). Le problème est que le contact est un peu spécial, c'est le contact "B Enable" sur le schéma du fabricant (https://www.amazon.fr/Yakamoz-Contr%C3%B4leur-Controller-Stepper-Arduino/dp/B07CJ27Y5M/ref=sr_1_6?__mk_fr_FR=%C3%85M%C3%85%C5%BD%C3%95%C3%91&keywords=controleur+de+moteur+arduino&qid=1569962670&sr=8-6). Comment faire pour cette partie ?

            • Partager sur Facebook
            • Partager sur Twitter
              8 novembre 2019 à 14:51:44

              Il n'est pas spécial, il y a juste un jumper qui relie ENB au 5V par défaut, pour faire tourner le moteur à pleine vitesse quand on n'a pas besoin du PWM.

              Tu peux enlever le jumper, et connecter la sortie PWM de l'arduino sur la broche ENB (celle sur le bord de la carte, l'autre étant le 5V, d'ailleurs tu peux normalement voir la piste entre les 2 broches 5V à côté de ENA et ENB et le 5V du connecteur bleu).

              PS: Pour info, en fonction de la consommation du moteur, le L298N provoque une chute de tension de 3.2V à 1A et 4.9V à 2A, ce qui fait qu'il ne reste respectivement que 8.8V et 7.1V aux bornes du moteur pour ces consommations, donc en dessous d'une valeur certaine valeur de PWM, le moteur peut s'arrêter au lieu de ralentir davantage et/ou refuser de démarrer s'il est à l'arrêt initialement, ce qui peut rendre inutilisable 50 à 80% de la plage de réglage.

              • Partager sur Facebook
              • Partager sur Twitter
                10 novembre 2019 à 11:33:38

                J'ai testé le montage mais le moteur ne tourne pas. J'ai essayé avec et sans pwm, le résultat est le même : le moteur ne tourne pas. Le moteur fonctionne bien lorsque je le branche directement à l'alimentation.

                Le code que j'ai utilisé : 

                int ENB=6; //Connecté à Arduino pin 6 (sortie pwm)
                int IN3=7; //Connecté à Arduino pin 7
                int IN4=8; //Connecté à Arduino pin 8
                
                
                void setup() {
                  pinMode(ENB, OUTPUT);
                  pinMode(IN3, OUTPUT);
                  pinMode(IN4, OUTPUT);
                
                  digitalWrite(ENB, LOW); //moteur B ne tourne pas
                
                  // Direction du moteur B
                
                  digitalWrite(IN3, HIGH);
                  digitalWrite(IN4, LOW);
                  
                }
                
                void loop() {
                  //Moteur B - Mi-régime
                  analogWrite(ENB,128);
                  delay(2000);
                  analogWrite(ENB,255);
                  delay(3000);
                
                  //on change le sens de rotation :
                  digitalWrite(IN3,LOW);
                  digitalWrite(IN4,HIGH);
                }
                



                • Partager sur Facebook
                • Partager sur Twitter
                  11 novembre 2019 à 14:29:01

                  J'ai essayé d'autres code mais je ne vois vraiment pas d'où peut venir le problème : du montage, du matériel, du programme ?  

                  int ENB=6; //Connecté à Arduino pin 6 (sortie pwm)
                  int IN3=7; //Connecté à Arduino pin 7
                  int IN4=8; //Connecté à Arduino pin 8
                  
                  
                  void setup() {
                    pinMode(ENB, OUTPUT);
                    pinMode(IN3, OUTPUT);
                    pinMode(IN4, OUTPUT);
                  
                    digitalWrite(ENB, HIGH); 
                  
                    // Direction du moteur B
                  
                    digitalWrite(IN3, HIGH);
                    digitalWrite(IN4, LOW);
                    
                  }
                  
                  
                  void loop() {
                  
                    digitalWrite(ENB, HIGH); 
                    digitalWrite(IN3, HIGH);
                    digitalWrite(IN4, LOW);
                  
                    delay(5000);
                  }



                  • Partager sur Facebook
                  • Partager sur Twitter

                  commander un motoréducteur 12V

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  • Editeur
                  • Markdown