Test capteur inductif sur Prusa i3
December 26, 2015 10:53AM
Bonjour,

Je suis en train d'installer un capteur inductif sur ma Prusa I3, j'ai quelques soucis pour tester mon capteur avec Marlin.
Mon objectif est tout d'abord de voir si la séquence de palpage se déclenche, je comptais simuler la proximité du plateau manuellement avec le capteur dans mes mains.
Après quelques heures de tests, je viens vers vous pour voir ce que je fais mal.

J'ai fait la mise à jour de mon arduino avec les paramètres standards suivants ci-dessous.

Je lance la commande G92 X0 Y0 Z0 avec mon extrudeur au centre pour initialiser le point 0.
Je lance un G28 X Y, la tête se déplace, ça semble fonctionner.
Je lancer un G29 pour démarrer le palpage et j'ai un message d'erreur dans Repetier : Home X/Y before Z.

Je me demande si le code n'attend pas l'activation d'autres capteurs ... j'ai un doute.

Merci pour vos précieux conseils smiling smiley

#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)

#ifdef ENABLE_AUTO_BED_LEVELING

// There are 2 different ways to pick the X and Y locations to probe:

//  - "grid" mode
//    Probe every point in a rectangular grid
//    You must specify the rectangle, and the density of sample points
//    This mode is preferred because there are more measurements.
//    It used to be called ACCURATE_BED_LEVELING but "grid" is more descriptive

//  - "3-point" mode
//    Probe 3 arbitrary points on the bed (that aren't colinear)
//    You must specify the X & Y coordinates of all 3 points

  #define AUTO_BED_LEVELING_GRID
  // with AUTO_BED_LEVELING_GRID, the bed is sampled in a
  // AUTO_BED_LEVELING_GRID_POINTSxAUTO_BED_LEVELING_GRID_POINTS grid
  // and least squares solution is calculated
  // Note: this feature occupies 10'206 byte
  #ifdef AUTO_BED_LEVELING_GRID

    // set the rectangle in which to probe
//    #define LEFT_PROBE_BED_POSITION 15
//    #define RIGHT_PROBE_BED_POSITION 170
//    #define BACK_PROBE_BED_POSITION 180
//    #define FRONT_PROBE_BED_POSITION 20

    #define LEFT_PROBE_BED_POSITION 50
    #define RIGHT_PROBE_BED_POSITION 110
    #define BACK_PROBE_BED_POSITION 110
    #define FRONT_PROBE_BED_POSITION 50
     // set the number of grid points per dimension
     // I wouldn't see a reason to go above 3 (=9 probing points on the bed)
    #define AUTO_BED_LEVELING_GRID_POINTS 3


  #else  // not AUTO_BED_LEVELING_GRID
    // with no grid, just probe 3 arbitrary points.  A simple cross-product
    // is used to esimate the plane of the print bed

      #define ABL_PROBE_PT_1_X 15
      #define ABL_PROBE_PT_1_Y 180
      #define ABL_PROBE_PT_2_X 15
      #define ABL_PROBE_PT_2_Y 20
      #define ABL_PROBE_PT_3_X 170
      #define ABL_PROBE_PT_3_Y 20

  #endif // AUTO_BED_LEVELING_GRID


  // these are the offsets to the probe relative to the extruder tip (Hotend - Probe)
  #define X_PROBE_OFFSET_FROM_EXTRUDER -25
  #define Y_PROBE_OFFSET_FROM_EXTRUDER -29
  #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35

  #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
                                        // Be sure you have this distance over your Z_MAX_POS in case

  #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min

  #define Z_RAISE_BEFORE_PROBING 15    //How much the extruder will be raised before traveling to the first probing point.
  #define Z_RAISE_BETWEEN_PROBINGS 5  //How much the extruder will be raised when traveling from between next probing points


  //If defined, the Probe servo will be turned on only during movement and then turned off to avoid jerk
  //The value is the delay to turn the servo off after powered on - depends on the servo speed; 300ms is good value, but you can try lower it.
  // You MUST HAVE the SERVO_ENDSTOPS defined to use here a value higher than zero otherwise your code will not compile.

