Welcome! Log In Create A New Profile

Advanced

z-axis probe won't store [1.1.0 RC7]

Posted by base7 
z-axis probe won't store [1.1.0 RC7]
August 10, 2016 10:09AM
I am having a small issue with the autoleveling G29 command. I have a delta printer and added an allen-key z-axis probe. When the G29 is issued, the printer will move to the Z tower and properly deploy the probe. The printer then probes the bed, but when it goes to store the probe after probing, the effector descends until the z-axis probe switches, and then the effector immediately begins moving back up. I have the probe storage position at X=0, Y=-95, Z=-2mm which will properly store the probe, but when G29 attempts to do it, it stops the instant the switch is opened. :/ I then receive an error that the z-probe failed, likely because it is not properly stowed.


These are all the relevant configuration bits, let me know if I missed something. I am using Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN because using Z_MIN_PROBE_ENDSTOP results in the printer not going down to the bed while probing... the printer just moves around and constantly increases Z at each probe point and eventually the effector crashes into the Z tower as it moves to the back of the build platform.

#define DELTA
#if ENABLED(DELTA)
  #define DELTA_SEGMENTS_PER_SECOND 200
  #define DELTA_DIAGONAL_ROD 188.5 // mm
  #define DELTA_SMOOTH_ROD_OFFSET 140.3 // mm
  #define DELTA_EFFECTOR_OFFSET 33.0 // mm
  #define DELTA_CARRIAGE_OFFSET 22.0 // mm
  #define DELTA_RADIUS (DELTA_SMOOTH_ROD_OFFSET-(DELTA_EFFECTOR_OFFSET)-(DELTA_CARRIAGE_OFFSET))
  #define DELTA_PRINTABLE_RADIUS 80.0
#endif
#define USE_ZMIN_PLUG // a Z probe
#define USE_XMAX_PLUG
#define USE_YMAX_PLUG
#define USE_ZMAX_PLUG
#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
#if DISABLED(ENDSTOPPULLUPS)
#endif
#define X_MIN_ENDSTOP_INVERTING false  // set to true to invert the logic of the endstop.
#define Y_MIN_ENDSTOP_INVERTING false  // set to true to invert the logic of the endstop.
#define Z_MIN_ENDSTOP_INVERTING false  // set to true to invert the logic of the endstop.
#define X_MAX_ENDSTOP_INVERTING false  // set to true to invert the logic of the endstop.
#define Y_MAX_ENDSTOP_INVERTING false  // set to true to invert the logic of the endstop.
#define Z_MAX_ENDSTOP_INVERTING false  // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING false  // set to true to invert the logic of the endstop.
#define X_PROBE_OFFSET_FROM_EXTRUDER 0.0     // X offset: -left  +right  [of the nozzle]
#define Y_PROBE_OFFSET_FROM_EXTRUDER 10.0   // Y offset: -front +behind [the nozzle]
#define Z_PROBE_OFFSET_FROM_EXTRUDER -6.8  // Z offset: -below +above  [the nozzle]
#define XY_PROBE_SPEED 4000
#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
#define Z_PROBE_ALLEN_KEY
#if ENABLED(Z_PROBE_ALLEN_KEY)
  #define Z_PROBE_ALLEN_KEY_DEPLOY_1_X 56.0
  #define Z_PROBE_ALLEN_KEY_DEPLOY_1_Y 86.0
  #define Z_PROBE_ALLEN_KEY_DEPLOY_1_Z 100.0
  #define Z_PROBE_ALLEN_KEY_DEPLOY_1_FEEDRATE XY_PROBE_SPEED
  #define Z_PROBE_ALLEN_KEY_DEPLOY_2_X 36.0
  #define Z_PROBE_ALLEN_KEY_DEPLOY_2_Y 83.0
  #define Z_PROBE_ALLEN_KEY_DEPLOY_2_Z 100.0
  #define Z_PROBE_ALLEN_KEY_DEPLOY_2_FEEDRATE (XY_PROBE_SPEED)/2
  #define Z_PROBE_ALLEN_KEY_DEPLOY_3_X 0.0
  #define Z_PROBE_ALLEN_KEY_DEPLOY_3_Y 0.0
  #define Z_PROBE_ALLEN_KEY_DEPLOY_3_Z 100.0
  #define Z_PROBE_ALLEN_KEY_DEPLOY_3_FEEDRATE XY_PROBE_SPEED
  #define Z_PROBE_ALLEN_KEY_STOW_1_X 0.0 // Move the probe into position
  #define Z_PROBE_ALLEN_KEY_STOW_1_Y -98.0
  #define Z_PROBE_ALLEN_KEY_STOW_1_Z 10.0
  #define Z_PROBE_ALLEN_KEY_STOW_1_FEEDRATE XY_PROBE_SPEED
  #define Z_PROBE_ALLEN_KEY_STOW_2_X 0.0 // Push it down
  #define Z_PROBE_ALLEN_KEY_STOW_2_Y -98.0
  #define Z_PROBE_ALLEN_KEY_STOW_2_Z -2.0
  #define Z_PROBE_ALLEN_KEY_STOW_3_X 0.0 // Move it up to clear
  #define Z_PROBE_ALLEN_KEY_STOW_3_Y -98.0
  #define Z_PROBE_ALLEN_KEY_STOW_3_Z 50.0
  #define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE XY_PROBE_SPEED
  #define Z_PROBE_ALLEN_KEY_STOW_4_X 0.0
  #define Z_PROBE_ALLEN_KEY_STOW_4_Y 0.0
  #define Z_PROBE_ALLEN_KEY_STOW_4_Z Z_PROBE_ALLEN_KEY_STOW_3_Z
  #define Z_PROBE_ALLEN_KEY_STOW_4_FEEDRATE XY_PROBE_SPEED
