Partage
  • Partager sur Facebook
  • Partager sur Twitter

Arduino et moteur : transistor à l'envers !

    9 novembre 2017 à 14:28:47

    Bonjour,

    Je commence à apprendre à utiliser les moteurs CC avec mon Arduino. Avant d'exploiter mon shield motor, je veux essayer de faire un peu par moi-même. Du coup, j'ai réalisé ce tutoriel.

    Ça donne ceci : Mon montage

    Le moteur utilisé est un petit moteur fourni avec un jeu de construction de véhicule qui était alimenté avec une pile 3V. Je l'alimente ici avec la sortie 3.3V de l'Arduino. Le transistor est un PN2222 acheté sur semageek.

    Ça fonctionne bien sauf que au lieu d'être arrêté quand le PWM est à 0 et à fond quand il est à 255, c'est l'inverse. Du coup, j'ai modifié le programme pour écrire 255-speed (speed lu avec Serial) dans la sortie 3 avec analogWrite.

    Est-ce que j'avais mal compris le texte du tutoriel et le fonctionnement est normal ou est-ce que il y a autre chose ?

    Merci d'avance.

    Gaël

    Mon environnement: Arduino UNO R3, GNU/Linux KDE Neon 5.11.33, IDE arduino 2:1.0.5+dfsg2-4

    Mon code:

    /*
    Adafruit Arduino - Lesson 13. DC Motor
    */
    
    
    int motorPin = 3;
     
    void setup() 
    { 
      pinMode(motorPin, OUTPUT);
      Serial.begin(9600);
      while (! Serial);
      Serial.println("Speed 0 to 255");
      analogWrite(motorPin, 255);
    
    } 
     
     
    void loop() 
    { 
    //      analogWrite(motorPin, 255);
    //  Serial.println("Loop");
      if (Serial.available())
      {
        int speed = Serial.parseInt();
    //    String msg="  Got speed ";
    //      Serial.println(msg+speed);
        if (speed >= 0 && speed <= 255)
        {
    //      Serial.println("  Got speed "+speed);
          analogWrite(motorPin, 255-speed);
        }
      }
      delay(100);
    } 



    • Partager sur Facebook
    • Partager sur Twitter
      9 novembre 2017 à 23:25:51

      Bonsoir,

      Utiliser la sortie 3V3 pour alimenter le moteur est dangereux pour l'Arduino.
      Cette sortie ne peut délivrer qu'un petit courant (a priori 50mA max).

      La résistance de base me semble bien faible, à se demander si la jonction base/émetteur n'est pas grillée. 

      Le tutoriel utilise le 5V (même si ce n'est pas recommandé non plus) et non le 3V3, la résistance est plus forte 270 Ohms et non 47 Ohms.

      • Partager sur Facebook
      • Partager sur Twitter
        9 novembre 2017 à 23:27:25

        J'ai essayé avec un nouveau transistor et ça a fonctionné normalement !

        Ou alors mon premier transistor avait un défaut (ça arrive, ça ?) ou bien je l'avais grillé avec un faux contact ou une erreur à un moment dans le montage.

        • Partager sur Facebook
        • Partager sur Twitter
          9 novembre 2017 à 23:29:26

          Détruire un transistor en cas de mauvais câblage est assez fréquent.

          • Partager sur Facebook
          • Partager sur Twitter
            9 novembre 2017 à 23:30:16

            clgbzh a écrit:

            Bonsoir,

            Utiliser la sortie 3V3 pour alimenter le moteur est dangereux pour l'Arduino.
            Cette sortie ne peut délivrer qu'un petit courant (a priori 50mA max).

            La résistance de base me semble bien faible, à se demander si la jonction base/émetteur n'est pas grillée. 

            Le tutoriel utilise le 5V (même si ce n'est pas recommandé non plus) et non le 3V3, la résistance est plus forte 270 Ohms et non 47 Ohms.


            Bonsoir. Merci pour ta réponse. J'ai utilisé la sortie 3.3 V parce que c'est  un vraiment tout petit moteur, alimenté initialement par une pile 3V. Pour la résistance, j'ai essayé de faire un petit calcul pour l'adapter au courant envoyé dans le transistor, mais j'ai pu me tromper...
            • Partager sur Facebook
            • Partager sur Twitter

            Arduino et moteur : transistor à l'envers !

            × 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