aegean-odyssey / mpmd_marlin_1.1.x

a fork of Marlin firmware (bugfix-1.1.x) for the Monoprice MP Mini Delta 3d printer
GNU General Public License v3.0
76 stars 19 forks source link

Real Z location lost after M420 S1 #90

Closed martini1992 closed 2 years ago

martini1992 commented 2 years ago

Hi,

Firstly, I'm using... FIRMWARE_NAME:Marlin mpmd_marlin_1.1.x-119r16 [SM0001, ACfan, 10Alimit] (Aug 28 2021)

I believe I am seeing this issue... https://github.com/MarlinFirmware/Marlin/issues/5869

I have recently tried to transition from doing a G29 on every print to storing G29 and recalling it with M420 S1 (though I think G28 should be sufficient).

When calling M420 S1 I get the following response in the Octoprint console...

Recv: echo:Bed Leveling On
Recv:  X:0.000 Y:0.000 Z:124.865 E:0.000 Count A:22886 B:22886 C:22886
Recv: Leveled X:0.000 Y:0.000 Z:125.735 DeltaK A:228.855 B:228.855 C:228.855

The difference in the Z value corresponds exactly with the Z probe value in the stored G29 probe for X0 Y0 When starting a print the nozzle prints above the bed by greater than 0.35mm (tested by setting M851 Z0) and I'm betting it'd measure at ~0.87mm above.

Running M420 S1 C1 doesn't help either as the error is then the other way and the nozzle would crash into the bed.

Recv: echo:Bed Leveling On
Recv:  X:0.000 Y:0.000 Z:126.262 E:0.000 Count A:22886 B:22886 C:22886
Recv: Leveled X:0.000 Y:0.000 Z:125.735 DeltaK A:228.855 B:228.855 C:228.855

Reloading values from flash M501 corrects the discrepancy after a G28 but according to M503 the bed levelling is disabled.

Is this the sort of thing that Babystepping is designed to correct (not that we should have to in my opinion)?

Or should I be triggering a single point probe after M420 S1 to re-zero the Z correctly?

martini1992 commented 2 years ago

Maybe this can be closed, I've done some more messing and re-probing the bed and things seem to have corrected themselves. The figures still show a difference the size of the bed level, but it is actually printing on the bed this time. All I can think is if some incorrect bed mesh values were responsible.