Delta Mesh Comp -- without G30?
-
You need to set the Z=0 datum using G30 before creating the height map and before loading the height map.
That's just the way it is.
I would never load a height map in config.g.
I only load it in my print begin code and unload it in my print end code.
YMMV.
-
@garyd9 I think RRF will let you load the heightmap without a G30, it just gives you a warning about it. In most use cases this is quite valid! But a warning is just a warning, not an error...
I don't think you should/can apply the mesh comp until you've homed your printer though, which would be valid in all cases. It can't know what compensation to apply if it doesn't know where the nozzle is, so might mess things up.
-
I probably should have mentioned it in my original post, but I created this thread for @dc42 in response to this: https://forum.duet3d.com/post/230214
-
@garyd9 the reason is that if you have both a Z endstop switch (or, in the case of a delta, three endstop switches on the towers) that define(s) the Z height when homed, and a Z probe, then the difference between the Z position when the homing switch(es) are triggered and the Z position defined by the Z probe may not be stable with ambient temperature, hot end temperature, and bed temperature. In the case of a delta printer, the hot end, diagonal rods, and towers will usually all have different coefficients of thermal expansion. So, depending on the temperatures, the homed height may not be exactly the same as was specified in the M665 command.
That's why when you load a height map using G29 S1, if the Z=0 position was defined by endstop switches instead of by the Z probe, that warning is generated. In the case of resurrecting a print, it's best to load the height map and ignore the warning. If you are using bed compensation taper and the height so far is greater than the taper height, then it doesn't matter whether you load it or not.
-
So, if the temperatures are stabilized, can the warning be safely ignored?
-
@garyd9 said in Delta Mesh Comp -- without G30?:
So, if the temperatures are stabilized, can the warning be safely ignored?
Yes, if the temperatures are the same as when the height map was generated, the endstop switches haven't moved, and there have been no changes that might have affected the nozzle height relative to the effector.
-
@garyd9 said in Delta Mesh Comp -- without G30?:
So, if the temperatures are stabilized, can the warning be safely ignored?
Is there a reason you don't want to perform the G30?
Thanks.
Frederick
-
@fcwilt said in Delta Mesh Comp -- without G30?:
Is there a reason you don't want to perform the G30?
Yes. I've found that running a full bed.g without properly cleaning my nozzle sometimes results in a bad calibration due to ooze, etc. (and I've tried various mechanisms to get around that such as heating to only 130C without much luck. There's always some tiny amount of filament stuck to the tip of the nozzle or oozing out.)
To ensure a perfect calibration, I make sure all filament is pulled, and I extrude some cleaning filament (that doesn't ooze after being pulled), brush the nozzle with a brass brush (and/or a piece of leather) and then run bed.g via G30.
This works 100% of the time (unless my smart effector decides to lose it's sensitivity setting override and I didn't notice) but it's a somewhat annoying process when the filament I want to print with is already loaded.
On a side note, I've always been jealous of people who seem to get good calibrations from nozzle probing when they have filament loaded.
-
@garyd9 said in Delta Mesh Comp -- without G30?:
brush (and/or a piece of leather) and then run bed.g via G30.
I don't understand.
G32 runs bed.g.
G29 runs mesh.g.
The current intent is for G32 to be used for auto/manual bed leveling and G29 for height map creation.
G30 is used in bed.g and mesh.g but I am not aware of any use of G30 to run any .g file.
I don't create the height map very often and, as mentioned, I load the existing height map at the start of a print and unload it at the end.
Are you creating a height map at the start of every print?
Thanks.
-
@fcwilt Sorry - I mistyped. " and then run bed.g via G30." should be " and then run bed.g via G32."