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