Absolute homing

  • eduard
  • eduard's Avatar Topic Author
  • Offline
  • Premium Member
  • Premium Member
More
05 Jun 2024 16:55 #302394 by eduard
Absolute homing was created by eduard
I'm looking for a reliable and safe solution to manage homing with absolute encoders. The machine has to be homed once and reminds the home position even after power off and mechanical movents in powered off state. So clearly, I dont have to home on every power cycle. 
My homing is done in the servo drive itself and passes the data to linuxcnc. 

What I looking for is something like that:
- I would like to disable the hole homing process from HAL, and on power on, shows me the machine is already homed, all axis turn green. 

What is the best method to manage absolute homing anyway?

Thanks. 
 

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

  • tommylight
  • tommylight's Avatar
  • Away
  • Moderator
  • Moderator
More
05 Jun 2024 18:29 #302405 by tommylight
Replied by tommylight on topic Absolute homing
What pin do the drives use to let LinuxCNC know they are homed?
Probably connecting the all-homed pin to and3 out (i think such module exists in LinuxCNC) and drive pins to inputs should work.
Or maybe using the lut5 component if there are more than 3 drives...

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

  • eduard
  • eduard's Avatar Topic Author
  • Offline
  • Premium Member
  • Premium Member
More
05 Jun 2024 19:40 #302409 by eduard
Replied by eduard on topic Absolute homing
I'm using

cia402.0.home

to start the homing process on drives,

then

cia402.0.stat-homing

drives responds they are homing,

cia402.0.stat-homed

after they homed.

here is the process in hal:
# homing
net x-home-request joint.0.request-custom-homing => 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

I have to home 4 drives, later 5.

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

  • eduard
  • eduard's Avatar Topic Author
  • Offline
  • Premium Member
  • Premium Member
More
05 Jun 2024 21:34 #302420 by eduard
Replied by eduard on topic Absolute homing
Yes, there is motion.is-all-homed pin, but is not writable.

Tried with setp motion.is-all-homed true

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

More
06 Jun 2024 09:27 #302452 by Aciera
Replied by Aciera on topic Absolute homing
Unfortunately, with the standard homing module there is no way to tell the controller that an axis has been homed using a HAL pin.
Have you looked at using HOME_ABSOLUTE_ENCODER setting in the ini file?
forum.linuxcnc.org/49-basic-configuratio...oders?start=0#208504
Also it is possible to have a custom homing procedure:
www.linuxcnc.org/docs/html/man/man9/homecomp.9.html

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

  • eduard
  • eduard's Avatar Topic Author
  • Offline
  • Premium Member
  • Premium Member
More
06 Jun 2024 22:15 #302493 by eduard
Replied by eduard on topic Absolute homing
Right now I'm using these two methods for homing. I have a custom homing process, compiled with homecomp and activates the internal homing of the drives. When the homing is done, I turn off (comment out) from the hal and ini and using just HOME_ABSOLUTE_ENCODER = 2, so no movement on axis.
But still have to solve the jogging problem, becouse before axes are homed, sill allowed to jog the machine out of softlimits. Unfortunately the soflimist are not working while unhomed.

This method is not so comfortable, but working. I'm still looking for better homing solution.

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

More
07 Jun 2024 08:13 #302517 by Aciera
Replied by Aciera on topic Absolute homing

When the homing is done, I turn off (comment out) from the hal and ini and using just HOME_ABSOLUTE_ENCODER = 2, so no movement on axis.

Seems a bit suboptimal to have to edit the ini file after homing. If I remember correctly, the custom homing module creates hal pins for each joint that let you choose whether to use custom homing (ie drive internal) or default homing (ie HOME_ABSOLUTE_ENCODER = 2) but I have not tested that.

As for jogging, you should be able to handle that from hal using 'motion.jog-inhibit' pin.

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

  • eduard
  • eduard's Avatar Topic Author
  • Offline
  • Premium Member
  • Premium Member
More
07 Jun 2024 19:34 #302555 by eduard
Replied by eduard on topic Absolute homing
"As for jogging, you should be able to handle that from hal using 'motion.jog-inhibit' pin."

Thanks, this is what I'm looking for.

I need homing once and the rest of the time the drives will solve the accuracy, but yes, it it not optimal.

"If I remember correctly, the custom homing module creates hal pins for each joint that let you choose whether to use custom homing (ie drive internal) or default homing (ie HOME_ABSOLUTE_ENCODER = 2) but I have not tested that."
Did you saw that in documentation? I did not find it.

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

More
07 Jun 2024 19:54 #302558 by Aciera
Replied by Aciera on topic Absolute homing
I only tried this once to have a look at it in a sim config but I used the '#defined HOMING_BASE' to point it to the default 'homing.c' which then created a 'homecomp.c' that created the joint hal pins I mentioned above. This then let me choose to home the a joint with my modified home procedure or the standard one. 

If HOMING_BASE is #defined and points to a valid homing.c file, an example of a customized homing module is built. This module creates input hal pins joint.n.request-custom-homing that enable an alternate joint homing state machine for requested joints. A hal output pin joint.N.is_custom-homing verifies selection" 

www.linuxcnc.org/docs/html/man/man9/homecomp.9.html

 

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

More
08 Jun 2024 06:33 #302609 by Aciera
Replied by Aciera on topic Absolute homing
Just checked and that is indeed how I got the pins created

 
Attachments:
The following user(s) said Thank You: tommylight, eduard

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

Time to create page: 0.097 seconds
Powered by Kunena Forum