EtherCAT System Implementation of JMC Ethercat Servos

More
3 years 2 months ago #279295 by udoS

 I was not seeing the greatest performance with the self-reported velocity feedback, and similarly I was getting following error ripple that looked to me like a synchronization problem. 

Can you elaborate on that;

udoS
 

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

More
3 years 2 months ago #279330 by fdarling

 I was not seeing the greatest performance with the [color=

Attached are screenshots of "halscope" in LinuxCNC showing the performance of a JMC vs Yaskawa EtherCAT drive in open loop velocity mode, and also of a JMC drive in closed-loop analog velocity mode and the Yaskawa EtherCAT in closed loop as well, and finally a Yaskawa analog drive in closed-loop for completeness. I did not have any screenshots of the analog drives in open loop, and I don't feel like hooking them up again right now image missing /media/kunena/emoticons/sideways.png

You can see that the JMC analog drive is a lot smoother than the EtherCAT one. I believe the EtherCAT edition drive isn't properly synchronizing the reading of the serial encoder to get consistently spaced positional readings, and the velocity is calculated off a simple position-delta per EtherCAT cycle rather than reporting the internal calculated velocity, which would be done at a higher sample rate with some better filtering. I speculate this because I've coded this stuff before, and run into the pitfalls...

The Yaskawa drive is on a whole different level of quality as you can see from the screenshots... The EtherCAT and analog drives perform similarly, and they both perform extremely well. The EtherCAT reported velocity feedback is rock solid.

Here is the text from the annotations in the screenshots (in case you need to search, translate, comment, etc.):

JMC JASD EtherCAT servo drive in open loop velocity mode
(this is why the white following error is so bad...)

Notice the noise in the teal EtherCAT reported velocity feedback, I am seeing a sawtooth wave noise component in the following error which indicates a sampling synchronization problem (like a bicycle wheel under a fluorescent light)

~~~

JMC JASD analog velocity servo drive in closed-loop velocity control mode (modulating velocity to keep positional tracking), and notice that the following error has no sawtooth component and the feedback velocity has low ripple too.

~~~

Yaskawa SGD7S EtherCAT servo drive in open loop velocity mode, the purple is following error (look, no noise component!) and the white is EtherCAT reported velocity feedback (should match the command), and the gold is the simulated quadrature encoder output feedback velocity read by a Mesa card (to make sure EtherCAT itself wasn't causing problems, and it isn't...)

The Yaskawa drive performs much much better than the JMC!

~~~

Yaskawa SGD7S EtherCAT servo drive in closed loop velocity mode (modulating velocity to keep positional tracking), as you can see the green EtherCAT velocity is solid while also the gold Mesa quadrature encoder feedback matches it (time shifted slightly), and the purple following error is minimal due to LinuxCNC's PID being tuned decently (as well as the drive itself having been auto-tuned).

~~~

Yaskawa SGD7S analog velocity drive in closed-loop velocity mode (modulating velocity to keep positional tracking). Notice the green velocity feedback closely matches the red command and there isn't any perceptible ripple in the white following error.
The following user(s) said Thank You: rodw, hilo90mhz

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

More
3 years 2 months ago #279345 by udoS
@ fdarling

Hi, what motor exactly have you attached to the drive;
what is the resolution of the encoder in the motor;

There is already a ripple/ wave in your velo_cmd;

DO NOT COMPARE JMC vs. YASKAWA !

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

More
3 years 2 months ago #279352 by fdarling

@ fdarling

Hi, what motor exactly have you attached to the drive;
what is the resolution of the encoder in the motor;

There is already a ripple/ wave in your velo_cmd;

DO NOT COMPARE JMC vs. YASKAWA !

 
I am using a non-JMC Chinese servo motor, but it has the same specs as a motor they offer, and they all use Tamagawa serially interfaced absolute encoders with 17-bit resolution. I also have motors with the newer 23-bit resolution Tamagawa encoders.

The same exact motor is being used for both the EtherCAT and analog drive tests, and what I am pointing out is that the quality of reported position/velocity differs.

In the tests where I was running it in "open loop velocity mode", there was no ripple in the velocity command.

I can compare JMC and Yaskawa if I want to image missing /media/kunena/emoticons/wink.png. Soon I will be testing an Inovance EtherCAT servo drive as well...

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

More
3 years 2 months ago #279355 by udoS
@ fdarling

sure you can;  : -)
 

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

More
2 years 9 months ago #289865 by udoS
@all
Back to the topic:
EtherCAT System Implementation of JMC Ethercat Servos
This is an implementation of JMC EtherCAT Servos iHSV-57-EC-xx-xx with Probe-Basic.
The challange is not EtherCAT or JMC; it bis the fantastic docu of LinuxCNC;
Never the less: it is possible;

 

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

Time to create page: 0.445 seconds
Powered by Kunena Forum