[Solved] On the fly G31 zprobe height adjustment
-
The adjustment with G92 Z## will take place at the next G1 X## Y## Z## command.
That's when the next layer starts… So I have to write a special .gcode file by hand that includes some Z## in every G1 command
Then run a print to see how the first layer ends up and adjust as needed. Also, if the print ends being super stuck to the bed, I reduce the offset a bit.
Adjusting as needed means, changing config.g and restarting the printer each time.
-
nokian, you don't need to change every G1 line to achieve what you want.
If your first layer is z=0.2 and you want it lower by 0.1
send G92 0.3 followed by G1 Z0.2 would set the print head where you wanted it to be.
It will stay correct as long as you don't home or restart the printer.Also with StephenRC's method, you don't have to restart the printer each time
You can change your config file without restarting and just send those changed commands to the machine (e.g. G31).Honestly, I am not quite sure what you are trying to achieve. I don't change nozzle often, but when I do I would do the auto-calibration and adjust the offset manually. I believe that the nozzle height might change during screwing it in and out of the hotend, therefore I don't think a pre-set macro can help me with that.
-
I think He wants Babystepping which is on David's list of things to implement.
-
I think He wants Babystepping which is on David's list of things to implement.
That sounds quite like it.
-
@nokian:
Then run a print to see how the first layer ends up and adjust as needed. Also, if the print ends being super stuck to the bed, I reduce the offset a bit.
Adjusting as needed means, changing config.g and restarting the printer each time.
I adjust the G31 Z setting in the macro, I don't touch config.g.
-
I don't even know what Babystepping is. I don't want to create a macro.
What I really want to achieve is: Testing different Z probe heights during the first layer of one print. Without the need to restart a test print.Afterwards I want to enter it in config.g.
This way the setting is permanent.Thanks to all of you for the useful information so far. It's interesting to see what setup other people use.
-
So with the new m500 to save settings system (1.17) - tonight I have been grappling with how this works compared to before. What I can determine is that if you home, then measure your z probe offset (trigger point height minus height at which nozzle grips the paper) then use G31 Zx where x is the z probe offset, then auto-calibrate, then check your z offset with paper/feeler gauge (or just sending it to z=0) and its is correct you then send m500 to save and you're done. Provided you include an m501 to load settings at the end of your config.g for next time you power your machine up. However this is IMO the old style way of doing it.
The better/newer way is babystepping which is a feature of marlin and probably other firmwares too. You can use the rotary encoder to jog the nozzle up or down, during printing to achieve a nice first layer. Even better you can record the amount you jogged off the LCD and use it to modify your z offset for the next print, so tuning your nozzle to bed distance. A big time-saving feature which I think David is going to include in the next release.
-
On 23.11. David wrote in the "new feature priorities" thread:
@dc42:Babystepping is still on the to-be-implemented list. Grid based bed compensation got more votes.
As he already implemented grid bed compensation it shouldn't take a long time.
So for me the issue is solved.Provided you include an m501 to load settings at the end of your config.g for next time you power your machine up.
The changelog says: "The M501 auto save option has been removed" so adding it to your config.g shouldn't be necessary.
https://github.com/dc42/RepRapFirmware/blob/dev/WHATS_NEW -
It's only the auto-save option (S1 parameter) of M501 that has been removed, not the whole of M501.
-
Oh I thought I read more carefully but I didn't. Thanks.
http://reprap.org/wiki/G-code#M501:_Read_parameters_from_EEPROM