Jerk is applied to non-print moves - don't think it ought to be

  • Discovered this by accident. I use quite high non-print move speed of around 350mm/sec with XY acceleration of 1200mm/sec^2 and jerk of 1200 mm/min which all works fine - the less time filament has to ooze the better IMO. Testing something else, I doubled the instantaneous speed change (jerk) for X and Y to 2400 which had alarming results on the speed of the non print moves and led to step errors when I ran M122. Had I left it like that, I'm fairly sure the printer would have gone walkabout or shaken itself appart. I thought jerk was only applied to small segmented moves?

  • My understanding is that jerk in 3d printing terms is the minimum speed that does not require acceleration, so any moves (except probing we have ascertained) that are below your set jerk value begin at the speed specified, any moves over your set jerk value begin at the jerk speed and are then accelerated to the speed specified in the move. Most slic3rs will not allow small features to be printed at these speeds by default, the "small perimeters" setting in slic3r for example.

    Hence a reasonably low value makes sense for the sake of the mechanical integrity of your printer.

    I haven't really observed the rounded-corners effect claimed to occur with too low a jerk value, the marlin default is 20 which is 1200mm/min. Perhaps it happens at very low values such as 5mm/sec (300).

  • Simon,

    According to David, jerk is not applied to print moves that start from zero, accelerate up to speed, maintain that speed, then decelerate down to zero. So I think we are on the same page. However, my non print moves seemed to start at the jerk speed rather than zero. Or to put it another way, with a high jerk setting the non-print moves accelerate extremely quickly - far faster than print moves - scary to watch and gave me step errors too (didn't do my blood pressure any good either :).

  • administrators

    Non printing moves are handled the same as printing moves in respect of jerk, meaning that no jerk is applied to a non printing move that starts from rest. However, jerk does get applied when a printing move is followed immediately by a non printing move, and vice versa (just as it is when a printing move is followed by another printing move). Perhaps I should apply jerk between pairs of printing moves only.

    Step errors logged are entirely different, they indicate a problem in the step timing calculations. Let me know if you find a way to reproduce them.

  • Can't reproduce this. That is to say, setting jerk to 2400 from1200 for X and Y doesn't exhibit the alarmingly fast behaviour I saw yesterday. Maybe I did something stupid like type 24000 instead of 2400?

    Ref step errors - they are in fact a product of the problems I'm having with pressure advance. That is to say, M122 didn't show any step errors when changing XY jerk to 2400 from 1200 but after I set pressure advance to 0.4, I get step errors if I do M122 while it is in process of making a (jerky) circular move.


Looks like your connection to Duet3D was lost, please wait while we try to reconnect.