×
Forum Header
Homing Z wants to home X first.
28 Apr 2019 22:09 #132199
by allistar
Homing Z wants to home X first. was created by allistar
Hi all,
I am running LinuxCNC build from source from the git repo (off the master branch, fresh as of 29 April 2019). I have home switches for X and Y and I home Z manually. The homing configuration in the ini file is: (I have removed lines not related to homing):
X and Y home well. It homes Y first and then X. I do this by clicking on the "Home all" button in the AXIS UI. The issue is that when I manually home Z (by going to menu "Machine -> Homing -> Home Z Axis") it automatically homes X first (by bumping up to the X home switch). I don't want it to do this as not only is it dragging the bit on the spoil board (but only about .3mm) it means I cannot home Z anywhere but X=0.
Any help is appreciated.
Thanks,
Allistar.
I am running LinuxCNC build from source from the git repo (off the master branch, fresh as of 29 April 2019). I have home switches for X and Y and I home Z manually. The homing configuration in the ini file is: (I have removed lines not related to homing):
[KINS]
JOINTS = 3
KINEMATICS = trivkins coordinates=XYZ
[AXIS_X]
MIN_LIMIT = -0.001
MAX_LIMIT = 612.0
[JOINT_0]
TYPE = LINEAR
HOME = 0.0
MIN_LIMIT = -0.001
MAX_LIMIT = 612.0
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = -6
HOME_LATCH_VEL = 1
HOME_SEQUENCE = 1
[AXIS_Y]
MIN_LIMIT = -0.001
MAX_LIMIT = 522.0
[JOINT_1]
TYPE = LINEAR
HOME = 0.0
MIN_LIMIT = -0.001
MAX_LIMIT = 522.0
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = -6
HOME_LATCH_VEL = 1
HOME_SEQUENCE = 0
[AXIS_Z]
MIN_LIMIT = -50.0
MAX_LIMIT = 75.0
[JOINT_2]
TYPE = LINEAR
MIN_LIMIT = -50.0
MAX_LIMIT = 75.0
HOME_OFFSET = 0.0
HOME_SEQUENCE = -1
X and Y home well. It homes Y first and then X. I do this by clicking on the "Home all" button in the AXIS UI. The issue is that when I manually home Z (by going to menu "Machine -> Homing -> Home Z Axis") it automatically homes X first (by bumping up to the X home switch). I don't want it to do this as not only is it dragging the bit on the spoil board (but only about .3mm) it means I cannot home Z anywhere but X=0.
Any help is appreciated.
Thanks,
Allistar.
Please Log in or Create an account to join the conversation.
28 Apr 2019 23:36 - 28 Apr 2019 23:37 #132205
by PCW
Replied by PCW on topic Homing Z wants to home X first.
Homing is a mysterious beast... I suspect that you have gotten bitten by a change in homing in master which says that homing of matching positive and negative sequence numbers is synchronized:
github.com/LinuxCNC/linuxcnc/blob/master...onfig/ini-homing.txt
I think that you may simply want to leave the Z axis home sequence undefined
github.com/LinuxCNC/linuxcnc/blob/master...onfig/ini-homing.txt
I think that you may simply want to leave the Z axis home sequence undefined
Last edit: 28 Apr 2019 23:37 by PCW.
Please Log in or Create an account to join the conversation.
28 Apr 2019 23:44 #132209
by allistar
Replied by allistar on topic Homing Z wants to home X first.
Thanks for pointing that out! It seems that the meaning of a negative HOME_SEQUENCE has changed. This is easy enough for me to fix.
Now if only if the step conf wouldn't keep removing my homing settings from the ini file.
Thanks again.
Now if only if the step conf wouldn't keep removing my homing settings from the ini file.
Thanks again.
Please Log in or Create an account to join the conversation.
29 Apr 2019 00:20 #132212
by rodw
Replied by rodw on topic Homing Z wants to home X first.
You can specify the order of homing in master branch. A Negative HOME_SEQUENCE is used to represent a joint axis (eg. a Gantry)
See : linuxcnc.org/docs/devel/html/config/ini-....html#_home_sequence
I would set it up per the first example like this
This will home X & Y at the same time
The docs above say:
If HOME_SEQUENCE is not specified then the joint will not be homed by the HOME ALL sequence (but may be homed by individual joint-specific homing commands).
See : linuxcnc.org/docs/devel/html/config/ini-....html#_home_sequence
I would set it up per the first example like this
[JOINT_0]HOME_SEQUENCE = 0
[JOINT_1]HOME_SEQUENCE = 0
This will home X & Y at the same time
The docs above say:
If HOME_SEQUENCE is not specified then the joint will not be homed by the HOME ALL sequence (but may be homed by individual joint-specific homing commands).
Please Log in or Create an account to join the conversation.
29 Apr 2019 00:29 #132213
by allistar
Replied by allistar on topic Homing Z wants to home X first.
Thanks for the tip. On my machine the Y axis must be homed before X can be homed (if X homes without Y being homed it will crash the gantry). X and Y homing is all good at the moment, the issue was with Z. Now I understand what a negative sequence means I can fix this.
Thanks again..
Thanks again..
Please Log in or Create an account to join the conversation.
29 Apr 2019 00:41 #132216
by rodw
Replied by rodw on topic Homing Z wants to home X first.
Yes, you can change the sequence to suit.
Your ini file did not seem to be set up for a gantry. If you have two motors on one axis, in master you will be better off running them as separate joints with something like:
and add another joint
Then set your home sequence to be -1 for both joints of the gantry.
The advantage of this config will be that the gantry will automatically square on homing and you can adjust squareness by changing the HOMING_OFFSET for each side.
The whole point of the new joint axis code is to separate joint config from axis config. The KINEMATICS statement defines which joint belongs to which axis. V 2.7 had hard coded mapping X, Y & Z axes to joints 0,1,2
Your ini file did not seem to be set up for a gantry. If you have two motors on one axis, in master you will be better off running them as separate joints with something like:
KINEMATICS = trivkins coordinates=XYZY
and add another joint
Then set your home sequence to be -1 for both joints of the gantry.
The advantage of this config will be that the gantry will automatically square on homing and you can adjust squareness by changing the HOMING_OFFSET for each side.
The whole point of the new joint axis code is to separate joint config from axis config. The KINEMATICS statement defines which joint belongs to which axis. V 2.7 had hard coded mapping X, Y & Z axes to joints 0,1,2
Please Log in or Create an account to join the conversation.
29 Apr 2019 00:44 #132217
by allistar
Replied by allistar on topic Homing Z wants to home X first.
My machine has one stepper per axis. The Y axis is driven by dual lead screws connected by a belt to a single stepper. I think XYZ is appropriate for my setup.
Thanks again.
Thanks again.
The following user(s) said Thank You: rodw
Please Log in or Create an account to join the conversation.
- tommylight
- Away
- Moderator
Less
More
- Posts: 19209
- Thank you received: 6438
29 Apr 2019 00:58 #132218
by tommylight
Replied by tommylight on topic Homing Z wants to home X first.
You can not have a homing sequence of -1 for the Z axis if it has just one motor, that is for gantry type machines that use two separate motors for the same axis, as Rod mentioned.
For any normal machine with 3 axis and 3 motors ( or Joints as refered to in the 2.8 version of Linuxcnc ) it is mandatory to have the Z axis home first ( home_sequence = 0 ) and the other 2 axis ( X and Y ) can be both set to 1 or 2 or as you see fit.
This is to avoid moving the X and Y axis while the Z axis is low and could hit something.
For any normal machine with 3 axis and 3 motors ( or Joints as refered to in the 2.8 version of Linuxcnc ) it is mandatory to have the Z axis home first ( home_sequence = 0 ) and the other 2 axis ( X and Y ) can be both set to 1 or 2 or as you see fit.
This is to avoid moving the X and Y axis while the Z axis is low and could hit something.
Please Log in or Create an account to join the conversation.
05 May 2019 08:59 #132823
by allistar
Replied by allistar on topic Homing Z wants to home X first.
I have confirmed that this works well. Setting the homing sequence to Z=0, Y=1, X=2 works for my setup. The online documentation still says that to stop an axis from participating in homing it should have a negative sequence. I suppose this will be updated whenever the current master branch is officially released.
Please Log in or Create an account to join the conversation.
05 May 2019 09:52 #132829
by rodw
I'm sure you are reading the wrong docs. Here are the correct docs for homing linuxcnc.org/docs/devel/html/config/ini-....html#_home_sequence
Be sure you follow the link from the main linuxcnc page and select the correct branch for master. note the .../docs/devel/... in the URL above
Replied by rodw on topic Homing Z wants to home X first.
I have confirmed that this works well. Setting the homing sequence to Z=0, Y=1, X=2 works for my setup. The online documentation still says that to stop an axis from participating in homing it should have a negative sequence. I suppose this will be updated whenever the current master branch is officially released.
I'm sure you are reading the wrong docs. Here are the correct docs for homing linuxcnc.org/docs/devel/html/config/ini-....html#_home_sequence
Be sure you follow the link from the main linuxcnc page and select the correct branch for master. note the .../docs/devel/... in the URL above
Please Log in or Create an account to join the conversation.
Time to create page: 0.079 seconds