-
Notifications
You must be signed in to change notification settings - Fork 39
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
Improve Marlin 1.1.x ARC Support based on the improvements of Marlin 2.0.6 #61
Comments
Yes, firmware compensation is basically accounting for the missing min_arc_segments define, which allows accurate geometry for small arcs. When using only mm_per_arc_segment, small arcs will end up looking like polygons. Compensation just prevents arcs from being generated if they violate arcwelders min_arc_segments + mm_per_arc_segment setting. Adding min_arc_segments is the thing you should focus on, though there are other changes in marlin 2.0.6+ that are beneficial, like an enhanced junction deviation algorithm. You may be able to compensate for that by adding a min_segment_length define to prevent insanely shot segments from being generated. Why don't you look at my marlin fork of prusa's fork of marlin 1. I have basically already done most of this there. It shouldn't be too hard to adapt. Check my repo list for this. |
@FormerLurker thanks for the info, I will look up your repo as an example I did the first commit, adding the min_arc_segments, 24 is a good value? What about the ARC_SEGMENTS_PER_R and ARC_SEGMENTS_PER_SEC? Also, do you recommend any small stl file to print as a test? like the calibration cube, but focused on the ARCS |
Those settings are good defaults. Though the feedrate based settings are cool, they require a bit of testing to properly configure. Maybe consider implementing those later. As for a test, the first layer of benchy is pretty good, as it has curvy text. Slice it with archimedean bottom infill for a proper test. |
@FormerLurker How much infill is needed for the test? "Archimedean Chords" for the bottom only? I cut the benchy file, so it will print the first 2 layers only. Not sure if I should use the G90/G91 Influence Extruder with my firmware modifications ============================================================================== This is another test printing more layers and using a different interior infill: |
Wow, that's some line width :)
The infill amount won't batter, because top and bottom infill is solid. Since you are only printing the first two layers, you won't have sparse infill at all.
You should not. Looks good! drop a link to your mods. I'd be curious to see what you have. |
Regarding the link, I pretty easily found your repo, so not necessary. Nice job! |
Hello, thanks for this amazing lib.
I'm planning to get the Marlin 2.0.6 feature into Marlin 1.1.9 since I use my board is 8bits and I don't want to update to 2.x.
The idea is to compare the differences between the 2x algorithm with the 1.1x algorithm.
What you mean by greatly enhanced? What is missing on 1.1x?
Marlin 1.1.x ARC implementation: https://github.com/MarlinFirmware/Marlin/blob/1314b31d97bba8cd74c6625c47176d4692f57790/Marlin/Marlin_main.cpp#L14451
Marlin 2.x ARC implementation: https://github.com/MarlinFirmware/Marlin/blob/b9065195f1babf00ee453c39410206af90a525ae/Marlin/src/gcode/motion/G2_G3.cpp#L25
Some differences that I found:
#18 is also related to it, right?
What do you think about the idea?: I'm a newb about ARC Welder, how could I test the modifications? Do you have an STL file that can be used as a test? I'm using Slic3r
Another part that I'm not sure if it is the same logic or improved:
Marlin 1.1.x
Marlin 2.x
The text was updated successfully, but these errors were encountered: