Moteur Pas à Pas (UNL2003)

Matériel testé : moteur pas à pas 28BYJ-48 et module UNL2003

  • Type : unipolaire
  • Tension : 5V
  • Nombre de pas par tour : 2048

En savoir plus sur les moteurs pas à pas : https://si.blaisepascal.fr/1t-moteur-pas-a-pas/

Câblage

Programmation

En langage C

Bibliothèque : TinyStepper.h

#include <TinyStepper.h>

// Ports numériques utilisés
#define IN1 8
#define IN2 9
#define IN3 10
#define IN4 11

// Nombre de demis-pas par tours
#define HALFSTEPS 4096  

// Initialisation du moteur
TinyStepper stepper(HALFSTEPS, IN1, IN2, IN3, IN4);

void setup()
{
  Serial.begin(38400);
  stepper.Enable();
  delay(1000);
}

void loop() {

  // Mouvements relatifs (en degrés)
  stepper.Move(45);
  stepper.Move(-90);
  stepper.Move(120);
  stepper.Move(-15);
  stepper.Move(30);
  stepper.Move(-300);
  stepper.Move(600);
  stepper.Move(-100);
  delay(2000);

  // Tour complet avec phases d'accélération/décélération
  stepper.AccelMove(360);
  stepper.AccelMove(-360, 1, 10);
  delay(2000);
}

Bibliothèque : Stepper.h

#include <Stepper.h>

const int stepsPerRevolution = 2048;  // change this to fit the number of steps per revolution
// for your motor

// initialize the stepper library on pins 8 through 11:
Stepper myStepper(stepsPerRevolution, 8, 10, 9, 11);

void setup() {
  // set the speed at 60 rpm:
  myStepper.setSpeed(15);
  // initialize the serial port:
  Serial.begin(9600);
}

void loop() {
  // step one revolution  in one direction:
  Serial.println("clockwise");
  myStepper.step(stepsPerRevolution);
  delay(500);

  // step one revolution in the other direction:
  Serial.println("counterclockwise");
  myStepper.step(-stepsPerRevolution);
  delay(500);
}

 

Avec MATLAB/Simulink

 

Dépannage

Le moteur vibre un peu n’importe comment, mais ne tourne pas !

C’est très probablement dû à une inversion de polarité des bobines. 

Dans le programme, inverser les numéros de ports des 2 broches « centrales ». Dans l’exemple ci-dessous, inverser les ports 9 et 10 :

#define IN1 8 
#define IN2 9 
#define IN3 10 
#define IN4 11

 

 

Vous aimerez aussi...

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *