Ethercat HAL driver

More
6 years 2 months ago - 6 years 2 months ago #178689 by JKAVS
Replied by JKAVS on topic Ethercat HAL driver
I might actually do that. I do have programming experience so it's not that big a deal to give it a try.
Can I use Raspberry Pi for testing?
Last edit: 6 years 2 months ago by JKAVS.
More
6 years 2 months ago #178734 by CORBETT
Replied by CORBETT on topic Ethercat HAL driver

@JKAVS,

Yes nothing to loose but time. Of course there were several nights that I wanted to walk out into the front yard and throw my Ek1100 as far away as I could... or put it down and drive over it.

Yes you should be able, as I have seen others on the web that have ran LCNC on Pi.... but I don't know how well it will run. I would imagine well enough to do what you need for learning purposes for sure. I have a Pi3, but never tried it, the smallest I have ever ran LCNC on is a Mini ITX board, but that is much bigger than a Pi board. Screwing around and learning is no problem on whatever you use, but latency will play a factor for when you go to hook up hardware.

Yeah nothing to loose but time... and I lost a lot of it, LOL...


Robert
More
6 years 1 month ago #180623 by JKAVS
Replied by JKAVS on topic Ethercat HAL driver
I'm about to start experimenting with LinuxCNC. As previously suggested I will first get used to basics of LinuxCNC and then have a look into Ethercat driver. I've got a computer which I'm planning to use to control my CNC mill. It should be suitable and the latency test gave very good results.

Are there any requirements with the Ethercat driver that I should take into consideration now? Like if the Ethercat driver needs specific Linux or LinuxCNC version then it might be smart to use it right from the beginning.
More
6 years 1 month ago #180805 by jhandel
Replied by jhandel on topic Ethercat HAL driver
I've spent a couple hours scanning pages and doing forum searches, reading example hal files on this question and not finding it.. So I figure I'll ask..

What is the preferred control method for EtherCat Servos between velocity and position based control?

Followup questions:
- If you control a EtherCat servo with position, how do you manage velocity? wanting to go to encoder position 1000 is very much dependent on WHEN i want to get to position 1000
- how are commands sent & received from a servo? in a single loop of the Servo thread? (does it run off the servo thread?)... Reason I ask is because if its one action/ms then in paper the max speed you could go to maintain positional accuracy to .01mm would be 6cm/m... That seems super slow, makes me think I am missing something.

I did notice in the samples that motor-pos-cmd was pointed at the servos target location.. and If I am understanding that correctly then the servo "speed" is fixed and actual target speed is managed via controlling how far is being asked to go for each cycle of the servo thread?

am I interpreting that perception correctly or am I missing something important that is at play in all of this?

Sorry for the question of ignorance... I really did hunt for answers before I asked ;-)
More
6 years 1 month ago #181083 by CORBETT
Replied by CORBETT on topic Ethercat HAL driver
@JKAVS

Ok if you are going to do the easier DEB install like talked about under "Installation" on this page: wiki.linuxcnc.org/cgi-bin/wiki.pl?EtherCatDriver Then stick with 2.6 as I think 2.7 and above still has a problem as it has not been updated... this is only for the easy install version, as the RIP "Run in Place" version should not matter.
More
6 years 1 month ago - 6 years 1 month ago #181161 by arvidb
Replied by arvidb on topic Ethercat HAL driver

jhandel wrote: What is the preferred control method for EtherCat Servos between velocity and position based control?

Followup questions:
- If you control a EtherCat servo with position, how do you manage velocity? wanting to go to encoder position 1000 is very much dependent on WHEN i want to get to position 1000
- how are commands sent & received from a servo? in a single loop of the Servo thread? (does it run off the servo thread?)... Reason I ask is because if its one action/ms then in paper the max speed you could go to maintain positional accuracy to .01mm would be 6cm/m... That seems super slow, makes me think I am missing something.

I did notice in the samples that motor-pos-cmd was pointed at the servos target location.. and If I am understanding that correctly then the servo "speed" is fixed and actual target speed is managed via controlling how far is being asked to go for each cycle of the servo thread?

am I interpreting that perception correctly or am I missing something important that is at play in all of this?


I don't think it matters much if you close the position loop in the servo or in LinuxCNC.

Yes, a new position is sent to the amps once every servo period. The servos cannot move instantly to the new position; they have a response time of more than 1 ms, so the commands gets filtered "by the physics of it" (and perhaps even by the amp itself) to give an even speed.

So yes, I think you have interpreted it correctly: the end result is that the speed is controlled by how far the servo is asked to move each servo period.

Thinking about it some more, you do raise an interesting question. E.g. the Omron's Accurax G5 Drives have a specified frequency response of 2 kHz. Maybe it is better to run them at 2 kHz servo and EtherCAT bus frequency in position mode? Or, if using the default 1 kHz, run them in velocity control mode?
Last edit: 6 years 1 month ago by arvidb.
Time to create page: 0.918 seconds
Powered by Kunena Forum