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

    Try to prevent some crash

    Scheduled Pinned Locked Moved
    General Discussion
    5
    18
    2.1k
    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.
    • gate546undefined
      gate546
      last edited by

      @deckingman:

      To prevent crashes before the axes have been homes, you can fit additional limit switches and wire them up to a spare estop. Then use M581 to trigger an emergency stop if the switch changes state. I have this setup on all my axes maxima with the switches (normally closed) wired in series and connected to a single estop.

      First, thank you, then let's see if I understood well.
      I will put a limit switch for each axis at the maximum limit, I connect them all in series so that as soon as only one switch will be activated the circuit will be opened.
      Then I will use E0 or E1 as input and use the M581 command for to set something like an emergency stop.
      OK could you explain better or make an example for the M581 command?
      Where do I place this statement, anywhere in the config file?
      Dommy

      1 Reply Last reply Reply Quote 0
      • gate546undefined
        gate546
        last edited by

        @dc42:

        On a delta, I don't allow ordinary moves before the printer has been homed. I've considered adding this restriction to other printer geometries, but I am not sure whether all users would like it. On a Cartesian printer, users may wish to jog the axes before homing. What do other users think?

        Hi David,
        For me it would certainly be a great thing, it would save many crashes for lack of attention but also for other strange reasons.
        Perhaps it might be convenient to have a command to use with flag yes or no, for example: M999 Y activates function, M999 N function is inactive.
        Please do that πŸ™‚
        Dommy

        1 Reply Last reply Reply Quote 0
        • deckingmanundefined
          deckingman
          last edited by

          Hi Dommy.

          Yes that's exactly right.

          You put M581 in config.g

          Assuming you use E0 then the M581 will look like this.
          M581 E0 S1 T0 C0.

          E0 means use endstop 0.
          S1 means look for a rising edge (the switches will hold it low)
          T0 means do an emergency stop (like M112) - you can set other trigger actions by using macros
          C0 means at any time (C1 means only when printing from an SD card).

          HTH
          Ian

          Ian
          https://somei3deas.wordpress.com/
          https://www.youtube.com/@deckingman

          1 Reply Last reply Reply Quote 0
          • deckingmanundefined
            deckingman
            last edited by

            @dc42:

            On a delta, I don't allow ordinary moves before the printer has been homed. I've considered adding this restriction to other printer geometries, but I am not sure whether all users would like it. On a Cartesian printer, users may wish to jog the axes before homing. What do other users think?

            Hi David,

            I agree that it's generally best to get into the habit of always homing at start up. I fitted additional switches just to prevent (or at least limit) damage if I do something stupid like send and axis beyond it's maximum before I've homed the printer. - Also useful during commissioning.

            Ian

            Ian
            https://somei3deas.wordpress.com/
            https://www.youtube.com/@deckingman

            1 Reply Last reply Reply Quote 0
            • gate546undefined
              gate546
              last edited by

              @deckingman:

              Hi Dommy.

              Yes that's exactly right.

              You put M581 in config.g

              Assuming you use E0 then the M581 will look like this.
              M581 E0 S1 T0 C0.

              E0 means use endstop 0.
              S1 means look for a rising edge (the switches will hold it low)
              T0 means do an emergency stop (like M112) - you can set other trigger actions by using macros
              C0 means at any time (C1 means only when printing from an SD card).

              HTH
              Ian

              Ok,
              thank you, I will try.
              Anyway I think that the best will be to have a firmware function dedicated to prevent axis movement without axis homed.
              Dommy

              1 Reply Last reply Reply Quote 0
              • deckingmanundefined
                deckingman
                last edited by

                @gate546:

                ….........................Anyway I think that the best will be to have a firmware function dedicated to prevent axis movement without axis homed.
                Dommy

                I think on balance that you are right and that axis movement should be inhibited until the printer has been homed. It would need to be possible to override it for commissioning, just as cold extrudes can be allowed.

                One thing's for sure. If David implements this, 50% of users will love it and 50% will hate it. πŸ™‚

                Ian
                https://somei3deas.wordpress.com/
                https://www.youtube.com/@deckingman

                1 Reply Last reply Reply Quote 0
                • gate546undefined
                  gate546
                  last edited by

                  @deckingman:

                  @gate546:

                  ….........................Anyway I think that the best will be to have a firmware function dedicated to prevent axis movement without axis homed.
                  Dommy

                  I think on balance that you are right and that axis movement should be inhibited until the printer has been homed. It would need to be possible to override it for commissioning, just as cold extrudes can be allowed.

                  One thing's for sure. If David implements this, 50% of users will love it and 50% will hate it. πŸ™‚

                  You are right.
                  But I believe that there is a way for to please everyone, it is sufficient that this function will be configurable.
                  A configurable function.
                  If you like the function you can enable it, if you do not like, disable it.
                  All be happy πŸ˜‰
                  Dommy

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

                    I'm tempted to change the behaviour to allow only special moves (i.e. G1 moves with a nonzero S parameter) to execute before the printer has been homed, as we already do on delta printers. Users whose X and Y homing files raise Z a little before homing and drop it afterwards would have to add the S2 parameter to those Z movement commands.

                    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
                    • gate546undefined
                      gate546
                      last edited by

                      @dc42:

                      I'm tempted to change the behaviour to allow only special moves (i.e. G1 moves with a nonzero S parameter) to execute before the printer has been homed, as we already do on delta printers. Users whose X and Y homing files raise Z a little before homing and drop it afterwards would have to add the S2 parameter to those Z movement commands.

                      Hi
                      This might be a solution, maybe you could do an experimental firmware to check for any contraindications.
                      But it seems a good idea.

                      1 Reply Last reply Reply Quote 0
                      • deckingmanundefined
                        deckingman
                        last edited by

                        @dc42:

                        I'm tempted to change the behaviour to allow only special moves (i.e. G1 moves with a nonzero S parameter) to execute before the printer has been homed, as we already do on delta printers. Users whose X and Y homing files raise Z a little before homing and drop it afterwards would have to add the S2 parameter to those Z movement commands.

                        That sounds like a reasonable plan to me. As long as it can be overridden for commissioning purposes, similar to allowing cold extrudes.

                        TBH, it would possibly negate the need to then have G28 in the slicer gcode. DJDemon recently started a thread about not homing when the printer is already homes - this would satisfy his criteria as a well.

                        Ian
                        https://somei3deas.wordpress.com/
                        https://www.youtube.com/@deckingman

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

                          Foe commissioning purposes, you could either send G1 S2 moves, or you could use G92 to tell the printer where the head is which counts as homing it.

                          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
                          • Whitewolfundefined
                            Whitewolf
                            last edited by

                            @dc42:

                            On a delta, I don't allow ordinary moves before the printer has been homed. I've considered adding this restriction to other printer geometries, but I am not sure whether all users would like it. On a Cartesian printer, users may wish to jog the axes before homing. What do other users think?

                            I would hate it if I could not jog axis when not homed…. think of an estop event where the IR probe failed to trigger (happened to me yesterday) I have an optical endstop located just above which triggers an estop event but I then need to jog the bed back down before I can home the machine. There are other times when I jog around when not homed as well and love the estop feature that has saved my butt a couple of times πŸ™‚

                            Exploring the universe wherever the tech blows

                            1 Reply Last reply Reply Quote 0
                            • deckingmanundefined
                              deckingman
                              last edited by

                              On reflection, I do move the bed down quite often before I home any axes. I use the nozzle as a homing switch so I need to be sure there is no crap between it and the bed surface before I home.

                              Ian
                              https://somei3deas.wordpress.com/
                              https://www.youtube.com/@deckingman

                              1 Reply Last reply Reply Quote 0
                              • Whitewolfundefined
                                Whitewolf
                                last edited by

                                There is one thing I do need to look into…. adding more estops πŸ™‚ quite a few sleepless nights have led to the random selecting of the stl file instead of the gcode file..... this for whatever reason causes my Z to crash into the maxima 😞 I think the web control needs a file type filter or I need more estops one of the two lol

                                Exploring the universe wherever the tech blows

                                1 Reply Last reply Reply Quote 0
                                • Styler93gsxundefined
                                  Styler93gsx
                                  last edited by

                                  @Whitewolf:

                                  @dc42:

                                  On a delta, I don't allow ordinary moves before the printer has been homed. I've considered adding this restriction to other printer geometries, but I am not sure whether all users would like it. On a Cartesian printer, users may wish to jog the axes before homing. What do other users think?

                                  I would hate it if I could not jog axis when not homed…. think of an estop event where the IR probe failed to trigger (happened to me yesterday) I have an optical endstop located just above which triggers an estop event but I then need to jog the bed back down before I can home the machine. There are other times when I jog around when not homed as well and love the estop feature that has saved my butt a couple of times πŸ™‚

                                  If you can disable it in firmware yes. I have to use this all the time with my printer cause I'm constantly making changes to parts and have to recalibrate axis dimensions.

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