Trying to get my OMC A6 Servos homing

More
22 Jul 2025 06:31 - 22 Jul 2025 06:34 #332159 by Luc1luc
Trying to get my OMC A6 Servos homing was created by Luc1luc
Hey there,
im hare to look for some help on getting my Servos to work. Which currently ignore my endstops and would "crash" into them if i wouldnt stop
The Servos are Stepperonline A6 400W Ethercat ones, combined with an Beckhoff EK1100 and some IO Modules.
I also got the absolute encoder cables, but so far thought to just use them like a "stepper drop-in" and then if working, to go the next step and do the "integrated homing" way.

I just setup everything i think i will need:
- installing the Ethercat
- installing the cia402 driver

So hopefully theres people here who might be able to "get me on the right way" with my Servo setup and explain me my mistakes.
PrintNC_LinuxCNC/EtherCAT at main · Luc1luc/PrintNC_LinuxCNC
Last edit: 22 Jul 2025 06:34 by Luc1luc.

Please Log in or Create an account to join the conversation.

More
22 Jul 2025 09:28 - 22 Jul 2025 09:59 #332164 by esmurf
Replied by esmurf on topic Trying to get my OMC A6 Servos homing
How did you wire your home and limit switches?
If you push the siwtches by hand, do you see the "pins" change in halshow?

I would recommend to wire the limit and home switches to the servo drives DI inputs.
Then you can see the signals in PDO 60FD.

e.g. add this to your ethercat-conf.xml for each A6 servo:

<pdoEntry idx="60FD" subIdx="00" bitLen="32" halType="complex">
<complexEntry bitLen="1" halPin="limit-neg" halType="bit"/>
<complexEntry bitLen="1" halPin="limit-pos" halType="bit"/>
<complexEntry bitLen="1" halPin="home-switch" halType="bit"/>
<complexEntry bitLen="13" />
<complexEntry bitLen="1" halPin="din1" halType="bit"/>
<complexEntry bitLen="1" halPin="din2" halType="bit"/>
<complexEntry bitLen="1" halPin="din3" halType="bit"/>
<complexEntry bitLen="1" halPin="din4" halType="bit"/>
<complexEntry bitLen="1" halPin="din5" halType="bit"/>
<complexEntry bitLen="1" halPin="din6" halType="bit"/>
<complexEntry bitLen="1" halPin="din7" halType="bit"/>
<complexEntry bitLen="1" halPin="din8" halType="bit"/>
<complexEntry bitLen="1" halPin="din9" halType="bit"/>
<complexEntry bitLen="7" />
</pdoEntry>


I use negative logic. You have to configure this on your drive to match the limit/home switches. This is permanently saved in the drive.
e.g.
# set operating mode
ethercat upload -p 2 --type int8 0x6060 0x00
ethercat download -p 2 --type int8 0x6060 0x00 8

# set "active low" DI input logic
ethercat upload -p 2 --type uint16 0x2004 0x02
ethercat download -p 2 --type uint16 0x2004 0x02 1

ethercat upload -p 2 --type uint16 0x2004 0x06
ethercat download -p 2 --type uint16 0x2004 0x06 1

ethercat upload -p 2 --type uint16 0x2004 0x0A
ethercat download -p 2 --type uint16 0x2004 0x0A 1

You also have to set homing mode  (PDO 0x6098) - see manual 
Last edit: 22 Jul 2025 09:59 by esmurf.

Please Log in or Create an account to join the conversation.

More
22 Jul 2025 09:54 - 22 Jul 2025 09:59 #332166 by Luc1luc
Replied by Luc1luc on topic Trying to get my OMC A6 Servos homing
My home switches are wired to the IO Modules. I only have one switch per joint
If i trigger the switches manually they getting recognised correctly in the hal show.
Do you know by a chance if its also possible the other way around?
So telling the driver like pin xy was triggered over the ethercat way?

My brain blockade right now is the following:
I have home switches configured like i did with steppers before. When triggered, shouldnt LCNC tell the Servo stop moving? Why do i need to home hooked to the drives.
Last edit: 22 Jul 2025 09:59 by Luc1luc.

Please Log in or Create an account to join the conversation.

More
22 Jul 2025 10:12 #332167 by esmurf
Replied by esmurf on topic Trying to get my OMC A6 Servos homing
I dont think, that is possible.

If you wire the switches to the servo drive, you can use one of the drives internal homing methods. They allow a combination of home switch and encoder zero position. That will give you very high repeatability.

If you dont wire the switches to the servo drive, you are forced to the linuxcnc internal homing. Same with limit switches. This will reduce your repeatability to the repeatability of the home switch (you will need high precision home switches).

However if you use the servos internal homing in a gantry setup, you have to wire both gantry drives to the same switches. Servo based homing does not know about the mechanics of your gantry. You do not want two servos fighting each other and bending something.
Also maybe limit the torque during homing (PDO 6072)

Please Log in or Create an account to join the conversation.

More
22 Jul 2025 10:29 #332168 by Luc1luc
Replied by Luc1luc on topic Trying to get my OMC A6 Servos homing
Thats some really good points about the gantry.
Appreciate your help.

Which driver would i need for this? Just the standard cia402?

Please Log in or Create an account to join the conversation.

More
22 Jul 2025 10:39 #332169 by esmurf
Replied by esmurf on topic Trying to get my OMC A6 Servos homing
Something like this:
In .hal:
setp joint.2.request-cia-homing 1
setp lcec.0.Y.homing-method 22 #or whatever homing method you choose - see manual
net y-start-homing joint.2.start-cia-homing => cia402.2.home

in .ini:
[EMCMOT]
HOMEMOD=cia402_homecomp
The following user(s) said Thank You: Luc1luc

Please Log in or Create an account to join the conversation.

More
22 Jul 2025 10:52 #332171 by Luc1luc
Replied by Luc1luc on topic Trying to get my OMC A6 Servos homing
If someone still has an different idea on how i could use the absolute encode advantages but have the switches connected over the IO Modules, i would appreciate some alternatives. 

Please Log in or Create an account to join the conversation.

More
22 Jul 2025 11:46 #332174 by esmurf
Replied by esmurf on topic Trying to get my OMC A6 Servos homing
Try the following:
in hal connect your input pin to PDO 2004 Index 02 or 06 or 0A (pos limit, neg limit, home)
like
net y-limit-ext lcec.0.something.din-2 => lcec.0.X.pos-limit

in ethercat-conf.xml
<pdoEntry idx="2004" subIdx="02" bitLen="16" halPin="pos-limit" halType="u32" />

do not connect anything physically to the servo drives DI inputs.
The following user(s) said Thank You: Luc1luc

Please Log in or Create an account to join the conversation.

More
22 Jul 2025 12:00 #332175 by Luc1luc
Replied by Luc1luc on topic Trying to get my OMC A6 Servos homing
Thank you, thats definetly worth a try.

Please Log in or Create an account to join the conversation.

More
22 Jul 2025 12:11 #332176 by esmurf
Replied by esmurf on topic Trying to get my OMC A6 Servos homing
It still feels like a misuse of this parameter...

Please Log in or Create an account to join the conversation.

Time to create page: 0.061 seconds
Powered by Kunena Forum