mercredi 16 octobre 2013

Réglage du firmware, partie 4 : les butées

La configuration des butées :


Les butées de fin de course ou "ENDSTOPS" sont très importantes pour une Delta. En effet, la première action que la machine exécutera avant chaque travail sera de se caler contre chaque butée pour s'étalonner, c'est ce qu'on appelle le "homing". Cela lui donnera un point de référence pour chaque colonne (X Y et Z). Une delta a donc besoin de trois butées qui sont appelées : X_MAX, Y_MAX, et Z_MAX. Nous allons les configurer dans le cas particulier de la carte Minitronics.


Ordre des colonnes :

Avant de commencer à modifier Marlin, nous allons vérifier l'ordre de nos colonnes. En effet pour imprimer à l'endroit, la colonne X doit se trouver à gauche en regardant la machine, la colonne Y doit être à droite et la colonne Z doit se trouver au fond, comme ceci :



ATTENTION !

Vérifiez que les branchements x y z des butées correspondent bien aux axes. Et aussi double vérifiez que les branchements des moteurs sont bien sur les bonnes colonnes, sinon les butées qui ne seraient pas bien placées ne seraient jamais détectées et le chariot se crasherait et vous casseriez le câble.


Pins.h de la carte Minitronics


ATTENTION !

Cette manipulation des pins n'a de sens que pour les utilisateurs de la carte "Minitronics" de chez ReprapWorld !


Ouvrez l'onglet "Pins.h" et rendez-vous à la ligne numéro : 2010 



Nous avons là les déclarations d'entrées et de sorties des broches du microprocesseur de la carte Minitronics que le firmware va utiliser. Mais, il y a un petit problème. En effet, par défaut les pins qui correspondent au signal des butées sont nommés respectivement : X_MIN, Y_MIN et Z_MIN. Or, c'est embêtant car nous avons vu plus haut que les butées d'une delta sont nommées X_MAX, Y_MAX et Z_MAX.
2023   #define X_STEP_PIN 48
2024   #define X_DIR_PIN 47
2025   #define X_ENABLE_PIN 49
2026   #define X_MIN_PIN 5
2027   #define X_MAX_PIN -1 //2 //Max endstops default to disabled "-1", set to commented value to enable.

Effectivement, on peut lire à la ligne 2026 que le pin "5" est affecté à X_MIN et qu'à ligne 2027, le pin "-1" est affecté à X_MAX, or attribuer le pin "-1" revient à une désactivation.

Mais, nous n'avons pas besoin de butée X_MIN mais en revanche, il nous faut une butée X_MAX.

La solution que je vous propose est simplement d'inverser MIN et MAX, comme ceci :
2023   #define X_STEP_PIN 48
2024   #define X_DIR_PIN 47
2025   #define X_ENABLE_PIN 49
2026   #define X_MAX_PIN 5
2027   #define X_MIN_PIN -1 //2 //Max endstops default to disabled "-1", set to commented value to enable.

Désormais, nous avons une butée X_MAX qui est connectée sur le pin 5 du microprocesseur.  

Vous devez faire la même opération pour les deux autres butées, pour obtenir ceci :
 2029   #define Y_STEP_PIN 39 // A6
 2030   #define Y_DIR_PIN 40 // A0
 2031   #define Y_ENABLE_PIN 38
 2032   #define Y_MAX_PIN 2
 2033   #define Y_MIN_PIN -1 //15

et pour la butée Z :
 2035   #define Z_STEP_PIN 42 // A2
 2036   #define Z_DIR_PIN 43 // A6
 2037   #define Z_ENABLE_PIN 41 // A1
 2038   #define Z_MAX_PIN 6
 2039   #define Z_MIN_PIN -1

Nous voila avec trois butées MAX fonctionnelles.


Mechanical  Setting :

Retournez maintenant dans l'onglet "Configuration.h", à la ligne 292 de la section Mechanical setting, vous pouvez activer une fonction qui bloque les butées "MIN"
292   //#define DISABLE_MIN_ENDSTOPS

Il suffit de dé-commenter la ligne :
292   #define DISABLE_MIN_ENDSTOPS


Endstop Settings :

Toujours dans l'onglet "Configuration.h", rendez-vous à la section "Endstop Setting", ligne 318.



Aux lignes 320, 321 et 322, il est défini la direction vers laquelle se fait l’étalonnage. par défaut, il se fait vers les butées MIN (-1)
318   // ENDSTOP SETTINGS:
319   // Sets direction of endstops when homing; 1=MAX, -1=MIN

320   #define X_HOME_DIR -1
321   #define Y_HOME_DIR -1
322   #define Z_HOME_DIR -1

Vous devez modifier cela pour qu'il se fasse vers les butées MAX (1).
Remplacez "-1" par "1" comme ceci :
318   // ENDSTOP SETTINGS:
319   // Sets direction of endstops when homing; 1=MAX, -1=MIN

320   #define X_HOME_DIR 1
321   #define Y_HOME_DIR 1
322   #define Z_HOME_DIR 1


Vous en avez fini avec les butées, nous verrons plus tard comment vérifier leur bon fonctionnement avec la commande  "M119". Mais en attendant, dans le prochain billet, nous définirons les limitations de mouvements après l’étalonnage.