ZHOME_X_POS and ZHOME_Y_POS not working

I cannot seem to get my extruder to home Z in the center of the bed.  This is the second printer with Repetier that I've had this issue on.  My first is no big deal, but this z probe seems to get interference when the probe is so close to the edge with other stuff around and it seems to home pretty reliably in the center, but only after I home all then move x and y to the center and then home z.  The problem is when I start a print and it homes everything at x=280 (I home on the right side due to wiring limitations) and y=0 and the z home is off and ends up a couple of mm off the bed when it starts printing.  I cancel the print, move x and y to the center then home z and it is fine, but if I home all it screws everything up.  Here is my relevant firmware lines:

#define max_software_endstop_r true

#define min_software_endstop_x true
#define min_software_endstop_y false
#define min_software_endstop_z false
#define max_software_endstop_x false
#define max_software_endstop_y true
#define max_software_endstop_z true
#define DOOR_PIN -1
#define DOOR_PULLUP 1
#define DOOR_INVERTING 0
#define ENDSTOP_X_BACK_MOVE 5
#define ENDSTOP_Y_BACK_MOVE 5
#define ENDSTOP_Z_BACK_MOVE 2
#define ENDSTOP_X_RETEST_REDUCTION_FACTOR 3
#define ENDSTOP_Y_RETEST_REDUCTION_FACTOR 3
#define ENDSTOP_Z_RETEST_REDUCTION_FACTOR 3
#define ENDSTOP_X_BACK_ON_HOME 0
#define ENDSTOP_Y_BACK_ON_HOME 0
#define ENDSTOP_Z_BACK_ON_HOME 0
#define ALWAYS_CHECK_ENDSTOPS 1
#define MOVE_X_WHEN_HOMED 0
#define MOVE_Y_WHEN_HOMED 0
#define MOVE_Z_WHEN_HOMED 0

// ################# XYZ movements ###################

#define X_ENABLE_ON 0
#define Y_ENABLE_ON 0
#define Z_ENABLE_ON 0
#define DISABLE_X 0
#define DISABLE_Y 0
#define DISABLE_Z 0
#define DISABLE_E 0
#define INVERT_X_DIR 0
#define INVERT_X2_DIR 0
#define INVERT_Y_DIR 0
#define INVERT_Y2_DIR 0
#define INVERT_Z_DIR 0
#define INVERT_Z2_DIR 0
#define INVERT_Z3_DIR 0
#define INVERT_Z4_DIR 0
#define X_HOME_DIR 1
#define Y_HOME_DIR -1
#define Z_HOME_DIR -1
#define X_MAX_LENGTH 260
#define Y_MAX_LENGTH 280
#define Z_MAX_LENGTH 280
#define X_MIN_POS 0
#define Y_MIN_POS 0
#define Z_MIN_POS 0
#define PARK_POSITION_X 0
#define PARK_POSITION_Y 10
#define PARK_POSITION_Z_RAISE 10

#define DELTASEGMENTS_PER_PRINTLINE 20
#define STEPPER_INACTIVE_TIME 360L
#define MAX_INACTIVE_TIME 0L
#define MAX_FEEDRATE_X 150
#define MAX_FEEDRATE_Y 150
#define MAX_FEEDRATE_Z 8
#define HOMING_FEEDRATE_X 80
#define HOMING_FEEDRATE_Y 80
#define HOMING_FEEDRATE_Z 3
#define HOMING_ORDER HOME_ORDER_XYZ
#define ZHOME_PRE_RAISE 2
#define ZHOME_PRE_RAISE_DISTANCE 5
#define RAISE_Z_ON_TOOLCHANGE 0
#define ZHOME_MIN_TEMPERATURE 0
#define ZHOME_HEAT_ALL 1
#define ZHOME_HEAT_HEIGHT 20
#define ZHOME_X_POS 130
#define ZHOME_Y_POS 100
#define ENABLE_BACKLASH_COMPENSATION 0
#define X_BACKLASH 0
#define Y_BACKLASH 0
#define Z_BACKLASH 0
#define RAMP_ACCELERATION 1
#define STEPPER_HIGH_DELAY 1
#define DIRECTION_DELAY 0
#define STEP_DOUBLER_FREQUENCY 12000
#define ALLOW_QUADSTEPPING 1
#define DOUBLE_STEP_DELAY 0 // time in microseconds
#define MAX_ACCELERATION_UNITS_PER_SQ_SECOND_X 300
#define MAX_ACCELERATION_UNITS_PER_SQ_SECOND_Y 300
#define MAX_ACCELERATION_UNITS_PER_SQ_SECOND_Z 300
#define MAX_TRAVEL_ACCELERATION_UNITS_PER_SQ_SECOND_X 300
#define MAX_TRAVEL_ACCELERATION_UNITS_PER_SQ_SECOND_Y 300
#define MAX_TRAVEL_ACCELERATION_UNITS_PER_SQ_SECOND_Z 100
#define INTERPOLATE_ACCELERATION_WITH_Z 0
#define ACCELERATION_FACTOR_TOP 100
#define MAX_JERK 15
#define MAX_ZJERK 0.3
#define PRINTLINE_CACHE_SIZE 16
#define MOVE_CACHE_LOW 10
#define LOW_TICKS_PER_MOVE 250000
#define EXTRUDER_SWITCH_XY_SPEED 100
#define DUAL_X_AXIS 0
#define DUAL_X_RESOLUTION 0
#define X2AXIS_STEPS_PER_MM 100
#define FEATURE_TWO_XSTEPPER 0
#define X2_STEP_PIN   ORIG_E1_STEP_PIN
#define X2_DIR_PIN    ORIG_E1_DIR_PIN
#define X2_ENABLE_PIN ORIG_E1_ENABLE_PIN
#define FEATURE_TWO_YSTEPPER 0
#define Y2_STEP_PIN   ORIG_E1_STEP_PIN
#define Y2_DIR_PIN    ORIG_E1_DIR_PIN
#define Y2_ENABLE_PIN ORIG_E1_ENABLE_PIN
#define FEATURE_TWO_ZSTEPPER 1
#define Z2_STEP_PIN   ORIG_E5_STEP_PIN
#define Z2_DIR_PIN    ORIG_E5_DIR_PIN
#define Z2_ENABLE_PIN ORIG_E5_ENABLE_PIN
#define FEATURE_THREE_ZSTEPPER 0
#define Z3_STEP_PIN   ORIG_E2_STEP_PIN
#define Z3_DIR_PIN    ORIG_E2_DIR_PIN
#define Z3_ENABLE_PIN ORIG_E2_ENABLE_PIN
#define FEATURE_FOUR_ZSTEPPER 0
#define Z4_STEP_PIN   ORIG_E3_STEP_PIN
#define Z4_DIR_PIN    ORIG_E3_DIR_PIN
#define Z4_ENABLE_PIN ORIG_E3_ENABLE_PIN
#define FEATURE_DITTO_PRINTING 0
#define USE_ADVANCE 0
#define ENABLE_QUADRATIC_ADVANCE 0

