Lichuan LC10E Ethercat Absolute - 10mm following error

More
30 Jul 2025 13:36 #332554 by Aleske
Hello,
I am working on a CNC mill with 4x Lichuan LC10E 23 bit absolute 1000W Servos. Setting up worked quite well following the tutorials and using the Marco Reps EL8 config and working from that. The machine is running and even the gantry is working. Now I am trying to tune the servos which turns out to be troublesome. After trying to get the following error down for a few hours I am left with a rather big F-Error during moves. The Error is scaling with speed. With 10000mm/ min I can't get it below a Value of 4.5mm. With 5000mm / min I can't get it below 2.25mm and so on. I tried changing almost every setting on the drive but can't get the F-Error any lower. So my last guess is that there is something wrong with the Ethercat timings or configs. Is it possible that this is a delay in ethercat between sending the position command and receiving the position feedback? Any help is appreciated
Best regards
Alex
Attachments:

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

More
06 Aug 2025 23:42 #332978 by andypugh
I don't have any experience with EtherCAT, but I was just on another forum discussing the Marco Reps config and have the link in the clipboard.
forum.linuxcnc.org/ethercat/56545-step-b...shine-to-pi-5#331624
The "middle" attachment might contain useful tips. (though that is for Leadshine)

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

More
07 Aug 2025 00:21 - 07 Aug 2025 01:23 #332979 by PCW
This does not seem like a delay issue because at 10000 mm/m, a 4.5 mm error
represents about a 27 ms delay (54 servo thread invocations with a 2 KHz servo thread)


It looks like there is some kind of filter between the command and feedback,
it's not just delayed but seems to have bounded acceleration.  This  could
also be because the drive tuning.

It seems like it has poor position loop gain (large static error) but why is it oscillating?
Maybe too much velocity loop gain and not enough position loop gain?
 
Last edit: 07 Aug 2025 01:23 by PCW.

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

More
07 Aug 2025 07:23 #332991 by Hakan
Yes, the 2 cycle ethercat delay will give a following error of 0.17 mm after 1 ms.
But since you are not using the position feedback inside linuxcnc for more than calculating a following error, it really doesn't matter that the delay is there. A since there is no feedback used by linuxcnc you need to look in the drive for that behavior.

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

More
07 Aug 2025 16:25 - 07 Aug 2025 16:26 #333007 by Aleske
@andypugh I started from the Marco Reps config. Everything is working as intended except for the delay/following error in the servo drive. I suspect the error to be within the drive, but I uploaded the configs as I am no LinuxCNC EtherCAT professional, and there is always the possibility of some stupid errors. The drive-internal parameter for following error is staying at 0. It is always exactly 0, so that could be a bug as well.

@PCW I tried CSV mode (without success, as the problem seems to be there as well but with different symptoms), and within the scope I can see the first reactions to the control signal within 3–4 ms. So I suspect EtherCAT is running fine and without (or at least with a very small) delay. I think I can confirm the existence of some form of filter, as acceleration values of 10,000–20,000 mm/s² are smoothed out a lot compared to a similar machine with 1 kW servos with step/dir signals.
Regarding the poor position loop – I have had settings without this oscillation, but I was trying around with pretty much all settings within the drives and was at the point of giving up when taking the screenshot. All plots without oscillations had similar bad following errors.

@Hakan Switching to CSV mode and including LinuxCNC within the feedback loop was reported successful by other users, but I was not able to get it working with a following error of <<0.5 mm. As including LinuxCNC within the feedback loop creates many more parameters to be tuned (LinuxCNC PID and parameters within the drives), that turned out to be a very time-consuming project without any real success.All in all, the Lichuan support was very unhelpful, and after trying to tune just one of the four drives (Z-axis first) for about three days, I am thinking of ditching the Lichuan drivers and motors and using Leadshine servos. If there are any ideas, I am open to trying almost everything :) Thanks in advance.Alex
Last edit: 07 Aug 2025 16:26 by Aleske.

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

More
08 Aug 2025 09:57 #333039 by rodw

I don't have any experience with EtherCAT

I really think HeadHoncho Andy should get his feet wet in the Ethercat pond :)

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

Time to create page: 0.075 seconds
Powered by Kunena Forum