Mximizing performance, understanding accelerations and jerk
-
I'm adapting Duet3 to a pick and place machine. the goal is to have minimize movement time. The limitation is that movements must be smooth: the parts are picked by a vacuum nozzle, so the grip is not particularly strong. Any shaking will cause the parts to move on the nozzle. I'm learning, so asking advice.
Currently I tune long moves by speed, acceleration and motor current, mostly by trial and error.
Q1: Is there a better method to find machine limits? The RepRap or other calculators don't seem to give results that reflect to real world. I'm not surprised, since I haven't found a calculator that takes moving mass inertia, yet still a method that maximizes results. I guess I'm looking for a more scientific method that tells me "with these motor parameters and that mass, the max result you can except is this, and you get that with these control parameters".
Today, although unlikely as fast as they could be, long moves are smooth. Short moves are not. I guess that is because the machine is still accelerating when it needs to start decelerating.
Q2: What parameter controls the acceleration changes?
Q3: Am I missing something useful M code entirely?
Thank you for your insight!
-
@JuKu Q1: There is still this calculator but to be fair I usually try to establish the limits manually by running several tuning moves.
Q2: Accelerations are set by M201 and the minimum instantenous speed for direction changes is set using M205. You probably want to leave the latter values relatively low to avoid sudden stops. RRF will only accelerate up to the maximum speeds defined by M203. -
@chrishamm Thank you! So, I'm doing it basically right, setting speed by M203 and acceleration by M201. Why are my long single axis moves smooth but short moves are not?
-
@JuKu Probably you still have the instantaneous speed changes too fast (see M205).
-
@chrishamm M205 doesn't seem to do anything on single axis moves. ? Specifally, at 26000 speed, 2000 acceleration, starting from Y=0, "G0 Y10" shakes the table, "G0 Y100" doesn't. 20mm moves are still shaky, 40mm moves are not. 16x microstepping, interpolation on, 0.9 deg/step motor.
-
@JuKu It's probably because the sort move accelerates then immediately decelerates. i.e the gantry is either accelerating or decelerating. Whereas a longer move will have an acceleration phase, a steady state velocity phase and a deceleration phase. The only thing you can do to reduce that "shake" is reduce the acceleration rate, or the maximum speed.
-
@deckingman @deckingman I guess I need to do that, and wait until a beta of RRF 3.5 is released. @dc42 implies in this thread that 3.5 has s-curve acceleration.
-
@JuKu you would probably benefit from configuring input shaping. Unless you have some other way of determining the vibration frequencies, you will need to install an accelerometer temporarily on the tool head.
How short are the moves that cause the problematic vibration?
-
@dc42 The non-helpful answer is “short”. The transition from smooth to clunky is not sharp and depends on speed and acceleration settings. My impression is that @deckingman is right: When the machine starts decelerating when it is still accelerating, the effect of the inertia of the gantry is amplified.
(I’ve run the same machine with a jerk controlled driver, and with that, the moves are always smooth. That is why I’m hopeful for the 3.5.)
-