Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] Auto-home with a probe on v.2.1.2.2 crashes nozzle into bed #26809

Closed
1 task done
jradwan opened this issue Feb 22, 2024 · 40 comments
Closed
1 task done

[BUG] Auto-home with a probe on v.2.1.2.2 crashes nozzle into bed #26809

jradwan opened this issue Feb 22, 2024 · 40 comments
Labels
Bug: Confirmed ! Fix Included A fix is included in the description

Comments

@jradwan
Copy link

jradwan commented Feb 22, 2024

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

Yes, and the problem still exists.

Bug Description

After upgrading from 2.1.2.1 to 2.1.2.2 (and -bugfix), when I perform an auto-home on my Ender 3 Pro with a CR Touch installed, the probe extends and the Z-axis starts moving downward. But after the probe touches the bed the Z-axis continues to move down and grinds the stepper motor and nozzle into the bed until I turn the power off.

Going back to 2.1.2.1 fixes the issue.

Bug Timeline

after upgrading from 2.1.2.1 to 2.1.2.2

Expected behavior

CR Touch/Z-probe should stop nozzle from crashing into bed

Actual behavior

Probe touches bed, light turns red, but Z-axis continues to move down grinding stepper motor and driving nozzle into bed until power is shut off.

Steps to Reproduce

Motion > Auto Home

Version of Marlin Firmware

2.1.2.x-bugfix

Printer model

Ender 3 Pro

Electronics

4.2.7 32-bit board

LCD/Controller

No response

Other add-ons

No response

Bed Leveling

ABL Bilinear mesh

Your Slicer

Cura

Host Software

OctoPrint

Don't forget to include

  • A ZIP file containing your Configuration.h and Configuration_adv.h.

Additional information & file uploads

All of my changes/customizations are tagged with "JCR" in these files. Attached are my working files from 2.1.2.1 and the files used with 2.1.2.x-bugfix that cause the problem.

2-1-2-x-bugfix-configs-auto-home-crash.zip

@ellensp
Copy link
Contributor

ellensp commented Feb 23, 2024

What type of MPU is on your creality 4.2.7 STM32F103RE, STM32F103RC or GD32F303RE ?
And what build environment did you use?

And where is your probe attached? from the config the probe should be using the 5 pin probe port and nothing else

@tu77
Copy link

tu77 commented Feb 23, 2024

after Upgrading from 2.1.2.1 to 2.1.2.2 my double Z-Axis is not homing anymore, I get a "kill" after some minutes, kind of timeout..
maybe it is a similar issue.

I did compare my old and new config files but find no reason for the Problem.

Printer type:
core XY
dual Z axis
2 Z-home switches only (no BL or probe)

@jradwan
Copy link
Author

jradwan commented Feb 23, 2024

What type of MPU is on your creality 4.2.7 STM32F103RE, STM32F103RC or GD32F303RE ?

STM32F103RET6

And what build environment did you use?

default_envs = STM32F103RET6_creality

And where is your probe attached? from the config the probe should be using the 5 pin probe port and nothing else

Yes, attached to the dedicated probe port on the board, original Z-stop removed nothing plugged in there.

@classicrocker883
Copy link
Contributor

i also have CR-touch with 427, I have never noticed this issue. I have heard there may be issues with this and HS (high speed) mode and definitely had experienced problems with this enabled like using M48.

what UI are you using, ProUI? Jyers?

@jradwan
Copy link
Author

jradwan commented Feb 25, 2024

I have not enabled BL_TOUCH_HS_MODE and Z_MIN_PROBE_REPEATABILITY_TEST is also disabled.

I'm on an Ender 3 Pro, so no special UI, just the stock LCD and rotary encoder.

@stonesword0
Copy link

I had this same issue with the new firmware. I have a BLTouch, so it is likely an issue with the 4.2.7 mainboard.

Thank you for reporting this, I would have never figured out why my BLTouch isn't working!

@jradwan
Copy link
Author

jradwan commented Feb 26, 2024

Thank you for reporting this, I would have never figured out why my BLTouch isn't working!

I'm glad I'm not the only one!

@buff0k
Copy link

buff0k commented Feb 26, 2024

Can confirm same issue with 4.2.2 Motherboard on an Ender-5 Pro.

@ellensp
Copy link
Contributor

ellensp commented Feb 26, 2024

Me two-ing provides extremely limited information.

