Homing / limits - the manual is misleading, possibly wrong

More
12 Mar 2020 19:20 #159914 by calvin.d
ok here is the relevant sections of my ini
the machine is a gantry style xyyz
with shared home/min for xyy and home/max for z

This seems to be working fine, is there anything obviously wrong ?
[AXIS_X]
MIN_LIMIT = 0
MAX_LIMIT = 440


[AXIS_Y]
MIN_LIMIT = 0
MAX_LIMIT = 380


[AXIS_Z]
MIN_LIMIT = 0
MAX_LIMIT = 51


[JOINT_0]
AXIS = X
MIN_LIMIT = 0
MAX_LIMIT = 440
HOME = 1
HOME_OFFSET = -3
HOME_SEARCH_VEL = -60
HOME_LATCH_VEL = 30
HOME_SEQUENCE = 0
HOME_USE_INDEX = False
HOME_IGNORE_LIMITS = True

[JOINT_1]
AXIS = Y
MIN_LIMIT = 0
MAX_LIMIT = 380
HOME = 1
HOME_OFFSET = -3
HOME_SEARCH_VEL = -60
HOME_LATCH_VEL = 30
HOME_SEQUENCE = -1
HOME_USE_INDEX = False
HOME_IGNORE_LIMITS = True

[JOINT_2]
AXIS = Y
MIN_LIMIT = 0
MAX_LIMIT = 380
HOME = 1
HOME_OFFSET = -3
HOME_SEARCH_VEL = -60
HOME_LATCH_VEL = 30
HOME_SEQUENCE = -1
HOME_USE_INDEX = False
HOME_IGNORE_LIMITS = True

[JOINT_3]
AXIS = Z
MIN_LIMIT = 0
MAX_LIMIT = 51
HOME = 49
HOME_OFFSET = 53
HOME_SEARCH_VEL = 60
HOME_LATCH_VEL = -30
HOME_SEQUENCE = 2
HOME_USE_INDEX = False
HOME_IGNORE_LIMITS = True

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

More
12 Mar 2020 20:29 #159925 by cmorley
After you home is it possible to jog and trip your limits?
For instance in joint 0 (X axis I think) :
you designate that x is between 0 and 440
you are using a shared limit/home for the negative limit so when your home switch trips the machine should be at zero but with HOME_OFFSET you tell linuxcnc that is is actually at -3
3mm isn't much (about 1/8 inch) but I bet it's enough to trip the limit switches.

Chris

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

More
12 Mar 2020 21:05 #159932 by cmorley
To be clearer my bet is you can trip the positive limit after homing but will be 3mm away from the negative limit.
And if you can trip a hard limit after homing, something is wrong.

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

More
12 Mar 2020 22:23 #159944 by calvin.d
so this works for me
but I have HOME_OFFSET = -3
when I set it to 3 I get a limit switch error during homing
I can do the full travel and it stops at the soft limit before it hits my end stop

it seams like setting the HOME_OFFSET = -3 is saying that the limit switch location is at -3 so it hits the switch homes to 1 then can never go below 0 because that is the hard limit negative of the machine

[JOINT_0]
AXIS = X
MIN_LIMIT = 0 (hard limit min)
MAX_LIMIT = 440 (hard limit max)
HOME = 0 (moves machine to this position after homing )
HOME_OFFSET = -3 (distance to offset machine coordinates by, sets machine 0 at that point)
HOME_SEARCH_VEL = -60 (search towards the min)
HOME_LATCH_VEL = 30 (latch toward positive and back)
HOME_SEQUENCE = 0
HOME_USE_INDEX = False
HOME_IGNORE_LIMITS = True

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

More
12 Mar 2020 22:44 - 12 Mar 2020 22:46 #159948 by cmorley

MIN_LIMIT = 0 (hard limit min)
MAX_LIMIT = 440 (hard limit max)

technically MIN_LIMIT and MAX_LIMIT set the soft limits not the hard limits.
Linuxcnc doesn't know anything about hard limits location, just to disable the amps.

I can do the full travel and it stops at the soft limit before it hits my end stop


You say end stops - I assume you mean limit switch.
It's hard for me to say why this still works without seeing everything.
The differences between switch trip point and measurement of actual t trip-to-trip travel vrs what is entered into linuxcnc could make this work satisfactory in practice. As I said 3mm isn't much.

it seams like setting the HOME_OFFSET = -3 is saying that the limit switch location is at -3 so it hits the switch homes to 1 then can never go below 0 because that is the hard limit negative of the machine


Well almost it hits the home switch tells linuxcnc this is -3 then moves to home position (0 from your post there)
meaning you are 3mm from your home/limit switch and your position is 0
meaning you will always be 3mm away from the home/limit switch when it stops at the soft limit, which you set at 0

To see what i mean set your HOME_OFFSET to something easy to see say -25mm
Then you I think you will see your operating limits have shifted 25mm away from one limit and 25mm past the other.

Chris
Last edit: 12 Mar 2020 22:46 by cmorley.

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

More
12 Mar 2020 23:12 #159952 by cmorley
I guess to put it in perspective if it works for you then that's fine - my guess is your missing about 3mm of travel which doesn;t make much difference.

I was only trying to confirm that the docs are right and think how we could improve them. ( I in fact already added a little bi to the docs about machine assumtions that homing makes)

Chris

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

More
12 Mar 2020 23:13 #159953 by cmorley
The following user(s) said Thank You: phillc54, Clive S, superlen

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

More
13 Mar 2020 01:13 #159974 by calvin.d
yes, I am absolutely losing 3mm of travel with the way the config is

if I just have a home/min limit switch I had assumed (probably bad on my part) that I would not want to be able to get too close to the limit switch during travel, which means I need to "lose" some amount of travel. I looked at it as the overrun space.

the link is super helpful
Hard-limits = physical end stops in my case (the orange bits stop the bearing blocks from coming off the rails)
Attachments:

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

More
13 Mar 2020 01:19 #159975 by calvin.d
yep HOME_OFFSET= -25 sets 0 to 25mm from the limit switch
so HOME_OFFSET= -3 sets 0 3mm from the limit switch

is that not a reasonable choice ?
I know i have to add just the travel to make sure I can not hit the end stop because I am loosing 3mm form the total travel

C

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

More
13 Mar 2020 03:42 #159983 by cmorley
There is nothing wrong with what you have if it works but if you want back the bit of travel...

I would try this:
MIN_LIMIT = -.01
HOME = 0

that should get you all the travel you can on the minimum side.
Then I would temporarily set MAX_LIMIT = 450
Then home the machine
it should be just off the negative limts and absolute machine position (not user coordinates ) should be zero

now jog until you hit the max limit switch or if you don't have a max limit switch then until you get maximum travel.
now check the machine position it will be close to 440 but probably a bit more.
If you you have a a max limit switch it needs to be slightly under this number.
say like .01 under

That will be your MAX_LIMIT in your INI.
And that should give you absolute maximum travel.

once linuxcnc is homed it's smart enough to de-accelerate before it hits the soft limits -so it will always stop right on the soft limit.

Of course I would test everything before I tried rapid-ing into the max soft limit.
Chris

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

Time to create page: 0.161 seconds
Powered by Kunena Forum