Can someone tell me how to set a work offset? IE G54,G55 Etc. The way I under stand it is if you click on G54, the machine will move to that starting position. I need to know how to set that position.
Hello Steve.
I’ll explain what I know about coordinate systems in grbl. You may know some or all of this background information but if you don’t a simple answer to your question might lead to more problems than it solves.
The first thing is there are two types of coordinates, machine and work coordinates.
The machine coordinates are the small numbers in gSender below the big work coordinate numbers. There is only one set of machine coordinates, they are the ‘real’ or ‘main’ coordinates for the machine for lack of a better word. The machine coordinates are set to zero wherever the machine was when the board was powered up. They are also set when you home the machine.
G54, G55… are work coordinates and they are stored offsets from the machine coordinates. Workspace coordinates are stored in EEPROM memory. The important thing about EEPROM is it survives without power but you have to remember they are just offsets from the machine coordinates so if the machine coordinate zero position changes so does the actual location of a workspace zero even though the offset was saved.
So to end the background if you want to use workspaces for more than one carving session you either need a way to restore the machine coordinates or leave it powered. You don’t necessarily need switches and homing to restore the machine coordinates but you’d have to have the machine at [0, 0, 0] in machine coordinates when powered off and know that it didn’t move.
So now to your actual question. When you hit ‘Zero All’ or ‘Zero’ for an axis you are setting the workspace offset for the space you are currently in.
So for example I can set XY zero to the near left corner of my work in G54. Then I can switch to G55, jog to the center of my work and set XY zero there. Now if I switch to G54 and hit Goto XY zero the machine is going to move to the near left corner. Switch back to G55 and hit the Goto XY zero and I’m back at the center.
I gave all the background information because with the simple answer you could spend all day setting up multiple workspaces with fancy jigs, then power everything down, come back the next day and nothing is where it’s ‘supposed’ to be.
It’s important to understand the machine coordinates because they are the ‘source of truth’ for the machine and everything else is just a convenience for us humans that aren’t very good at doing math at high speed!
Long answer but I’d rather give a long answer than a quickie that leads you down a bad path.
… might lead to more …
Unfortunately, a long answer also has that problem ![]()
With the AltMill/SLB-EXT and its use of closed loop steppers, isn’t one of the reasons for using closed loop that the steppers always know where they are, even after power cycles? Or (as it now seems probably after typing the above) does the closed loop simply mean they are ALSO using relative or incremental coordinates, not absolute?
-John
Close loop is not something that I have experience with so I could be wrong on this. I could be wrong on anything really but I do try ![]()
I thought that closed loop was just a correction for when the machine says move 10 steps and it detects that it missed 2 steps and then it moves 2 more before going on to the next move.
As far as I know it doesn’t having anything to do with the relationship between machine and work coordinates and power cycles.
Open to learning, and trying to remember it, if I’m wrong.
This is such a simple concept but holy cow is it ever important!
Your understanding of closed loop motors is also correct!
I would like to add a tiny bit to the home position concept for the Altmill … The home position is set by moving the carriage until the homing switches for the respective axis is triggered and that becomes the physical zero position. If the home sensor has moved for whatever reason or if it has poor repeatability, you are also screwed. You need to be aware of this tidbit because it can bite you in the behind if your tolerances are tight.
I have not had an opportunity to check repeatability of the home switches.
Good point about moving sensors or switches. I’ve wanted to modify the mounts for mine to gain some space but I waited until making a new spoil board because my lasered grid pattern and holes for two sided work were based off the home position.