How good is Ethercat motion control?

More
9 months 1 week ago #341751 by Gogonfa
Thanks for the clarification, Hakan

Please Log in or Create an account to join the conversation.

More
9 months 1 week ago #341798 by Hakan
You hit the weak point in linuxcnc Ethercat.
Position feedback from a drive is always two servo cycles behind.
Following error due to this is at least axis speed x 2 x servo cycle time.
You can easily verify this.
 
The following user(s) said Thank You: tommylight

Please Log in or Create an account to join the conversation.

More
9 months 1 week ago #341802 by tommylight

Position feedback from a drive is always two servo cycles behind.
 
Thank you pointing this out, somehow everyone keeps skipping this.
Not a deal breaker, but nice to know.

Please Log in or Create an account to join the conversation.

More
9 months 1 week ago #341805 by Gogonfa
Hi Hakan,

If LinuxCNC always receives the position feedback ~2 servo cycles late, can I simply “ignore” this by increasing the following-error limits (FERROR / MIN_FERROR), or does this latency actually affect the LinuxCNC motion planner/trajectory execution?

In other words:
Does LinuxCNC only use the feedback for monitoring/fault detection (so the part accuracy is still fine as long as the drive itself tracks well and has near-zero internal following error)?

Or does LinuxCNC actively “react” to the delayed feedback (e.g. by slowing down, modifying the commanded motion, degrading contour accuracy), meaning I cannot machine precise parts even if the servo drive is perfectly tuned?

So the decisive question for me is:
Can I still mill accurate parts with this inherent 2-cycle EtherCAT feedback lag, as long as the servo drive is properly tuned and its internal following error stays low — or does the lag directly reduce machining accuracy?

Thanks a lot for clarifying this.

Please Log in or Create an account to join the conversation.

More
9 months 1 week ago #341808 by ihavenofish

Hi Hakan,

If LinuxCNC always receives the position feedback ~2 servo cycles late, can I simply “ignore” this by increasing the following-error limits (FERROR / MIN_FERROR), or does this latency actually affect the LinuxCNC motion planner/trajectory execution?

In other words:
Does LinuxCNC only use the feedback for monitoring/fault detection (so the part accuracy is still fine as long as the drive itself tracks well and has near-zero internal following error)?

Or does LinuxCNC actively “react” to the delayed feedback (e.g. by slowing down, modifying the commanded motion, degrading contour accuracy), meaning I cannot machine precise parts even if the servo drive is perfectly tuned?

So the decisive question for me is:
Can I still mill accurate parts with this inherent 2-cycle EtherCAT feedback lag, as long as the servo drive is properly tuned and its internal following error stays low — or does the lag directly reduce machining accuracy?

Thanks a lot for clarifying this.

In position mode it has no impact, the drive is closing the loop. The feedback is just for "knowledge". So you set f error in linuxcnc to something reasonable (about 2mm on my machine cause its impossible to move that far in 2ms). Set the drives f error to something smaller if you need to.

 

Please Log in or Create an account to join the conversation.

More
9 months 1 week ago #341824 by nhof
For the CSP and similar modes generally the target position is fed directly from the joint pos-cmd output, so it does not go through a PID control to account for error like you might see in a velocity control loop with positional feedback.

Please Log in or Create an account to join the conversation.

Time to create page: 0.478 seconds
Powered by Kunena Forum