Ethercat random jitter fix
- TAKUYA
- Offline
- Junior Member
-
- Posts: 31
- Thank you received: 4
Please see the attached Files.
Thanks for looking through them.
~Takuya
Please Log in or Create an account to join the conversation.
- grandixximo
-
Topic Author
- Away
- Elite Member
-
- Posts: 278
- Thank you received: 339
Your servo drivers support a period of 1250000
????
Please Log in or Create an account to join the conversation.
- grandixximo
-
Topic Author
- Away
- Elite Member
-
- Posts: 278
- Thank you received: 339
I see that you did not set pdo 1600 for your X drive was this on purpose?
I don't think the EK1100 needs the dconf line at all, but that should not effect, your DC seems ok, can you open the halscope, plot pll_err and app_phase? also servo-thread
also Sync0Shift should be half or 30% your cycle time, not 0
Please Log in or Create an account to join the conversation.
- Atsu
- Offline
- New Member
-
- Posts: 13
- Thank you received: 3
@atsu
Your servo drivers support a period of 1250000
????
Yes, they should. The manual states the following:
In the work mode, the synchronization cycle must be an integer multiple of 125 μs. Otherwise, the servo
drive will report Er74.0 (EtherCAT synchronization cycle setting is incorrect.)
Initially, I ran the drives with a period of 1000000 ns, but increased it to the current value couple months ago. Did it because in some rare instances I got "Unexpected realtime delay on task 0 with period 1000000" error in UI. I can try lowering it back to 1000000 ns to see if it makes any difference.
Please Log in or Create an account to join the conversation.
- grandixximo
-
Topic Author
- Away
- Elite Member
-
- Posts: 278
- Thank you received: 339
I made a small change in my repo, get the new code, and make a new build then test, see if pll-err and pll-out get a value this time.
Please Log in or Create an account to join the conversation.
- Atsu
- Offline
- New Member
-
- Posts: 13
- Thank you received: 3
Please Log in or Create an account to join the conversation.
- TAKUYA
- Offline
- Junior Member
-
- Posts: 31
- Thank you received: 4
Please Log in or Create an account to join the conversation.
- TAKUYA
- Offline
- Junior Member
-
- Posts: 31
- Thank you received: 4
Im not sure if i plotted it correctly because i couldnt find the servo thread in halscope (is it servothread.time? ). However, please see attached image for pll-err and app-phase like requested.
Sync0Shfit was changed to 300000 aswell like you suggested
Please Log in or Create an account to join the conversation.
- grandixximo
-
Topic Author
- Away
- Elite Member
-
- Posts: 278
- Thank you received: 339
@Atsu
please check the value of the parameters lcec.0.pll-step
You can do so with this command
halcmd show param lcec.0.pll-step
This parameter will be set at 1000 automatically if you have RTAPI_TASK_PLL_SUPPORT
also I have updated again the repo
if you could be so kind as to download, build and test again, thank you
github.com/grandixximo/linuxcnc-ethercat
Please Log in or Create an account to join the conversation.
- ihavenofish
- Offline
- Platinum Member
-
- Posts: 1013
- Thank you received: 285
I do get the servos resonating under linuxcnc, when they are stable in the omron software. Is this the same core problem, or is it unrelated (a different bug)? The resonance goes away when moving above a few inches a minute.
My only other issue is sometimes there is a timing issue on start up where the drives will repeatedly cycle op states. happens on in 10 starts maybe.
Please Log in or Create an account to join the conversation.