Faire tourner un moteur à l'aide d'un arduino et L293D

Bonjour,

J'ai actuellement un projet consistant à faire tourner dans un premier temps qu'un seul moteur. On fait aussi attention à la vitesse. J'ai utilisé pour cela un transistor L293D, un arduino UNO, un moteur CC, une pile 9V. Je vous ai mis ci-joint le plan physique du circuit que j'ai utilisé et son code. Le moteur ne tourne pas et c'est comme si aucune tension ne circulait sur la breadboard... Auriez-vous des idées?

const int enable = 3; // la PWM
const int in1 = 2;    // les broches de signal
const int in2 = 4;
const int potar = 0;  // la broche pour régler la vitesse

void setup()
{
   pinMode(enable, OUTPUT);
   pinMode(in1, OUTPUT);
   pinMode(in2, OUTPUT);
   Serial.begin(115200);

   // on démarre moteur en avant et en roue libre
   analogWrite(enable, 0);
   digitalWrite(in1, LOW);
   digitalWrite(in2, HIGH);
}

void loop()
{
   int vitesse = analogRead(potar);

   // dans le sens positif
   if(vitesse > 512)
   {
       // on décale l'origine de 512
       vitesse -= 512;
       // le moteur va dans un sens
       digitalWrite(in1, LOW);
       digitalWrite(in2, HIGH);
       Serial.print("+");
   }
   else // dans l'autre sens
   {
       // de même on décale pour que la vitesse augmente en s'éloignant de 512
       vitesse = 512-vitesse;
       // le moteur va dans l'autre sens
       digitalWrite(in1, HIGH);
       digitalWrite(in2, LOW);
       Serial.print("-");
   }

   // pour rester dans l'intervalle [0;255] (sinon on est dans [0;512])
   vitesse /= 2;
   // envoie la vitesse
   analogWrite(enable, vitesse);

   // et l'affiche
   Serial.println(vitesse);
   delay(50);
}

montage-du-l293d.png

schema-dutilisation-du-l293d.jpg

Bonjour,

Je me demandais comment est-ce qu'on pouvait faire tourner un moteur CC avec un arduino Uno et un transistor L293D?

Tout est expliqué ici.

Salut,

Tu utilises un transistor Mosfet ?? (comme sur schéma) ou un L293D , est il possible d'avoir une photo de l'ensemble ?, car suivant la cas, ce n'est pas le même type de programme .

@+

@hameau je viens de réactualiser les images j'avais fait une erreur

Donc comment conseilles-tu d'alimenter le circuit @pepe?

Pour tester le bon cablage du pont en H, je ferais un programme tout bête, qui fait tourner le moteur dans un sens durant quelques secondes, puis arret du moteur.

Il ya un un petit soucis dans le code, il a dans le setup :

analogWrite(enable, 0);
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);

Pas de soucis, sauf que dans le loop, il y a:

digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);

Donc il manque , l'activation du moteur en mettant à 255 la vitesse du moteur, sans cette ligne pas de rotation moteur

analogWrite(enable, 255);

En mettant la valeur 255 le moteur tournera à sa vitesse maxi, a toi d'adapter en fonction du besoin, variation de vitesse (PWM) entre 0 et 255.