MarlinFirmware / Marlin

Marlin is an optimized firmware for RepRap 3D printers based on the Arduino platform. Many commercial 3D printers come with Marlin installed. Check with your vendor if you need source code for your specific machine.
https://marlinfw.org
GNU General Public License v3.0
16.04k stars 19.15k forks source link

[BUG] Disabling Z Stepper problem(s) #25299

Open Johnny846 opened 1 year ago

Johnny846 commented 1 year ago

Did you test the latest bugfix-2.1.x code?

Yes, and the problem still exists.

Bug Description

I have a simple click-switch probe which I manually mount to level the bed (attached to Z_MAX_PIN). I also have a separate endstop/click-switch for Z_MIN, which is used for homing. The trigger point of the probe switch is 17mm below the nozzle height (negative NOZZLE_TO_PROBE_OFFSET z value), and Z_PROBE_LOW_POINT is set to -2. Therefore, when probing, the Z position should never be lower than Z=15mm (17mm-2mm). When #define DISABLE_Z is set to false (option to immediately disable steppers when not in use), the target Z position is set to Z=15mm, as it should, so that if the Z actually reaches this position, probing is aborted, because it means the probe didn't fire. However, when #define DISABLE_Z is set to true, the target Z position is set to Z=-10, which leads to the probe (and nozzle) crashing into the bed without bed leveling being aborted. I am using Mesh Bed Leveling. Here is my (broken) config: Kaput-Config.zip

Thank you

Bug Timeline

I have not tested older versions, as I just updated Marlin

Expected behavior

For the probing to stop when Z=15mm

Actual behavior

Probing only stops when Z=-10mm

Steps to Reproduce

Take attached config file Set #define DISABLE_Z true Bug Happens

Take attached config file Set #define DISABLE_Z false Bug does not Happen

Version of Marlin Firmware

bugfix-2.1-x (downloaded on the 27-01-2023)

Printer model

No response

Electronics

BOARD_MKS_GEN_13

Add-ons

FIX_MOUNTED_PROBE click-switch homemade bed levelling probe

Bed Leveling

ABL Bilinear mesh

Don't forget to include

Additional information & file uploads

No response

Johnny846 commented 1 year ago

I do believe this issue still exists, although I haven't tested it again with the now latest bugfix. I do understand that there are maybe other more important issues to work on at the moment, but nevertheless (and being somewhat stubborn) I won't let this issue be closed automatically. Thank you

thisiskeithb commented 1 year ago

Please download bugfix-2.1.x to test with the latest code and let us know if you're still having this issue.

Johnny846 commented 1 year ago

Just tested with the now latest bugfix, and yes, the issue still happens.

To test this bug again I used this minimally modified config. With these exact parameters, the bug happens and Z target position is set to 5mm: Kaput-Config-v2.zip

Thank you

Johnny846 commented 11 months ago

Closing unresolved issues after 60 days is a happy (ignorant ?) way to resolve problems.

Anyway, if anyone has the knowledge and time/patience to fix this issue, I'll happily test to check if the bug still happens in the now latest bugfix version.

ellensp commented 11 months ago

your talking to a bot...

If you want to keep an issue open, you have to make perodic post to it.. so the bot still knows its an issue and you are keen to get it looked at.

eg "I tried todays {include date} bugfix and it still has the issue"

thinkyhead commented 8 months ago

I just did a search of today's bugfix-2.1.x code and I didn't see any way that DISABLE_Z would affect the behavior of Z probing, at least not in any logical manner. Of course, turning off the Z stepper(s) allows the Z axis to fall, and it may have some effect on the Z axis restarting movement.

Anyway, we are very short on help to diagnose and solve issues at this time, so the more data you can collect while awaiting some possible assistance can never hurt.

In general, whenever there are homing or leveling issues, the helpers here will usually ask everyone to follow a standard procedure to gather more information. Here's the boilerplate on the extra logging to look at homing and leveling behavior:

Repeat this procedure, if needed, to demonstrate inconsistencies. From these logs we should hopefully get a better idea of what's going on with your machine.

We are in a long development cycle and aiming to fix up any issues like this that may remain for the upcoming release, so let's not sit and wait for help. Let's keep gathering information and trying stuff and making comparisons, and inevitably we'll stumble on the solution or a workaround.

Johnny846 commented 8 months ago

Hello, thank you for you reply. I tested again with today's (05-11-2023) bugfix-2.1.x I made 4 "tests" with the following procedure:

The results of the tests are the following: Test 1 Parameters: #define NOZZLE_TO_PROBE_OFFSET { 10, 10, -17 } #define Z_PROBE_LOW_POINT -2 #define DISABLE_Z (enabled) Results: Expected minimum Z point: 15 Actual minimum Z point (calculated by printer): 5 (wrong) Test 2 Parameters: #define NOZZLE_TO_PROBE_OFFSET { 10, 10, -17 } #define Z_PROBE_LOW_POINT -2 //#define DISABLE_Z (disabled) Results: Expected minimum Z point: 15 Actual minimum Z point (calculated by printer): 15 (correct) Test 3 Parameters: #define NOZZLE_TO_PROBE_OFFSET { 10, 10, -18 } #define Z_PROBE_LOW_POINT -2 #define DISABLE_Z (enabled) Results: Expected minimum Z point: 16 Actual minimum Z point (calculated by printer): 6 (wrong) Test 4 Parameters: #define NOZZLE_TO_PROBE_OFFSET { 10, 10, -17} #define Z_PROBE_LOW_POINT -1 #define DISABLE_Z (enabled) Results: Expected minimum Z point: 16 Actual minimum Z point (calculated by printer): 6 (wrong)

The zip file attached contains the four Configuration.h files used and log output from printer. Configuration_adv.h was unchanged from original file.

Marlin2.1.x-Disable_z-problems-05-11-2023.zip