Aujourd’hui, nous allons apprendre à utiliser un moteur pas à pas avec un Arduino. Ce type de moteur est couramment utilisé dans les imprimantes 3D et tout appareil nécessitant une précision de positionnement.
Matériel Nécessaire
- 1 arduino
- 1 module driver motor ULN2003A
- 1 moteur 28BYJ-48
- 1 potentiomètre
Câblage
Pour le câblage le potentiomètre est branché sur le pin A0 de l’arduino et les deux autres coté du potentiomètre sont sur le 5V et le Gnd.
Pour la commande moteur J’utiliser les pin 8,9,10,11 de l’arduino et je les branches sur les pin 1N1, 1N2, 1N3, 1N4 et je n’oublie pas d’alimenter le module en 5 Volt.
Pour le code la librairie de base présente dans l’arduino ne nous permet que de fonctionner en 4 séquences au lieux des 8 pour le moteur. Le fonctionnement est du type led AB, led BC, led CD, led DA au lieu de led A, led AB, led B , led BC , led C, led CD, led D, led DA.
Donc pour faire un tour complet on doit lui envoyer 32*64 soit 2048 au lieux des 4096.
Pour commencer le code j’appelle la librairie “Stepper.h” .
Je définie une constante avec le nombre de step par tour avec “const int stepsPerRevolution = 32*64;” .
J’initialise un stepper motor avec “Stepper myStepper(stepsPerRevolution, 9, 11, 10, 8);” .
ATTENTION à l’ordre des pin
Dans le setup j’ai initialisé un serial pour visualiser la vitesse moteur que l’on va définir avec le potentiomètre.
Dans la boucle nous allons lire la valeur du potentiomètre avec “analogRead(A0);”, ensuite on va mapper la valeur avec “map(sensorReading, 0, 1023, 0, 10);” qui va ici nous donner une valeur entre 0 et 10.
J’ai une condition qui déclenche le moteur si notre vitesse est supérieure à 0.
Je définis la vitesse de mon moteur avec “setSpeed(motorSpeed);” et je vais pouvoir ensuite choisir le nombre de step je souhaite faire faire au moteur avec la commande “step(mavaleur);” .
Rien de compliqué dans le code, c’est plutôt le type d’utilisation qui va certainement complexifié le code.
Télécharger le code : – TutoStepperMotor
Conclusion
Avec ce tutoriel, vous savez maintenant comment utiliser un moteur pas à pas avec un Arduino. Ce projet peut être étendu et modifié pour répondre à divers besoins en automatisation et en contrôle de mouvement.
Exemple de code
// Made By https://retroetgeek.com #include <Stepper.h> // change this to fit the number of steps per revolution // nombre de step const int stepsPerRevolution = 32*64; // for your motor // initialize the stepper library on pins 8 through 11 // initialisation de la librairie stepper // (step,1N2,1N4,1N3,1N1) Stepper myStepper(stepsPerRevolution, 9, 11, 10, 8); //Stepper myStepper(stepsPerRevolution, 8, 10, 9, 11); void setup() { Serial.begin(9600); } void loop() { // read the sensor value: // on lit la valeur sur le potentiometre int sensorReading = analogRead(A0); // map it to a range from 0 to 10: // convertie la valeur au potentiometre int motorSpeed = map(sensorReading, 0, 1023, 0, 10); if (motorSpeed > 0) { // on donne la vitesse du moteur // motor speed myStepper.setSpeed(motorSpeed); Serial.print("Vitesse "); Serial.println(motorSpeed); // 100 step myStepper.step(2048); delay(1500); myStepper.step(-2048); delay(1500); } }
N’hésitez pas à poser vos questions sur les réseaux sociaux de la chaîne instagram , twitter , facebook ,youtube ; si vous ne comprenez pas certaines parties du tutoriel n’hésitez pas , me dire ce que vous aimeriez que je crée pour en faire des vidéos tutoriel et à partager les projets que vous aimeriez créer etc…
Comme toujours allez sur la page de C’est quoi Retro et Geek pour connaître tout ce que je recherche à faire sur la chaîne.
Merci les RetroGeeker et RetroGeekeuse