Add accel and jerk settings for accurate build time calc.
Posted: Mon Mar 21, 2016 7:31 am
Hi,
Actual Build time is always way off what is estimated, sometimes as much as the double as estimated. The cause is that the calculation is done on linear print speed not counting any acceleration or jerk. For a print where there are many small segments this becomes very off reality.
Could you add 2 fields : Acceleration and Jerk for an accurate calculation of the print time?
Example calculation change (assume length in mm, speed & jerk in mm/s and acceleration in mm/s^2), L = segment length, S = print/movement speed, A = acceleration setting, J = jerk setting (instantaneous speed), T = segment print time
Before:
T = L / S
After:
Time for half segment (as print has to accelerate and deccelerate) acording to jerk (initial speed) and acceleration, lets call it u : u= (- J + SQRT(J^2 + 2 A L)) / 2 A (Edit: Corrected a mistake)
(The above is the valid solution of quadratic equation (A) u^2 + J u - (L/2) = 0 )
if A (J + u) > S (we need to cap the speed) then T = 2 x ( (S-J) / A + (time to print remains of half segment after acceleration) ) (Edit, second part was missing, see my comment on post #4 which explains the detail of this calculation)
else
T = 2 x u
That should give pretty accurate print time... would be great of you could insert these simple formula in the calculation, or make it optional ("accurate build time calculation" option)
I apologize if I made a misake int he above... I'm a bit rusty but the idea is there
Actual Build time is always way off what is estimated, sometimes as much as the double as estimated. The cause is that the calculation is done on linear print speed not counting any acceleration or jerk. For a print where there are many small segments this becomes very off reality.
Could you add 2 fields : Acceleration and Jerk for an accurate calculation of the print time?
Example calculation change (assume length in mm, speed & jerk in mm/s and acceleration in mm/s^2), L = segment length, S = print/movement speed, A = acceleration setting, J = jerk setting (instantaneous speed), T = segment print time
Before:
T = L / S
After:
Time for half segment (as print has to accelerate and deccelerate) acording to jerk (initial speed) and acceleration, lets call it u : u= (- J + SQRT(J^2 + 2 A L)) / 2 A (Edit: Corrected a mistake)
(The above is the valid solution of quadratic equation (A) u^2 + J u - (L/2) = 0 )
if A (J + u) > S (we need to cap the speed) then T = 2 x ( (S-J) / A + (time to print remains of half segment after acceleration) ) (Edit, second part was missing, see my comment on post #4 which explains the detail of this calculation)
else
T = 2 x u
That should give pretty accurate print time... would be great of you could insert these simple formula in the calculation, or make it optional ("accurate build time calculation" option)
I apologize if I made a misake int he above... I'm a bit rusty but the idea is there