- Configuring LinuxCNC
- Advanced Configuration
- EtherCAT
- Help Needed: Cracking the Code on LinuxCNC Servo Homing Setup!
Help Needed: Cracking the Code on LinuxCNC Servo Homing Setup!
20 Jun 2024 15:47 #303431
by eduard
Replied by eduard on topic Help Needed: Cracking the Code on LinuxCNC Servo Homing Setup!
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
#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.
20 Jun 2024 15:50 #303432
by Aciera
Replied by Aciera on topic Help Needed: Cracking the Code on LinuxCNC Servo Homing Setup!
See my last post.
Please Log in or Create an account to join the conversation.
20 Jun 2024 16:10 #303433
by eduard
Replied by eduard on topic Help Needed: Cracking the Code on LinuxCNC Servo Homing Setup!
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?
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.
20 Jun 2024 16:26 #303434
by Aciera
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.
Replied by Aciera on topic Help Needed: Cracking the Code on LinuxCNC Servo Homing Setup!
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.
20 Jun 2024 16:31 #303435
by eduard
Replied by eduard on topic Help Needed: Cracking the Code on LinuxCNC Servo Homing Setup!
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?
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.
20 Jun 2024 16:39 - 20 Jun 2024 16:47 #303436
by Aciera
Replied by Aciera on topic Help Needed: Cracking the Code on LinuxCNC Servo Homing Setup!
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.
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.
20 Jun 2024 16:51 #303437
by eduard
Replied by eduard on topic Help Needed: Cracking the Code on LinuxCNC Servo Homing Setup!
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!
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.
21 Jun 2024 00:20 #303457
by Donb9261
Replied by Donb9261 on topic Help Needed: Cracking the Code on LinuxCNC Servo Homing Setup!
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.
21 Jun 2024 09:37 #303477
by pippin88
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)
Replied by pippin88 on topic Help Needed: Cracking the Code on LinuxCNC Servo Homing Setup!
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.
21 Jun 2024 10:17 #303478
by Donb9261
Replied by Donb9261 on topic Help Needed: Cracking the Code on LinuxCNC Servo Homing Setup!
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.
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.
- Configuring LinuxCNC
- Advanced Configuration
- EtherCAT
- Help Needed: Cracking the Code on LinuxCNC Servo Homing Setup!
Time to create page: 0.096 seconds