Bonjour,
Je souhaiterais contrôler 2 moteurs DC 12V avec un contrôleur Sabertooth 2x32 et un Arduino Mega
Je suis un peu rôdé à cet exercice avec des contrôleurs plus basiques.
Celui-ci offre de nombreuses possibilités et peut gérer des "grosses" puissances. Mais il semble nettement plus compliqué à utiliser.
Et le code à utiliser est différent :
#include <Servo.h> Servo myservo1; // contrôle moteur 1 Servo myservo2; // contrôle moteur 2 void setup () { myservo1.attach(11); myservo2.attach(10); } void loop() { myservo1.write(30); // vitesse moteur 1 myservo2.write(30); // vitesse moteur 2 delay(5000); myservo1.write(50);// stop motor myservo2.write(90);// stop motor delay(2000); }
La configuration du dip switch sur le contrôleur est : 1 OFF - 2 ON - 3 ON - 4 OFF - 5 ON - 6 ON
Connexion Arduino contrôleur : D10 ARDUINO > S2 Sabertooth et D11 Arduino > S1 Sabertooth
Les 2 moteurs tournent pendant 5 secondes puis s'arrêtent pendant 2 secondes.
Ce qui est curieux c'est que pour arrêter le premier moteur il faut envoyer myservo1.write(50) tandis que pour arrêter le second il faut envoyer myservo1.write(90). Alors que les moteurs sont identiques.
Cette carte peut fonctionner selon différents modes. Peut-être que celui que j'utilise n'est pas le bon.
Elle peut en outre être programmée via une interface usb.
Le code utilisé pour d'autres cartes (celle-ci par exemple) me paraît plus simple :
pinMode(M1, OUTPUT); // sens de rotation pinMode(E1, OUTPUT); // vitesse digitalWrite(M1,LOW); // définit le sens de rotation analogWrite(E1,spd1g); // définit la vitesse de rotation
Avez-vous déjà utilisé ce matériel pour une application robotique ?
Merci