Please include config files and details of how your bltouch is wired (probe port, probe port and z-stop, or using an adapter such as a pin 27 adapter) and what probe you really have bltouch, crtouch, 3dtouch etc

Reminder:

If probe is plugged into the 5 pin probe port you need this in your configuration.h

//#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
#define USE_PROBE_FOR_Z_HOMING
//#define Z_MIN_PROBE_PIN -1

If probe is plugged into z-stop pin and probe port you need this

#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
//#define USE_PROBE_FOR_Z_HOMING // Is enabled automatically
//#define Z_MIN_PROBE_PIN -1

You only define Z_MIN_PROBE_PIN if its not already defined (if you board has a probe port it is defined)

And BLTOUCH_HS_MODE and BLTOUCH_FORCE_SW_MODE cannot be used on crtouch or 3dtouch.

@buff0k
Copy link

buff0k commented Feb 26, 2024

I use a CR Touch connected to the Probe Port, Z-stop disconnected.

//#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
#define USE_PROBE_FOR_Z_HOMING
#define Z_MIN_PROBE_PIN PB1

//#define BLTOUCH_HS_MODE true
//#define BLTOUCH_FORCE_SW_MODE

(Above worked for 2.1.2.1)

Configs addatached
2.1.2.2.zip

As for clarifying me too, 2.1.x-bugfix and 2.1.2.1 did not have this issue, configs migrated manually or using the template, i.e. the issue is 2.1.2.2 related.

@thisiskeithb
Copy link
Member

2.1.2.2 has some issues & needs a few patches, so I'd recommend updating to bugfix-2.1.x if you need a specific feature or hardware support.

You can also stick with a previous version if that is working for you until 2.1.3 is released.

@ellensp
Copy link
Contributor

ellensp commented Feb 27, 2024

I think i've found something which looks like a very likely suspect to break many probes in the probe port.

In 2.1.2.2 Marlin/src/inc/Conditionals_post.h is

 #if ALL(ENDSTOPPULLUPS, USE_Z_MIN_PROBE)
    #define ENDSTOPPULLUP_ZMIN_PROBE
  #endif

But USE_Z_MIN_PROBE is not part of 2.1.2.2, it came from bugfix by mistake.
So ENDSTOPPULLUP_ZMIN_PROBE is never defined.

Update this code to

  #if ALL(ENDSTOPPULLUPS, HAS_Z_MIN_PROBE_PIN)
    #define ENDSTOPPULLUP_ZMIN_PROBE
  #endif

And ENDSTOPPULLUP_ZMIN_PROBE gets defined as it should.

Can anyone with this issue very carefully test Z homing with this patch?
@jradwan @buff0k

@ct16k
Copy link

ct16k commented Feb 27, 2024

I have an Antclabs BLTouch v3.1 connected to a BigTreeTech SKR Mini E3 v2. Can confirm with the above suggested patch the probe now works as expected.

diff --git a/Marlin/src/inc/Conditionals_post.h b/Marlin/src/inc/Conditionals_post.h
index 6794087ca4..4e18fd3938 100644
--- a/Marlin/src/inc/Conditionals_post.h
+++ b/Marlin/src/inc/Conditionals_post.h
@@ -2852,7 +2852,7 @@
   #ifndef PROBE_OFFSET_YMAX
     #define PROBE_OFFSET_YMAX  50
   #endif
-  #if ALL(ENDSTOPPULLUPS, USE_Z_MIN_PROBE)
+  #if ALL(ENDSTOPPULLUPS, HAS_Z_MIN_PROBE_PIN)
     #define ENDSTOPPULLUP_ZMIN_PROBE
   #endif
   #ifndef XY_PROBE_FEEDRATE

@ellensp ellensp added Bug: Confirmed ! Fix Included A fix is included in the description and removed Bug: Potential ? labels Feb 27, 2024
@jradwan
Copy link
Author

jradwan commented Feb 27, 2024

The patch did not work for me. Was that for the bugfix-2.1.x branch? Or should I have applied it to 2.1.2.2?

@ellensp
Copy link
Contributor

ellensp commented Feb 27, 2024

there is nothing wrong with bugfix-2.1.x homing with a probe, this patch is for 2.1.2.2

@jradwan
Copy link
Author

jradwan commented Feb 27, 2024

Ok, maybe I'm confused then because I was having the issue with bugfix-2.1.x as well as 2.1.2.2.

