I have recently updated my printer’s firmware to Marlin v2.1.2.1.
It is a custom config due to the non-standard config of my printer:
- Creality Ender 5 Pro (frame, XYZ steppers, display and power supply still original)
- Creality v4.2.7 board
- E3D Hemera direct drive,
- BL Touch
- Run-out sensor (HIGH when no filement present)
Customisation was limited to setting default_envs in platformio.ini to board “STM32F103RE_creality” and applying some neccessary changes in Configuration.h and Comfiguration_adv.h. No other modifications to either the code or stored data.
In the past I haven’t paid much attention to dimensional accuracy, but I noticed that the regular XYZ calibration cube was 20,18mm in height.
E-steps are defined as 80 for X and Y and 800 for Z, so I intended to change that in the printer’s configuration.
In Configuration > Advanced > E-steps I found that the 800 steps/mm for the Z-axis was reported, but when I clicked the navigation button to edit that, it showed 144.64 e-steps/mm! Doing the same for X and Y show no discrepancy.
I then consulted Printrun (Pronterface), where the M503
command returned all the expected values.
Next I’ve set the new e step values using:
M92 X79.92 Y79.68 Z792.86
followed by the save settings command:
M500
Command M503
now indicates:
echo:; Linear Units:
echo: G21 ; (mm)
echo:; Temperature Units:
echo: M149 C ; Units in Celsius
...
echo:; Steps per unit:
echo: M92 X79.92 Y79.68 Z792.86 E393.00
etc.
After disconnecting the printer and checking the e-steps on the the display all looked good (and updated as expected).
When I chose to enter the e-steps for Z though, it returned 137.50 e-steps/mm.
For the record: with the new settings the accuracy of an XYZ calibration cube is nearly perfect.
Does anyone else have this issue? Or can it be reproduced anywhere?