StepperOnline A6 Servo
- andrax
- Offline
- Elite Member
-
Less
More
- Posts: 165
- Thank you received: 33
08 Dec 2025 17:26 - 08 Dec 2025 17:27 #339875
by andrax
Replied by andrax on topic StepperOnline A6 Servo
Hi,
I have now created another configuration for 1 axis and tested it on each servo. Each servo is responsive and the pdo mapping is now correct. Now I have created the complete configuration and am getting the following error
HAL: ERROR: duplicate variable 'lcec.0.A6.control-word'
LCEC: exporting pin lcec.0.A6.control-word failed
LCEC: failure in proc_init for slave 0.A6
Where am I going wrong?
I have now created another configuration for 1 axis and tested it on each servo. Each servo is responsive and the pdo mapping is now correct. Now I have created the complete configuration and am getting the following error
HAL: ERROR: duplicate variable 'lcec.0.A6.control-word'
LCEC: exporting pin lcec.0.A6.control-word failed
LCEC: failure in proc_init for slave 0.A6
Where am I going wrong?
Attachments:
Last edit: 08 Dec 2025 17:27 by andrax.
Please Log in or Create an account to join the conversation.
- nichtAlex
- Offline
- New Member
-
Less
More
- Posts: 3
- Thank you received: 1
09 Dec 2025 08:16 - 09 Dec 2025 08:17 #339901
by nichtAlex
Replied by nichtAlex on topic StepperOnline A6 Servo
The four driver slaves all have the same names within the XML file.
<slave idx="0" type="generic" vid="00400000" pid="00000715" configPdos="true" name="A6">
You need to change the 'name="A6"' parts to something like:
name="A6X"
name="A6Y1"
name="A6Y2"
name="A6Z"
You also need to change the pins inside the halfile accordingly:
lcec.0.A6X.control-word
lcec.0.A6Y1.control-word
lcec.0.A6Y2.control-word
lcec.0.A6Z.control-word
<slave idx="0" type="generic" vid="00400000" pid="00000715" configPdos="true" name="A6">
You need to change the 'name="A6"' parts to something like:
name="A6X"
name="A6Y1"
name="A6Y2"
name="A6Z"
You also need to change the pins inside the halfile accordingly:
lcec.0.A6X.control-word
lcec.0.A6Y1.control-word
lcec.0.A6Y2.control-word
lcec.0.A6Z.control-word
Last edit: 09 Dec 2025 08:17 by nichtAlex.
The following user(s) said Thank You: andrax
Please Log in or Create an account to join the conversation.
- andrax
- Offline
- Elite Member
-
Less
More
- Posts: 165
- Thank you received: 33
10 Dec 2025 17:40 #339949
by andrax
Replied by andrax on topic StepperOnline A6 Servo
Hello,
I have now got all axes running.
I would now like to set up homing.
When I start homing, the axes start moving.
However, the home switches are ignored and the axes continue to move.
I have linked the home switches in the HAL as follows:
net X-home-sw <= lcec.1.6.din-4 => joint.0.home-sw-in
Is this correct, or does the home switch have to be set to HomeSwitch(DI3) from the A6 servo drive?
I have now got all axes running.
I would now like to set up homing.
When I start homing, the axes start moving.
However, the home switches are ignored and the axes continue to move.
I have linked the home switches in the HAL as follows:
net X-home-sw <= lcec.1.6.din-4 => joint.0.home-sw-in
Is this correct, or does the home switch have to be set to HomeSwitch(DI3) from the A6 servo drive?
Please Log in or Create an account to join the conversation.
- Hakan
- Away
- Platinum Member
-
Less
More
- Posts: 1140
- Thank you received: 401
10 Dec 2025 21:34 #339956
by Hakan
Replied by Hakan on topic StepperOnline A6 Servo
Well done, andrax.
There are two homing methods
1. Linuxcnc normal homing. Google "linuxcnc homing" and you will find an article incl illustrative figures describing this.
2. Ethercat homing. Many people have used it, I have not so can't advise on that.
I propose you start with 1. You can always do 2. later on.
I actually think you are doing 1. and want to use one of the digital inputs as X homing switch.
The signal you have made looks ok. Just check that din-4 is a general purpose switch, not tied to ethercat homing.
Use the halshow utility to follow/watch pins to make sure they react the way you want.
There are two homing methods
1. Linuxcnc normal homing. Google "linuxcnc homing" and you will find an article incl illustrative figures describing this.
2. Ethercat homing. Many people have used it, I have not so can't advise on that.
I propose you start with 1. You can always do 2. later on.
I actually think you are doing 1. and want to use one of the digital inputs as X homing switch.
The signal you have made looks ok. Just check that din-4 is a general purpose switch, not tied to ethercat homing.
Use the halshow utility to follow/watch pins to make sure they react the way you want.
The following user(s) said Thank You: tommylight, andrax
Please Log in or Create an account to join the conversation.
- andrax
- Offline
- Elite Member
-
Less
More
- Posts: 165
- Thank you received: 33
11 Dec 2025 14:06 #339975
by andrax
Replied by andrax on topic StepperOnline A6 Servo
Hi,
Thanks.
Here is my current status again:
I am currently using cia402.comp and cia402homecomp.comp from @MobiusToast.
What works:
Switching on drives, moving and feedback.
All pins in the hal have been checked and are working
What doesn't work: Homing. Homing is started and drives start moving.
Home-dog switch and hardware limit switch are ignored.
I have now gone through the whole thread again.
As I see it, and hopefully I have understood correctly, the drives are put into homing mode (0x6060 = 6).
The servos perform the homing independently.
The homing status can be read via 0x6041 bit 15.
The evaluation is performed by cia402homecomp.comp and reports Linuxcnc homing completed.
Is that correct?
What do I need to do?
I need to connect the home-dog switch to the touch probe 1 (DI5), then it should work.
So first I need to order a cable for CN1. Stepperonline did not supply that.
regards
Andre
Thanks.
Here is my current status again:
I am currently using cia402.comp and cia402homecomp.comp from @MobiusToast.
What works:
Switching on drives, moving and feedback.
All pins in the hal have been checked and are working
What doesn't work: Homing. Homing is started and drives start moving.
Home-dog switch and hardware limit switch are ignored.
I have now gone through the whole thread again.
As I see it, and hopefully I have understood correctly, the drives are put into homing mode (0x6060 = 6).
The servos perform the homing independently.
The homing status can be read via 0x6041 bit 15.
The evaluation is performed by cia402homecomp.comp and reports Linuxcnc homing completed.
Is that correct?
What do I need to do?
I need to connect the home-dog switch to the touch probe 1 (DI5), then it should work.
So first I need to order a cable for CN1. Stepperonline did not supply that.
regards
Andre
Please Log in or Create an account to join the conversation.
- nanowhat
- Offline
- Junior Member
-
Less
More
- Posts: 38
- Thank you received: 5
15 Dec 2025 23:43 #340154
by nanowhat
I just put together a robot that homes using the drives. I didn't want a separate home switch, so I home each axis using the negative overtravel switch, and method 1 (Feed negative until negative overtravel goes logic high, then feed positive to the next index pulse).
All you must do is connect your negative overtravel switch to DI2. Home switch signals don't go through HAL in this application.
You might try the cia402 component from github.com/dbraun1981/hal-cia402. It has homing built in, and you don't need to touch the controlword register yourself.
Replied by nanowhat on topic StepperOnline A6 Servo
That sounds correct.As I see it, and hopefully I have understood correctly, the drives are put into homing mode (0x6060 = 6).
The servos perform the homing independently.
The homing status can be read via 0x6041 bit 15.
The evaluation is performed by cia402homecomp.comp and reports Linuxcnc homing completed.
Is that correct?
I just put together a robot that homes using the drives. I didn't want a separate home switch, so I home each axis using the negative overtravel switch, and method 1 (Feed negative until negative overtravel goes logic high, then feed positive to the next index pulse).
All you must do is connect your negative overtravel switch to DI2. Home switch signals don't go through HAL in this application.
You might try the cia402 component from github.com/dbraun1981/hal-cia402. It has homing built in, and you don't need to touch the controlword register yourself.
Please Log in or Create an account to join the conversation.
- andrax
- Offline
- Elite Member
-
Less
More
- Posts: 165
- Thank you received: 33
16 Dec 2025 08:38 #340179
by andrax
Replied by andrax on topic StepperOnline A6 Servo
I can confirm that the home function works. I made a connector from an old VGA cable and tested it on one axis.
Pin 13 <- 0V
Pin 8 <- Home switch (DI3)
Reference run method: 6
I am now waiting for the cables I ordered, and then I can test and complete the other axes.
Note 1:
The DI status (U40.04) is contradictory.
The inputs do not show as switched high.
When they are activated, they go low.
The driver interprets a low as 1, which is confusing.
Note 2:
There may be a problem with cia402homecomp.comp.
Once it has started, it cannot be stopped.
This happens, for example, when the servo moves to a limit switch.
It is not possible to move freely; the error “Home movement is still active” occurs.
This error also occurs when only one axis is referenced.
After completing the home movement, it is displayed as referenced, but can no longer be moved. The error “Home movement still active” also appears here. I will see how it behaves when I perform the home movement on all axes.
Note 3:
Since recently, I have been getting an amplifier error on the Y-axes (gantry) when starting Linuxcnc (gmocappy). The error can be acknowledged and does not reappear during runtime.
However, this may have another cause.
Pin 13 <- 0V
Pin 8 <- Home switch (DI3)
Reference run method: 6
I am now waiting for the cables I ordered, and then I can test and complete the other axes.
Note 1:
The DI status (U40.04) is contradictory.
The inputs do not show as switched high.
When they are activated, they go low.
The driver interprets a low as 1, which is confusing.
Note 2:
There may be a problem with cia402homecomp.comp.
Once it has started, it cannot be stopped.
This happens, for example, when the servo moves to a limit switch.
It is not possible to move freely; the error “Home movement is still active” occurs.
This error also occurs when only one axis is referenced.
After completing the home movement, it is displayed as referenced, but can no longer be moved. The error “Home movement still active” also appears here. I will see how it behaves when I perform the home movement on all axes.
Note 3:
Since recently, I have been getting an amplifier error on the Y-axes (gantry) when starting Linuxcnc (gmocappy). The error can be acknowledged and does not reappear during runtime.
However, this may have another cause.
Please Log in or Create an account to join the conversation.
- nanowhat
- Offline
- Junior Member
-
Less
More
- Posts: 38
- Thank you received: 5
16 Dec 2025 16:29 - 16 Dec 2025 16:29 #340197
by nanowhat
Replied by nanowhat on topic StepperOnline A6 Servo
DI3 is by default active low. Parameter C04.09 controls whether DI3 is active high or active low.
Last edit: 16 Dec 2025 16:29 by nanowhat. Reason: wrong parameter
The following user(s) said Thank You: andrax
Please Log in or Create an account to join the conversation.
- andrax
- Offline
- Elite Member
-
Less
More
- Posts: 165
- Thank you received: 33
29 Dec 2025 15:42 - 30 Dec 2025 17:04 #340663
by andrax
Replied by andrax on topic StepperOnline A6 Servo
Hi,
Please excuse me for asking more questions.
The following parameters for homing are specified in Collin Bardini's .ini file.
HOME_SEARCH_VEL = 15.625
HOME_LATCH_VEL = 15.625
HOME_IGNORE_LIMITS = YES
CIA402_HOMING_ENABLED = 1
CIA402_HOMING_METHOD=-2
CIA402_HOMING_SEARCH_VELOCITY=20000
CIA402_HOMING_LATCH_VELOCITY=7000
CIA402_HOMING_ACCELERATION=131072
Which of the two parameters determines the homing speed and acceleration?
If the parameters are valid for CIA402, what units are they?
EDIT:
I figured it out. It's the lower values.
However, I still don't know what the units are.
Now I have an additional problem, though.
After completing the homing movement, the axes jump 1-2 mm and go into fault mode. The error can be acknowledged and the axis is referenced.
In the ini file, I have set HOME_OFFSET = 0.0 for the axes.
Where is my mistake?
Thank you in advance.
Please excuse me for asking more questions.
The following parameters for homing are specified in Collin Bardini's .ini file.
HOME_SEARCH_VEL = 15.625
HOME_LATCH_VEL = 15.625
HOME_IGNORE_LIMITS = YES
CIA402_HOMING_ENABLED = 1
CIA402_HOMING_METHOD=-2
CIA402_HOMING_SEARCH_VELOCITY=20000
CIA402_HOMING_LATCH_VELOCITY=7000
CIA402_HOMING_ACCELERATION=131072
Which of the two parameters determines the homing speed and acceleration?
If the parameters are valid for CIA402, what units are they?
EDIT:
I figured it out. It's the lower values.
However, I still don't know what the units are.
Now I have an additional problem, though.
After completing the homing movement, the axes jump 1-2 mm and go into fault mode. The error can be acknowledged and the axis is referenced.
In the ini file, I have set HOME_OFFSET = 0.0 for the axes.
Where is my mistake?
Thank you in advance.
Last edit: 30 Dec 2025 17:04 by andrax.
Please Log in or Create an account to join the conversation.
- andrax
- Offline
- Elite Member
-
Less
More
- Posts: 165
- Thank you received: 33
02 Jan 2026 15:55 #340888
by andrax
Replied by andrax on topic StepperOnline A6 Servo
Hello,
I have now checked my entire configuration again.
I have also tried different homing methods.
Unfortunately, the error persists.
After homing is complete, the axes jump back and the servo shows Er87.1.
The axis is then referenced.
The error occurs on all axes.
Does anyone have any advice?
I have now checked my entire configuration again.
I have also tried different homing methods.
Unfortunately, the error persists.
After homing is complete, the axes jump back and the servo shows Er87.1.
The axis is then referenced.
The error occurs on all axes.
Does anyone have any advice?
The following user(s) said Thank You: TAKUYA
Please Log in or Create an account to join the conversation.
Time to create page: 0.086 seconds