Jerks or pauses when driving at low speeds less than 5mm/s

Good afternoon! When the extruder moves at a slow speed (less than 5 mm/s), there are jerks or pauses. This occurs only after the start of a new perimeter thread and before the next command in g-code. After receiving a new command, the head moves smoothly until it moves to the next thread. This does not depend on the travel axis and the start point of the perimeter. Changed the Seam Position from Align to Random. It appears only on straight sections. 
Example g-code (Jerks will occur when executing lines 9 and 15.):
1. G1 E1.50000 F18000. 00000
2. G1 F450
3. G1 X140.465 Y32.035 E5.72789
4. G1 X140.465 Y127.965 E9.95578
5. G1 X44.535 Y127.965 E14. 18367
6. G1 X44.535 Y32.095 E18.40891
7. G1 X44.089 Y31.589 F3600. 000
8. G1 F450
9. G1 X140.911 Y31.589 E22.67614
10. G1 X140.911 Y128.411 E26. 94338
11. G1 X44.089 Y128.411 E31.21061
12. G1 X44.089 Y31.649 E35. 47520
13. G1 X43.643 Y31.143 F3600. 000
14. G1 F250
15. G1 X141.357 Y31. 143 E39. 78178. Jerks will occur when performing lines 9 and 15. 

I apologize for my poor English (I use a translator).


  • The problem is only on firmware 1.0.3 and 1.0.4. On version 0.92.3 everything moves smoothly in all configurations.


  • Sorry, don't see much on the videos. The first one I see the perimeter change but nothing unusual there. Second video nothing noteworthy happens. At which time should I see what?

    Line 7 and 13 are very small fast moves. You can note them but at start end this tiny move must be at the low speed so it will not differ much. Might be handled different in 0.92.3 I can't remember if I had special tests for a small travel move in between.
  • In the first video, you can clearly hear the sound of pauses from 0: 07 to 0: 10 and from 0:15 to 0:18 seconds. The second video is clearly audible and visible at 0: 13 seconds. A split-second pause occurs not only on the movement of the head, but also on the motor of the extruder. During pauses, the plastic is squeezed out from the increased pressure and there are surges (See the photos )
    This happens when you move in a straight line during the execution of commands 9 and 15 of the code. It also doesn't depend on the perimeter layer.
  • I marked the swells in the photos.

    For 1 video:
    For 2 video:
  • New video:
    Pauses are visible and audible at 0:04-0:05 seconds.
  • When the MAX_JERK value is reduced to 10 mm/s, the pauses appear only at speeds up to 4 mm/s. when the MAX_JERK value is increased to 30-40 mm/s, the pauses become longer and more noticeable. This can be seen in the video on the belt and head. And you can hear it by the sound.

    New video (MAX_JERK = 40):
  • What is your steps per mm and acceleration? Slow speeds are a real problem for the firmware math as they lead to a longer first step timing then it really should. So we need a minimum speed for numerical stability. One guess would be that the low speed and high jerk leads to a lower speed then minimum speed required causing an extra delay.

    How does the problem change when you use normal slow values like 20mm/s for perimeter. Does it then improve?
  • edited March 2020
    #define XAXIS_STEPS_PER_MM 91.4286
    #define YAXIS_STEPS_PER_MM 91.4286
    #define MAX_JERK 20

    At these values, the problem manifests itself at speeds up to 5 mm/s and appears on the first layer. On the second and next layers, the speed is 15 mm/s and the problem does not appear. I adjust the speed of printing the first layer and printing small areas in the slicer to avoid problems. In firmware 0.92 prints without pauses at any speed.
  • Ok, your minimum speed with that resolution and acceleration is 6.6mm/s - does it help printing first layer with 7mm/s => 420 mm/min?
  • Is that a question? Or is the question mark wrong? 

    Can I fix the firmware to print at lower speeds? You can tell me where to fix it. I want to get at least 5 mm/s for printing small parts.
  • The question is if F420 prevents the problem. If that is so you can reduce acceleration to allow lower minimum speeds without issues. It is the only variable in equation you can modify.
  • I tested it today. When printing the perimeter at a speed of 7 mm/s with the values MAX_TRAVEL_ACCELERATION 1000 and MAX_JERK 20, pauses are present when printing. I lowered MAX_TRAVEL_ACCELERATION to 500 in increments of 100, the number and intensity of pauses did not change. Lowering the MAX_JERK in 2.5 increments, the pauses are lost when the MAX_JERK value is 10. When printing an even square, pauses occur only on one side of the square, where the beginning of the perimeter point is until the next command.

    I think to install back the firmware 0.92. How much does firmware 1.04 exceed 0.92? Are there significant improvements for a regular printer?
  • It has improvements in temperature handling, advance and autoleveling. Also more hardware support which is irrelevant here. And different jerk handling. Currently I do not see why this is happening and gets better with lower jerks. Normally I would expect it to get worse since you can change speed faster with higher jerk, also there are some options preventing it when you have small moves. These were added to prevent loosing steps and some critical gcodes, but seem to lead to your problem here. That is if you defined
    moves below MAX_JERK_DISTANCE get reduced.
Sign In or Register to comment.