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

    "Safe" Z Probe

    Scheduled Pinned Locked Moved
    Firmware wishlist
    4
    19
    834
    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.
    • curieosundefined
      curieos @fcwilt
      last edited by

      @fcwilt I just wanted an option, an additional parameter that does not have to be used. I don't understand why you're so hostile to this idea.

      It is rare to use G92 to set an axis to a useless value, and generally it is temporary. This edge case does not invalidate the usefulness of this (optional) feature.

      I think it's standard practice to home at the beginning of a job. The state of the machine should not be assumed at the beginning of a print. Heated beds swell, and some people have multiple build surfaces. Generally these don't cause variations greater than a few mm, but it would affect the print. This is like saying "why would you set the bed and heater temps after they've been set once?".

      This suggested solution is janky, and homing from short distances may cause issues, while homing from long distances doesn't help. The 1.1x the axis length is not configurable AFAIK, and on large machines (ours has a 1m long Z axis), homing from near the bottom means the extra length equals near 100mm, which is quite thoroughly smashing the gantry if something goes wrong and isn't caught.

      She/Her
      I work at a local 3D printing shop.
      Printers: Micron+ w/Duet 3 Mini, in-progress adaptation of the Jubilee REL onto an E3D MS, Prusa i3 MK3S.

      fcwiltundefined 1 Reply Last reply Reply Quote 0
      • fcwiltundefined
        fcwilt @curieos
        last edited by

        @curieos

        Not hostile at all. But I don't see any compelling benefit.

        As to the example of G92 that was simply to point out that the homed status and the Z position can change in unpredictable ways. Implementing a "safe" homing using G30 requires trusting that state of the machine. Yet the assumption behind homing is that the state is unknown.

        And since you can use M208 to achieve exactly the behavior you seek and I would think that would be acceptable.

        Why is it not?

        Frederick

        Printers: a E3D MS/TC setup and a RatRig Hybrid. Using Duet 3 hardware running 3.4.6

        curieosundefined 1 Reply Last reply Reply Quote 0
        • curieosundefined
          curieos @fcwilt
          last edited by curieos

          @fcwilt said in "Safe" Z Probe:

          And since you can use M208 to achieve exactly the behavior you seek and I would think that would be acceptable.
          Why is it not?

          I already explained why I do not think that is an acceptable solution.

          @curieos said in "Safe" Z Probe:

          This suggested solution is janky, and homing from short distances may cause issues, while homing from long distances doesn't help. The 1.1x the axis length is not configurable AFAIK, and on large machines (ours has a 1m long Z axis), homing from near the bottom means the extra length equals near 100mm, which is quite thoroughly smashing the gantry if something goes wrong and isn't caught.

          Again, my suggestion is an optional parameter that can be used in certain contexts. It's not meant to be used for every probing move, it's just an extra safety to help avoid major crashes if configured. If your proposed solution were more satisfactory, how is it different from my suggestion? Doesn't your solution have the same theoretical problem? Why is your solution free from the criticism of my suggestion?

          @fcwilt said in "Safe" Z Probe:

          As to the example of G92 that was simply to point out that the homed status and the Z position can change in unpredictable ways.

          What situation is that? Can you provide a realistic example that doesn't involve an unrealistic use of G92?

          I don't see how this discussion is productive, I asked for a feature to be added, and you are picking apart my request when, forgive me if I am wrong, I don't think you are in charge of implementing it.

          I have provided a realistic situation (one that actually happened recently), and a simple way the firmware could've helped me in this situation. I have modified the homing routine to not try to home over the hole, but other printer setups still have this problem with no real solution (Inductive probes on aluminum beds with magnet sheets, I had a similar crash on my ender 3 with a superPINDA a few months ago. I took the steel sheet off and forgot to replace it. The magnetic sheet is too thick for the probe to pickup on the aluminum bed). I would implement it myself with conditional gcode if I were using G1 homing moves, but I would prefer to keep using the simplicity and readability of G30.

          She/Her
          I work at a local 3D printing shop.
          Printers: Micron+ w/Duet 3 Mini, in-progress adaptation of the Jubilee REL onto an E3D MS, Prusa i3 MK3S.

          fcwiltundefined 1 Reply Last reply Reply Quote 0
          • fcwiltundefined
            fcwilt @curieos
            last edited by

            @curieos said in "Safe" Z Probe:

            I already explained why I do not think that is an acceptable solution.

            Sorry but I didn't see any explanation directed to the pros/cons of using M208.

            Could you elaborate?

            Frederick

            Printers: a E3D MS/TC setup and a RatRig Hybrid. Using Duet 3 hardware running 3.4.6

            curieosundefined 1 Reply Last reply Reply Quote 0
            • curieosundefined
              curieos @fcwilt
              last edited by

              @fcwilt Am I misunderstanding what you mean by using M208? In my example, if the bed is near the max limit, say Z900, and I set the max length of the axis to 900mm, which I believe is what you're suggesting, then the G30 move will move the Z axis 990mm. If the probe fails to trigger, 90mm is equivalent to the length of our hotend+extruder. Best case, if this isn't caught by the user, the Z motors stall out after the hotend has buckled and snapped off, after the bed is turned into a taco and the gantry has been twisted.

              The opposite situation, say the Z axis is at first layer height, 0.3mm. The homing scripts and probe deploy script move the bed down, but that's only around 10mm. This means if there is more than 1mm deviation from the previous home position it won't probe successfully. If the user swapped bed plates (we have an FR4 plate that is around 1mm thicker than our PEI plate), this could happen. This example may be worsened due to probe offsets, since 10mm is relative to the tool, not the probe. Our probe is around 5mm lower than the tool.

              If I misunderstand what you mean by using M208, please inform me on how I can use this to emulate the behavior I desire. As I see it, this is not an acceptable solution, and in my opinion it's janky at best.

              She/Her
              I work at a local 3D printing shop.
              Printers: Micron+ w/Duet 3 Mini, in-progress adaptation of the Jubilee REL onto an E3D MS, Prusa i3 MK3S.

              fcwiltundefined 1 Reply Last reply Reply Quote 0
              • fcwiltundefined
                fcwilt @curieos
                last edited by

                @curieos

                Well it turns out that G30 does not appear to move 1.1 x the length of the axis.

                A quick test suggests that it does not.

                My whole theory of using M208 was based on that belief.

                What I did was issue this commands (the printer was already homed) from the console:

                • G1 Z200
                • M208 Z175:200
                • G1 Z150
                • G1 Z200
                • G30

                Now the G1 Z150 failed, as expected, stopping at Z175

                But, to my surprise, what the G30 did was move slowly from Z200 to Z175 and then picked up speed and kept on moving. It stopped around Z10 which did not trigger the probe. It then moved slowly back to around Z200. It then tried again moving slow then fast and again stopping around Z10. The probe was never triggered and the error message confirmed this. And the Z position was displayed as 3.75 which is the sum of the probe dive height setting and the probe z trigger height setting.

                So it did stop short of moving far enough to trigger the probe but the move was clearly much more than 1.1 x the axis length if 25. What the actual behavior is, is not obvious.

                So achieving your goal is going to need help from @dc42

                Frederick

                Printers: a E3D MS/TC setup and a RatRig Hybrid. Using Duet 3 hardware running 3.4.6

                curieosundefined 1 Reply Last reply Reply Quote 0
                • curieosundefined
                  curieos @fcwilt
                  last edited by

                  @fcwilt That is interesting. Granted this was a few years ago, but according to Dave on this post, it moves 1.1x the axis length.

                  My only thought is perhaps it has to do with the format of your M208. I'm not sure where I got this impression, but I thought I saw somewhere that setting axis minima/maxima via min:max was deprecated, and you're supposed to do it via separate M208 commands with S0 and S1. There's no indication of this in the documentation though, so I'm not sure where I got this impression.

                  She/Her
                  I work at a local 3D printing shop.
                  Printers: Micron+ w/Duet 3 Mini, in-progress adaptation of the Jubilee REL onto an E3D MS, Prusa i3 MK3S.

                  fcwiltundefined 1 Reply Last reply Reply Quote 0
                  • fcwiltundefined
                    fcwilt @curieos
                    last edited by

                    @curieos

                    I've used the aaa:bbb form of M208 since I first read about it. I find it easier to remember than which S parameter is min and max.

                    I also issued M208 by itself to verify that the changes took place.

                    It's really too bad that the movement isn't limited to 1.1 x the axis length. Had it work that way changing the Z axis "length" using M208 could have been used to limit the length of a G30 move.

                    Changing the Z axis "length" to 25 did prevent it from reaching the probe but it stopped just 10mm or so short. I was counting on it stopping after 27.5mm. So let's say it moved 190mm. That is 7.6 x the 25mm. That makes little sense. I really have no idea what it is doing.

                    Frederick

                    Printers: a E3D MS/TC setup and a RatRig Hybrid. Using Duet 3 hardware running 3.4.6

                    curieosundefined oliofundefined 2 Replies Last reply Reply Quote 0
                    • curieosundefined
                      curieos @fcwilt
                      last edited by

                      @fcwilt I agree, that format for M208 is more readable without comments. Don't know where I got the idea that it is deprecated from.

                      Thanks for giving your idea a try. It would've at least been a solution to tide things over until I get a response from the Duet team.

                      She/Her
                      I work at a local 3D printing shop.
                      Printers: Micron+ w/Duet 3 Mini, in-progress adaptation of the Jubilee REL onto an E3D MS, Prusa i3 MK3S.

                      1 Reply Last reply Reply Quote 0
                      • oliofundefined
                        oliof @fcwilt
                        last edited by

                        @fcwilt if you set the Z axis values to 0:25 rather than 175:200, does the behavior improve? if yes, maybe there is an issue in how rrf determines the maximum length moved before aborting the homing move.

                        <>RatRig V-Minion Fly Super5Pro RRF<> V-Core 3.1 IDEX k*****r <> RatRig V-Minion SKR 2 Marlin<>

                        fcwiltundefined 1 Reply Last reply Reply Quote 0
                        • fcwiltundefined
                          fcwilt @oliof
                          last edited by

                          @oliof said in "Safe" Z Probe:

                          @fcwilt if you set the Z axis values to 0:25 rather than 175:200, does the behavior improve? if yes, maybe there is an issue in how rrf determines the maximum length moved before aborting the homing move.

                          I will perform that test after diner and post back here.

                          Frederick

                          Printers: a E3D MS/TC setup and a RatRig Hybrid. Using Duet 3 hardware running 3.4.6

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