- Posts: 118
- Thank you received: 18
Ethercat HAL driver
- sqmathlete
- Offline
- Premium Member
-
Less
More
6 years 4 months ago #171127
by sqmathlete
Replied by sqmathlete on topic Ethercat HAL driver
@ Todd,
Thanks! That does solve the issue when LinuxCNC is in control. However, I am also trying to get the internal homing routine of the servos to work, Similar to Roschi's example from way back except with incremental encoders.
My thinking is that if I can change the default rotation of the of the motor during the homing routine then both LinuxCNC and the amplifiers will define positive movements in the same direction.
Having LinuxCNC control the homing routine is also a possible option but I am hoping not to have to use that method.
Kind regards,
Dan
Thanks! That does solve the issue when LinuxCNC is in control. However, I am also trying to get the internal homing routine of the servos to work, Similar to Roschi's example from way back except with incremental encoders.
My thinking is that if I can change the default rotation of the of the motor during the homing routine then both LinuxCNC and the amplifiers will define positive movements in the same direction.
Having LinuxCNC control the homing routine is also a possible option but I am hoping not to have to use that method.
Kind regards,
Dan
- sqmathlete
- Offline
- Premium Member
-
Less
More
- Posts: 118
- Thank you received: 18
6 years 4 months ago #171131
by sqmathlete
Replied by sqmathlete on topic Ethercat HAL driver
@ theshade,
For a stepper based system I doubt that the ethercat bus is the bottleneck as well. What is your position command acceleration set at?
If you bought the driver and the stepper as a matched set than I would guess that the PID loop of the driver is optimized for that motor. So I would try to set the acceleration value of linuxcnc position command equal to or slightly less than that of the driver's max acceleration value. Once you get everything
assembled these values will probably change slightly. Otherwise start with slow speeds and then "tune" the system so that it follows within the position error. From there you can begin to increase to 3500mm/min...seems pretty fast for a stepper system. What's the PPR of the encoder?
Kind regards,
Dan
For a stepper based system I doubt that the ethercat bus is the bottleneck as well. What is your position command acceleration set at?
If you bought the driver and the stepper as a matched set than I would guess that the PID loop of the driver is optimized for that motor. So I would try to set the acceleration value of linuxcnc position command equal to or slightly less than that of the driver's max acceleration value. Once you get everything
assembled these values will probably change slightly. Otherwise start with slow speeds and then "tune" the system so that it follows within the position error. From there you can begin to increase to 3500mm/min...seems pretty fast for a stepper system. What's the PPR of the encoder?
Kind regards,
Dan
- theshade
- Offline
- Junior Member
-
Less
More
- Posts: 29
- Thank you received: 5
6 years 4 months ago #171132
by theshade
Replied by theshade on topic Ethercat HAL driver
Dear Dan,
Thank you for your reply.
I agree with you:
1. ethercat is certainly not the limiting factor as 1 ms delay seems fine
2. yes I bought them matched and the vendor (rtelligent) seems serious and mentioned they did the required tuning (PID etc)
3. yes I have set the acceleration in linuxcnc just below the drivers
4. I understand loading the axis will have some impact.
5. I will probably reduce the target max speed to 1000mm/min or lower once I see the whole thing moving and start being scared !!!
Now after some playing, I also understand there is a moving average filter inside the driver (lowpass filter with selectable time constant). It makes all the movements smoother and does prevent instability at any speed up to 3000 mm/min = (600rpm) the encoder resolution is specified as 1000 / turn (so that's 10kHz) . It also introduces some lag ~20ms.
I tried to change the filter time constant from its default (lower it) but it results in instabilities at intermediate to high speeds (and some times at low speeds too)
Essentially I don't know what to think about this lag between the cmd-pos and the actpos ( I wouldn't care for 1 axis) but for 3D trajectories I'd rather not have a velocity dependent 1mm lag.
I am reading more and more in the forums here and on the HAL pid comand doc and I am still not sure if i am supposed to do:
1. linuxcnc (when it is not in a per step controlling role) should "just" send position commands in "open" loop to the closed loop stepper and leave it at that and let the error be as it is? (just relying on the driver to rise an alarm in case of a problem)
2. or if there would be some benefits in closing + tuning a second loop around the stepper closed loop (with some FF1?? to compensate for that speed dependent lag error). Would that be helpful in syncing multiple axis movements?
What do people usually do? and what is considered acceptable lag error for a CNC? (lets pretend I want ~1/10 of a mm resolution on my parts) or is that not even a real problem because the trajectory computer only issues straight in-sync segments?
Thanks,
Shady
Thank you for your reply.
I agree with you:
1. ethercat is certainly not the limiting factor as 1 ms delay seems fine
2. yes I bought them matched and the vendor (rtelligent) seems serious and mentioned they did the required tuning (PID etc)
3. yes I have set the acceleration in linuxcnc just below the drivers
4. I understand loading the axis will have some impact.
5. I will probably reduce the target max speed to 1000mm/min or lower once I see the whole thing moving and start being scared !!!
Now after some playing, I also understand there is a moving average filter inside the driver (lowpass filter with selectable time constant). It makes all the movements smoother and does prevent instability at any speed up to 3000 mm/min = (600rpm) the encoder resolution is specified as 1000 / turn (so that's 10kHz) . It also introduces some lag ~20ms.
I tried to change the filter time constant from its default (lower it) but it results in instabilities at intermediate to high speeds (and some times at low speeds too)
Essentially I don't know what to think about this lag between the cmd-pos and the actpos ( I wouldn't care for 1 axis) but for 3D trajectories I'd rather not have a velocity dependent 1mm lag.
I am reading more and more in the forums here and on the HAL pid comand doc and I am still not sure if i am supposed to do:
1. linuxcnc (when it is not in a per step controlling role) should "just" send position commands in "open" loop to the closed loop stepper and leave it at that and let the error be as it is? (just relying on the driver to rise an alarm in case of a problem)
2. or if there would be some benefits in closing + tuning a second loop around the stepper closed loop (with some FF1?? to compensate for that speed dependent lag error). Would that be helpful in syncing multiple axis movements?
What do people usually do? and what is considered acceptable lag error for a CNC? (lets pretend I want ~1/10 of a mm resolution on my parts) or is that not even a real problem because the trajectory computer only issues straight in-sync segments?
Thanks,
Shady
- Grotius
- Offline
- Platinum Member
-
Less
More
- Posts: 2419
- Thank you received: 2349
6 years 4 months ago - 6 years 4 months ago #171136
by Grotius
Replied by Grotius on topic Ethercat HAL driver
Hi,
Just some info about ethercat speeds.
Attached some old config files of a 3 axis plasma cnc. While using this config some time ago i spotted a time bug in the X2 motor.
I solved this bug by increasing a time parameter somewhere, but not in this attachement. Just for info. I see i have no backup of the latest config.
The machine run's 18000mm/sec for users. Top speed is around 20m/sec. One step is 0.2mm for the machine displacement. The machine is fitted with standard steppers and drives, powered at 80v, tuned back to around 2-3 amps to reduce noise. And is fitted with a 2x 4channel 1ms 5v beckhoff pulse output.
Don't order the orginal beckhoff stepper drives. I tested the 2 versions. It's crap. Only usable for 3d printing. Very light jobs.
Just some info about ethercat speeds.
Attached some old config files of a 3 axis plasma cnc. While using this config some time ago i spotted a time bug in the X2 motor.
I solved this bug by increasing a time parameter somewhere, but not in this attachement. Just for info. I see i have no backup of the latest config.
The machine run's 18000mm/sec for users. Top speed is around 20m/sec. One step is 0.2mm for the machine displacement. The machine is fitted with standard steppers and drives, powered at 80v, tuned back to around 2-3 amps to reduce noise. And is fitted with a 2x 4channel 1ms 5v beckhoff pulse output.
Don't order the orginal beckhoff stepper drives. I tested the 2 versions. It's crap. Only usable for 3d printing. Very light jobs.
Last edit: 6 years 4 months ago by Grotius.
- CORBETT
- Offline
- Elite Member
-
Less
More
- Posts: 286
- Thank you received: 113
6 years 4 months ago #171362
by CORBETT
Replied by CORBETT on topic Ethercat HAL driver
@Grotius,
Hello Grotius, when you stated:
"Don't order the original beckhoff stepper drives. I tested the 2 versions. It's crap. Only usable for 3d printing. Very light jobs".
Are you referring to the EL7041 and 7031? Just curious as I have a few of the 7041's that I hae not tried yet.
Thanks,
Robert
Hello Grotius, when you stated:
"Don't order the original beckhoff stepper drives. I tested the 2 versions. It's crap. Only usable for 3d printing. Very light jobs".
Are you referring to the EL7041 and 7031? Just curious as I have a few of the 7041's that I hae not tried yet.
Thanks,
Robert
- besriworld
- Offline
- Platinum Member
-
Less
More
- Posts: 327
- Thank you received: 92
6 years 3 months ago #175374
by besriworld
Replied by besriworld on topic Ethercat HAL driver
Hello, everyone . I bought EtherCAT servo drivers brand Adatech model QXEH10NE
Manual : drive.google.com/file/d/14cinYiQ4-0qYuw5...Znf/view?usp=sharing
Does anyone have experience with these drivers and LinuxCNC?
Manual : drive.google.com/file/d/14cinYiQ4-0qYuw5...Znf/view?usp=sharing
Does anyone have experience with these drivers and LinuxCNC?
Time to create page: 0.619 seconds