Velocity, Acceleration, Jerk and Junction Deviation

Most people know that 3D printers can move in X, Y, and Z. These movements are tuned using the parameters Velocity, Acceleration, and Jerk (now being replaced with Junction Deviation). These parameters can truly make or break your print quality so understanding what they do is critical. 


It is intuitive that a printer with movements that are slow and controlled will likely have better print quality than one with high speeds and jerky movements. In order to understand how each of the parameters work we can think about a common scenario of applying the brakes in a car. 

Velocity, Acceleration, Jerk and Junction Deviation Marlin 3D Printing

Imagine you are driving down a road at 45 miles per hour (velocity, Zone A) and the stoplight in front of you turns red. When you hit the brakes your car begins to slow down (negative acceleration, Zone C). Eventually, you will have decelerated all the way to 0 miles per hour and you will no longer be moving (Zone E). The concepts of velocity and acceleration are easy to understand because we deal with them every day. 


Jerk, on the other hand, is referring to how quickly you experience a change in acceleration. For many, this is much more difficult to understand. If you look at our oversimplified scenario in the graph above, jerk is represented by points circled B and D. If you think about the moment you applied the brakes you likely feel a sudden change in acceleration and again at the exact moment your car comes to a complete stop. This is because the magnitude of your deceleration suddenly changes from zero to some value at points A-B and then from some value to zero at points D-E. This is jerk. The graph above assumes we are not controlling jerk at all which means we apply the brakes in the beginning abruptly at point B and then come to a complete stop abruptly at point D. 


Now let's imagine instead of constant deceleration we gradually press the brake at the beginning and then slow down gently to a complete stop. The new graph would look something similar to what you see below. 

Velocity, Acceleration, Jerk and Junction Deviation Marlin 3D Printing

Notice how the kinks in the red line have disappeared and instead are smooth contours. We have essentially reduced the areas with high jerk values. It is also important to notice that the slope of the line (acceleration) has not been changed. This means that acceleration and jerk are completely independent of each other.


To summarize: 


Velocity (feedrate)

The speed in which your print head or extruder is moving at any given time. By setting M203, you are limiting the maximum speed the printer is allowed to move during a print. 


Example: 

M203 X300 Y300 Z50 E70 ; Set X/Y to 300, Z to 50, and Extruder to 70

Acceleration

The limit on how fast you can change velocity. In the example graphs, it is the slope of the line at any given point. The steeper the line, the greater the acceleration.


Example:

M201 X300 Y300 Z50 E1000 ; Set X/Y acceleration to 300, Z to 50, and extruder to 1000

Jerk

The rate at which acceleration is changing. If you are looking at the slope of the line, that is acceleration. If you are looking at how quickly the line changes from one slope to the next you are referring to jerk. 


Example:

M205 X8 Y8 Z0.3 E5 ; Set XY jerk to 8, Z to 0.3, and Extruder to 5

Junction Deviation

Marlin 2.0 has introduced a new way of expressing jerk and that is with junction deviation. The concepts above still hold true, however, jerk is now no longer one fixed value. Since it has gone from a static value to dynamic it can now be expressed using the following expression:

Once you master your Velocity, Acceleration, and Jerk/Junction Deviation settings you will find your prints have fewer artifacts, blobs, and overall better quality. Additionally, it will help prolong the life of your machine by eliminating unnecessary strain on all of its components caused by poor calibration.


As always, if you have any questions please don't hesitate to reach out to us!


-3DMaker Engineering

Recommended Products:

5 comments

  • I was wondering how the velocity can affect the printing result

    Nazanin Sabet
  • Dear all, i was reading what you raised about print speed, acceleretion and jerk but some expert user even not allow to on acceleration and jerk. please, i need to know the effect of acceleration on mechanical strength including other process parameter by research, what do you think of it does acceleration and jerk affect mechanical strength of printed part directly or even indirectly?

    Tesfaye
  • I’m no expert, not to I speak for the author. But to answer a couple of Alexandier’s questions:

    1) Jerk and acceleration are affected by many factors, and therefore can’t be quoted on stepper specs. For example, a motor driving the x-carriage with a Bowden setup has to move the given weight. But change to a direct drive and there’s more weight on the carriage. That same stepper will now face different forces, so your jerk and acceleration will be affected.

    2). As for higher jerk settings being better, in my opinion, only if you’re worried about saving time. Lower settings will have smoother movement, reduced (destructive) mechanical force on your equipment, and generally better prints. Faster jerks mean quicker speed/direction changes. So you print faster, but have to deal with the violent shaking (suffered from it on my y-axis with a jerk set at 20).

    Allen
  • Hi 3DMaker Engineering,
    I too would like to know the answers to the three questions asked by Alexandier on 2/14/2020.
    Thanks for all your help so far, stay safe!

    Tim
  • Great guide and explanation. However i would like to ask if jerk and acceleration and feed rate of course are.depending on the stepper motor specs. If so there shoul d be a data sheet with example numbers. Also i would like to ask does juction deviation nulify jerk or you have to set numbers on both in marlin? And 1 last thing ive read on internet that some say high jerk is better and others say low jerk is better. So which is better i know testing is always better but dont wanna waste lot of time and printing on this. Thx

    Alexandier

Leave a comment

Please note, comments must be approved before they are published