je n'arrive pas à programmer des stepper motors

Bonjour,
je travaille sur un projet de scanner 3D et pour le créer j'ai repris la structure d'une imprimante 3D.
Il y aura alors 2 moteurs sur l'axe x(qui auront les mêmes instructions) et un sur l'axe y. Je travailler avec la carte RAMPS 1.4 pour les programmer.

Le problème est que je n'arrive pas à programmer ces moteurs avec un pas particulier. Je veux que les moteur permettent de s'arreter aux différentes positions tout les 5mm...

J'arrive à piloter les moteurs avec des digitalWrite(moteur, HIGH ou LOW) mais je ne sais comment les piloter dans mon cas....

Merci a vous

Bonjour

Pouvez vous poster le code qui ne fonctionne pas
Ainsi que le schéma de câblage
Merci

#define X_STEP_PIN         54
#define X_DIR_PIN          55
#define X_ENABLE_PIN       38
#define X_MIN_PIN           3
#define X_MAX_PIN           2

#define Y_STEP_PIN         60
#define Y_DIR_PIN          61
#define Y_ENABLE_PIN       56
#define Y_MIN_PIN          14
#define Y_MAX_PIN          15

#define Z_STEP_PIN         46
#define Z_DIR_PIN          48
#define Z_ENABLE_PIN       62
#define Z_MIN_PIN          18
#define Z_MAX_PIN          19

#define E_STEP_PIN         26
#define E_DIR_PIN          28
#define E_ENABLE_PIN       24

#define Q_STEP_PIN         36
#define Q_DIR_PIN          34
#define Q_ENABLE_PIN       30

#define SDPOWER            -1
#define SDSS               53
#define LED_PIN            13

#define FAN_PIN            9

#define PS_ON_PIN          12
#define KILL_PIN           -1

#define HEATER_0_PIN       10
#define HEATER_1_PIN       8
#define TEMP_0_PIN          13   // ANALOG NUMBERING
#define TEMP_1_PIN          14   // ANALOG NUMBERING

void setup() {
  pinMode(FAN_PIN , OUTPUT);
  pinMode(HEATER_0_PIN , OUTPUT);
  pinMode(HEATER_1_PIN , OUTPUT);
  pinMode(LED_PIN  , OUTPUT);
 
  pinMode(X_STEP_PIN  , OUTPUT);
  pinMode(X_DIR_PIN    , OUTPUT);
  pinMode(X_ENABLE_PIN    , OUTPUT);
 
  pinMode(Y_STEP_PIN  , OUTPUT);
  pinMode(Y_DIR_PIN    , OUTPUT);
  pinMode(Y_ENABLE_PIN    , OUTPUT);
 
  pinMode(Z_STEP_PIN  , OUTPUT);
  pinMode(Z_DIR_PIN    , OUTPUT);
  pinMode(Z_ENABLE_PIN    , OUTPUT);
 
  pinMode(E_STEP_PIN  , OUTPUT);
  pinMode(E_DIR_PIN    , OUTPUT);
  pinMode(E_ENABLE_PIN    , OUTPUT);
 
  pinMode(Q_STEP_PIN  , OUTPUT);
  pinMode(Q_DIR_PIN    , OUTPUT);
  pinMode(Q_ENABLE_PIN    , OUTPUT);
 
   digitalWrite(X_ENABLE_PIN    , LOW);
   digitalWrite(Y_ENABLE_PIN    , LOW);
   digitalWrite(Z_ENABLE_PIN    , LOW);
   digitalWrite(E_ENABLE_PIN    , LOW);
   digitalWrite(Q_ENABLE_PIN    , LOW);
}

void loop () {
 


  digitalWrite(Z_DIR_PIN    , LOW);

 
  digitalWrite(Z_STEP_PIN    , HIGH);

  delay(1);

  digitalWrite(Z_STEP_PIN    , LOW);
 
}

Ce code marche pour mes moteurs z mais j'aimerai le modifier pour pouvoir faire tourner les moteurs d'un pas particulier.

Aussi, je n'ai pas de schéma mais voici une photo du montage:

Merci beaucoup

Bonsoir

Vous pouvez utilisé la librairie de Laurentiu Badea :

vous pouvez envoyer des commandes simple :

 stepper.move(variable);

En calibrant les pas et microstep /mm

vous pouvez déplacer vos axes avec précision

je l'utilise mais jamais avec des axes simultanés..

@+

Comment allez vous réalise le scan ?

MErci pour la librairie

Je ne sais pas encore pour le scan... J'ai un captreur IR qui va me renvoyer des distances et donc créeer des points.
ENsuite je ne sais pas quoi en faire....

Merci à vous