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

    Changing Acceleration Midprint

    Scheduled Pinned Locked Moved
    General Discussion
    4
    8
    742
    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.
    • 3DPrintingWorldundefined
      3DPrintingWorld
      last edited by

      It is possible to change acceleration values for the X and Y axis during a print, either from the command prompt or by inserting it into the G-code? The goal is to change accelerations for a ringing test.

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

        @3dprintingworld yes that's possible. The standard way to change XY accelerations during a print is to use the M204 command, however M201 cold also be used.

        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

        3DPrintingWorldundefined 1 Reply Last reply Reply Quote 0
        • 3DPrintingWorldundefined
          3DPrintingWorld @dc42
          last edited by

          @dc42 That's what I thought but does not seem to be working for me. I'm trying to increase the accel by 1000 every 25 layers starting at 2000.

          Config
          M201 X2000.00 Y2000.00 Z500.00 E600.00
          Inserted on line 25 of gcode
          M201 X3000.00 Y3000.00

          I also tried M204 like this.
          Config
          M201 X2000.00 Y2000.00 Z500.00 E600.00
          Inserted on line 25
          M201 X3000.00 Y3000.00
          M204 P3000.00 T3000.00

          It does not look like its increasing, plus layer times are not decreasing. Is there a way to check the current acceleration setting?

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

            @3dprintingworld said in Changing Acceleration Midprint:

            Is there a way to check the current acceleration setting?

            Yes, send M201 by itself and it will report back the current value.

            Is your slicer inserting it's own values?

            Are your extruder settings holding things back perhaps?

            Z-Bot CoreXY Build | Thingiverse Profile

            3DPrintingWorldundefined 1 Reply Last reply Reply Quote 0
            • 3DPrintingWorldundefined
              3DPrintingWorld @Phaedrux
              last edited by

              @phaedrux Thanks, that will make it easy to verify.
              When searching the g-code the only M201 or 204 I find is the ones I inserted.
              "The extruder holding it back", like its accelerations are not fast enough to keep up with the travel moves? I can increase it and try.

              Fred-Yundefined 1 Reply Last reply Reply Quote 0
              • Fred-Yundefined
                Fred-Y @3DPrintingWorld
                last edited by

                @3dprintingworld you can also use a macro called on a layer change using the command M98.
                The idea was to be able to adjust the values without having modify manually a gcode file or modify the gcode in the slicer every time.

                Below is a script (requires RRF3+) I used longtime ago, I'm not sure at 100% it works but you have a base to play with.
                It can be easily improved with a loop or to also test the Jerk or even Input Shaping values.

                var mbase = 7000
                var macc = {var.mbase}
                if move.axes[2].machinePosition >= 55
                	set var.macc = {var.mbase}+5500
                elif move.axes[2].machinePosition >= 50
                	set var.macc = {var.mbase}+5000
                elif move.axes[2].machinePosition >= 45
                	set var.macc = {var.mbase}+4500
                elif move.axes[2].machinePosition >= 40
                	set var.macc = {var.mbase}+4000
                elif move.axes[2].machinePosition >= 35
                	set var.macc = {var.mbase}+3500
                elif move.axes[2].machinePosition >= 30
                	set var.macc = {var.mbase}+3000
                elif move.axes[2].machinePosition >= 25
                	set var.macc = {var.mbase}+2500
                elif move.axes[2].machinePosition >= 20
                	set var.macc = {var.mbase}+2000
                elif move.axes[2].machinePosition >= 15
                	set var.macc = {var.mbase}+1500
                elif move.axes[2].machinePosition >= 10
                	set var.macc = {var.mbase}+1000
                elif move.axes[2].machinePosition >= 5
                	set var.macc = {var.mbase}+500
                else 
                	set var.macc = {var.mbase}
                
                M201 X{var.macc} Y{var.macc}
                
                3DPrintingWorldundefined 1 Reply Last reply Reply Quote 1
                • 3DPrintingWorldundefined
                  3DPrintingWorld @Fred-Y
                  last edited by

                  @fred-y That's really smart, I just put a dumb script in my slicer at layer height.

                  1 Reply Last reply Reply Quote 0
                  • 3DPrintingWorldundefined
                    3DPrintingWorld
                    last edited by

                    Thanks for the help! It turns out changing M201 worked perfectly fine from the start. I expected to see a larger amount of ringing between accelerations but I was printing fast enough as I forgot to turn up perimeter under speed.

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