Outils pour utilisateurs

Outils du site


tests:testendstopscncshield

Test des endstops connectés au CNC shield

Ce que l'on va faire ici

Face à un problème avec les endstops, il faut simplement revenir aux fondamentaux et pouvoir les tester isolément du reste. Voici un petit code à programmer dans la carte Arduino et qui permet de tester le bon fonctionnement des endstops.

Le code Arduino

testEndstops.ino
// Par X. HINAULT - Tous droits réservés - GPLv3
// www.mon-club-elec.fr
// ateliers Arduino
 
//---- Test des endstops avec le cnc-shield
 
// les broches SIG et GND des endstops sont à connecter sur les borniers X-, Y- et Z-
 
//--- entete déclarative = déclarer ici variables et constantes globales 
 
// indices x,y,z
const int X=0; 
const int Y=1;
const int Z=2; 
 
// broches et variables des endstops
int pin_ENDSTOP[3]={9,10,11}; // les broches de endstop des moteurs X,Y,Z
const int APPUI=LOW; // endstop actif sur niveau bas
 
//--- la fonction setup() : exécutée au début et 1 seule fois
void setup() {
 
  // initialisation comm' série 
  Serial.begin(115200); 
  Serial.println("Arduino OK !"); // message 
 
  // broches de endstop 
  pinMode(pin_ENDSTOP[X], INPUT_PULLUP); // met broche en entrée avec rappel au + actif
  pinMode(pin_ENDSTOP[Y], INPUT_PULLUP); // met broche en entrée avec rappel au + actif
  pinMode(pin_ENDSTOP[Z], INPUT_PULLUP); // met broche en entrée avec rappel au + actif
 
} // fin de la fonction setup()
 
 
//--- la fonction loop() : exécutée ensuite en boucle sans fin 
void loop() {
 
        // test enstop X
	if (digitalRead(pin_ENDSTOP[X])==APPUI) { 
                Serial.println("Appui ENDSTOP X"); // debug
		delay(100); // anti-rebond  
	} // fin si appui
 
        // test enstop Y
	if (digitalRead(pin_ENDSTOP[Y])==APPUI) { 
                Serial.println("Appui ENDSTOP Y"); // debug
		delay(100); // anti-rebond  
	} // fin si appui
 
        // test enstop Z
	if (digitalRead(pin_ENDSTOP[Z])==APPUI) { 
                Serial.println("Appui ENDSTOP Z"); // debug
		delay(100); // anti-rebond  
	} // fin si appui
 
} // fin de la fonction loop()
 
 
// NB : les lignes précédées de // sont des commentaires

Résultat

L'appui sur les endstops entraîne un message dans le terminal série :

tests/testendstopscncshield.txt · Dernière modification: 2015/07/23 10:16 par xavadmin