Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    [Solved] On the fly G31 zprobe height adjustment

    Scheduled Pinned Locked Moved
    Duet Web Control wishlist
    7
    16
    3.0k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • A Former User?
      A Former User
      last edited by

      In config.g you can find the G31 command to set the zprobe height.
      I would like to adjust this setting while printing because it makes initial setup after a nozzle change so much easier.
      With this feature you could optimize the zprobe height to get a perfect first layer without having to retry it again and again, everytime rebooting your printer.

      1 Reply Last reply Reply Quote 0
      • StephenRCundefined
        StephenRC
        last edited by

        This isn't exactly what you're asking for: I use a set of macros that I call for setting the zprobe height for different filaments and call them in the slicer's start gcode before the homing.

        You could do the something similar for the nozzle change.

        1 Reply Last reply Reply Quote 0
        • Jackalundefined
          Jackal
          last edited by

          I don't think adjusting the zprobe height while printing will help you with that since it is only used while calibration.
          I use G92 Z## to set the z height while printing the first layer to adjust the height.

          1 Reply Last reply Reply Quote 0
          • A Former User?
            A Former User
            last edited by

            I tried using G92 Z0.3 and even higher values (Z1.0) while printing a first 0.2mm layer.
            The Z reading in the upper right part of the DuetWebControl adapts accordingly after a few seconds.
            However I can't notice any difference in layer height.

            The tip with the filament specific macros is nice. Do you still use the paper method to get the zprobe height for the macros?

            1 Reply Last reply Reply Quote 0
            • AndreSundefined
              AndreS
              last edited by

              The adjustment with G92 Z## will take place at the next G1 X## Y## Z## command.

              1 Reply Last reply Reply Quote 0
              • StephenRCundefined
                StephenRC
                last edited by

                @nokian:

                The tip with the filament specific macros is nice. Do you still use the paper method to get the zprobe height for the macros?

                I used the paper method for the initial setting. 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.

                1 Reply Last reply Reply Quote 0
                • A Former User?
                  A Former User
                  last edited by

                  @AndreS:

                  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

                  @StephenRC:

                  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.

                  1 Reply Last reply Reply Quote 0
                  • Jackalundefined
                    Jackal
                    last edited by

                    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.

                    1 Reply Last reply Reply Quote 0
                    • Dougal1957undefined
                      Dougal1957
                      last edited by

                      I think He wants Babystepping which is on David's list of things to implement.

                      1 Reply Last reply Reply Quote 0
                      • Jackalundefined
                        Jackal
                        last edited by

                        @Dougal1957:

                        I think He wants Babystepping which is on David's list of things to implement.

                        That sounds quite like it.

                        1 Reply Last reply Reply Quote 0
                        • StephenRCundefined
                          StephenRC
                          last edited by

                          @nokian:

                          @StephenRC:

                          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.

                          1 Reply Last reply Reply Quote 0
                          • A Former User?
                            A Former User
                            last edited by

                            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.

                            1 Reply Last reply Reply Quote 0
                            • DjDemonDundefined
                              DjDemonD
                              last edited by

                              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.

                              Simon. Precision Piezo Z-Probe Technology
                              www.precisionpiezo.co.uk
                              PT1000 cartridge sensors NOW IN, just attach to your Duet board directly!

                              1 Reply Last reply Reply Quote 0
                              • A Former User?
                                A Former User
                                last edited by

                                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.

                                @DjDemonD:

                                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

                                1 Reply Last reply Reply Quote 0
                                • dc42undefined
                                  dc42 administrators
                                  last edited by

                                  It's only the auto-save option (S1 parameter) of M501 that has been removed, not the whole of M501.

                                  Duet WiFi hardware designer and firmware engineer
                                  Please do not ask me for Duet support via PM or email, use the forum
                                  http://www.escher3d.com, https://miscsolutions.wordpress.com

                                  1 Reply Last reply Reply Quote 0
                                  • A Former User?
                                    A Former User
                                    last edited by

                                    Oh I thought I read more carefully but I didn't. Thanks.
                                    http://reprap.org/wiki/G-code#M501:_Read_parameters_from_EEPROM

                                    1 Reply Last reply Reply Quote 0
                                    • First post
                                      Last post
                                    Unless otherwise noted, all forum content is licensed under CC-BY-SA