Hi,
I'm having some issues with my TinyG outputting straight lines instead of arcs when I send it G2 and G3. As far as I can tell, this does not happen every time. I am sending these to a small Sherline lathe. I have successfully turned a bigger radius (R0.3655) on the end of a small brass part, but the Tiny G seems to be turning other G2's and G3's into G1's or potentially just utter nonsense moves. My current theory is that this happens below a certain R value, but I can't say for sure. My chordal tolerance was set at 0.01", I dropped this to 0.001", and later 0.0001". The minimum arc segment length ($ma) = 0.004".
ChiliPeppr is loading my geometry and everything looks correct.
Is there a minimum size for geometry with the Tiny G. I'd like to be able to turn pretty small little radii.
I did a little further testing. Here is some test code I ran. The Tiny G ran all of the arcs perfectly except for the last 3. Instead of running these, it skipped straight from line N7 to N11 and made a rapid move back to X3 Y0.
tinyG does have limitations on some G2 and G3 moves.
It has implemented rather strict check for arc start and end points based on gCode specifications.
Is this manually generated gCode, or output from a CAD to gCode translator?
Are you in inch mode or mm mode? MM frequently works better. All tinyG internals are in mm, inch commands and data are converted first into mm, with some inevitable loss of precision(its 8 bit math).
the CP display on screen is essentially a gCode plotting package and does not include the rules checking that goes on within tinG
That last snippet of code was written out by hand. I had trimmed off past the 3rd decimal place to see if it helped. Just recently I tried running a few more tests that were mathematical exact endpoints:
I tried this with both 3 and 4 decimal places, and it still fails to run anything with a radius under 0.1", which tells me there is some setting somewhere that prevents radii under that specific value from being cut.
I have tried every possible combination for $ct and $ma (chord length and minimum arc length) and these do not have any effect.
So, I tried converting this GCode to mm, and it turns out that was the issue. Very small arcs need to be in mm, or there will be errors finding the equation for the arc, I'm guessing. I was able to trace arcs with a radius of 0.1mm with no issue. It's a bit of a pain in the neck having to convert units, but it will work for my application.
I hope this helps someone having issues with:
1. TinyG not cutting arcs.
2. TinyG small arc problem
3. TinyG G2/G3 problem
4. TinyG mm inch conversion problem.