#endif // Z_PROBE_ALLEN_KEY
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
#define Z_PROBE_DEPLOY_HEIGHT 50 // Raise to make room for the probe to deploy / stow
#define Z_PROBE_TRAVEL_HEIGHT 15  // Raise between probing points.
#define Z_PROBE_OFFSET_RANGE_MIN -20
#define Z_PROBE_OFFSET_RANGE_MAX 20
#define X_ENABLE_ON 0
#define Y_ENABLE_ON 0
#define Z_ENABLE_ON 0
#define E_ENABLE_ON 0 // For all extruders
#define DISABLE_X false
#define DISABLE_Y false
#define DISABLE_Z false
#define DISABLE_E false // For all extruders
#define DISABLE_INACTIVE_EXTRUDER true //disable only inactive extruders and keep active extruder enabled
#define INVERT_X_DIR false // DELTA does not invert
#define INVERT_Y_DIR false
#define INVERT_Z_DIR false
#define INVERT_E0_DIR true
#define INVERT_E1_DIR false
#define INVERT_E2_DIR false
#define INVERT_E3_DIR false
#define X_HOME_DIR 1  // deltas always home to max
#define Y_HOME_DIR 1
#define Z_HOME_DIR 1
#define min_software_endstops false // If true, axis won't move to coordinates less than HOME_POS.
#define max_software_endstops false  // If true, axis won't move to coordinates greater than the defined lengths below.
#define X_MIN_POS -(DELTA_PRINTABLE_RADIUS)
#define Y_MIN_POS -(DELTA_PRINTABLE_RADIUS)
#define Z_MIN_POS 0
#define X_MAX_POS DELTA_PRINTABLE_RADIUS
#define Y_MAX_POS DELTA_PRINTABLE_RADIUS
#define Z_MAX_POS MANUAL_Z_HOME_POS

#define AUTO_BED_LEVELING_FEATURE // Delete the comment to enable (remove // at the start of the line)
#if ENABLED(AUTO_BED_LEVELING_FEATURE)
  #define AUTO_BED_LEVELING_GRID  // Deltas only support grid mode.
  #if ENABLED(AUTO_BED_LEVELING_GRID)
    #define DELTA_PROBEABLE_RADIUS (DELTA_PRINTABLE_RADIUS - 10)
    #define LEFT_PROBE_BED_POSITION -(DELTA_PROBEABLE_RADIUS)
    #define RIGHT_PROBE_BED_POSITION DELTA_PROBEABLE_RADIUS
    #define FRONT_PROBE_BED_POSITION -(DELTA_PROBEABLE_RADIUS)
    #define BACK_PROBE_BED_POSITION DELTA_PROBEABLE_RADIUS
    #define MIN_PROBE_EDGE 10 // The Z probe minimum square sides can be no smaller than this.
    #define AUTO_BED_LEVELING_GRID_POINTS 9
  #else  // !AUTO_BED_LEVELING_GRID
    #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
#endif // AUTO_BED_LEVELING_FEATURE
#define BED_CENTER_AT_0_0
#define MANUAL_Z_HOME_POS 168.3 // Distance between the nozzle to printbed after homing
#define Z_SAFE_HOMING
#if ENABLED(Z_SAFE_HOMING)
  #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
  #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
#endif
#define HOMING_FEEDRATE_Z  (60*60)



Re: z-axis probe won't store [1.1.0 RC7]
August 11, 2016 07:40AM
Keeping my configuration values and moving to RCBugFix branch resolved my issue. I suspect that there are some regression issues in RC7, so I filed a bug on github.
Sorry, only registered users may post in this forum.

Click here to login