When a print is paused, Z is reduced by 0.03/0.04 mm on restart
-
@jens55 do yours tools have different offsets ? if you change them all to the same offset just to do a test . does the issue go away?
-
@OwenD, yes, I have bed compensation enabled but I also have that enabled on the two printers that work.
-
@moth4017, yes, my tools have different offsets but there is no tool change involved. If it is an issue of tool offset, why would the height continue to reduce for every pause cycle?
I will see what happens when my z offsets are the same. -
@jens55 may be there is an undisclosed design feature (bug) that's taking of the offset from one of the tools , did you try making all the offsets the same ?
-
@moth4017, yes, just finished testing with all the same z offsets. Problem still exists.
-
@jens55 can you post your config
-
-
@jens55 in your config you are doing calculations instead of putting in the value, it may be a rounding issue , you could try putting in fixed values .
-
@moth4017, what in specific are you referring to?
Yes, I calculate motor current but that has no bearing on the issue.
I calculate z steps but that is an even number (no rounding) and besides, we are not talking actual height error (if the steps per mm are wrong) but we are talking what DWC 'thinks' is the z height. -
I just looked at the object model during a pause and the Z height is correct. It would appear that the printer goes back to the right position and then reduces Z height somehow. This is confirmed by the DWC Z height display where, during the resume, z height goes to 0.2 (first layer height) and then drops down to 0.16.
It sure looks like there is some macro someplace that somehow changes the height on resume .... but where would this happen ... is there something that automatically runs after pause.g has executed ???? -
@jens55 just a question are you doing the pause from DWC or in the slicer software ? eg pause at height x "do something" then resume?
-
How does resurrect.g fit in the big picture? I thought it only applies when there was a power outage?
The reason I bring this up is because the resurrect.g file contains this line:G92 X266.207 Y126.771 Z-0.036 U0.000
and the z-0.036 seems very much like the error I am seeing.
-
@jens55 Any time you pause a print from SD card, the state of the print is saved to a special file on the SD card, sys/resurrect.g
-
@jens55 set value to 0 sys/resurrect.g and test
-
@moth4017, I need a bit more than that .... resurrect.g has a whole bunch of lines. Are you suggesting to set the Z portion of the G92 line to 0? BTW, on the other two printers the Z portion of the G92 command is 0.2.
Also, when I enter M911, the printer reports that auto save is disabled .... why would resurrect.g be run if auto save is disabled?
-
@jens55 just change this line G92 X266.207 Y126.771 Z0 U0.000
you will have to try and work out when it happens
you can add the :-
echo "this just happened"
in the *.g files to give you a pointer to when the move happens. and then monitor it in the DWC console
-
@moth4017, thanks for your help! I am giving up for today. I am pretty sure that the issue is related to the resurrect.g file but I have no clue why this file would be run when auto save is not enabled. The file is generated by the system and I do not know where it gets the Z offset value from.
I am hoping that somebody with more knowledge can explain to me how resurrect.g is generated, where the Z offset in resurrect.g comes from and why the resurrect.g file would be run if no autosave is enabled.
BTW, resurrect.g calls to execute resurrect-prologue.g but that file does not exist on this printer. -
@jens55 hi, did a test when you press "pause" in DWC it does the following
12/25/2023, 2:20:58 PM Printing paused at X153.7 Y153.2 Z2.7
12/25/2023, 2:20:57 PM Resume state saved
pause
12/25/2023, 2:20:56 PM M25
Resume state saved -
@moth4017, yes, my setup does the same thing .... everything works just like it should with the exception of DWC reporting a slightly lower Z (but only after it has gone to the correct Z)
-
@jens55 this is a long shot but i think worth doing, do the pause , but then run the resume.g lines of code one by one in the command line and see if this works correctly