//  #define PROBE_SERVO_DEACTIVATION_DELAY 300


//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
//it is highly recommended you let this Z_SAFE_HOMING enabled!!!

  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with probe outside the bed area.
                          // When defined, it will:
                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled
                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing
                          // - Position the probe in a defined XY point before Z Homing when homing all axis (G28)
                          // - Block Z homing only when the probe is outside bed area.

  #ifdef Z_SAFE_HOMING

    #define Z_SAFE_HOMING_X_POINT (X_MAX_LENGTH/2)    // X point for Z homing when homing all axis (G28)
    #define Z_SAFE_HOMING_Y_POINT (Y_MAX_LENGTH/2)    // Y point for Z homing when homing all axis (G28)

  #endif

#endif // ENABLE_AUTO_BED_LEVELING

Re: Test capteur inductif sur Prusa i3
December 26, 2015 11:59AM
il doit manquer G28 Z

start.gcode =
M851 Z-0.7 (Z probe offset)
M109 S{print_temperature}
G28 X0 Y0 ;home X and Y and z
G1 X5 Y30
G28 Z0
G29 ;probe bed
G90; set absolute coordinates
G92 E0; reset extruder distance
end.gcode = M104 S0
M107
G28 X0 ; home X axis
G1 Z80
M84 ; disable motors


Prusa i3 rework homemade , E3D V6 homemade.
Smartrapcore 200 x 300 ,axes 8mm .
Re: Test capteur inductif sur Prusa i3
December 26, 2015 12:35PM
Effectivement, j'arrive à aller plus loin.
Merci pour ton aide winking smiley
Re: Test capteur inductif sur Prusa i3
December 27, 2015 11:40AM
Bonsoir,

J'ai pas mal avancé sur mes réglages avec ce capteur inductif, par contre je n'arrive pas à déclencher un G29, il me dit toujours "Home X/Y before Z" même en faisant un G28 X Y qui fonctionne et même un G28 Z.

Je ne vois pas pourquoi, auriez-vous une piste ?

J'en profite .. une autre question, j'ai mis arbitrairement un " #define Z_PROBE_OFFSET_FROM_EXTRUDER -0.30" mais j'ai l'impression que l'imprimante ne bouge pas d'un poil. Ce paramètre c'est la différence de hauteur entre le capteur et la tête ?

Merci smiling smiley

//============================= Bed Auto Leveling ===========================

#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)

#ifdef ENABLE_AUTO_BED_LEVELING

// There are 2 different ways to pick the X and Y locations to probe:

//  - "grid" mode
//    Probe every point in a rectangular grid
//    You must specify the rectangle, and the density of sample points
//    This mode is preferred because there are more measurements.
//    It used to be called ACCURATE_BED_LEVELING but "grid" is more descriptive

//  - "3-point" mode
//    Probe 3 arbitrary points on the bed (that aren't colinear)
//    You must specify the X & Y coordinates of all 3 points

  #define AUTO_BED_LEVELING_GRID
  // with AUTO_BED_LEVELING_GRID, the bed is sampled in a
  // AUTO_BED_LEVELING_GRID_POINTSxAUTO_BED_LEVELING_GRID_POINTS grid
  // and least squares solution is calculated
  // Note: this feature occupies 10'206 byte
  #ifdef AUTO_BED_LEVELING_GRID

    // set the rectangle in which to probe
