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

    Manual probing bed height & storing Z offset

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    3
    9
    1.5k
    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.
    • JRDMundefined
      JRDM
      last edited by

      I am trying to upgrade an Ultimaker 2 to Duet. I have the basic machine running but I'm trying to tidy up a couple configuration details.

      The original firmware had a "bed height adjust" which lets the user set the bed height by jogging the machine to touch the nozzle to the bed. It lets me store it and it remembers it until I adjust it again. I do this process whenever I swap the nozzle or bed plate.

      I have a probe type of zero in my Duet, which means I manually jog the machine until the nozzle touches the bed.

      My carriage and machine doesn't offer me much room to install a probe.

      I am trying to do a "probe once" of my bed center to get a height offset, I would like to have it store that offset for me, and load that offset later like after a machine is powered on again.

      G30 seems to fit the bill but there's no way to store the Z offset or load it later.

      Also, in my experimentation, I tried this:

      G30 S-2 ; Probe the bed at the current XY position. When the probe is triggered, adjust the Z offset of the current tool to make the current position Z=0.

      In my test, this is not setting the current Z position to zero when it finishes.

      Should I just set up a 1x1 "mesh" system?

      As an aside, it seems there's no way to cancel or abort a manual probe operation short of resetting or turning off the controller.

      1 Reply Last reply Reply Quote 0
      • Phaedruxundefined
        Phaedrux Moderator
        last edited by

        I'm not sure what you mean by the Z offset.

        What is in your homez.g and homeall.g macros?

        If you have P0 set, when you home the Z axis using G30 it will ask you to job the nozzle to the bed, and that will set Z=0. This will have to be done every time you power off the printer because the motors turn off an lose their positioning. I don't understand what you want to load later?

        Z-Bot CoreXY Build | Thingiverse Profile

        1 Reply Last reply Reply Quote 0
        • JRDMundefined
          JRDM
          last edited by JRDM

          @phaedrux said in Manual probing bed height & storing Z offset:

          I don't understand what you want to load later?

          The offset setting that defines the position of the bed surface relative to the nozzle tip.

          So I don't have to either:

          1. manually change config files every time I change nozzles or bed places to have the correct offset
            or
          2. do the jog touch off every time the machine is powered up
          1 Reply Last reply Reply Quote 0
          • Phaedruxundefined
            Phaedrux Moderator
            last edited by

            Do you have an endstop on the z axis as well?

            There has to be a way for the machine to locate itself at power up. It must be homed. If you don't want to use the probe less probing method of jogging the nozzle to zero you would need at least an endstop.

            Perhaps sensorless stall detection could work in your case. How is the z axis configured?

            Z-Bot CoreXY Build | Thingiverse Profile

            1 Reply Last reply Reply Quote 0
            • JRDMundefined
              JRDM
              last edited by JRDM

              I do have a Z endstop. But it's at the bottom end of the travel and the nozzle is at the top end.

              And the distance between the nozzle and bed surface can change a little bit whenever the nozzle or bed are swapped.

              1 Reply Last reply Reply Quote 0
              • Phaedruxundefined
                Phaedrux Moderator
                last edited by

                Yes I can see how zmax would be unattractive as a homing position.

                I'm not familiar with how ultimaker does it, but I can see a few options for you. Somehow the printer must be homed before a print can start, there's no way around that, but there are many options for how to accomplish that.

                Option 1. Add a zprobe. This opens the option of using mesh grid compensation to adjust for an uneven print surface. You'd still have to remeasure the z offset between where the nozzle is and where the probe triggers if you change the nozzle. No way around that I'm afraid.

                Option 2. Add an endstop to zmin. Saves the travel time to zmax. Less complex than a probe. Cheap. Still requires that you at least calibrate the zoffset at switch trigger at least occasionally.

                Option 3. Try using stall detection as an endstop. This uses the drivers stall detection feature to act as an endstop. It does this by crashing the nozzle into the bed. If configured correctly and your hardware is suitable for it it can work well. Though it is tricky. I believe this is probe type 10. No other hardware required, it uses the nozzle as the probe so no offset is needed and it won't matter if you change the nozzle. Works best with a single motor z axis with a fairly high steps per mm for best accuracy and a stiff bed. Takes some trial and error and can be affected by motor temps.

                Option 4. Continue to use probe type 0 and jog the nozzle to touch the bed each time. It's a little time consuming but at least it's accurate.

                I'm curious what config files you are editing each time. What are you changing?

                Z-Bot CoreXY Build | Thingiverse Profile

                1 Reply Last reply Reply Quote 0
                • JRDMundefined
                  JRDM
                  last edited by

                  @phaedrux said in Manual probing bed height & storing Z offset:

                  I'm curious what config files you are editing each time. What are you changing?

                  Currently, it involves manually changing a z offset in the z home routine.

                  dc42undefined 1 Reply Last reply Reply Quote 0
                  • Phaedruxundefined
                    Phaedrux Moderator
                    last edited by

                    Can you post your homing files?

                    If you're touching the nozzle to the bed, there should be no offset, so I still don't understand what you're changing or why.

                    https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareCartesianPrinter#Section_Homing_files

                    Z-Bot CoreXY Build | Thingiverse Profile

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

                      @jrdm said in Manual probing bed height & storing Z offset:

                      @phaedrux said in Manual probing bed height & storing Z offset:

                      I'm curious what config files you are editing each time. What are you changing?

                      Currently, it involves manually changing a z offset in the z home routine.

                      If you are homing to Z Max then you shouldn't be adding an offset in the Z home routine. Adjust the M208 upper Z limit instead.

                      If you have only a single tool then G30 S-2 should do what you want, if you upgrade to firmware 2.02RC4.

                      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
                      • First post
                        Last post
                      Unless otherwise noted, all forum content is licensed under CC-BY-SA