Jump to content
Ultimaker Community of 3D Printing Experts
Sign in to follow this  
g0ultimaker

Question about acceleration jerk

Recommended Posts

Hello,

Some questions about jerk.

I think i have got the meaning of it all right but do i also apply it correctly?

Jerk speed is the instantaneous change of speed that can be made. If the jerk speed exceeds the allowable jerk speed (as in example 1 ) the speed needs to be slowed to satisfy the equation.

 

In this situation a direction change of 30 degrees is made, a nominal speed of 60mm/s is desired but not feasible (see figure below ) exceeds jerk (20)

jerk change

The nozzle needs to be slowed down to 38.64 mm/s if i got my maths right and the trapezoid (of the nozzle?) should look like the figure below (speed-distance chart)

 

trapezium

Am i right or screwing up already?

- But how are the x and y axis controlled, they should have different acceleration speed during their path?

- Can anyone explain me how its done?

Thanks.

 

Share this post


Link to post
Share on other sites

You got it perfect so far.

The X speed is changing from 60 to 38 as it slows down so if X acceleration is set to 3000 (common values are 1K, 3K, and 5k - 5K works fine on UM2 but prints have less ringing at 3K) then it will decelerate the X axis at 3000 mm^2/sec aproaching postition "5" on your graph.

All movements must be linear (in 4 axes X,Y,Z,E). This means the E axis (which due to printing thin layers and other factors is usually not the limiting acceleration) will decelerate at the appropriate rate for an X decelration at 3000 mm^2/sec.

Going into the vertex (the turn?) the speed was 38 so I assume the speed is 38 going out of the vertex. This means Y is going 19 (sin30*38) and X is going 33 (cos30*38). That's a lot of jerk at that vertex (X instantly 38 to 33, Y instantly 0 to 19 together comes out to 20mm/sec deltaV).

We now accelerate X from 33 to 52 and Y from 19 to 30 (X deltaV is 19, Y deltaV is 11). X is still the limiting factor (it has to speed up more) so X accelerates at the full 3000 mm^2/sec but Y accelerates less 3000*11/19 or 1740mm^2/sec. This is important to keep the new line segment straight. E accelerates in a similar manner so that it is also linear (in a 4 dimensional straight line).

The planner looks ahead about 20 lines segments because sometimes the vertexes are so close together that they never get up to full speed (or down to low speed) and you have to be able to round every vertex without going too fast. In other words, sometimes you have to start slowing down now because of a sharp corner (or a stop) 20 vertexes away.

This method of defining jerk is not the best - I can add two points .1mm apart at a corner of a cube that turns a 90 degree corner into 2 45 degree corners .1mm apart. This will allow Marlin to go around that corner 40% faster yet it's also 40% more (true) jerk force on the hardware. It's a way to cheat/fool Marlin. In a bad way. Instead there should be a max jerk integrated over some small resolution. Maybe .2mm distance. But then the math probably gets more complicated. Another way to look at it - Marlin should be able to cut corners by some tiny amount - like .1mm or as that jerk isn't in theory infinite at each vertex (changing acceleration from 1000mm/sec to 1002mm/sec instantly is infinite jerk).

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

Welcome to the Ultimaker Community of 3D printing experts. Visit the following links to read more about our Terms of Use or our Privacy Policy. Thank you!