biblioyheque AccelStepper sur 2 Nema 23

Bonjour à tous ,

depuis quelques temps je bute sur un soucis avec 2 nema 23 et la bibliothèque AccelStepper :
je voudrais piloter ces 2 moteurs indépendamment ( avec des valeurs venant de commande DMX )

sur le principe tt ce passe correctement , au niveau de l'initialisation du point Home ( ref ) et de la rotation de chaque moteur en fonction des valeurs de commande reçu

Cependant , quand je veux agir sur les moteurs en même temps , ils perdent de la vitesse , il y a une modification de là fluidité des mouvements !
Pourtant j'ai volontairement utilisé la librairie AccelStepper avec la fonction Run , qui normalement n'est pas bloquante
avez vous une idée , sur le paramètre qui ''merdouille'' :slight_smile:
merci à vous
cordialement
le code à ce jour

#include "AccelStepper.h" 
#include <DMXSerial.h>


AccelStepper stepper(1,2,3);  

AccelStepper stepperPLA(1,5,4);  
                                  
int ctr = 0 ;

// moteur plateau 

#define pinStepB    5 // Signal de PAS (avancement)   PUL +
#define pinDirB     4 // Direction DIR +
 int TourneB ;
 
 int Butemin = A0 ;
 int Butemax = A1 ;

void setup() {
  
 
   pinMode( pinDirB   , OUTPUT );
   pinMode( pinStepB  , OUTPUT );
   
   pinMode( Butemin , INPUT_PULLUP );
   pinMode(Butemax,INPUT_PULLUP);
  
 ////////////procedure HOME ////////////////
 
   while ( digitalRead(Butemin) == HIGH )
  {
    
     digitalWrite( pinDirB   , LOW); // Direction avant  // sens anti horaire   
     
     digitalWrite( pinStepB, HIGH );

     delayMicroseconds (700 ) ;

     digitalWrite( pinStepB, LOW );

     delayMicroseconds ( 700 ) ;
         
   }
   delay ( 100 ) ;
   
    for(int Tour = 0; Tour <=300; Tour += 1) 
     { 
     digitalWrite( pinDirB   , HIGH);   
     
     digitalWrite( pinStepB, HIGH );

     delayMicroseconds (700 ) ;

     digitalWrite( pinStepB, LOW );

     delayMicroseconds ( 700 ) ;
   }
  
 /////////////////////////////////////////
  
  DMXSerial.init(DMXReceiver);
  DMXSerial.write(1, 0); 
  DMXSerial.write(2, 0); 
 
  
}


void loop() {
  
  unsigned long lastPacket = DMXSerial.noDataSince();
  
  if (lastPacket < 2000) {  // valeur origine 5000
  
  ctr = DMXSerial.read(1); // rotation Axe
  TourneB = DMXSerial.read(2); // plateau
  
  }
  
  
///////////////////////////////////////////
  
  
  if ( ctr > 127 )   // rotation de l'axe 
 { 
   stepper.setMaxSpeed(4000);  
   stepper.setAcceleration(100);
   
   stepper.move(9000);
   stepper.run();
  
 }
 
   if ( ctr < 127 )   //  OFF rotation axe
 { 
   stepper.setMaxSpeed(4000);  
   stepper.setAcceleration(200);
   
   stepper.move(0);
   stepper.run();
  
 }
  
  
  ////////////////Monté et déscente du plateau //////////////////
  
  
   stepperPLA.setMaxSpeed(800);  
   stepperPLA.setAcceleration(2000);
   
   stepperPLA.moveTo(TourneB*36);
   stepperPLA.run();
  

  
  /////////////////////////
   
 
}

Bonjour

Quelle est le modèle des NEMA 23 ? quelle alim ? quelle driver ?

Schéma de cablage, section des fils...

@+

merci pour votre réponse ,
donc voici les éléments

Quelle est le modèle des NEMA 23 / 23HS20 200 4S
quelle alim / 24 volts 8,3A
quelle driver / STEPPERONLINE DM542T , je suis réglé à 1,69A RMS et 400 pas / tour

merci

vous pensez que cela pourrai venir des moteurs ?

Bonsoir

Avez vous essayer l'exemple MultiStepper dans le github ?

@+