But I just tried the proposed patch on the 2.1.x branch (2.1.2.2 with bugfixes) and it worked, the auto-home completes successfully.

@ellensp
Copy link
Contributor

ellensp commented Feb 27, 2024

2.1.x and 2.1.2.2 are currently identical.
branch bugfix-2.1.x. is what we refer to as bugfix not branch 2.1.x

@jradwan
Copy link
Author

jradwan commented Feb 27, 2024

Ok, I must have downloaded something wrong or messed up on my side then when filing the bug originally because I thought I was able to reproduce on bugfix-2.1.x. But whatever, the patch works for 2.1.2.2 so I'm back in business. Thanks!

@buff0k
Copy link

buff0k commented Feb 27, 2024

Can confirm above fix does correct the issue on 2.1.2.2 on Ender-5 Pro with 4.2.2 board and CR Touch.
Thank you @ellensp

@classicrocker883
Copy link
Contributor

@ellensp

And BLTOUCH_HS_MODE and BLTOUCH_FORCE_SW_MODE cannot be used on crtouch or 3dtouch.

im wondering why cant FORCE_SW_MODE be used? even though it says: and most clones:

  /**
   * Settings for BLTOUCH Classic 1.2, 1.3 or BLTouch Smart 1.0, 2.0, 2.2, 3.0, 3.1, and most clones:
   */

  // Feature: Switch into SW mode after a deploy. It makes the output pulse longer. Can be useful
  //          in special cases, like noisy or filtered input configurations.
  //#define BLTOUCH_FORCE_SW_MODE

@thisiskeithb
Copy link
Member

im wondering why cant FORCE_SW_MODE be used? even though it says: and most clones:

Because "most clones" referred to the "3D Touch" clones that existed long before Creality's CRTouch.

@gitana2
Copy link

gitana2 commented Feb 29, 2024

I confirm on Ender 3S1 (stock firmw 301_SWV3.0.4_C_F401, board V24S1_301, processor F401) the 2.1.2.2 bug. Cr-Touch crashes into the bed. Rolling back to 2.1.2.1 has resolved the issue

@buff0k
Copy link

buff0k commented Feb 29, 2024

I confirm on Ender 3S1 (stock firmw 301_SWV3.0.4_C_F401, board V24S1_301, processor F401) the 2.1.2.2 bug. Cr-Touch crashes into the bed. Rolling back to 2.1.2.1 has resolved the issue

Did you try the fix as per @ellensp above:

n 2.1.2.2 Marlin/src/inc/Conditionals_post.h is

#if ALL(ENDSTOPPULLUPS, USE_Z_MIN_PROBE)
#define ENDSTOPPULLUP_ZMIN_PROBE
#endif
But USE_Z_MIN_PROBE is not part of 2.1.2.2, it came from bugfix by mistake.
So ENDSTOPPULLUP_ZMIN_PROBE is never defined.

Update this code to

#if ALL(ENDSTOPPULLUPS, HAS_Z_MIN_PROBE_PIN)
#define ENDSTOPPULLUP_ZMIN_PROBE
#endif
And ENDSTOPPULLUP_ZMIN_PROBE gets defined as it should.

@thisiskeithb thisiskeithb changed the title [BUG] Auto-home on v.2.1.2.2 crashes nozzle into bed w/CR Touch [BUG] Auto-home with a probe on v.2.1.2.2 crashes nozzle into bed Mar 1, 2024
@gitana2
Copy link

gitana2 commented Mar 7, 2024

Thanks for the fix, but for now I will continue in 2121 without wasting time on new updates and tests. Maybe later...

Sophist-UK added a commit to Marlin-DE200/Marlin-DiscoEasy200 that referenced this issue Mar 8, 2024
@bwskin
Copy link

bwskin commented Mar 13, 2024

I can confirm that with SKR2 this issue occurs on 2.1.2.2 and the patch provided by @ellensp fixes the issue. Thanks!

@vfbank
Copy link

vfbank commented Mar 16, 2024

I'm using the MKS Tinybee board. This is an ESP32 based board.

Uses IR FIX sensor instead of BL touch. I don't think it's a BL Touch code issue. Because in 2.1.2.1 there is no such problem.

@thisiskeithb
Copy link
Member

I don't think it's a BL Touch code issue. Because in 2.1.2.1 there is no such problem.

