What is the fastest possible servo thread rate and how would one achieve that?

More
5 years 5 months ago #210710 by Henk
As the title suggests, how fast servo thread can be run with a typical mesa ethernet board connected? In my case a 7i76e.I'm running v 2.9.

The reason I'm asking is that I think I can improve my wire edm performance if I can run a faster thread. The thread needs to do floating point calcs because it senses the gap voltage (mesa THC 300) and manages the motion accordingly with adaptive feed.

If you look at the Baxedm channel on YouTube, he uses Dynomotion's Kflop. According to their website, servo positions are scanned every 90 microseconds.

I think in my case the PC I'm using is the limiting factor. What specs do I need on the PC to achieve a much faster servo thread rate?

Thanks
Henk

Please Log in to join the conversation.

More
5 years 5 months ago #210714 by andypugh
PCW reports running a 4kHz servo thread.

What is your current servo thread latency?

Also consider the ethernet round-trip time. It is possible that a PCI card solution might be better.

Please Log in to join the conversation.

More
5 years 5 months ago #210716 by Henk
Thanks Andy,
I have not checked the latency but I do know that I get real-time errors when I go higher than a 2 khz rate.

Are there other PC related things I can check before I ditch the 7i76e and install a 5i25 and 7i76…

Please Log in to join the conversation.

More
5 years 5 months ago #210739 by andypugh
Are you running a base thread? You probably shouldn't.

Please Log in to join the conversation.

More
5 years 5 months ago #210771 by Henk
No base thread.

Ping times are in the order of 125 us.

I wonder if it would be possible to have the 7i76e FPGA manage the lower level adaptive feed according to the gap voltage which is available on one of the encoder counters

With wire edm pulse width in the order of 1 to 20us, there is quite a lot that can go wrong in 1ms....

Please Log in to join the conversation.

More
5 years 5 months ago #210777 by andypugh

Henk wrote: I wonder if it would be possible to have the 7i76e FPGA manage the lower level adaptive feed according to the gap voltage which is available on one of the encoder counters


Encoder velocity is calculated in the servo thread, and position updates to HAL are sent in the servo thread. You can't really bypass it.

With wire edm pulse width in the order of 1 to 20us, there is quite a lot that can go wrong in 1ms....


What is the time constant of your mechanical components? motor inertia and inductance play their part too.

Please Log in to join the conversation.

More
5 years 4 months ago #210845 by Henk
Yes, have not considered the mechanics and acceleration etc, but what i can say is that i have some faith in the original Sodick design of this part.

There is no backlash, extremely accurate ballscrews and linear rails and to Yaskawa DC drives with step/dir interface.

Acceleration is set at 750mm/s/s. no encoder feedback apart from between the motor and the drive, so its hard to say what actually happens when it suddenly reverses.

There is encoder output from the drive, but this is 12v signals. Im not sure how i can get this to ttl level, maybe a line driver ic?

Henk

Please Log in to join the conversation.

More
5 years 4 months ago #210866 by andypugh

Henk wrote: Acceleration is set at 750mm/s/s.


A simplistic calculation:

s = ut + 1/2 a t^2 (from school)

If the wire is currently not moving, how far can it be moved in 1 servo period at 750mm/s/s?

0.5 * 0.75m * 1e-3^2 = 375nm. / 0.4um

What is your step scale? how many steps in 0.4um? The difference between 1kHz and 10kHz is in how fast the step rate can be changed. If it is step-or-no-step per period then I guess it might be better to make the decision faster. But everything else (including arc voltage sampling) has to speed up too.

Consider it from the point of view of what the controller does. Every thread period it sets a step-rate and the FPGA holds that rate constant until the next thread cycle. It would be helpful to know what that step rate typically is, and from the calculation above, how much it can change in one cycle.

Please Log in to join the conversation.

Time to create page: 0.097 seconds
Powered by Kunena Forum