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

    Simple way to set Acceleration and Jerk?

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    4
    6
    1.3k
    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.
    • fcwiltundefined
      fcwilt
      last edited by

      Hi,

      I have never taken the time to try and tune my printers for best performance.

      I have just been using some "safe" values for acceleration and jerk which I suspect are far from optimum.

      As an example of a "safe" setting, one person suggested that jerk should just be set to 20% of max speed.

      Is there a article or web site that provides a relatively simple and straightforward set of procedures for determining these values?

      Something that doesn't involve printing 3752 test prints? 😉

      Thanks much.

      Frederick

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

      Phaedruxundefined 1 Reply Last reply Reply Quote 0
      • DanS79undefined
        DanS79
        last edited by DanS79

        1. Home the axis using kown safe values.
        2. move to the other extreme of the axis using kown safe values.
        3. Using experimental values to move back close to the home position, but not all the way back (say 10 to 20mm shy)
        4. use the known safe settings again to go home.
        5. check the endstop status to see if you are homed.

        if you are, you can increase your settings and run the test again. If you aren't then you missed steps, so cut the current values down by whatever safety margin you want and you will have your maximums.

        make sure you run each test several times before moving on to higher values.

        Here is an example i used for a core xy machine.

        G21
        G90
        M82
        ; move to position slowly
        M201 X250 Y250 Z100 E1500        ; Accelerations (mm/s^2)
        M203 X6000 Y6000 Z900 E3600      ; Maximum speeds (mm/min)
        M566 X200 Y200 Z100 E1500        ; Maximum jerk speeds mm/minute
        G28 XY
        G4 S2
        G1 X280 Y280 F3000
        G4 S2
        M400
        
        ; rapid back fast
        M201 X4500 Y4500 Z100 E1500        ;accel
        M203 X24000 Y24000 Z900 E3600    ;speed
        M566 X1500 Y1500 Z100 E1500        ;jerk
        G1 X10 Y10 F13500
        G4 S2
        M400
        
        ; go home again slow
        M201 X250 Y250 Z100 E1500        ; Accelerations (mm/s^2)
        M203 X6000 Y6000 Z900 E3600      ; Maximum speeds (mm/min)
        M566 X200 Y200 Z100 E1500        ; Maximum jerk speeds mm/minute
        G1 X0 Y0 F3000
        G4 S2
        M400
        M119
        
        1 Reply Last reply Reply Quote 1
        • gloomyandyundefined
          gloomyandy
          last edited by

          Interesting, I'm in a similar position of never having tuned these values. Is there a good procedure for which one to vary first (jerk or acceleration)? I've never totally understood how the two are related in the case of a long move like this. Will the motor basically start at the jerk speed and then use the acceleration values to increase speed from that point to the target or is it more complex than that?

          If using a CoreXY type design would it make sense to perform the tests using diagonal moves (which just use a single motor)?

          Any thoughts on a good procedure for a design that uses sensorless homing?

          DanS79undefined 1 Reply Last reply Reply Quote 1
          • DanS79undefined
            DanS79 @gloomyandy
            last edited by

            @gloomyandy said in Simple way to set Acceleration and Jerk?:

            Will the motor basically start at the jerk speed and then use the acceleration values to increase speed from that point to the target or is it more complex than that?

            @dc42 might be able to give a better answer, but I would say the above is a good straightforward way of looking at it.

            If using a CoreXY type design would it make sense to perform the tests using diagonal moves (which just use a single motor)?

            Imo, yes, that's what i did in the script above for my Core-XY.

            1 Reply Last reply Reply Quote 1
            • Phaedruxundefined
              Phaedrux Moderator @fcwilt
              last edited by

              @fcwilt said in Simple way to set Acceleration and Jerk?:

              Is there a article or web site that provides a relatively simple and straightforward set of procedures for determining these values?
              Something that doesn't involve printing 3752 test prints?

              If you use live tuning of the values you can do it in a single tall print. 100mm square with some divots on the sides (like those used for ringing testing) is a good candidate. Make it tall enough to get a decent amount of tuning time. 2 walls and 10% infill. Start with your base values and every few layers start to change the accell/jerk values. Start indepently. Then mix and match. For print speed I like to set it to my maximize my flow rate.

              https://forum.duet3d.com/topic/14250/tuning-jerk-accel-speed-settings/2

              And some macros to make it easier.

              https://forum.duet3d.com/topic/6181/tuning-macros-menus-accel-jerk-retraction-pressure-advance

              Z-Bot CoreXY Build | Thingiverse Profile

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

                @Phaedrux

                Thanks much.

                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