Induce Control delay and latency?
-
Is there a way to induce latency (2~6ms) for the E and Z axis steppers on controllers? X and Y operate normally.
I'm currently experimenting with servos (clearpath) and 5-phase steppers (oriental motor)
Both of these systems offer an optional control smoothing mode. Typically, drivers need to react instantaneously with the step/dir signals. This causes unmanaged vibrations in the micro scale. By adding control smoothing, instead of instantaneously reacting to the step/dir signals, they will have a set buffer of 5ms in order to plan and prepare an optimal trajectory and power for movements. This results in extremely quiet and smooth movement at the cost of latency.
My XY axis will be controlled with a latency using the control smoothing motioned above. Is there a way to account for this latency for my Z and E axis since they are using the built-in drivers on the duet 2 wifi and duet 3 mini controller? I had some stringing and cornering problems when I adjusted from instantaneous reaction to a 5ms buffer. I print at around 100mm/s so in 5ms, that is potentially already a 0.5mm desync.
-
-
@likevvii said in Induce Control delay and latency?:
they will have a set buffer of 5ms in order to plan and prepare an optimal trajectory and power for movements
That doesn't mean, their latency will always be 5ms. Depending on the optimized trajectory, it could be less than 5ms.
Did you try to reduce yerk setting for XY? -
@likevvii, adding latency is not currently supported in the firmware. It would be possible to support in principle, which the proviso that for each board in the CAN-connected system, all drivers connected to that board use the same latency.
As @o_lampe says, this will only work well if the added latency for the servo drivers is fixed.
-
@dc42 said in Induce Control delay and latency?:
@likevvii, adding latency is not currently supported in the firmware. It would be possible to support in principle, which the proviso that for each board in the CAN-connected system, all drivers connected to that board use the same latency.
As @o_lampe says, this will only work well if the added latency for the servo drivers is fixed.
Thank you for the explanation. I do understand the latency is technically not fixed and can vary from maybe 1~5ms. But at the least, I was hoping I could be somewhere at the middle of the standard deviation.
This seems backwards but, Are there some multiplexers out there that take in step/dir signals and then converts it into the things that communicate over ethernet cables to sync everything up? Of course, the drivers will all have to be compatible with the protocol.