#define Z_PROBE_Z_OFFSET 0
#define Z_PROBE_Z_OFFSET_MODE 0
#define UI_BED_COATING 0
#define FEATURE_Z_PROBE 1
#define EXTRUDER_IS_Z_PROBE 1
#define Z_PROBE_DISABLE_HEATERS 1
#define Z_PROBE_BED_DISTANCE 0
#define Z_PROBE_PIN ORIG_Z_MIN_PIN
#define Z_PROBE_PULLUP 1
#define Z_PROBE_ON_HIGH 0
#define Z_PROBE_X_OFFSET 31
#define Z_PROBE_Y_OFFSET -33
#define Z_PROBE_WAIT_BEFORE_TEST 0
#define Z_PROBE_SPEED 5
#define Z_PROBE_XY_SPEED 150
#define Z_PROBE_SWITCHING_DISTANCE 2
#define Z_PROBE_REPETITIONS 2
#define Z_PROBE_USE_MEDIAN 0
#define Z_PROBE_HEIGHT 0
#define Z_PROBE_DELAY 100
#define Z_PROBE_START_SCRIPT ""
#define Z_PROBE_FINISHED_SCRIPT ""
#define Z_PROBE_RUN_AFTER_EVERY_PROBE ""
#define Z_PROBE_REQUIRES_HEATING 0
#define Z_PROBE_MIN_TEMPERATURE 150
#define FEATURE_AUTOLEVEL 1
#define FEATURE_SOFTWARE_LEVELING 0
#define Z_PROBE_X1 0
#define Z_PROBE_Y1 0
#define Z_PROBE_X2 260
#define Z_PROBE_Y2 0
#define Z_PROBE_X3 0
#define Z_PROBE_Y3 280
#define BED_LEVELING_METHOD 1
#define BED_CORRECTION_METHOD 0
#define BED_LEVELING_GRID_SIZE 9
#define BED_LEVELING_REPETITIONS 5
#define BED_MOTOR_1_X 0
#define BED_MOTOR_1_Y 0
#define BED_MOTOR_2_X 200
#define BED_MOTOR_2_Y 0
#define BED_MOTOR_3_X 100
#define BED_MOTOR_3_Y 200
#define BENDING_CORRECTION_A 0
#define BENDING_CORRECTION_B 0
#define BENDING_CORRECTION_C 0
#define FEATURE_AXISCOMP 0
#define AXISCOMP_TANXY 0
#define AXISCOMP_TANYZ 0
#define AXISCOMP_TANXZ 0


Comments

  • #define HOMING_ORDER HOME_ORDER_XYZ
    is the problem. Use a variant with preheat temperature (you can set it 0). Only these use z probe position.
  • Thanks! I’ll try that when I get home. I did have issues with home order when I first set this up. Not sure why though. It’s a corexy if that matters.
  • With corexy make sure after hitting to always go back to untrigger endstop. Here endstop and motor are not the same so better not trigger falsely.
  • That would be ENDSTOP_X_BACK_MOVE 5, correct?

    HOMING_ORDER HOME_ORDER_XYTZ works for me.  Thanks!

    I just printed my first successful thing from my corexy!  Homing in the center of the bed fixed all my z probe issues so far.  Because I home x on the right and my probe is all the way right it was getting interference from the from right z rod, I think.  It was just never consistent.  Now it's .8mm above the bed every time and Z_PROBE_HEIGHT fixes that <span>:smile:</span>

  • #define ENDSTOP_X_BACK_ON_HOME 1
    #define ENDSTOP_Y_BACK_ON_HOME 1

    is what I meant. ENDSTOP_X_BACK_MOVE is for the second test but endstop should untrigger also after that.
Sign In or Register to comment.