Problème de contrôle d'un moteur pour robot mobile

Bonjour à tous !

J’ai construit un robot mobile à base de Meccano et commandé par une Arduino Mega 2560. Le robot est équipé d’un moteur 3V~12V pour la propulsion et d’un servomoteur pour la direction (voir photos). Le moteur est relié à l’Arduino grâce au shield moteur d’Adafruit, et j’utilise une batterie lithium-ion de 12V pour l’alimentation de l’ensemble (branchée sur le bornier “external power” du shield).

J’ai ensuite voulu tester le montage avec ce code très simple, qui fait avancer le robot pendant 2s, puis arrêt pendant 2s, reculer 2s, arrêt 2s, etc (plus la commande du servo de direction):

#include <Servo.h>
#include <AFMotor.h>

AF_DCMotor motorR(4);
Servo myservo;

void setup() {
  motorR.run(RELEASE);
  myservo.attach(10);
}

void loop() {
  myservo.write(83);
  delay(500);

  motorR.setSpeed(255);
  motorR.run(FORWARD);
  delay(2000);
  motorR.setSpeed(0);
  delay(2000);

  myservo.write(97);
  delay(500);

  motorR.setSpeed(255);
  motorR.run(BACKWARD);
  delay(2000);
  motorR.setSpeed(0);
  delay(2000);
}

Mon problème est qu’à chaque fois que le robot doit reculer, le moteur “cale”. Vers l’avant il n’y a pas de problème, et le code à l’air de s’exécuter normalement sur la carte.

Au début je pensais que le souci venait de la batterie (elle à un interrupteur intégré donc surement aussi un mini circuit intégré qui peux poser problème), mais après j’ai testé avec un adaptateur secteur et le problème persiste, donc maintenant je soupçonne plutôt le shield. Mais comme mes connaissances en électronique sont très limitées j’aimerais bien avoir votre avis :slight_smile:

Je pense éventuellement ajouter une deuxième batterie (deux 18650 en série par exemple) réservée à l’alimentation du moteur mais je veux être sur que ça puisse corriger le problème avant de les acheter ^^

Merci pour tous les conseils/remarques que vous pourrez m’apporter !

Bonjour, Référence shield moteur d'Adafruit ?

La fiche du shield moteur : https://learn.adafruit.com/adafruit-motor-shield

Une autre précision pour le moteur : il est écrit dessus qu'il consomme 140mA à vide et jusqu'à 1.1A max en charge.

Je remets aussi les photos, car leur envoi à planté dans mon premier message ::) La petite carte entre la batterie et l'arduino est un abaisseur de tension ajustable, je l'ai réglé à 7.2V pour avoir du 6V en sortie du shield (les specs du shield annoncent une chute de 1.2V dans le pont en H). impossible de mettre ces foutus photos :angry:

bonjour, as tu essayé à vide le moteur pour voir s'il fait bien ce qu'on lui demande? avant arrière une photo et ref du moteur serait bien

Le moteur fonctionne bien, c’est lorsqu’il est commandé par le shield qu’il agit bizarrement …

J’ai mis un document de description du moteur en pièce jointe, plus des photos du robot (si elles veulent bien s’uploader …)