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

    Treat M569.4 (set torque) like a movement command

    Scheduled Pinned Locked Moved
    Firmware wishlist
    2
    6
    279
    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.
    • nikschaundefined
      nikscha
      last edited by

      Hi all,
      When changing the torque of a driver in torque mode via M569.4 the change doesn't happen immediately (or in sync with other queued Gcode). I suppose this is because G0-G4 are stored in a seperate movement queue. For example:

      G1 X147.351 Y89.291 F9000
      M569.4 P21.0 T-0.3
      G1 E-1 F4200
      

      This should move to a coordinate, then apply a negative torque, then do a retraction. Often the retraction happens before the negative torque is applied.

      I think the M569.4 should be treated like the other queued movement commands (maybe there could even be a dedicated Gcode for it, G6 for example)

      Stay in school

      nikschaundefined dc42undefined 2 Replies Last reply Reply Quote 0
      • nikschaundefined
        nikscha @nikscha
        last edited by

        @nikscha I found a workaround for now, by inserting a G4 just before the M569.4.
        Note that a supposedly equivalent M400 introduces stutters.

        Stay in school

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

          @nikscha said in Treat M569.4 (set torque) like a movement command:

          This should move to a coordinate, then apply a negative torque, then do a retraction.

          RRF needs to know for how long the negative torque is to be applied. So after the M569.4 command you should use a G4 delay command. For example, G4 S5 would apply the torque for 5 seconds plus the small delay that occurs before starting a move when the movement queue is empty.

          Commanding a normal move cancels torque mode. I see that the documention does not mention this; I will correct 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

          nikschaundefined 1 Reply Last reply Reply Quote 0
          • nikschaundefined
            nikscha @dc42
            last edited by

            @dc42 I should have clarified this better: I'm not trying to put the extruder motor into torque mode but a different driver (U axis). The whole gcode snipped would look closer to this:

            G1 X147.351 Y89.291 F9000      ;move to coordinate
            M569.4 P21.0 T-0.3      ; apply negative torque on U axis
            G1 E-1 F4200            ; retract while negative torque is applied
            M569.4 P21.0 T0.5       ; apply positive torque on U axis
            ...continue printing with positive torque applied
            

            At the moment I need to prefix every torque change with G4 to synchronise the change in torque and the retraction.

            Stay in school

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

              @nikscha it should be sufficient to use M400 immediately before each M569.4 command, to wait for the previous movement command to finish.

              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

              nikschaundefined 1 Reply Last reply Reply Quote 0
              • nikschaundefined
                nikscha @dc42
                last edited by

                @dc42 I tried that but M400 introduces a weird stutter:
                PXL_20231019_120452795.jpg

                Same gcode, left one uses G4 before M569.4, right one uses M400

                Stay in school

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