Page 1 of 1

G02 Circles

Posted: Fri Jul 22, 2016 1:22 am
by rfresh737
Awhile back somewhere I read that we should not try to make a circle with one G02 command, that is was better to do a circle in 4 parts.

I have a small laser machine running Grbl 0.9i and I see at each arc point there is a small surface burn where each arc starts/stops.

I can't find that reference now that I read months ago, advising making circles in 4 parts, but is this still recommended? And if it is, is there anything I can do to reduce that laser head hesitation that makes those small surface burn marks?

And lastly, I'm running 0.9i should I upgrade to 0.9j?

Thanks...

Re: G02 Circles

Posted: Fri Jul 22, 2016 10:46 am
by WillAdams
I believe that was the G-code page in the wiki, and the reason for not is the potential ambiguity of the actual path which might vary from one G-code implementation to another. If it works on your machine, just do it. But remember to test if the interpreter is upgraded or changed.

Re: G02 Circles

Posted: Fri Jul 22, 2016 2:07 pm
by Will Winder
There are weird rules and edge cases for arcs and splitting them up into sections avoids having to trust that the controller was implemented correctly.

As for the pause marks, make sure your gcode sender is buffering multiple commands to grbl and you should have no problems. Most senders get that right, but you seem to be using one that doesn't. More specifically it is probably using the "Send-response" protocol instead of "character counting".

Re: G02 Circles

Posted: Tue Aug 02, 2016 6:04 am
by DRobs86
The radius method can only arc 180 degrees, but I seem to remember that IJK offsets allow a full circle.

Re: G02 Circles

Posted: Tue Aug 02, 2016 7:48 am
by Estlcam
Hi,

splitting arcs is not necessary if your CNC controller interprets it correctly.
It is just "good practise" if you don't know how your CNC controller behaves because a full circle command is ambiguous: it may be seen as a full 360° circle or no circle at all (0°).

Christian

Re: G02 Circles

Posted: Tue Aug 02, 2016 2:30 pm
by chamnit
For reference, Grbl does support full circles in IJK mode. You need to specify at least one axis target and one IJK term. So for a full circle of radius 5mm from the origin, 'G2 X0 I5 F500' will draw a 5mm radius circle from X0 to X10 and back. It's completely fine to write full circle arcs in this way in IJK mode, but absolutely NOT in the R radius mode. The latter is highly numerically unstable by its formulation/design. It's highly recommended that you just stay away from R radius mode arcs or, if you have to use them, break them up into semi- or quarter- circles at the largest.

As Estlcam mentioned, full circle arcs are not something that is universally supported or consistent. LinuxCNC has a relatively new way of doing this with a P term, which isn't supported by Grbl. Older CNC machines actually enforce semi- or quarter- circle arcs only. If you look at some good CAM programs, they will usually have an option to set this in the post-processor so it'll be output correctly for your machine.

Either way, it's always good practice to keep your arcs broken up into semi-circles. It's almost always supported in this way and will not effect how your program runs if you move it to a different machine. Although, its harder to hand-write g-code like this, most CAM programs will do it for you.

Re: G02 Circles

Posted: Tue Aug 02, 2016 2:35 pm
by rfresh737
Thanks everyone for the great information...!!!