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] Leveling Ender 5 pro with BL-Touch not possible MB Creality 4.2.2 & 4.2.7 #1132

Open
1 task done
rstalde opened this issue Mar 10, 2025 · 4 comments
Open
1 task done
Labels
bug Something isn't working

Comments

@rstalde
Copy link

rstalde commented Mar 10, 2025

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

Yes, and the problem still exists.

Bug Description

Bedlevelling with BL-Touch is not possible with the model files for the Creality Ender 5 Pro.
The printer moves to the center of the print bed, lowers it and stops.
This happens with both version 4.2.2 and 4.2.7.
In addition, the variable Z_SAFE_HOMING is not set automatically in variant 4.2.7.

This works perfectly with the version for Ender 5 with MB 4.2.7 and BL-Touch, so I have used this as a workaround.

Actually, one set of model files should be sufficient for Ender 5 (8 bit MB) and the Pro version (32 bit MB), as the difference between the types is only the MB on delivery and for some Ender 5 the Z-spindle (400 step/mm / 800 step/mm) and the extruder variant (plastic / metal).

The difference between the configuration files for the MB variants 4.2.2 and 4.2.7 is also only the type designation, so that these can also be combined.
This would reduce the number of possible configurations from 10 (4.2.2 / 4.2.7, E5 / E5Pro, with/without BL-Touch, 400/800 step spindle for E5) to one, which reduces the maintenance effort.
Unfortunately, my knowledge of C is not sufficient to do this myself (: .

Bug Timeline

No response

Expected behavior

No response

Actual behavior

No response

Steps to Reproduce

No response

Version of Marlin Firmware

2.1.3-b2

Printer model

Creality Ender 5 and Ender 5 Pro

Electronics

Creality 4.2.2 and 4.2.7

LCD/Controller

Standard

Other add-ons

No response

Bed Leveling

None

Your Slicer

Prusa Slicer

Host Software

None

Don't forget to include

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

Additional information & file uploads

No response

@rstalde rstalde added the bug Something isn't working label Mar 10, 2025
@ellensp
Copy link
Contributor

ellensp commented Mar 10, 2025

Most user are completely flummoxed if they cannot find their printer with their motherboard.
Also changing the motherboard can change the serial ports and stepper driver (if soldered on) different stepper driver can invert the directions of axis... so it not always just as simple as changing the motherboard.

These are simple things to fix if you know how, but not if you don't (which is most users)

@ellensp
Copy link
Contributor

ellensp commented Mar 10, 2025

You say that Ender-5/CrealityV427 works but Ender-5\ Pro/CrealityV427 does not

but there are very few differences in the configs

diff Ender-5\ Pro/CrealityV427/Configuration.h Ender-5/CrealityV427/Configuration.h 
66c66
< #define STRING_CONFIG_H_AUTHOR "(Dust, Ender-5 Pro)" // Original author or contributor.
---
> #define STRING_CONFIG_H_AUTHOR "(Dust, Ender-5)" // Original author or contributor.
136c136
< #define CUSTOM_MACHINE_NAME "Ender-5 Pro 4.2.7"
---
> #define CUSTOM_MACHINE_NAME "Ender-5 4.2.7"
160,162c160,162
< #define X_DRIVER_TYPE TMC2208_STANDALONE
< #define Y_DRIVER_TYPE TMC2208_STANDALONE
< #define Z_DRIVER_TYPE TMC2208_STANDALONE
---
> #define X_DRIVER_TYPE  TMC2208_STANDALONE
> #define Y_DRIVER_TYPE  TMC2208_STANDALONE
> #define Z_DRIVER_TYPE  TMC2208_STANDALONE
708c708
<   // Creality Ender-5 Pro
---
>   // Creality Ender-5
1302c1302
< #define DEFAULT_AXIS_STEPS_PER_UNIT   { 80, 80, 800, 93 }
---
> #define DEFAULT_AXIS_STEPS_PER_UNIT   { 80, 80, 400, 93 }
diff Ender-5\ Pro/CrealityV427/Configuration_adv.h Ender-5/CrealityV427/Configuration_adv.h 
1039c1039
<   //#define Z_STEPPER_ALIGN_XY { {  10, 290 }, { 150,  10 }, { 290, 290 } }
---
>   //#define Z_STEPPER_ALIGN_XY { {  10, 190 }, { 100,  10 }, { 190, 190 } }

The only relevant difference is

< #define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 800, 93 }
vs

#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 93 }

Ie the Z steps/mm

@ellensp
Copy link
Contributor

ellensp commented Mar 10, 2025

The only changes you need to make to enable bltouch are (from config/examples/Creality/Ender-5/CrealityV427 with BLTouch)

//#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
#define USE_PROBE_FOR_Z_HOMING
#define BLTOUCH
#define NOZZLE_TO_PROBE_OFFSET { -44, -5, 0 }
#define AUTO_BED_LEVELING_LINEAR
#define RESTORE_LEVELING_AFTER_G28
#define Z_SAFE_HOMING

@rstalde
Copy link
Author

rstalde commented Mar 10, 2025

Hello @ellensp ,
You have forgotten the most important difference between Creality MB 4.2.2 and 4.2.7:
#define MOTHERBOARD BOARD_CREALITY_V4 > for Version 4.2.2
and
#define MOTHERBOARD BOARD_CREALITY_V427 > for Version 4.2.7

At both boards are different stepper-driver possible, marked with a letter on SD-slot:
A = TMC2208 (does not support Linear Advance)
B = TMC2209 (does support LA)
C = HR4988 (Chinese copy of Allegro A4988)
E = A4988
H = TMC2225 (TMC2208 in a different chip package)
Most of these boards has stepper-drivers of type A and H. I've seen only one board version B with STM32F103RE CPU on an optional upgrade board.
The 4988 rotate in wrong direction if the connection to the Motors are not changed on board or cable or software (which is the solution in Marlin).

"//#define Z_STEPPER_ALIGN_XY { { 10, 290 }, { 150, 10 }, { 290, 290 } }"
This Line is only relevant at the Plus-model because this has 2 Z-Steppers.

I've made successful some different configurations on Marlin driven printers, without great knowledge of C-Language ;).

The main-problem is that bed levelling does not work on the new "config.h" & "config adv.h" file versions for Ender 5 pro at revision 2.1.3-B2 of Marlin software.
On these boards the modifications for BL-Touch will be made on conditional compilation, set with the line "#define ENDER5_USE_BLTOUCH", which does possible not set all relevant parameters.

An additional problem with the 2.1.3-b2 source code of the Ender 5 with BL-Touch, which I've used as a workaround for the problems with the Pro-version, is that this version don't show the measured distances at bed-leveling. I've tested this with a partial piece of cardboard on print bed. All shown distances are the same. I've found this bug 2 hours ago. ;)

With friendly regards
Ralf St.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants