- Posts: 6
- Thank you received: 2
Ethercat HAL driver
- Oscmol
- Offline
- New Member
-
roschi wrote: Hi Oscar,
Oscmol wrote: I work at Omron and i am working with our Ethercat systems all days long.
But i am not really shure how this is working here now, so maybe alot of stupid questions.
I've written the tutorial to get the drives from Bosch Rexroth to work with LinuxCNC. (Only commanded values for speed and position go over EtherCAT,control loops are done on the drive as usual)
My advise is before you start with LinuxCNC / HAL download the Soft-Master for EtherCAT from etherlab.org, build it, install it, start the soft master, disconnect your drive (I guess Accurax G5?) from a working machine which is in idle mode, connect it to the ethernet port of your pc, type in command line 'ethercat slaves' and whatch the result.
If there is some output you can test for ethercat slaves -v, ethercat pdos or ethercat states op,...and so on.
If all seems nice then go to LinuxCNC, HAL
Regards Andreas
Hi Andreas
Were can i find your tutorial?
Are you using your system on an mill or some other cnc machine?
Is your system using the distributed clocks so all drives are in sync?
I will try your proposal about unplug a drive that runs and see what status i can read from it.
I have alot of G5 drives here in my office and also some Yaskawa Sigma 5 with ethercat option boards on.
Do you have any feeling if the precision on the machine will get any better with this kind of system instead of using a MESA card and pulse trains.
Best Regards
Oscar
- andypugh
- Offline
- Moderator
-
- Posts: 19899
- Thank you received: 4655
Oscmol wrote: Do you have any feeling if the precision on the machine will get any better with this kind of system instead of using a MESA card and pulse trains.
Both systems should work equally well. The precision is likely to be unaffected by the information transport.
Analogue voltage control still has quite a lot going for it. (and I quite like analogue feedback too, ie Resolvers)
- Oscmol
- Offline
- New Member
-
- Posts: 6
- Thank you received: 2
andypugh wrote:
Oscmol wrote: Do you have any feeling if the precision on the machine will get any better with this kind of system instead of using a MESA card and pulse trains.
Both systems should work equally well. The precision is likely to be unaffected by the information transport.
Analogue voltage control still has quite a lot going for it. (and I quite like analogue feedback too, ie Resolvers)
Ok thats good to hear.
I already have 5 drives for my machine.
SIgma 5 with Analogue / Puls connection and i just had an idea to put on Ethercat option boards on these units so i don't need the Mesa cards but maybe that is the easiest way to go anyway.
My machine is an Deckle FP4A that i am retro fitting with new control system.
On my machine i have glasscales today, how is the best way to do this conversion?
To take analogue output from MESA card to the drives and put them in velocity mode and then take the feedback from the glasscales to the MESA card?
I have bought 3 Heidenhain conversion boxes for the glasscales so i can get TTL outsignals.
Best regards
Oscar
- roschi
- Offline
- Senior Member
-
- Posts: 40
- Thank you received: 29
Tutorial: linkOscmol wrote: Were can i find your tutorial?
Are you using your system on an mill or some other cnc machine?
Is your system using the distributed clocks so all drives are in sync?
Right now I've finished the setup for drives and CNC; I'm working on a retrofit on a small home-scale milling machine (3 axis); Currently I'm waiting for ball screw spindles to replace the old non ball screw ones.
The Setup with the IndraDrives, LinuxCNC and EtherCAT uses DC-clocks and the application time is synced among the slaves.
Oscmol wrote: Do you have any feeling if the precision on the machine will get any better with this kind of system instead of using a MESA card and pulse trains.
As Andy writes in my opinion there is no difference if you transmit your commanded vlaue for the position via bus or pulse train.
Oscmol wrote: My machine is an Deckle FP4A that i am retro fitting with new control system.
On my machine i have glasscales today, how is the best way to do this conversion?
To take analogue output from MESA card to the drives and put them in velocity mode and then take the feedback from the glasscales to the MESA card?
I have bought 3 Heidenhain conversion boxes for the glasscales so i can get TTL outsignals.
I have no experences with the use of the "MESA card" and LinuxCNC (what does this do?, read encoder, write pulse trains?)
But you have to think about the following (case ball screw spindles):
- Every Servo Drive has in most cases 3 control loops (current,speed,position)
- simple setups for machine tool axis use the position feedback from the rotation motor shaft (means: inaccurancy from errors of spindle, backclash, dynamic compliance)
- more advanced position control use the position feedback from linear measurment devices fixed to the axis (e.g. glassscales) and speed feedback from rotating shafts (classical:tachometer e.g. FP4); In such a setup you have to consider some kind of notch filters for the commanded speed value to get over possible resonant vibrations and so on; This is state of the art in the drives to use speed feedback from rotating shaft and position feedback of linear scales.
- most modern position control use both: position feedback of rotating shaft and linear movement (Siemens, Rexroth, state control instead of PID)
If you thinking about closeing the position control loop 'over' the LinuxCNC/MESA card with linear feedback/pulse train and the speed control loop on the drive as it is this will work.
But my guess is that this is not optimal. Because you have two systems with discrete time signal handling. Reading mesacard counters, calculate new speed command, write to pulse train output on the LinuxCNC side and signal processing on the side of the drive (this will result in dead times with 1 or 2 delays --> limits control bandwith of the position loop, assuming the drive is digital and not analog controled approx. 4-8kHz speed control loop)
I think its better that the drive does all the control loops because a 'shorter' control loop is better for machine tool axis with no dynamic coupling in the mechanics.
Also there could be a problem with the frequency-scaling devices for the glassscale (analog to TTL); If you use scaling 1 this coudl result in low resolution for the axis; If you use scaling/interpolation e.g. 64 the resulting TTL-Freqency at max speed is to high for the counters on the MEAS CARD
To conclude:
My experencies and opinions are based on 'high class' cnc machines and could be completly over engineered for the use in many over cases.
Best regards
Andreas
- PCW
- Offline
- Moderator
-
- Posts: 18115
- Thank you received: 5334
than 4 KHZ or so _position_ loops on normal machine tools.
LinuxCNC is able to manage 4 KHZ position loops easily with the right PC hardware.
Note that Fanuc only recently changed to a 4 KHZ position loop on their latest high performance
drives (32 KHZ current loop, 16 KHz velocity loop, 4 KHz position loop 16M count/turn encoders)
There is no issue counting multi MHz quadrature signals with Mesa Quadrature encoders so there should be no issue with the interpolators.
- Coyote
- Offline
- New Member
-
- Posts: 15
- Thank you received: 0
Additional encoder systems serve for high precision machine, the best way is to hook them on servo drive. The feedback of velocity loop remains the motor encoder, while you can use a second encoder for position loop. If you don't have the possibility to add a second encoder system on servo drive, then you could use linuxcnc to do the position loop (P-regulator) and drives do only velocity loop.