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

    Intended behaviour of stall detection during motion

    Scheduled Pinned Locked Moved Unsolved
    General Discussion
    stall stall detection m915 driver-stall.g
    3
    5
    305
    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.
    • wiegoundefined
      wiego
      last edited by

      Hi,

      I am using RRF 3.4.2RC2 on a Duet MB 6HC.
      I am using homing switches for homing, but would like to detect a stall with stallguard (M915) while moving on a cartesian XY.

      I expected the motion to stop as soon as a stall is detected,
      but my experience is that many stalls are reported in a collision (with echo in driver-stall.g),
      but the driver continues to drive to the target position (rattles strongly until the position counter reaches the target position).

      Is this intended behavior? Wouldn't it be good to stop in the middle of the movement as soon as a stall is detected (because obviously something went really wrong and position is lost anyway)?

      jay_s_ukundefined 1 Reply Last reply Reply Quote 0
      • jay_s_ukundefined
        jay_s_uk @wiego
        last edited by

        @wiego you need to use the events system to tell it what to do
        https://docs.duet3d.com/en/User_manual/RepRapFirmware/Events

        Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

        wiegoundefined 1 Reply Last reply Reply Quote 0
        • wiegoundefined
          wiego @jay_s_uk
          last edited by wiego

          @jay_s_uk thanks for the link, I understand it better now.

          Nevertheless, as far as I understand it, the current movement is not and cannot be stopped by using these events.

          It seems that the current movement continues to the end (even if it stalls and it clatters) because there is no command that can be executed in a macro/event (driver-stall.g) that stops the current movement in the middle, correct?
          I want to stop the motion as soon as a stall is detected to avoid further damage.

          What is needed here is something like "M122 XY" that can be called in drive-stall.g that stops the current motion, ideally unhomes the drive and doesn't restart the board.

          Or do you have any idea how to accomplish that with current features?

          jay_s_ukundefined 1 Reply Last reply Reply Quote 0
          • jay_s_ukundefined
            jay_s_uk @wiego
            last edited by

            @wiego you could add segmentation to the moves using M669 (S and T values e.g. S1 T1). That will make pausing almost instantaneous rather than when the long move has completed.

            Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

            1 Reply Last reply Reply Quote 1
            • gloomyandyundefined
              gloomyandy
              last edited by

              @wiego If your aim is to avoid damage, then perhaps calling "emergency stop" M112 would be the best action, I think that should stop the current movement?

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