End stop does not trigger after first homing
Hi!
I have a weird issue. When I home my x or y it is fine...but if I home for a second time..or begin a print etc.. the end stop is not triggered and my printhead crashes at my frame.
Even after a first home the m119 command gives the correct values.
Any ideas?
I have a weird issue. When I home my x or y it is fine...but if I home for a second time..or begin a print etc.. the end stop is not triggered and my printhead crashes at my frame.
Even after a first home the m119 command gives the correct values.
Any ideas?
Comments
What printer type is that on which board? Memory problems can be an issue with strange behaviour as well. Especially on deltas memory gets often an issue. Make sure on connection it reports around 1000 free bytes of ram on 8 bit boards.
But good to hear that old config worked.
Could it be that pullup for sensor is missing to get defined signals? Otherwise the cable to y endstop might be broken and work only sometimes depending on bending at broken position? You can also try a different endstop pin like ymax just tell firmware to use that instead for ymin. As it works sometimes I would think that it is either pullup or hardware related if it is so wanky.
To bei Sure that it is no issue from Stepper Signals: how should the shield of the Wire are connected to? At this time there ist no shield because i installed For x and y smart Stepper. The cable from Steppermotor to the smart Stepper Board ist very Short.
So you have autoleveling and distortion correction enabled. Can you check if disabling only one or both makes them work again. Not that the endstop check is anyhow related to these features. Only for z there might be chance if z probe is active.
What kind of printer do you have? Cartesian, core xy, dual x, delta ... as they have all different homing routines. Also which homing order and settings do you have, just to be sure.
As you see distortion correction is disabled first before anything is done. Printer::distortion.disable(false); is same as M323 S0 does. Can you update to 1.0.4dev to be sure fixed bugs are not a reason. I also see in code that you should see in log a message that distortion was disabled when you home. Do you see that?
Are you using fast core xy or regular version? Unfortunately I have no core xy for testing my self.
You should run G33 always after G32 S2 so both use same z position as reference. If you check values with G33 L0 they should swing around 0. Also I assume zmin homing with z probe is used here? If you are too close you need to descrease z probe height so after homing you have more space to bed.
G33 only works on a limited Z range defined in configuration. At higher Z you will see no z correction.
For testing I always put some higher card box at one measurement point. When I the move with low Z over that point (with removed card) I can clearly see it move up/down at that point. Regular correction is hard to see as it is so small.
For non fast core xy the correction is computed at 10mm distances of each move.
tried today https://www.repetier.com/firmware/dev
with my corexy+z radds/due with disabled z-correction (distortion correction)
Alway check endstop true
Fast_corexyz 1
and now homing the x-axis does not work. Y/Z are fine.
X homing is crashing for half a minute and then it stops.
Gone back to firmware from last year with same config ... everything is fine.
On the other side subsegments per second must be high enough that at maximum speed a segment only contains at max. 32000 steps.
Any violation could cause a stopped move to continue. Also I would expect it to get stopped again by the end stop trigger, but I have no core xy printer to prove that.
A good test would be to disable fast corexy first to see if everything is ok with pins etc. Then you know the problem comes from nonlinear handling.
Fortunately in V2 firmware these problems are gone due to different motion handling.
#define Z_PROBE_Z_OFFSET 0
#define Z_PROBE_Z_OFFSET_MODE 0
#define UI_BED_COATING 1
#define FEATURE_Z_PROBE 1
#define EXTRUDER_IS_Z_PROBE 0
#define Z_PROBE_DISABLE_HEATERS 0
#define Z_PROBE_BED_DISTANCE 10
#define Z_PROBE_PIN ORIG_Z_MIN_PIN
#define Z_PROBE_PULLUP 1
#define Z_PROBE_ON_HIGH 0
#define Z_PROBE_X_OFFSET -36.6
#define Z_PROBE_Y_OFFSET 49.8
#define Z_PROBE_WAIT_BEFORE_TEST 0
#define Z_PROBE_SPEED 2
#define Z_PROBE_XY_SPEED 150
#define Z_PROBE_SWITCHING_DISTANCE 3
#define Z_PROBE_REPETITIONS 1
#define Z_PROBE_USE_MEDIAN 0
#define Z_PROBE_HEIGHT 0.672
#define Z_PROBE_DELAY 0
#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 291
#define Z_PROBE_Y1 250
#define Z_PROBE_X2 50
#define Z_PROBE_Y2 50
#define Z_PROBE_X3 450
#define Z_PROBE_Y3 50
#define BED_LEVELING_METHOD 0
#define BED_CORRECTION_METHOD 1
#define BED_LEVELING_GRID_SIZE 10
#define BED_LEVELING_REPETITIONS 5
#define BED_MOTOR_1_X 252
#define BED_MOTOR_1_Y 373
#define BED_MOTOR_2_X 591
#define BED_MOTOR_2_Y 7
#define BED_MOTOR_3_X -90
#define BED_MOTOR_3_Y 7
#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
Your config does not contain the settings for distortion correction, these are
Important - any Z higher then DISTORTION_START_DEGRADE will reduce the distortion correction and above DISTORTION_END_HEIGHT there will be no correction at all, if it is enabled, which G33 does automatically until you disable it. See log you will see the messages.
// ################# XYZ movements ###################
#define X_ENABLE_ON 0
#define Y_ENABLE_ON 0
#define Z_ENABLE_ON 1
#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 1
#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 501
#define Y_MAX_LENGTH 310
#define Z_MAX_LENGTH 293.543
#define X_MIN_POS 0
#define Y_MIN_POS 0
#define Z_MIN_POS 0
#define PARK_POSITION_X 250
#define PARK_POSITION_Y 0
#define PARK_POSITION_Z_RAISE 10
#define DISTORTION_CORRECTION 1
#define DISTORTION_CORRECTION_POINTS 10
#define DISTORTION_LIMIT_TO 2
#define DISTORTION_CORRECTION_R 100
#define DISTORTION_PERMANENT 1
#define DISTORTION_UPDATE_FREQUENCY 15
#define DISTORTION_START_DEGRADE 0.5
#define DISTORTION_END_HEIGHT 1
#define DISTORTION_EXTRAPOLATE_CORNERS 0
#define DISTORTION_XMIN 50
#define DISTORTION_YMIN 50
#define DISTORTION_XMAX 450
#define DISTORTION_YMAX 290