What is the "proper" zero origin
- blazini36
- Offline
- Platinum Member
- Posts: 925
- Thank you received: 143
The Z on this machine is weird, it's a see-saw and zero on this Z is the absolute center. I'm not concerned about the Z on this machine but for arguments sake on a mill I would expect to call Z-0 the topmost point it can reach inside of soft limits, or basically the Maximum soft limit. So the Z in machine coordinates will never travel positive of 0, it will always be negative or 0.
The X positive direction is to the right of the operator, the Y positive direction is away from the operator. So X0 Y0 in machine coordinates should be the corner to the left and toward the operator and all travel should be called positive or basically the minimum soft limit.
"Home" is just some arbitrary point where I like everything to be after it's done it's thing.
I realize that specific cartesian machines might have some reason to be slightly negative in XY or positive in Z but in general is the above correct or is the machine zero origin supposed to be the absolute center or something? Like if you went out and purchased a VMC, how would it be set?
Please Log in or Create an account to join the conversation.
- spumco
- Offline
- Platinum Member
- Posts: 1829
- Thank you received: 738
Like if you went out and purchased a VMC, how would it be set?
Depends on the manufacturer, but generally the homing switch is at the top...so machine Z-zero is at the top. My LCNC-brained mill has the home switch at the top, and Z-zero about .125" below the end of the ballscrew travel.
One I've used has the home switch close to the top, but about an inch below the top limit switch. The control still sets machine Z-zero just before the limit switch (above the home switch).
Another one has an ATC like a Robodrill or Brother Speedio - those have mechanical drawbar releases that use the Z-axis to lever the tool clamp open. Machine Z-zero is just below the point where the drawbar mechanism is engaged. So there is another 3"(ish) of available travel in Z, but you couldn't use it without dropping the tool.
And the two I've watched (but not operated) with absolute encoders still have machine Z-zero at the top. No home switch, but they've been programmed to search for the absolute position at the top.
In your case, the see-saw means you are never going to use (or care about) any Z-distance above the halfway point. If you tried to grab a tall component and move it across a tall PCB assembly (using space above the halfway point), the other side of the Z-slide might drag on something.
Please Log in or Create an account to join the conversation.
- spumco
- Offline
- Platinum Member
- Posts: 1829
- Thank you received: 738
Every machine I've used where the table moves (mill) has machine zero with the table at the front left. So all machine X/Y/Z values are negative: Z-zero is tool at top and at the back right (table at front left).
The gantry types (router, plasma) are usually set up 'oddball'. The gantry moves away from the operator during homing (depending on where the operator is supposed to stand). Some set machine X/Y zero at the back left (where the homing finishes), and some offset it so machine zero is at the front left - but don't move the head/gantry when homing is done.
I think gantry machines are set up like this for safety so if the operator forgets what's supposed to happen during homing its less likely they'll have something big and nasty moving towards them.
I've not used a fixed gantry machine, and lathes are simple: move the tool as far away from the spindle as possible and set X/Z (and maybe Y) zero.
Please Log in or Create an account to join the conversation.
- blazini36
- Offline
- Platinum Member
- Posts: 925
- Thank you received: 143
I never use home switches, I generally don't see the point. I've always homed to a limit and called "home" some place relative to that.
This PnP is a "gantry" machine and I like home at the rear left. That's where I get confused being used to a mill.
What I call 0 and the limit switches my machine homes against are the left-front. Home is something like X=10mm Y=400mm which is to the back left close to limit switches, but not at soft limits. I think that's actually wrong, I'll have to redo the directions.
I confused the above a bit because on a mill you move the work, on a gantry you move the head so now that I think about it on a gantry when the head is at rear right it would be the same as a mill table being in the front left? So "0" on this thing should actually be the back right?
Please Log in or Create an account to join the conversation.
- tommylight
- Away
- Moderator
- Posts: 19461
- Thank you received: 6529
I still wonder who was the genious that came with that idea.
Please Log in or Create an account to join the conversation.
- spumco
- Offline
- Platinum Member
- Posts: 1829
- Thank you received: 738
So I think you're mostly saying that "zero" is arbitrary, but zero is generally where the home switches are?
I confused the above a bit because on a mill you move the work, on a gantry you move the head so now that I think about it on a gantry when the head is at rear right it would be the same as a mill table being in the front left? So "0" on this thing should actually be the back right?
Yes. Zero is arbitrary, but tends to follow what I outlined. And as Tommy mentioned there are always exceptions.
Regarding home switches - no, I don't see the point of having separate home switches (i.e. 3 switches per axis). But in all the cases I mentioned (except for one mill using Acramatic 2100 ) the 'home' switch mentioned isn't a separate switch. It's just one of the limit switches acting as a reference point (home) during homing/referencing.
In your case, I think machine reference point should be with the gantry away from the operator, and the head all the way to the right. During homing both X and Y move in positive directions (Z first, then Y, then X).
I would then use LCNC's homing sequence feature to offset 'machine zero' by the travel extent. For a 24x24 travel machine, if you press "home-all' the machine moves Z-up, then moves back in Y (pos), then the head moves to the right (X pos). The DRO then reads X24 Y25 Z0.
That way all machine positions are positive, except Z. Leverage LCNC's ability to differentiate between machine 'Zero' and the physical reference location.
Please Log in or Create an account to join the conversation.
- chris@cnc
- Offline
- Platinum Member
- Posts: 529
- Thank you received: 139
Yes that is a good choice. Technical background is that the zero point is where it can be restored after an accident. This saves a lot of time and trouble with the next positions such as ATC or pallet changer.I would then use LCNC's homing sequence feature to offset 'machine zero' by the travel extent. For a 24x24 travel machine, if you press "home-all' the machine moves Z-up, then moves back in Y (pos), then the head moves to the right (X pos). The DRO then reads X24 Y25 Z0.
That way all machine positions are positive, except Z. Leverage LCNC's ability to differentiate between machine 'Zero' and the physical reference location.
Example milling. Locate the center of the table and then half to the left and forward. This is easy to see and reduces the risk of standing behind the reference switch and driving to the end. Z-axis example: constructively defined distance between the table and the spindle nose that can be measured with a gauge block. Also just before the limit switch.
Lathe X-axis, center boring tool and center spindle. However, the reference switch should be at the upper end of the axis and then enter the difference in the home offset. Z-axis constructively defined distance between turret and chuck or spindle nose that can be measured with a gauge block. Also just before the limit switch.
So no matter what happened, you can easily reset your positions. And the old offsets fit again.
Please Log in or Create an account to join the conversation.
- blazini36
- Offline
- Platinum Member
- Posts: 925
- Thank you received: 143
Referencing to the back right (max positive X and Y) I'm not a huge fan of. In a perfect world it doesn't make a difference but I would reference to 0,0,0 (machine origin) which is the front left, then I'll travel to "home" which is somewhere in the back and it's positive of machine origin. I just personally prefer to keep the reference point = machine origin.In your case, I think machine reference point should be with the gantry away from the operator, and the head all the way to the right. During homing both X and Y move in positive directions (Z first, then Y, then X).
I would then use LCNC's homing sequence feature to offset 'machine zero' by the travel extent. For a 24x24 travel machine, if you press "home-all' the machine moves Z-up, then moves back in Y (pos), then the head moves to the right (X pos). The DRO then reads X24 Y25 Z0.
Referencing to the front left is what you described a factory mill as doing, the difference here is that all travel after reference on the mill is negative of 0, and in this case with a gantry head all travel after referencing to that same corner is positive of 0. Is that correct?
Please Log in or Create an account to join the conversation.
- rodw
- Away
- Platinum Member
- Posts: 10780
- Thank you received: 3551
My theory is the front of the machine should be defined from where the operator stands. The x axis should run across your chest with the positive direction running left to right. The Y axis should run away from the operator with the positive direction running front to back.
So if you get the directions right, its time to pick a point for the origin of the absolute machine coordinates. The most obvious point is front left so that all dimensions are positive. That's how I set my mill up.
But because I had to put my Y home switch at the front of the table, the machine actually homes to the max Y position. This means I have a rather long HOME_OFFSET to set the 0,0 to be top left.
I could have made the home position at the back left to avoid the HOME_OFFSET travel. If I did this the Y axis would always be in negative numbers. That might hurt my brain. But this is immaterial because as soon as you touch off with G54, you are moving the origin to your part.
But then I usually touch off at the back left of the part as that's how I did it on my manual mill so I work in negative Y all the time... More recently I've thought about getting rid of the HOME_OFFSET so home is back left to avoid the time wasting traverse on homing.
Please Log in or Create an account to join the conversation.
- tommylight
- Away
- Moderator
- Posts: 19461
- Thank you received: 6529
LinuxCNC can do homing in many ways, have 0 wherever is suitable, and sent axis wherever you want at the end of the homing procedure.
Some examples, besides the "normal" home switches at machine minimum and 0 at machine minimum,
-home switches at maximum travel and 0 at minimum
-home switches at maximum travel and 0 at minimum while end of homing sends the machine to maximum travel
-home switches at minimum and 0 at minimum while end of homing at maximum travel, used this a lot before PlasmaC as it would home and move the gantry away for easy loading of metal sheets on the table.
-home switches at max or min and 0 wherever is needed/required, just set the ini for positive and negative travel, and again ending up wherever needed.
Please Log in or Create an account to join the conversation.