Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error 33 with Arc Motions #17

Open
einencool opened this issue Jul 17, 2018 · 11 comments
Open

Error 33 with Arc Motions #17

einencool opened this issue Jul 17, 2018 · 11 comments

Comments

@einencool
Copy link

Hello,
I've got a question about your Post Processor.
Very often I get the "Error 33" when trying to cut some round shapes or with adaptive clearing.

I read about this issue, that it comes from a difference in the positions where the arc begins and where it ends.

Sometimes I've no chance to get the Code running on my CNC (using Grbl 1.1 with bCNC) When I switch the Post to the normal GRBL Post. then everything works fine.

Someone wrote, he changes the Arcmotion from "xaOutput" tp "xOutput" and then it works.
Could this be possible, and what could be the reason for that?

If you would like, I can attach a little Program with the Strooom and the GRBL Post to see the difference.

Many thanks in advance.
Greets Chris

@Strooom
Copy link
Owner

Strooom commented Jul 18, 2018 via email

@einencool
Copy link
Author

Hi Pascal,

You mean, for Arcs the amount of digits should be 5 or 6 ?
So 0,00000x points instead of 0,000x?

For me it sounds a little bit strange, because on the „normal“ GRBL Post there are only 3 digits and it works.
In your Post there are already 4 digits.

But I will try it in the next days and give you a feedback.
I hope I‘ll find the Program where I have so many issues.

Thank you for your response
Greets Chris

@Strooom
Copy link
Owner

Strooom commented Jul 18, 2018 via email

@einencool
Copy link
Author

Hi Pascal,

Sure, enjoy your trip, and if you get some time for this, it would be great if you can fix this :-)

Greets
Chris

@rccoffin
Copy link

Hi Pascal - I've been using your F360 post for some time now for a DIY GRBL based CNC with some very limited functionality. I did some (poor) hacks to accommodate my preference for inches and remove a few other limitations of my machine. Over the weekend I was doing a 3d carve from F360 and started getting a lot of error:33, 36, & 26. Looking at the gcode I noticed a couple of things which I think are causing this. Trailing zeros are getting trimmed which leaves you with a smaller number of digits for the arcs - my hack was to add "trim:false" to the vars xyzFormat, arcFormat, feedFormat. I also found a google reference to GRBL1.1 not respecting previous position in G2/G3 modal commands. I found GCode in my nc file with lines of G2/G3 without the xyz moves but with the appropriate ij moves. My hack for this was to add "force:true" to each of the vars xaOutput, yaOutput, zaOutput. The gcode looks better now. I'll try to run this weekend. Hope this is useful input. I sure appreciate all the work that you have done on this post.
Regards - Russ

@Strooom
Copy link
Owner

Strooom commented Jul 25, 2018 via email

@Strooom
Copy link
Owner

Strooom commented Jul 25, 2018

Here is when GRBL decides to throw an error 33:

When the arc is projected on the selected plane, the distance from the current point to the center differs from the distance from the end point to the center by more than (.05 inch/.5 mm) OR ((.0005 inch/.005mm) AND .1% of radius).

Looking at the 0.1% of radius :

  • when using x decimal digits of resolution, the rounding error is ~ (0.5 /10^X)
  • 0.001 * R >= 0.5 / 10^X
  • R <= 0.5 / 10^(X-3)

So with X=3, arcs with radius of 1mm could be in trouble..

Possible solution I see :

  1. Increase resolution (X=4 or x=5)
  2. linearize the arc if the radius is still smaller than 10^(X-3)
  3. reduce tolerance for linearization from 0.005 to 0.002 mm

@rccoffin
Copy link

Thanks Pascal - I know my hacks are brute force and heavy handed and I wouldn't recommend adopting directly - I look forward to the new version of the post processor.

  • the trim;false was only because I noticed that error 33 happened when 0.3210 had been trimmed to 0.321 - I know these numbers are technically the same and there could be some other cause. BTW - I had set both linear and arc to 4:4 previously. I have no evidence that there is 100% correlation between trimming and error 33.
  • the force:true is overkill as well. I suspect that the error:33 was resetting something in GRBL so that when UGS send is restarted GRBL forgets where it was and complains. Again no 100% evidence ...
  • thinking about it, even though GRBL was complaining about things, there did not seem to be any problems with the actual carve. You would think it would mess up things but there was no visible problems introduced. The many error-pause-ok-restart sequences did not seem to have any undesirable outcome other than I needed to be more watchful of the operation.

Regards - Russ

@Strooom
Copy link
Owner

Strooom commented Jul 25, 2018 via email

@Strooom
Copy link
Owner

Strooom commented Jul 26, 2018

Hi all,

I've investigated the issue and I think it is due to rounding errors on very small arcs..
I think it can be solved by:

  • increasing the number of digits - which I've done. Fusion will trim the numbers from trailing zeroes anyway, so in most cases this will not lead to a significant increase of the GCode filesize...
  • setting some parameters such as minimumChordLength, minimumCircularRadius, minimumCircularSweep. When these are set to slightly larger values, Fusion will linearize those tiny arcs if it needs them.

Finally, with investigating this issue, my understanding of how the postProcessor works was extended, and as such I was able to simplify some other parts of the code. I think the simpler, the better.

Let me know how it works for you !,

kind regards,

Pascal

@Mynasru
Copy link

Mynasru commented Nov 16, 2018

After increasing the number of digits, and setting the parameters larger it worked for me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants