Bonjour,
voilà j'utilise la carte Ramps 1.4 pour pouvoir contrôler 5 moteurs pas à pas pour un projet dans le cadre d'un stage qui n'a rien à avoir avec l'impression3D.
Maintenant le problème est le suivant: sur la RAMPS, je n'arrive pas a commander X, Y et Z, mais seulement E0 et E1, peut etre que c'est lié au fait que je n'utilise pas d'endstop?.
voici le code que j'utilise pour commender E0 ( normalement il suffit juste de changer 24, 26 et 28 par les autres numéros correspondant aux autres axes ) :
#define pinEnable 24 // Activation du driver/pilote
#define pinStep 26 // Signal de PAS (avancement)
#define pinDir 28 // Direction
void setup(){
pinMode( pinEnable, OUTPUT );
pinMode( pinDir , OUTPUT );
pinMode( pinStep , OUTPUT );
}
void loop(){
int i = 0;
digitalWrite( pinDir , HIGH); // Direction avant
digitalWrite( pinStep , LOW); // Initialisation de la broche step
// Avance de 3 tours
for( i=0; i<16562; i++){
digitalWrite( pinStep, HIGH );
delay( 1 );
digitalWrite( pinStep, LOW );
delay( 1);
}
// Changer de direction
digitalWrite( pinDir , LOW); // Direction avant
// Refaire 3 tours dans l'autre sens
for( i=0; i<16562; i++){
digitalWrite( pinStep, HIGH );
delay( 1 );
digitalWrite( pinStep, LOW );
delay( 1 );
}
// Pas de step et pas d'ordre...
// l'axe du moteur est donc bloqué
delay( 5000 );
// déblocage de l'axe moteur
digitalWrite( pinEnable, HIGH ); // logique inversée
// Fin et blocage du programme
// Presser reset pour recommander
Serial.println("Fin de programme");
while( true );
}
ça fait déjà plusieurs jours que je n'avance plus, toute aide serait énormément appréciable