//    #define LEFT_PROBE_BED_POSITION 15
//    #define RIGHT_PROBE_BED_POSITION 170
//    #define BACK_PROBE_BED_POSITION 180
//    #define FRONT_PROBE_BED_POSITION 20

    #define LEFT_PROBE_BED_POSITION 50
    #define RIGHT_PROBE_BED_POSITION 110
    #define BACK_PROBE_BED_POSITION 110
    #define FRONT_PROBE_BED_POSITION 50
     // set the number of grid points per dimension
     // I wouldn't see a reason to go above 3 (=9 probing points on the bed)
    #define AUTO_BED_LEVELING_GRID_POINTS 2


  #else  // not AUTO_BED_LEVELING_GRID
    // with no grid, just probe 3 arbitrary points.  A simple cross-product
    // is used to esimate the plane of the print bed

      #define ABL_PROBE_PT_1_X 15
      #define ABL_PROBE_PT_1_Y 180
      #define ABL_PROBE_PT_2_X 15
      #define ABL_PROBE_PT_2_Y 20
      #define ABL_PROBE_PT_3_X 170
      #define ABL_PROBE_PT_3_Y 20

  #endif // AUTO_BED_LEVELING_GRID


  // these are the offsets to the probe relative to the extruder tip (Hotend - Probe)
  #define X_PROBE_OFFSET_FROM_EXTRUDER -22 //-25
  #define Y_PROBE_OFFSET_FROM_EXTRUDER -27 //-29
  #define Z_PROBE_OFFSET_FROM_EXTRUDER -0.30 //-12.35

  #define Z_RAISE_BEFORE_HOMING 10 //4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
                                        // Be sure you have this distance over your Z_MAX_POS in case

  #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min

  #define Z_RAISE_BEFORE_PROBING 1 //15    //How much the extruder will be raised before traveling to the first probing point.
  #define Z_RAISE_BETWEEN_PROBINGS 1 //5  //How much the extruder will be raised when traveling from between next probing points


  //If defined, the Probe servo will be turned on only during movement and then turned off to avoid jerk
  //The value is the delay to turn the servo off after powered on - depends on the servo speed; 300ms is good value, but you can try lower it.
  // You MUST HAVE the SERVO_ENDSTOPS defined to use here a value higher than zero otherwise your code will not compile.

//  #define PROBE_SERVO_DEACTIVATION_DELAY 300


//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
//it is highly recommended you let this Z_SAFE_HOMING enabled!!!

  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with probe outside the bed area.
                          // When defined, it will:
                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled
                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing
                          // - Position the probe in a defined XY point before Z Homing when homing all axis (G28)
                          // - Block Z homing only when the probe is outside bed area.

  #ifdef Z_SAFE_HOMING

    #define Z_SAFE_HOMING_X_POINT (X_MAX_LENGTH/2)    // X point for Z homing when homing all axis (G28)
    #define Z_SAFE_HOMING_Y_POINT (Y_MAX_LENGTH/2)    // Y point for Z homing when homing all axis (G28)

  #endif

#endif // ENABLE_AUTO_BED_LEVELING

Re: Test capteur inductif sur Prusa i3
December 27, 2015 12:08PM
Et en faisant un G28 tout court?

Et oui pour les N_PROBE_OFFSET_FROM_EXTRUDER, c'est la distance en X,Y et Z entre la hotend et le capteur
Re: Test capteur inductif sur Prusa i3
December 27, 2015 12:25PM
En faisant un G28 tout court l'imprimante s'initialise en X et Z (avec le capteur inductif). Pas le Y car je n'ai pas mis de capteur et j'ai viré le paramétrage dans PIN.H.

Le G28 fonctionne bien, mais j'aimerai bien profiter du G29 pour compenser mes défauts de plateau, même si c'est mieux de régler le plateau.
Re: Test capteur inductif sur Prusa i3
December 28, 2015 06:56AM
Hello,

Je suis passé sur la dernière version RC-3 de Marlin, le message est toujours le même pour un G29.

