EL7041-1000 configuration question

More
1 year 6 months ago #325692 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:

Code:
# 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
Code:
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

Please Log in to join the conversation.

More
1 year 6 months ago #325726 by rodw
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 to join the conversation.

More
1 year 6 months ago #325810 by mark0815
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
 

Please Log in to join the conversation.

More
1 year 6 months ago #325848 by Soccer Kid
You should get the vendor's ethercat definition, which provides the scaling function....

Please Log in to join the conversation.

More
1 year 6 months ago #325849 by Soccer Kid
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 to join the conversation.

Time to create page: 0.109 seconds
Powered by Kunena Forum