Problème avec Uno R3 et L298n

Bonjour,

je souhaiterai démarrer un moteur DC avec une carte arduino uno R3 et un driver L298n.

j’ai connecté tout d’abord un pack de 4 piles sur le driver entre 12V et le ground.
ensuite du ground avec le ground sur l’arduino. le 5v sur l’arduino pas de problème les deux sont alimentés.
ensuite je part du ENA vers la pin 10, IN1 vers la pin 9 et IN2 vers la pin 8

j’ai chargé le programme suivant et rien ne bouge.

pouvez vous m’aider svp ?

Cdlt.

// connect motor controller pins to Arduino digital pins
// motor one
int enA = 10;
int in1 = 9;
int in2 = 8;

void setup()
{
  // set all the motor control pins to outputs
  pinMode(enA, OUTPUT);
  pinMode(in1, OUTPUT);
  pinMode(in2, OUTPUT);
}
void demoOne()
{
  // this function will run the motors in both directions at a fixed speed
  // turn on motor A
  digitalWrite(in1, HIGH);
  digitalWrite(in2, LOW);
  // set speed to 200 out of possible range 0~255
  analogWrite(enA, 200);
  delay(2000);
  // now change motor directions
  digitalWrite(in1, LOW);
  digitalWrite(in2, HIGH);  
  delay(2000);
  // now turn off motors
  digitalWrite(in1, LOW);
  digitalWrite(in2, LOW);  
}
void demoTwo()
{
  // this function will run the motors across the range of possible speeds
  // note that maximum speed is determined by the motor itself and the operating voltage
  // the PWM values sent by analogWrite() are fractions of the maximum speed possible 
  // by your hardware
  // turn on motors
  digitalWrite(in1, LOW);
  digitalWrite(in2, HIGH);  
  // accelerate from zero to maximum speed
  for (int i = 0; i < 256; i++)
  {
    analogWrite(enA, i);
    delay(20);
  } 
  // decelerate from maximum speed to zero
  for (int i = 255; i >= 0; --i)
  {
    analogWrite(enA, i);
    delay(20);
  } 
  // now turn off motors
  digitalWrite(in1, LOW);
  digitalWrite(in2, LOW);  
}
void loop()
{
  demoOne();
  delay(1000);
  demoTwo();
  delay(1000);
}

Bonjour,
Je ne vois rien d'anormal dans ton programme.
Mets nous une photo de ton câblage
@+

Bonjour,

+1 pour le schéma.

Je suppose que tu as testé que les moteurs tournent correctement en les mettant directement sur ton alimentation : tension suffisante et moteur en bonne santé.

Première remarque : il est possible que tu n'ai pas assez de puissance si ton signal PWM n'est pas assez longtemps à l'état haut. Le seuil dépendant principalement de tes moteurs, la tensions d'alimentation. Ceci dit vu que tu balayes toute la plage dans ton test, ça serait quand même surprenant, ça devrait au moins gigoter lorsque le PWM est dans la plage suppérieure. Essaye quand même de valider ça en mettant le PWM au max assez longtemps. Ca a le mérite d'être simple et rapide à tester.

Sinon il faut décomposer le problème. Par exemple virer les moteurs, mettre le signal PWM au max (ou forcer l'activation continue des moteurs) et vérifier la tension de sortie destinée aux moteurs. Histoire de voir si c'est un problème d'utilisation du H-bridge (mauvais "aiguillage"...) ou pas. Autre option : vérifier à l'ohmmètre si c'est passant entre les broches d'alimentation et le moteur (après avoir complètement virer l'alimentation destinée aux moteurs !).

bonjour et merci de m’avoir répondu.

En effet oui j’ai vérifié le moteur en l’alimentant avec le pack de pile et celui-ci fonctionne bien.

j’utilise le driver qui est en pièce jointe.
Lorsque je met mon multimètre aux bornes du moteur, je n’ai aucune tension.

Étant néophyte, quelle valeur du PWM dois je modifier ?

j’ajouterai le schéma dès que je serais rentré du boulot :wink:

Cdlt.

robix62:
Étant néophyte, quelle valeur du PWM dois je modifier ?

j'ajouterai le schéma dès que je serais rentré du boulot :wink:

Pour le PWM au max : analogWrite(anA, 255);

Un exemple d'utilisation de ta carte : sur instructables .

Il y a deux jumpers sur la carte, il semble qu'il soit lié à l'usage du PWM. On peut penser que tant qu'il est là les moteurs fonctionnent en ON/OFF, mais c'est juste une supposition de ma part faute d'avoir plus d'info. En d'autres termes à voir réellement à quoi ça sert :wink:

Pour le reste je ne saurais en dire plus, et étant également au taf' ça devra s'arrêter là dans l'immédiat. A défaut d'avoir apporter une réponse j'espère au moins qu'il y a des pistes à explorer.

ça marche !!

alors j'ai modifié la valeur du PWM, ça ne tournait pas mais déja ça avait l'air de bouger.
j'ai testé un moteur bcp plus petit, pareil ça bougeait un peu. j'ai branché en plus le port usb sur l'arduino et taaaaadaaaaaaaa ça marche donc il me manque juste de la puissance.

je viens d'essayer avec une alim 5V 4A et c'est parfait ça fonctionne.

Merci bcp à vous pour l'aide apportée et à bientôt