Ça doit être un truc énorme mais je ne vois pas, la séquence ne démarre pas et j'ai toujours le "Home X/Y before Z"
Re: Test capteur inductif sur Prusa i3
December 28, 2015 07:33AM
Pourquoi ne pas mettre de endstop en Y tout simplement ? c'est quand meme bizarre de vouloir un homing fonctionnel sans les composant essentiels a son fonctionnement confused smiley

Et si tu veux vraiment un G29 Sans un G28 Y il te faudra bidouiller le code de marlin

A la limite si tu fait un G92 X0 Y0 avant ton G29 ça pourrait passer

Edited 3 time(s). Last edit at 12/28/2015 07:38AM by rafffel.
Re: Test capteur inductif sur Prusa i3
December 28, 2015 08:07AM
Merci Rafffel, effectivement j'étais justement en train de mettre un capteur en Y avant de te lire et de poster que le sujet est donc résolu !!

J'étais loin de penser que le code avait besoin de cela et qu'il pouvait se passer d'un capteur si je l'avais désactivé.
Re: Test capteur inductif sur Prusa i3
December 28, 2015 12:07PM
Encore moi, je n'arrive pas à comprendre comment paramétrer la séquence de prise de points.
J'ai bien compris le paramétrage AUTO_BED_LEVELING_GRID_POINTS mais je n'arrive pas à faire parcourir sur la quasi totalité du plateau, ma mesure se limite à 10 cm2.

Est-ce que quelqu'un pourrait m'expliquer le principe du xxx_PROBE_BED_POSITION

Avec la séquence ci-dessous, le code ne se compile pas, j'ai une erreur "The given BACK_PROBE_BED_POSITION can't be reached by the Z probe."

J'aimerai pouvoir calibrer la totalité de mon plateau sur l'intérieur à 20 ou 30 mm du bord.

Merci.

#define AUTO_BED_LEVELING_GRID

  #if ENABLED(AUTO_BED_LEVELING_GRID)

    //#define LEFT_PROBE_BED_POSITION 15
    //#define RIGHT_PROBE_BED_POSITION 170
    //#define FRONT_PROBE_BED_POSITION 20
    //#define BACK_PROBE_BED_POSITION 170

    #define LEFT_PROBE_BED_POSITION 50
    #define RIGHT_PROBE_BED_POSITION 120
    #define FRONT_PROBE_BED_POSITION 50
    #define BACK_PROBE_BED_POSITION 150

    #define MIN_PROBE_EDGE 10 // The Z probe minimum square sides can be no smaller than this.

    // Set the number of grid points per dimension.
    // You probably don't need more than 3 (squared=9).
    #define AUTO_BED_LEVELING_GRID_POINTS 3

  #else  // !AUTO_BED_LEVELING_GRID

      // Arbitrary points to probe.
      // A simple cross-product is used to estimate the plane of the bed.
      #define ABL_PROBE_PT_1_X 15
      #define ABL_PROBE_PT_1_Y 180
      #define ABL_PROBE_PT_2_X 15
      #define ABL_PROBE_PT_2_Y 20
      #define ABL_PROBE_PT_3_X 170
      #define ABL_PROBE_PT_3_Y 20

  #endif // AUTO_BED_LEVELING_GRID
[RESOLU] Test capteur inductif sur Prusa i3
December 29, 2015 03:59AM
Bonjour,

J'ai compris comment ça fonctionne, j'avais mon paramétrage de la taille du plateau plus réduit que nécessaire, il faut donc ajuster la taille du plateau avec la section suivante :

// @section machine

// Travel limits after homing (units are in mm)
#define X_MIN_POS 0
#define Y_MIN_POS 0
#define Z_MIN_POS 0
#define X_MAX_POS 190
#define Y_MAX_POS 180
#define Z_MAX_POS 190

Ensuite on peut augmenter les paramètres de déplacement pour le calcul du niveau du plateau.

Edited 1 time(s). Last edit at 12/29/2015 04:00AM by Fabb.
Sorry, only registered users may post in this forum.

Click here to login