Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème de commande de 2 moteurs MCU8266+ESP12E

Sujet résolu
    1 décembre 2019 à 13:10:46

    Bonjour,

    j'ai un problème avec un projet d'électronique, je dois faire un véhicule qui se déplace et pour cela je dois faire tourner 2 moteurs dans les 2 sens possibles. Pour cela j'ai fait un montage adéquat et j'ai tester un code pour faire fonctionner le moteur dans les deux sens. En effet pour modifier le sens de rotation du moteur il faut changer la valeur du pin D3(GPIO 0) pour le moteur A. J'ai effectuer plusieurs test mais rien n'y fait mon moteur tourne toujours dans le même sens. Pour information j'utilise l'alimentation du NodeMCU ESP8266 pour faire fonctionner les moteurs. Il est donc nécessaire de relier VM et VIN pour alimenter les moteurs.

    Le cable bleu relie les bornes VM et VIN les deux autres bornes du bloc de 4 sont des grounds un pour l'alimentation moteur et l'autre pour le motor shield. La résolution ne viendrait pas du fait de relier les 2 grounds ?

    Voici le code que j'utilise:

    #define SpeedA 5
    #define SpeedB 4
    #define SensA 0
    #define SensB 2
    
    void setup()
    {
      Serial.begin(9600);
      pinMode(SpeedA, OUTPUT);
      pinMode(SensA, OUTPUT);
      pinMode(SpeedB, OUTPUT);
      pinMode(SensB, OUTPUT);
      
      digitalWrite(SpeedA,LOW);
      digitalWrite(SpeedB,LOW);
      digitalWrite(SensA,HIGH);
      digitalWrite(SensB,HIGH);
    }
    void loop()
    {
        digitalWrite(SensA,HIGH);
        digitalWrite(SensB,HIGH);
        analogWrite(SpeedA,1023);
        analogWrite(SpeedB,1023);
        delay(5000);
        digitalWrite(SpeedA,LOW);
        digitalWrite(SpeedB,LOW);
        digitalWrite(SensA,HIGH);
        digitalWrite(SensB,HIGH);
        delay(2000);
        digitalWrite(SensA,LOW);
        digitalWrite(SensB,LOW);
        analogWrite(SpeedA,1023);
        analogWrite(SpeedB,1023);
        delay(2000);
    }

    Je ne comprends pas pourquoi en changeant la valeur de SensA et SensB mes moteurs ne changent pas de sens



    • Partager sur Facebook
    • Partager sur Twitter
      3 décembre 2019 à 12:34:02

      Bonjour,

      Les masses sont déjà reliées ensemble sur la carte.

      As tu essayé de changer la direction de rotation au début de la fonction loop pour voir si le moteur démarre aussi dans l'autre sens, mais ne change plus de sens après ?

      Il est possible que ton alimentation (le port USB ?) ne soit pas assez puissante pour alimenter les moteurs et que ça fasse chuter la tension d'entrée, ce qui provoque une réinitialisation de l'esp8266, qui n'arrive jamais à la partie du code où il est censé changer de direction.

      • Partager sur Facebook
      • Partager sur Twitter
        3 décembre 2019 à 19:46:28

        Désolé le problème est résolu, le moteur n'accepte pas les analogWrite
        • Partager sur Facebook
        • Partager sur Twitter
          8 décembre 2019 à 20:30:01

          bonjour tu dis pas comment tu as fait et si tu utilises une source alimentation directement sur le ViM, moi j'essai avec avec une power bank en USB mais ca fonctionne pas et je n'ai pas de analogwrite. Une solutions sans ViM ??
          • Partager sur Facebook
          • Partager sur Twitter

          Problème de commande de 2 moteurs MCU8266+ESP12E

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