It's a general probe issue, not BLTouch-specific.

@Phillip-0x01
Copy link

I was having the same issue on 2.1.2.2 with my Ender 3 V4.2.2 and BLTouch and the patch provided by @ellensp fixes the issue.

@thisiskeithb
Copy link
Member

Closing since this is already fixed in bugfix-2.1.x.

@phiphila
Copy link

phiphila commented Apr 3, 2024

Hi
There are truly great people on earth. Many thanks for sharing. this works for me.

My setup: printer : Ender5Plus with a mainboard creality 4.2.7 and a crtouch 5pins.
build with visual studio code.

image

Configuration.h.txt

@piotrmocko
Copy link

I have an Antclabs BLTouch v3.1 connected to a BigTreeTech SKR Mini E3 v2. Can confirm with the above suggested patch the probe now works as expected.

diff --git a/Marlin/src/inc/Conditionals_post.h b/Marlin/src/inc/Conditionals_post.h
index 6794087ca4..4e18fd3938 100644
--- a/Marlin/src/inc/Conditionals_post.h
+++ b/Marlin/src/inc/Conditionals_post.h
@@ -2852,7 +2852,7 @@
   #ifndef PROBE_OFFSET_YMAX
     #define PROBE_OFFSET_YMAX  50
   #endif
-  #if ALL(ENDSTOPPULLUPS, USE_Z_MIN_PROBE)
+  #if ALL(ENDSTOPPULLUPS, HAS_Z_MIN_PROBE_PIN)
     #define ENDSTOPPULLUP_ZMIN_PROBE
   #endif
   #ifndef XY_PROBE_FEEDRATE

This has helped me to install 2.1.2.2 and not break my printer

@reneroth
Copy link

Would it make sense to put a big warning re: this known bug on the release page? Took me quite a while to figure out what was going on 😨

@thisiskeithb
Copy link
Member

thisiskeithb commented Apr 28, 2024

Patch for 2.1.x submitted:

@TheGITofTeo997
Copy link

Would it make sense to put a big warning re: this known bug on the release page? Took me quite a while to figure out what was going on 😨

Commenting here to say the same! I wasted a good amount of time and days trying to understand what was going on... until someone on Reddit suggested me this Git issue! All I did was downloading the latest release on the website and from there the bad things started. I definitely agree that this should be something advertised somewhere else.
I compiled myself today the latest bugfix and luckily now all is working

@thisiskeithb
Copy link
Member

I definitely agree that this should be something advertised somewhere else.

I created & pinned #27019 yesterday and just updated the 2.1.2.2 release notes to add a link to the pinned issue under the "Known Issues" heading:

image

@TheGITofTeo997
Copy link

I definitely agree that this should be something advertised somewhere else.

I created & pinned #27019 yesterday and just updated the 2.1.2.2 release notes to add a link to the pinned issue under the "Known Issues" heading:
image

I understand and thanks for this. What I am thinking about, is that maybe most of the people (sadly as I did) will simply download it from the Marlin website without being aware of this.
Sure it was my fault not checking the issues page, but I am afraid most of the people will do like I did.

@reneroth
Copy link

Depending on POV, this might be a broken release and not a known issue 😬

@HerbertExtrem
Copy link

Depending on POV, this might be a broken release and not a known issue 😬

I installed my new 3D printer last week and this bug cost me a lot of time, since there are several reasons that could lead to nozzle crashing into bed. Since there is no workaround but changing the code i would clearly see this as a broken release.

@Weirdo50
Copy link

Weirdo50 commented May 2, 2024

I definitely agree that this should be something advertised somewhere else.

I created & pinned #27019 yesterday and just updated the 2.1.2.2 release notes to add a link to the pinned issue under the "Known Issues" heading:

image

auto build marlin does not detect the new version.

@gitana2
Copy link

gitana2 commented May 6, 2024

Sorry for the delay. I confirm that @ellensp's fix in 2.1.2.2 Marlin/src/inc/Conditionals_post.h which replaces "#if ALL(ENDSTOPPULLUPS, USE_Z_MIN_PROBE)" with #if ALL(ENDSTOPPULLUPS, HAS_Z_MIN_PROBE_PIN) fixes the problem on Ender 3S1, board V24S1_301 , processor F401. Congratulations!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug: Confirmed ! Fix Included A fix is included in the description
Projects
None yet
Development

No branches or pull requests