B01 – Moteur pas à pas

Un moteur pas à pas permet de générer un mouvement rotatif, en choisissant, pour chaque pas du moteur, la vitesse et le sens de rotation. Le nombre de pas par tour d’un tel moteur peut être compris entre une douzaine au minimum jusqu’à plusieurs centaines au maximum.
Dans cet exemple, nous utilisons le moteur « Maker Factory », avec son électronique de commande, que vous trouverez à un bas prix chez conrad.

Principe de fonctionnement

On utilise une librairie spécialisé (stepper), qui permet de définir le mode de fonctionnement du moteur et ses connexions. Il suffit ensuite d’indiquer la vitesse (setSpeed), et les pas à réaliser (step).

D’un marqueur (tag RFID) apposé sur l’élément à identifier, qui contient des données numériques. Ces données peuvent être lues sans vue directe (contrairement aux code-barres), avec des distances allant à plusieurs dizaines de mètres.

Le schéma de branchement est le suivant :

Branchement du moteur pas à pas

Le code

L’exemple qui suit, qui est basé sur le code proposé dans l’ouvrage « Home automation projects with Arduino, publié par Elektor« .

#include <Stepper.h>
const int stepsPerRev = 32;
Stepper myStepper(stepsPerRev, 8, 10, 9, 11);
void setup() {}
void loop()
{
  static int dir = 1;
  int motorSpeed;
  for (motorSpeed = 100; motorSpeed <= 1000; motorSpeed += 100) {
    myStepper.setSpeed(motorSpeed);
    myStepper.step(50 * dir);
  }  
 
  myStepper.step(2000 * dir);
  
  for (;motorSpeed >= 100; motorSpeed -= 100) {
    myStepper.setSpeed(motorSpeed);
    myStepper.step(50 * dir);
  }  
  delay(1000);

  dir *= -1;
}

Laisser un commentaire