Go Down

Topic: Problème de moteur (Read 91 times) previous topic - next topic

Elibole

Bonjour à tous
Je suis en train de tester le contrôle (vitesse et sens) d'un moteur DC 3V à 6V de 2000 tour par minute.
Ceci à l'aide d'un shield pont en h L298N et d'un joystick. Je l'alimente avec un boitier de 4 piles LR06 de 1,5 volts chacune.
voici le code source :

const int joysticky = 1;

// ports de commande du moteur A
const int motorPin1 = 12;
const int motorPin2 = 13;
const int enablePin = 11;


void setup() {
 
  pinMode(joysticky, INPUT);
  pinMode(motorPin1, OUTPUT);
  pinMode(motorPin2, OUTPUT);
  pinMode(enablePin, OUTPUT);

}

void loop() {
  
   int valueM = analogRead(joysticky);
      if (valueM <= 511) {
        
        valueM = 1023 - valueM ;
        valueM = map(valueM, 511, 1023, 0, 255);
        digitalWrite(motorPin1, LOW);
        digitalWrite(motorPin2, HIGH);
        analogWrite(enablePin, valueM);
        delay(15);
      }
       else {
        valueM = 1023 - valueM;
        valueM= map(valueM, 0, 511, 0, 255);
        digitalWrite(motorPin1, HIGH);
        digitalWrite(motorPin2, LOW);
        analogWrite(enablePin, valueM);
        delay(15);
       }
}






Voilà seulement cela ne fonctionne pas et mon moteur se met à tourner très vite et sens très fort le cramé.
j'ai essayé avec d'autres programmes plus simples et ca marche cependant ca sent quand meme le brulé ...
Et j'ai pas très envie de flinguer mon shield et mon moteur

voici une photo du montage :

olivier_pecheux

Déjà pour respecter la liste, reporte-toi à
Faire un Nouveau Sujet ou le corriger avec les Balises Du coup, tu peux mêm corriger ton premier post.


Quand un montage ne fonctionne pas, il vaut mieux tester partie par partie que de tout mettre et d'avoir à rechercher dans un gros tas.

Le moteur que tu as, il vaut mieux le tester seul avant de le commander par l'arduino. Juste le moteur et les piles. La pleine vitesses est trop importante? Cela chauffe? Cela sent le brûlé?
Si une réponse est positive, ce n'est pas la peine d'aller plus loin, c'est à ce niveau que l'on peut agir, par exemple en faisant les tests avec 3 piles au lieu de 4...

Si cela fonctionne correctement juste piles+moteur, on teste avec le shield, mais pas avec un programme compliqué. Juste je mets telle broche à HIGH et telle autre à LOW.

Si cela ne fonctionne pas, ce n'est pas la peine d'aller plus loin.


En fait avec un branchement avec l'arduino, on ne peut pas mettre plus de puissance que juste avec les piles. Il y a donc de fortes chances qu'il y ait un problème dès le départ.

fdufnews

Problème ici
Code: [Select]
if (valueM <= 511) {
       
        valueM = 1023 - valueM ;
        valueM = map(valueM, 511, 1023, 0, 255);

si valueM est inférieur ou égale à 511 le résultat de 1023 - valueM sera entre 0 et 512 donc les paramètres de map sont mauvais.

Un moteur prévu pour fonctionner entre 3V et 6V tourne "à fond" lorsqu'on l'alimente en 6V ce n'est pas très surprenant.

D'après la doc constructeur, le L298 n'est pas prévu pour fonctionner dans ces conditions. La partie puissance doit être alimentée avec une tension supérieure de 2,5V à celle de la partie logique. Donc comme la partie logique est alimentée en 5V la partie puissance devrait être alimentée en 7,5V minimum.

Barsa972

Quote
D'après la doc constructeur, le L298 n'est pas prévu pour fonctionner dans ces conditions. La partie puissance doit être alimentée avec une tension supérieure de 2,5V à celle de la partie logique. Donc comme la partie logique est alimentée en 5V la partie puissance devrait être alimentée en 7,5V minimum.
Rien n'empêche de faire un pont diviseur pour limiter la tension de la partie commande à 3V

Go Up