repetier / Repetier-Firmware

Firmware for Arduino based RepRap 3D printer.
811 stars 734 forks source link

dev2, delta printer: Running auto-level before print fails if auto-leveled before #1080

Open gkaindl opened 3 years ago

gkaindl commented 3 years ago

I've switched from v1 to v2 on my delta printer, keeping everything else the same. In my slicer, I've configured the print prelude to run bed auto-leveling before each print, because the bed is kept in place by plastic clamps, which easily introduce a small tilt whenever the bed is removed and replaced.

This is the g-code I use in the print prelude:

...
G28 ; Home
G32 S1 ; autolevel
...

In v1, it would home the delta printer, then run the 3-point auto-leveling, then continue with the print. In v2, it works the first time, but crashes with "Failed to trigger probe endstop! Bed crash?" the second time.

Now I suppose that is because in v2, the auto-leveling matrix and homing interact in a different way, so that the small delta introduced by the already active auto-level matrix causes the check in zprobe.cpp for Z_CRASH_THRESHOLD_STEPS (which is just 50 steps, but my steps/mm is 320, so the difference is tiny) to trigger the error shutdown.

I'm not sure if this is a bug or a configuration mistake, but it worked in v1. Is there a more correct way to run auto-leveling before a print in v2, e.g. either homing first via G28 or not, or by clearing the auto-level matrix first with M320? I think in v1, the printer would also home automatically after G32, but it doesn't anymore in v2, even though that wouldn't be necessary anyway, I suppose.

gkaindl commented 3 years ago

I think in v1, the printer would also home automatically after G32, but it doesn't anymore in v2, even though that wouldn't be necessary anyway, I suppose.

Correction: After G32 S1, the printer is correctly homed and zHeight is set correctly in v2 too, but the Z height on the display controller is still showing ???.? -> Seems to be just a display issue here, maybe?