EL7041-1000 configuration question
- mark0815
- Offline
- New Member
-
Less
More
- Posts: 6
- Thank you received: 1
04 Apr 2025 16:09 - 04 Apr 2025 17:36 #325692
by mark0815
EL7041-1000 configuration question was created by mark0815
Hi all,
I'm trying to get a Stepper (with no encoder) working with a EL7041-1000 and having issues getting the axis scaling configuration right.
The issue is that the moving the axis lets say 1mm in LinuxCNC results in just a fraction (around 10) of the expected steps (80 full steps) on the motor axis.
Additionally there are quite often joint following errors the stepper slows down. I guess this is related to the PID settings.
The EL7041 is wired up in hal like this:
Where the joint_0 config looks like this
The EL7041 is on factory settings with just the max motor current set a value matching the motor.
Per default the EL7041 uses its internal counter as the encoder if I understood it right.
I would really appreciate any tips what I did wrong regarding the scaling.
Regards
Mark
I'm trying to get a Stepper (with no encoder) working with a EL7041-1000 and having issues getting the axis scaling configuration right.
The issue is that the moving the axis lets say 1mm in LinuxCNC results in just a fraction (around 10) of the expected steps (80 full steps) on the motor axis.
Additionally there are quite often joint following errors the stepper slows down. I guess this is related to the PID settings.
The EL7041 is wired up in hal like this:
# Configure EtherCAT
setp lcec.0.STEPX.srv-scale [JOINT_0]SCALE
setp lcec.0.STEPX.enc-pos-scale [JOINT_0]ENC_SCALE
# PID
net x-index-enable <=> pid.x.index-enable
# PID to Joint
net x-pos-cmd <= joint.0.motor-pos-cmd => pid.x.command
net x-output <= pid.x.output
net x-enable <= joint.0.amp-enable-out => pid.x.enable
net x-pos-fb => pid.x.feedback => joint.0.motor-pos-fb
# Joint to EtherCAT
net x-enable => lcec.0.STEPX.srv-enable
net x-output => lcec.0.STEPX.srv-cmd
net x-amp-fault <= lcec.0.STEPX.srv-error => joint.0.amp-fault-in
net x-pos-fb <= lcec.0.STEPX.enc-pos
# EtherCAT Ready State
net x-ready <= lcec.0.STEPX.srv-ready
net x-ready-to-enable <= lcec.0.STEPX.srv-ready-to-enable
Where the joint_0 config looks like this
P = 1000.0
I = 0.0
D = 0.0
FF0 = 0.0
FF1 = 1.0
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.0
MAX_OUTPUT = 0.0
# 200 Full steps(?)
SCALE = 200.0
# 200 full steps * 64 micro stepping * 2 (1/2 belt reduction) / 5 mm per revolution
ENC_SCALE = 5120.0
The EL7041 is on factory settings with just the max motor current set a value matching the motor.
Per default the EL7041 uses its internal counter as the encoder if I understood it right.
I would really appreciate any tips what I did wrong regarding the scaling.
Regards
Mark
Last edit: 04 Apr 2025 17:36 by mark0815.
Please Log in or Create an account to join the conversation.
- rodw
-
- Offline
- Platinum Member
-
Less
More
- Posts: 11161
- Thank you received: 3714
05 Apr 2025 00:08 #325726
by rodw
Replied by rodw on topic EL7041-1000 configuration question
If you have following errors when slowing down, your accelleration could be too high. I used to get this with my Ethercat drves (mostly on homing) and then surmised that possibly the inertia was overtaking the accell settings. Slowed it down a bit and it works.
Please Log in or Create an account to join the conversation.
- mark0815
- Offline
- New Member
-
Less
More
- Posts: 6
- Thank you received: 1
06 Apr 2025 12:04 #325810
by mark0815
Replied by mark0815 on topic EL7041-1000 configuration question
Thanks for the suggestion.
It turned out the following errors not related to the acceleration but to the EtherCAT configuration.
After searching Github for other LinuxCNC configurations (which I should have done in first place) using the EL7041 I was able to create a working configuration.
I'm not 100% sure why it works now, but I suspect the "srv-scale" wasn't set correctly.
In case someone has a similar problem getting started, the config is accessible on Github .
/Mark
It turned out the following errors not related to the acceleration but to the EtherCAT configuration.
After searching Github for other LinuxCNC configurations (which I should have done in first place) using the EL7041 I was able to create a working configuration.
I'm not 100% sure why it works now, but I suspect the "srv-scale" wasn't set correctly.
In case someone has a similar problem getting started, the config is accessible on Github .
/Mark
The following user(s) said Thank You: rodw
Please Log in or Create an account to join the conversation.
- Soccer Kid
-
- Offline
- New Member
-
Less
More
- Posts: 9
- Thank you received: 1
07 Apr 2025 01:58 #325848
by Soccer Kid
Replied by Soccer Kid on topic EL7041-1000 configuration question
You should get the vendor's ethercat definition, which provides the scaling function....
Please Log in or Create an account to join the conversation.
- Soccer Kid
-
- Offline
- New Member
-
Less
More
- Posts: 9
- Thank you received: 1
07 Apr 2025 02:01 #325849
by Soccer Kid
Replied by Soccer Kid on topic EL7041-1000 configuration question
Usually, the controller with a position closed-loop, the generation of following errors, and the PID controller of the upper computer, has little to do with it, because the position loop can be adjusted in the drive. At the same time, the following error = the maximum feed speed is proportional to the position loop gain
Please Log in or Create an account to join the conversation.
Time to create page: 0.237 seconds