Help Needed: Cracking the Code on LinuxCNC Servo Homing Setup!

More
20 Jun 2024 15:47 #303431 by eduard
No I don't have. This is how the x-homing looks like:

#HOMING use EL8 drives internal homing. Uncomment the line below and in the ini as well. Home the machine, then comment out.
#net x-home-request joint.0.request-custom-homing => cia402.0.home
net x-home-request joint.0.custom-homing-is-requested => cia402.0.home
net x-homing joint.0.is-custom-homing <= cia402.0.stat-homing
net x-homed joint.0.custom-homing-finished <= cia402.0.stat-homed

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

More
20 Jun 2024 15:50 #303432 by Aciera

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

More
20 Jun 2024 16:10 #303433 by eduard
Now is working like a charm! Thank you for supporting my work!

May I ask for a change? I have this line in hal, which is enabling the homed state after the machine is on. It is very useful, since I can not jog the machine out of softlimits.

net machine-on halui.machine.is-on => halui.home-all

How can implement thin into the default / custom homing?

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

More
20 Jun 2024 16:26 #303434 by Aciera
net machine-on halui.machine.is-on => halui.home-all

This means your machine will home all axes when you enable the machine. This should still work but since you now have two homing routines you will need to set the 'joint.n.request-custom-homing' pins for each joint depending on whether the drive already knows it's position (ie the absolute encoder holds a valid position) or not.

I'm not familiar with EtherCAT drives so I don't know if 'cia402.0.stat-homed' would give you an indication if the drive needed homing or not.

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

More
20 Jun 2024 16:31 #303435 by eduard
I already try and in default state just gives me homing like before. Since the servos are absolute and the requested parameter is 2, the machine not moving just read the servo states and homing to absolute parameters.
In custom mode starts the homing when I turn on lcnc. Ideally in custom mode just dont need this feature. But I'm not familiar yet in hal to change it. It is possible to have this two states?

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

More
20 Jun 2024 16:39 - 20 Jun 2024 16:47 #303436 by Aciera
You can use the 'show halconfiguration' tool and select 'cia402' ->'0' -> 'stat-homed' in left hand side of the window to add the pin 'cia402.0.stat-homed' to the 'WATCH' tab.
Then have a look if that pin is TRUE on startup if the drives encoders have a valid position and FALSE if one of the drives needs homing.
I'm afraid I'm just guessing here.

[edit]
If you cannot find a hal signal that reflects the homing state then you may have to use a GUI button to choose the homing procedure manually before enabling the machine.
Last edit: 20 Jun 2024 16:47 by Aciera.

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

More
20 Jun 2024 16:51 #303437 by eduard
Nevermind. I will figure out a workaround to use custom/default homing with automatic homing enabled.
Like this:
Usually using auto home, and when needed just toggle on custom homing, do homing, toggle off, then using auto homing by default.

Thanks again for the very efficient help!

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

More
21 Jun 2024 00:20 #303457 by Donb9261
After speaking to Delta, the Gantry functionality only works with their motion controllers.
The following user(s) said Thank You: rodw

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

More
21 Jun 2024 09:37 #303477 by pippin88

After speaking to Delta, the Gantry functionality only works with their motion controllers.
 


Which Delta series? A2? A3? B3?

The A3 manual is 1373 pages long but only has brief mentions of the gantry function (I have 4x Delta A3 servos for a planned build with a gantry and was expecting to be able to use the gantry function)

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

More
21 Jun 2024 10:17 #303478 by Donb9261
All of them. The reason is that tandem axis control is the domain of the master. The master must issue commands for each motor. The same would be present if using a MESA card with S/D.

Tandem axis control using ECAT in LCNC isn't functional if I understand correctly. I am still digging.

Delta explained what I already knew to be true, that an ECAT servo must derive all commands via the master who is fed commands via the controller. They said, that with the setup they have the position loop is closed for both drives and the encoder output for D1 is fed into D2. The D1 drive uses the standard RS422 encoder output and D2 uses the external encoder interface IN as the position FB for D2. From there, D2 will be placed in follow me mode where it follows the pulse train from D1. While novel, much of the position calculations must be done by the master to ensure the following error of each drive remains as low as possible. Hence the reason it only works with their controllers.

I am just the messenger here. But what they said makes sense based on how their drives are designed. What they have provided as a solution is not ideal even by their standards. Tandem axis control should be the domain of the controller/master not the drive.

The engineer was going to reach out to his counterpart in Taiwan but DeltaTW is off next week so it would be W1 of July before a response is possible. He will forward any white papers if any are available.

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

Time to create page: 0.311 seconds
Powered by Kunena Forum