lundi 18 novembre 2013

Réglage du firmware, partie 6 : les réglages de mouvements

Les réglages de mouvements :

Nous allons régler les vitesses de notre machine, mais il s'agit d'une première approche en vue de la préparation des tests. En effet pour certains paramètres, il faudra procéder par tâtonnements et ajustements. Mais pour éviter la casse lors des essais, nous allons brider volontairement la machine.  
  
Dans l'onglet "Configuration.h", rendez-vous à la section "MOVEMENT SETTING" ligne 349/357
349    //// MOVEMENT SETTINGS
350   #define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E
351   #define HOMING_FEEDRATE {50*60, 50*60, 4*60, 0}  // set the homing speeds (mm/min)

La ligne 350 définit le nombre de moteurs et l'ordre dans lequel les réglages seront rangés dans la mémoire, c'est a dire : d'abord X puis Y puis Z et enfin E (pour l'extrudeur).

ATTENTION !
Pour une delta, les trois colonnes (X Y Z) doivent avoir les mêmes réglages, donc veillez à ce que les trois premières valeurs soient identiques.

Bridage provisoire du homig :

Par précaution et pour vous laissez le temps d’appuyer sur le bouton d’arrêt d'urgence de Repetier-Host,  vous allez baisser la vitesse de homing à 500 (50*10) sur les trois axes.
349    //// MOVEMENT SETTINGS
350   #define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E
351   #define HOMING_FEEDRATE {50*10, 50*10, 50*10, 0}  // set the homing speeds (mm/min)

J'ai cassé suffisamment de câble pour vous dire que cette précaution n'est pas superflue. Une fois seulement les tests des butées validés, vous pourrez rétablir la valeur 50*60 sur les trois axes.


Réglage des poulies :

Rendez-vous ligne 355 :
355   #define DEFAULT_AXIS_STEPS_PER_UNIT   {78.7402,78.7402,200.0*8/3,760*1.1}  // default steps per unit for Ultimaker

Vous pouvez utiliser la valeur de 310 si et seulement si vous avez utilisé mon système d'entrainement par câble autour d'une vis M8 :
355   #define DEFAULT_AXIS_STEPS_PER_UNIT   {310,310,310,760*1.1}  // default steps per unit for Ultimaker

Autrement, vous pouvez vous servir de Rep Rap Calculator pour définir la valeur correspondant à votre machine.

Autre méthode plus empirique : Choisissez arbitrairement une valeur pas trop élevée. Positionnez à la main les chariots au milieu des colonnes.  Ensuite, déplacez l'axe Z de 10 mm grâce au contrôle manuel de Repetier-Host et mesurez la distance parcourue par un chariot. si vous ne tombez pas directement sur la bonne valeur, augmentez la progressivement jusqu'à ce que le déplacement réel corresponde à celui demandé. Enfin, affinez le réglage en déplaçant le chariot sur une plus grande hauteur.    


Cohérence des axes :

Ensuite, pour respecter la  cohérence entre les trois axes de la delta, modifiez comme suit les lignes 356 et 357
356   #define DEFAULT_MAX_FEEDRATE          {500, 500, 5, 25}    // (mm/sec)

356   #define DEFAULT_MAX_FEEDRATE          {500, 500, 500, 25}    // (mm/sec)

et :
357   #define DEFAULT_MAX_ACCELERATION      {9000,9000,100,10000}    // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for skeinforge 40+, for older versions raise them a lot.

357   #define DEFAULT_MAX_ACCELERATION      {9000,9000,9000,10000}    // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for skeinforge 40+, for older versions raise them a lot.


Toujours dans ce même souci de cohérence entre les trois axes, rendez-vous dans l'onglet "Configuration_adv.h", section "Mechanical Settings", ligne 199 :
197   #define X_HOME_RETRACT_MM 5
198   #define Y_HOME_RETRACT_MM 5
199   #define Z_HOME_RETRACT_MM 1 

et modifiez comme ceci :
197   #define X_HOME_RETRACT_MM 5
198   #define Y_HOME_RETRACT_MM 5
199   #define Z_HOME_RETRACT_MM 5 

Il s'agit du petit mouvement de retrait que les chariots effectuent après avoir heurtés la première fois les butées lors de l’étalonnage (homing).


Toujours dans "Configuration_adv.h", section "Mechanical Settings", ligne 218 à 221 vous allez harmoniser la vitesse de déplacement en mode manuel :
218   // Feedrates for manual moves along X, Y, Z, E from panel
219   #ifdef ULTIPANEL
220   #define MANUAL_FEEDRATE {50*60, 50*60, 4*60, 60}  //set the speeds for manual moves (mm/min)
221   #endif

ligne 220, rectifiez la vitesse de Z (soit : 50*60) :
218   // Feedrates for manual moves along X, Y, Z, E from panel
219   #ifdef ULTIPANEL
220   #define MANUAL_FEEDRATE {50*60, 50*60, 50*60, 60}//set the speeds for manual moves (mm/min)
221   #endif


Maintenant, rendez-vous dans l'onglet "Configuration.h", section "Mechanical Settings" ligne 311 à 313
311   #define INVERT_X_DIR true    // for Mendel set to false, for Orca set to true
312   #define INVERT_Y_DIR false    // for Mendel set to true, for Orca set to false
313   #define INVERT_Z_DIR true     // for Mendel set to false, for Orca set to true
314   #define INVERT_E0_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false
315   #define INVERT_E1_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false
316   #define INVERT_E2_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false

Passez en "false" les lignes 311 312 et 313 :
311   #define INVERT_X_DIR false    // Delta n'inverse pas
312   #define INVERT_Y_DIR false
313   #define INVERT_Z_DIR false     
314   #define INVERT_E0_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false
315   #define INVERT_E1_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false
316   #define INVERT_E2_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false


Enfin, pour finir d’harmoniser les axes, toujours dans l'onglet "Configuration.h"  section "Mechanical Settings"
ligne 369 à 371, vous devez adapter ce paramètre qui lisse les déplacements des axes :
369   #define DEFAULT_XYJERK                20.0    // (mm/sec)
370   #define DEFAULT_ZJERK                 0.4     // (mm/sec)
371   #define DEFAULT_EJERK                 5.0    // (mm/sec)

Tapez la même valeur pour "ZJERK" que "XYJERK" soit ici 20.0 :
369   #define DEFAULT_XYJERK        20.0    // (mm/sec)
370   #define DEFAULT_ZJERK         20.0 // (mm/sec) doit être le même que XY pour Delta
371   #define DEFAULT_EJERK           5.0    // (mm/sec)



Au prochain billet, nous configurerons Repetier-Host pour tester les premiers mouvements de la delta.