Ok, I know that this is on cncdrives radar, however I've been looking at some of the settings to try to understand them better.
The clips below may help with diagnosing what the issue is. To me it looks like the corner error max is being applied to the arcs and is undersizing the junctions ..... over quite a distance of the arc instead of just applying the corner error to the actual junction
So here is another simple gcode.
Basically it is two circles, the first is divided into 4 quadrants, and the second is a complete circle.
- Code: Select all
N0000 G0 X500 Y0
N0100 G03 X0.0000 Y500.0000 I-500.0000 J-0.0000 F10160
N0110 X-500.0000 Y0.0000 I0.0000 J-500.0000
N0120 X0.0000 Y-500.0000 I500.0000 J0.0000
N0130 X500.0000 Y0.0000 I-0.0000 J500.0000
N0130 X500.0000 Y0.0000 I-500.0000 J0.0000
N0000 G0 X0 Y0
N240 M30
These are BIG circles and they have just been run in demo mode on UCCNC.
They are in mm, and have a diameter of 1000mm.
The feedrate is 10160mm/min (200"/min)
I played around with the X&Y axis acceleration and also with the linear error max, corner error max and the stop on angles (<89º... <180º etc)
First I set all the configuration settings (linear error max, corner error max etc) to zero
I set the acceleration to 58mm/s/s ........ (why? to prove / test UCCNC obeys centripetal acceleration Acc = velocity ^2 / radius..... so in our case it would be (10160/60)^2 / 500mm = ~ 57.35 mm/s/s
https://youtu.be/oz7PUGawYBYAnd ran the code.... the feedrate slows down at each of the quadrant junctions to zero (i.e. its exact stop), but on the full circle the motion follows the arc without any slow downs (NOTE: it follows the arc), and the feedrate achieved the programmed feedrate of 10160mm, but only on the full circle.
Ok, now I changed the acceleration slightly to 57mm/s/s (again to prove centripetal acceleration is correct). And ran the code.... this time the feedrate was not achieved (as would be expected) but the motion was ~exactly the same in that is slowed down to ~zero for every quadrant.
Ok, now I changed the corner error max from ZERO to 10 units (mm) and re ran the code.
The code ran quicker (as one would expect) .... and it did not slow down as much between the junctions of the quadrants (as would be expected) as we eased off on the junction parameter tolerance..... however have a look at the circle..... the motion was unchanged..... it follows the line of the arc.
https://youtu.be/8rcWLEWHKMANow I re-ran the code, zoomed into the motion....
Note the effect that the corner error max tolerance has on the junctions between the quadrants how the arcs (of the same circle) would be undercut at the quadrant / arc junctions..... but then when you rewatch the complete circle motion there is no slow down (as would be expected) but there is also no undercut in the arc...... and the feedrate is controlled according to the acceleration and limited the feedrate to slightly below the feedrate set of 10160 as the acceleration was 57mm/s/s ([ SQRT (57 x 500) ] * 60 = 10129mm/min as is expected.
https://youtu.be/nAGOiWO_LK4