Duet3D Logo

    Duet3D

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • Documentation
    • Order

    [Solved] On the fly G31 zprobe height adjustment

    Duet Web Control wishlist
    7
    16
    2623
    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
      • StephenRC
        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
        • Jackal
          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
            • AndreS
              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
              • StephenRC
                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
                  • Jackal
                    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
                    • Dougal1957
                      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
                      • Jackal
                        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
                        • StephenRC
                          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
                            • DjDemonD
                              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
                                • dc42
                                  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