I have a small milling machine controlled by GRBL v0.9j. It carves lines at any angle quite well (using G1 command). Precision is also very good - the control point always returns to the same spot. But as soon as I start using G2/G3 commands there are aways visible problems.
The developers claim that as long as the arc tolerance parameter ($12) is set to a small enough value the inconsistencies should be unnoticeable. I ended up using extremely low value $12=0.0001mm and in most places the circumference of the circle is indeed very good. But look at the picture:
While the inner circle is perfect, the outer has flat regions parallel to main axes. To prove that it is not an optical illusion I measured the diameter and it is indeed smaller in vertical or horizontal directions. How this is possible without quite complex trajectory involving Z-axis, I don't understand. I'm using a 2.4mm engraving cutter, but I think it shouldn't matter. The material is solid timber and the speed is about 5000RPM. G-code lines went directly into GRBL using a simple serial port sender (command line, no GUI, and I'm sure it sends only what's submitted). I fed commands line by line waiting until the previous finishes executing before sending the next.
These are the commands:
Code: Select all
G17 G21 G90 ( use mm) G00 Z2 (above the surface) G00 X-8 Y0 (move to the start point) G01 Z-0.3 F30 (down to cutting, slow feed) G02 X8 Y0 R8 F30 (first CW semi-circle) G02 X-8 Y0 R8 (second CW semi-circle) G03 X8 Y0 R8 (first CCW semi-circle back) G03 X-8 Y0 R8 (second CCW semi-circle back)
I wonder if anybody can explain what could be wrong and what else I may look for? Thanks!