- Posts: 80
- Thank you received: 0
Homing / limits - the manual is misleading, possibly wrong
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 ?
Please Log in to join the conversation.
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 to join the conversation.
And if you can trip a hard limit after homing, something is wrong.
Please Log in to join the conversation.
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 to join the conversation.
technically MIN_LIMIT and MAX_LIMIT set the soft limits not the hard limits.MIN_LIMIT = 0 (hard limit min)
MAX_LIMIT = 440 (hard limit max)
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
Please Log in to join the conversation.
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 to join the conversation.
Please Log in to join the conversation.
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)
Please Log in to join the conversation.
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 to join the conversation.
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 to join the conversation.
