Forum Header

Homing Z wants to home X first.

More
7 years 6 months ago #132199 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):
Code:
[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 to join the conversation.

More
7 years 6 months ago #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

Please Log in to join the conversation.

More
7 years 6 months ago #132209 by allistar
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.

Please Log in to join the conversation.

More
7 years 6 months ago #132212 by rodw
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
Code:
[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 to join the conversation.

More
7 years 6 months ago #132213 by allistar
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..

Please Log in to join the conversation.

More
7 years 6 months ago #132216 by rodw
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:
Code:
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 to join the conversation.

More
7 years 6 months ago #132217 by allistar
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.

Please Log in to join the conversation.

More
7 years 6 months ago #132218 by tommylight
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.

Please Log in to join the conversation.

More
7 years 5 months ago #132823 by allistar
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 to join the conversation.

More
7 years 5 months ago #132829 by rodw

allistar wrote: 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 to join the conversation.

Time to create page: 0.061 seconds
Powered by Kunena Forum