Aiph5u
((not affiliated with Onefinity))
April 13, 2023, 5:18pm
60
Hey Chris,
the differentiation between G90 (set absolute distance mode) and G91 (set incremental distance mode) has nothing to do whether the machine is set to use machine coordinates (called “absolute” on the Buildbotics.com / Onefinity Controller) or the coordinate system currently in effect (e.g. after probing the workpiece).
G90 means: When encountering a motion command, move to a point designated by axis values that is absolute in the currently active coordinate system . It does no matter whether your current coordinate system is the machine coordinate system (since you didn’t yet probe/zero something) or whether it is, after probing/zeroing your workpiece, is meant to be interpreted in the currently active coordinate system. It just means, it is a coordinate relative to the currently active zero.
G91, on the other hand, means: When encountering a motion command, move to a point that is relative to wherever the axis is now, at the moment . This means, no matter what the current position is in machine or workpiece coordinates, add the value to the current position (negative values are also allowed). Per g-code definition, the coordinate system of X, Y and Z is always a Cartesian coordinate system with right hand orientation , which means, in this incremental mode, a negative value on X would be towards left, on Y towards front, and on Z towards bottom (see image below).
See also
Homing ≠ Zeroing
Homing: Triggering the homing process by pressing the corresponding home button (for a single axis, or for all axes) causes all carriages to be driven to their home positions. Once the carriages reached these positions, the machine is able to sense this, either by the limit sensors located at those home points (usually inductive proximity sensors or optical infrared sensors, or, as is the case with the stock Standard Series Onefinity CNC, with motor stall detection, which means by sensing that the motor does not move anymore, which is a function of the TI DRV8711 stepper drivers). When the CNC controller sensed that the corresponding carriages reached their home position, it resets the absolute machine coordinate of the corresponding axis to zero. The column that shows these values is the “Absolute position” column.
Where these home positions really are located , differs between CNC machines and brands. On the Onefinity, X home is on the leftmost position, Y is on the frontmost position, while Z is on the topmost position. As the numbers on every machine always increase by moving away from bottom front left and by moving towards top rear right (as the G-Code standard says, see image below), on the Onefinity the X and Y numbers are positive, while Z is always negative, because since Z home is at the topmost position, and the numbers increase towards upper direction, but home is exactly 0, the Z axis has only negative numbers (0 to -133 mm on Onefinity Standard Series Z-16 slider, 0 to -163 mm on Heavy duty Z-20 slider (=standard on Elite Series, optional on Standard Series).
Cartesian coordinate system with right hand orientation
Schematic Representation of a CNC vertical milling center – Source: Smid, Peter: CNC Programming Handbook , Industrial Press, South Norwalk, CT, USA, ISBN 9780831133474
Schweizer Nationalbank , Public domain
On other machines, “home” (aka machine origin ) often is on other positions. Usually home is where the tools are changed, which is top front left on the Onefinity, but e.g. on industrial vertical milling centers (VMCs), home is often on top right rear position, as this is where the tool magazine is. On those machines, the absolute machine coordinates are all only negative values, as the numbers always increase towards top rear right and decrease towards bottom front left.
Homing is usually necessary only once after startup of the machine. Its purpose is to enable the machine to know where its carriages are, which is possible because it is a repeatable starting position. Without homing, the machine would not know where its carriages are, since they could have moved while the machine was switched off. Later, going to the machine home position is usually done to allow a manual tool change as part of the ‘tool-change’ routine (on the Onefinity CNC, it is to be found on the SETTINGS page).
Zeroing: This means after having moved to a desired position, defining this position as the new zero (mostly called “workpiece zero” as this position is usually determined by the probing procedure and shall be an identical representation in real space of the workpiece origin in the 3D model and toolpath). In fact this means a new coordinate system is in effect , represented by the “position” and the “offsets” column.
In fact, Position minus Absolute Position equals to Offset .
The command that sets the current position to the new workpiece zero is G92 (Coordinate Offset) , which is the most important command in every probing routine. It is also the “zero” button on CONTROL page, which in fact executes the command “G92 X0 Y0 Z0
” (or the corresponding buttons for only one axis).
2 Likes