Setting up the C Beam for its first cut, I am having some problems with the positioning of the cutter head. On the software, the zero position is set at 0,0. On the machine I moved the cutter head to a relative 0, 0 position. For my test, I designed a number of knobs extending to a material space of x=300, y = 80. Problem begins when i start the run, the cutter head drifts to a negative value before it starts on the cutting job. Are my directions reversed or is there some other problems with my configuration? I am doing most of the setup using GRBL's firmware settings panel. Thanks.
CNC controllers have several co-ordinate systems: first one is 'machine coordinates', this is the 'home' position and in GRBL's case it is where you turned on or reset GRBL. GRBL will reset when you connect the GUI. OR, if you have homing switches, they set the 0,0,0 position. By convention the preferred home is X gantry all the way right (tool on the right, +X direction), Y all the way forward (tool at the back, +Y direction) Z at the top of travel, +Z direction, tool safely up and away from the material. There are 6 'work coordinate systems', selected using G54 to G59 in Gcode. Each one can have a separate 0,0 position on the cutting table allowing you to cut 6 of the same part, or 6 different parts, at 6 places on the table in one setup. The default is G54 You don't say which GUI you are using so I will use Universal Gcode Sender as an example. In the image below I have turned on with the machine in the positions described above, then I have jogged to the 0,0,0 position on the material (as defined in the CAM program!) then I pressed the 'reset X axis' 'rest Y axis' and 'reset Z axis' buttons to set the Work position to 0,0,0 at middle left you can see that the Machine position is all negative numbers, and the 'Work position' is 0,0,0. This is normal in machine tools, the work area is normally negative machine coordinates. You can of course turn your machine on in any position you like, but the Z 'UP' and safely away from the work is essential. If we press the $G button GRBL will report the current status, which is now [GC:G0 G54 G17 G21 G90 G94 M5 M9 T0 F0 S0] where we can see the G54 is active. If we type G55 then the status becomes and we can see that the Work position is now the same as the Machine position since we have not pressed any of the Reset axis buttons yet. We could now position the tool on a second piece of material to and set 0,0,0 there, to enable cutting 2 parts in one setup. (we could also edit the Gcode file to give G54, cut the part, give G55, and cut the part again) Most of the simpler CAM programs will not output any coordinate codes. For example SketchUcam will not output G54..59. Other systems, like Fusion360, will give you warnings if you have not selected a coordinate system and will default to G54 unless you select a different one. Here is a video that explains in more detail: