Remove ringing by tuning acceleration and junction deviation - step by step guide
Vložit
- čas přidán 8. 07. 2024
- UPDATE: This process has been streamlined with a easy to use gcode generator for the acceleration tower. All explained in this video: • 3D printer calibration...
The calibration site: teachingtechyt.github.io/cali...
Tuning your 3D printer acceleration is the next step in getting the most of your machine. With this and junction deviation, you can find a nice compromise between speed and surface quality, eliminating ringing. In this video I calculate and tune to match a very high print speed, but this works the same for any feedrate.
Testing the fastest an extruder/hot end combo can push through filament is pretty interesting, and I may repeat this test for future upgrade videos.
Resources:
Martin Pirringer’s original guide: grabcad.com/tutorials/dialing...
Viking Robotics 1989: vernonrobotics.com
My test piece on Thingiverse:
Original Onshape file: www.thingiverse.com/thing:416...
cad.onshape.com/documents/1af...
Prusa acceleration calculator: blog.prusaprinters.org/calcul...
Slicer tuning part 1: • How to tune your slice...
Software:
Pronterface: www.pronterface.com/
Notepad++: notepad-plus-plus.org/downloads/
Marlin references:
M201 max acceleration: marlinfw.org/docs/gcode/M201....
M204 starting acceleration: marlinfw.org/docs/gcode/M204....
M205 Advanced settings (jerk/junction deviation): marlinfw.org/docs/gcode/M205....
Junction deviation article by Paul Wanamaker: reprap.org/forum/read.php?1,7...
Junction deviation article by Kynetic CNC: blog.kyneticcnc.com/2018/10/co...
Buy quality and affordable filament from X3D. Buy 3, get 1 free and a free sample pack with every order: www.x3d.com.au
Buy quality resins from 3D Printers Online. Get modelling, ABS-like, flex, high temp and tough resin at www.3dprintersonline.com.au
Take a look around and if you like what you see, please subscribe.
Support me on Patreon: / teachingtech
UPDATE: This process has been streamlined with a easy to use gcode generator for the acceleration tower. All explained in this video: czcams.com/video/rp3r921DBGI/video.html
The calibration site: teachingtechyt.github.io/calibration.html#accel
hi, the gcode generator creates the model with bottom solid layer
*Does all of this work on Ender 3* ?
_Is there a channel that only deals with __#Ender_3_
Just when you think you're done messing with your printer, a video like this comes up.
There is always "Linear Advance" to play with, as well. It is kind of like tuning the momentum of filament flow.
I came here to say this, but I knew in my heart it had already been said.
Can’t wait until planar is available
There is never an end to the mod's
This video really puts into perspective how far printers have come. In just 3 years you can now get printers that will run reliably well over 300 mm/s and have a volumetric extrusion rate well over 20mm³/s
FYI: I highly respect your videos. I am not a 3D printer expert, but I have over 30 years experience in manufacturing. I have been factory trained with 6000 watt lasers, plasma cutters, flame cutters, 3 axis, 4 axis, and 5 axis machining centers, etc. Used Catia, Siemens NX, and my favorite Solidworks. Newly loving the absolute best.... for free for home use ... Fusion 360. You seem to get that you have to rerun all calibrations when you make a change. A simple nozzle change can affect kerf, temperature adjustments, motion adjustments, etc. Kudos. Also, your sharing of knowledge is just awesome. I only ask that you NEVER... change or alter your opinion based on reward. Keep it real. Thanks.
You are creating the most useful content for the 3D printer users on youtube! Thank you.
FINALLY a good video about junction deviation. I've been waiting for this.
You're a really good teacher. I've stumbled upon your channel just recently and it has quickly become my go-to channel for at least calibration related questions. Although I have already been printing for years, I have still learned a lot.
Thanks for mentioning us - really aprechiate it
Thank you for your work!
Und bringt einen neuen Abonnenten ;)
@@andreasthaler7068 Danke Sehr
@@martinpirringer8055 - thank you Sir for a great job with Marlin, its THE BEST !
Hi, just wanna say that your guide for 3d printer setup is THE BEST! It's comprehensive, pretty easy to follow, and results in wonderful prints. Thanks so much for putting this resource out there!
Helped me get my old Printrbot Simple Metal making beautiful prints again 👍🏻
Michael, thanks for this awesome tutorial. I've fine-tuned my Anycubic I3 MEGA-S using this method and now it just FLIES!!!! (I can reasonably print @ 100mm/sec!!!)
I always enjoy your videos. Thanks for sharing!
How I love to tinker, and you always manage to show me how to do it, even when I think I've done all the tinkering. Great video as always 👌
Another outstanding video. Thank you for doing these. Whenever I run into a problem - yours is the first channel I look for.
Another remarkable video to the 3d printer community! Thx Michael!
Almost done assembling a DIY i3 style printer and in preperation, I'm finally am getting around to properly calibrating my first printer which I've only had for almost 5 years. Can't wait to see what happens to my insane ringing since upgrading to a 32-bit mainboard and marlin 2.0. I'm looking at klipper but I'm so excited to finally be following along with a bunch of your calibration videos! Thanks for so much great content!
Cannot get over how consistently you have been pumping out all this content over the years. With such detail, ease of explanation and pure quality. Hats off to you and many thanks for constantly being there for me since I started my printing journey years and years ago!
Thanks very much for the kind words my friend.
Another excellent video taking something very technical and simplifying it right down. Thanks Michael!
+1 for using Bathurst to explain corner speeds.
Have CoreXY Sapphire PRO which came with "original" firmware and was....... never mind.
Now I'm running Marlin 2 and with your Acceleration/Junction adjustments have printer most successful Benchy ever with base speed of 120 mm, it came out just gorgeous. Thanks Michael to you and and many thanks to Marlin!
Serious treasure trove of info here. Thanks.
And thanks, Martin!
Clear and comprehensive guide, nice!
Fantastic video that expertly clarifies a black box for me.
This was exactly what I was searching for! Thanks for the clear explanation :)
Very good video. My K8200 is well tuned now :) Thank you very much for your work!
Dang man this is gold. Great work for x1 !
G91, then G1 E50 F360 yields consistent results. In fact, at 200c w/ Overture PLA (Red) I get up to G1 E200 F1580 before I get any inconsistencies in my extrusion, even then it's just one click and she's going again. Titan (clone), v6 (clone) hotend with aluminum block and 40w 24v heater. I'm moving on, as I can't see my extruder being the limiting factor.
Thank you for the great tutorial and the amazing website!!
Very valuable tutorial by Martin and you. Thanks a lot. I managed to tune my Ender 3 Pro with Hemera to 150 mm/s. I printed a Benchy - that came out perfectly. :-)
What settings did you end up using ? Stock Ender 3 Pro ? This info would be useful for comparison purposes. Thanks
So awesome! Thanks for mentioning Martin!
I realize this is old. I just did input shaping on my 2019 Ender 5 Pro running Klipper and needed a good test. Thank you for the STL and this video.
Excellent video! Though now you'll have to do that for each of your printers for each type and color of filament you own. Sounds tedious, but you can use the most conservative numbers for each type of filament. Also note that the silk PLAs will act somewhere between PLA and TPU for extrusion.
Thanks for the interesting video, love your work! So after seeing the outcome I would say this kind of tweaking is more useful for people building their own printers or adding new extruders/hotends to an existing platform. I did not see any improvement over the stock settings, but I guess most manufactures would be trying to sell the fastest quality printer and would have done these tests already. One other factor would be printer rigidity e.g. If the belts on my prusa are not tight enough then I'll get ringing, perhaps you need more tension the faster you print.
I have two Artillery X1. You saved me the job! thanks!
I ended up lowering the acceleration to 700 from the factory 800. It may even be worth going even lower. Something like 600 is still more than many printers.
This was a really helpful tutorial! Thank you so much for sharing this!
I just ordered my Artillery Sidewinder X1 v4 printer from Amazon today, and it looks like I'll be coming back to watch this video again in 2 days!
It would be very interesting to see how this tuning could be adapted to Klipper. As Klipper runs on a Raspberry PI and sends only the final commands to the printer board, that should get rid of the pauses/process chugging. There's tests you can do on Klipper for Pressure Advance - but getting speed, acceleration and jerk tuned as well would be fantastic.
Here before going thru the inputs shaping, zeta tuning and ft motion after that. 👑
As usual a very informative video delivered by a very keen and enthusiastic engineer. The videos you deliver are the best videos on 3dprinting and that is not because of the information supplied but rather the person delivering them, fantastic. However just one small point, when using G91 in g-code this is an incremental move not relative i.e. every move is calculated from the last position. Relative is relative to a central point i.e. xo, yo, (G90). This kicks back to my early days in CNC machining so it may be seen differently nowadays however I do see that Marlin describes this as relative but on any CNC Gcode sites it is described as, "Incremental programming", a small point I know but if people go on from 3dprinting to CNC machining it becomes quite a big point to understand the difference, especially in the Z direction!
The correct terminology is Absolute Positioning for G90 and Incremental Positioning for G91. Relative is not an unreasonable substitute for incremental.
Thanks man. I've always wanted to understand the concept of "jerk" in 3D printing for years, but you are the first to help us understand why it affects what it does. The graphs were super helpful. Thanks man. And stay awesome! 😌🌎✨
excellent, wonderfully descriptive and helpful.
nice job on the math for figuring out top speed / jerk / acceleration. While a giant fan sorta cools things down, I don't think it's doing what you think it is simply because it's a large mass of air but not high CFM. I have an ender 3 with stock firmware, but I have a larger fan like prusa does blowing directly at my nozzle (no bend that would cut down on speed) and I can easily print 80mm/sec without artifacts.
Very interesting. Thank you.
Great video, as always! Gonna have to try this. 🤔
Great walk through
Thanks for sharing this great video :-)
Thanks for the great tutorial!
Tip: When using Slic3r or PrusaSlicer u can use conditional gcode right in the Programm, instead of editing the gcode in a text editor. Example for 0.2: {if layer_num == 0} M204 P400
{elsif layer_num == 25} M204 P800
{elsif layer_num == 50} M204 P1200
{elsif layer_num == 75} M204 P1600
{elsif layer_num == 100} M204 P2000
{elsif layer_num == 125} M204 P2400
{endif}
u could use "layer_z" instead of "layer_num" for Millimeters
Nice tips! It is also possible to add a custom gcode directly on the layers window by right-clicking on the + icon (where you could make a color change before).
Excellent video, as usual. Thanks for the website it's amazing :)
Ran the volumetric tests and found that my Titan clone could in fact easily push F480, but the printed mount I'm using would torque upward significantly above about F420 so I settled at F360. That's still a good 150mm/s by your spreadsheet.
For those using Prusa Slicer use that "Before Layer Change gCode" in printer Settings tab;
{if layer_z == 5}M204 P400{endif}
{if layer_z == 10}M204 P800{endif}
{if layer_z == 15}M204 P1200{endif}
{if layer_z == 20}M204 P1600{endif}
{if layer_z == 25}M204 P2000{endif}
{if layer_z == 30}M204 P2400{endif}
Just use Cura to manage the acceleration and jerk in the profile. I have an sidewinder x1 tuned in at 500/7 for print and 1000/8 for travels moves. Works flawlessly!
Unless you use linear advance in marlin. LA does NOT like when cura fucks with print acceleration at all. It causes all sorts of weird behaviour.
I printed a calibration cube (20mm) with different value of Junction deviation and it’s day and night regarding the sharpness of the corners!
Really useful video, thanks!
OH MY GOSH DOOD I've just started trying to tune this and just hoping anything sticks because there's like no information on it, and then this video shows up!!!
Guy 1: What does my tattoo say that's on my back?
Guy 2: Dudeeeeee
Guy 2: What does my tattoo say that's on my back?
Guy 1: Sweet
rinse and repeat about five times.
LOL sorry saw you say dude and had to reference that movie.
You're fucking awesome. Thank you for teaching me so much so quickly. Been just upgrading along side your videos playing, making me really uplifted from a deep depression of not making anything for a decade.
I’d love to see another video about strictly reading results with some obvious fails.
Awesome Tutorial! thx! :)
Would love to see a video on tuning/optimizing acceleration and jerk based on machine kinematics. I've always wondered if on an ender style machine, with the large difference in moving mass between x and y, the values of acceleration and jerk should be different as well
I had slight problem with ringing and i fixed it by dropping acceleration in Cura to 350 ms but i need to try this and optimize my printer even more.
@Teaching Tech ; Would be really interesting to see the difference between marlin and klipper, utilizing the same printer in regards of the blobs.
Acceleration has a big impact on printer sound as well. It can go from a quiet buzz to a loud screaming beep.
Of course you can adjust the printer firmware to reduce ringing but most of your accelleration happens in the infill. So reducing your firmware accelleration will slow your printer down more than needed. I use the reduced acceleration and jerk just for the contours and expecially the outer layer and I limit them in the slicer instead of firmware. This way I can speed up the infill and improve the aesthetics of the shell
Thanks for sharing. This was the point I made at the end regarding acceleration control in Cura.
Aren't the acceleration options in Cura more limited than in Marlin? I seem to remember X and Y were separate in Marlin but not in Cura.
Hi Michael and Happy New Year! I am now calibrating my Ender 3 after converting it into direct drive and using your web site, going tab by tab is such a great thing. Absolutely great job! I got to acceleration tuning and printed my first tower and was wondering what is the reason for printing bottom layer? It seems to be a pretty much waste of time and towers you show in video has no bottom layer. Is there a reason for that or is this a bug in your calculator?
Many thanks and all the best for you!
As usual great video. But you know what I'd like to see is pick a 3d printing issue and work on that. It would help people so much. There's so many terms that new people might not know. Like
1.under extrusion this is what it looks like this is how to try and solve it.
2. Layer shifts is what it looks like this is what to look for
3. Ghosting and so on. The reason I ask this is because I watch so many videos and they will talk about said things but never what it looks like or where to look to fix.
This is actually a great idea, could pick the most common issues from here, showing what each looks like and how to fix: www.simplify3d.com/support/print-quality-troubleshooting/
@@cscoppa great link. I'll read through it more later. Thank you
I've thought about such a video. The problem is it would be extremely long to cover everything in enough detail. And then someone would call it rubbish because it doesn't cover their particular problem. Still might happen.
Teaching Tech just do one at a time, do it as a series, and at the start of the next video you could have a segment for the previous video addressing any misses or what have you. Might be a nice thing to do in respect to getting volume videos out without crazy amounts of concept generation that could become “bread and butter” videos, because they would get bulk hits and introduce new subscribers
@@Etacovda63 He can also encourage the community to contribute by adding their solutions to the problem in the comments. Agreed that dividing it up into smaller chunks would make more sense.
11:43 People should know that the Artillery Sidewinder X1 doesn't have "save to EEPROM" enabled by default. You're gonna have to flash a custom firmware to enable it or add any G-code commands to the "Start G-code" textbox in your slicer.
Oooooo... i need to try this
This was genius
The speed of extrusion will vary depending on your nozzle temperature or even brand of filement.
If you watch to the end of the video he mentions that specifically, and it is why you should detune slightly to account for these differences.
Until watching some of your videos, I had no idea 3D printers were so fiddly! I am leaning towards getting the Ender 3 Pro as my first so I subscribed to your channel knowing now that you will help me get up to SPEED.... in a hurry! ;)
Modifying and tuning them is fun but most will print quite well stock, so don't feel pressure to tweak unless you want to.
@@TeachingTechThanks mate, I appreciate that! I am curious though if there are any other printers you would recommend, perhaps more so than the Ender 3/3 Pro for under, say $350 US, or would it be best the stick with the E3 Pro and maybe do some mods down the road after I've shed the newb title and know what I want more?
@@Viking8888 Ender 3 Pro is the best for the prize. You will enjoy it.
@@timm3802 Thanks Tim, I appreciate you saying that!
If you have a budget of $350 then hands down go with the ender 5. That was my 1st printer (bought it a little over a year ago) and its phenomenal. Basically the same as an ender 3 (so all of the e3 upgrade videos will still work) without the issues that occur with "bed slinger" printers.
The units for 'Reliable feedrate' at step 5. are implicit and ambiguous. The correct units appear to be mm/m, but units of mm/s are suggested by the calculated 'max reliable xy feedrate'.
Thank you for the very good explanations, one question though, how much does layer hight influence the tests, I know you did all the callibration on 0.2 so I guess you will have to do separate calibrations according to different layer hight aswell?
If you have a nozzle that is 0.4mm and a line width that is 0.048mm, then that means you will have a separation between each line of 0.08mm. This may be compensated in line width overlap. Not too sure why you would do this though. I have tested this exact thing on CURA and you can see you the line separation in the preview mode increases as you increase the line width.
Awesome video, thanks. Your videos have been a huge help to getting started 3D printing.
After printing the acceleration calibration, I realized the G-code had a M201 command setting XY acceleration to 500 mm/s^2 max - do I need to remove this line and reprint? From what I'm reading, M201 limits acceleration set by M204, but it's not super clear.
Interesting video, will try this out on my X1, good work :)
Maybe a stupid question, but why is the test piece oriented like y=x and x=y (around 10:50 in the video)? Shouldn't it be turned 90°?
thank you for this. If the test model didn't show any variation for junction deviation values, then how do you know it works as a valid test for junction deviation. also s-curve is supposed to allow higher acceleration without ringing. Klipper doesn't include it because ,as noted by a klipper developer in their scm site, s-curve has never shown to make a difference so it was decided not to develop it in klipper. It would have been interesting to see it it made a difference.
Another excellent video. BUT, as a newbie, I got nothing out of it. You might as well been speaking Chinese to me. You guys have to remember that a LOT of us are not programmers. Anyway, keep up the good work, I just wish you had "For Dummies" series.
In watching this video I wondered if you ever did a comparison of hot end types to show if one can melt more filament than another? Like E3D, Swiss,etc.
Hi, first of all I've to say thank you for all your precious posts. Now just one question, as soon as you find your optimal feedrate in 420, and you set the speed in the slicer accordingly, why you didn't update your M503 with M203 X420 Y420 ? Did I understand something wrong?
Aww. I thought for a minute you could help my tinnitus! Disappointed, I tell you! Disappointed!
In a seriousness, excellent content. Thank you.
Hi Michael. Thanks for putting this together. One question I had regarding this. With stock Ender machines, I know the firmware default acceleration is 500. I've been seeing differing advice on this regarding overriding that in gcode. From what I've been reading, whatever the firmware has your max acceleration set to, you're not able to override that in gcode. But you can use gcode to set it below that value. So, in the case of your video, would I need to set my max acceleration in the firmware higher and then go through these tests? Otherwise I would think any settings you set in the gcode would be capped by your max acceleration in the firmware. Is that correct?
Good video! I definately need to do this on my Ender 3 Pro with the Hemera.
But one dislike? Is Design Prototype Test still watching your videos? :D
Madlad
Who is Design Prototype Test? Did I miss something?
@@snelinternet4654 hes some asshole who has even acussed Josef Prusa of stealing ideas from him, he super pro-american to the point of ridiculousness (he one time refused to use the SD drive which came with the 3D printer because he feared China´s government would use it to spy on him.) 😂😂😂😂
@@Michallote ... but uses googles nest, which for sure does 😂😂😂
Thank for this video.
Was helpful, however I feel it has a big flaw.
I've been configuring a new Duet 3 board and if you don't raise your Jerk values, no matter how fast you ask the Acceleration, it will make little to no diference.
My printer managed to print the test piece at 150mm/s and all the 6 layers had very similar results.
Next I plan to do the test piece but taking into account Jerk at the same time as Acceleration, essentially printing the last mentioned test multiple times to find the best balance between the two.
I also have a Duet Board and had the same results. Did you manage to find out how to edit the acceleration ??
I will be doing all these as soon as I fix my levelling issue. But I wonder why didn't you give information about linear advancing? I think it would also help with print quality.
Hey Michael, the buffering issues when printing over serial went away (for me) after upgrading to 32bit boards, on several different printers/boards. I first noticed it by attaching a LED matrix and letting Marlin display the buffer head/tail positions (this was back during Marlin 1.0.x) and it was very obvious the 8bit MCUs were simply not powerful enough - the buffer was emptying all the time (60mm/s), even if it was invisible to the human eye thanks to the SLOWDOWN feature.
i converted my ender3 to direct drive with 3d printed part. And mine does 400mm/min feedrate with stock exturder/hotend @205 without any problems. I reccomend direct drive mod to everybody has an ender 3.
like these tutorials because even after calibration it comes out worse than it did for me before
The value of the junction deviation has the unit mm. It tells you how much the actual (rounded) path on a 90° corner deviates from the ideal sharp corner at max.
So actually a higher value won't introduce more ringing or artifacts but a less sharp corner (at less print time) so printing a 20x20x20 cube might be enough to tell the difference.
Although I am not sure how target speed matters here and if you would get a 20mm dia circle if you print a 20x20x20 cube with a junction deviation of 4.1421 (which translates to a junction radius of 10mm)...
"a higher value won't introduce more ringing or artifacts" That's not true. Increasing junction deviation increases jerk speed, and if your motor takes a junction too fast for its weight and torque, ringing will increase. I have hundreds of hours of witnessing this phenomenon. A higher value "up to a point" won't increase ringing - that's true. But at some junction speed (dependent on the physics of your printer), ringing will appear, and increasing junction deviation will amplify the defect. JD = 0.4 * (jerk^2/acceleration). Do the math on a few different numbers for JD, and you'll see that increasing JD increases jerk speed. You can find lots of info on Google about what happens when you increase jerk speed. Better yet, increase your printer's JD to something ridiculously high without making any other changes, and see for yourself.
@@appideas7944 true, some absurd high numbers will introduce more ringing. But I just want to state clear that JD and Jerk are not the same thing calculated by a different formula (your comment sounds like that in some parts although I am sure this is not what you meant). These two are different ways of motion planning and the formula only holds true for cornering speed on a 90° corner. While jerk always tries to move a perfectly sharp corner, JD allows for slightly rounded edge
Junction deviation does NOT modify the path of the extrusion. It uses a virtual arc to compute the junction velocity between line segments. Increases in JD force the machine to travel through the programmed path at a higher speed. This can induce more ringing.
Very good video indeed. How this vs with linear advance, you had that off?
this fucking guy is the ultimate guru
To find the same parameters on PrusaSlicer, search for:
layer (0) - to find the base layer 9:37
Z:5 - to find the layers that need to be changed by the M204 P parameter 10:15 (Z:5, Z:10, Z:15...)
Michael is as handsome as a cute koala who needs to step up the acceleration 💝
Those custom edits you made for acceleration. can I do the same thing for SPEED?
I do a lot of vase mode printing. I design complex surface models that are vase mode compatible. problem is simplify 3d's setting for minimum layer time is ignored in vase mode. ie as my layer gets smaller and smaller the "effective speed" per layer gets faster and faster. I can't use multi process since that's kind of broken for vase mode (hard sep creates a line artififact)
looking for a way to gently slow it down as it comes to a point so the point does not print so melty :-)
You may have already thought of it since it's an old trick used by many, but have you tried pointing a pedestal fan at it to help with the cooling?
How about the fat corners? In having this issue on my ender 3. Like there's a pile up of material on the sharp corners. Visible on your test prints too
Thanks for the excellent video. Very helpful.
Do you happen to have a link to the cooling duct you are using at 12:47? I'd like to check that out. Thanks!
i swear my printer printed its best straight out of the box before i started screwing with things. but hey where is the fun in not breaking things and learning
Same. Dual z screw and direct drive, and all metal hot end really screwed my quality, I'm finally not being lazy and trying to fix it.
Might be you just didn't notice how ugly was first prints, because they are always looks amayzing to a nuewbie.
Hey Michael, would you know how I can perform this test using Klipper? Using TUNING_TOWER ?
Im back again trying to get the most from my printer - thanks for your help -
Can you help me decide which is better to use Junction Deviation or Linear Advance because according to my understanding we cant use both simultaneously in the latest Marlin.
Michael: 12:18 you mention you updated the firmware on the X1 -- I'm not seeing a video on that, and I would be very interested in what that entailed. Great video as usual!
I downloaded Marlin 2.0, got the X1 config files from the artillery3D folder and overwrote the ones in the Marlin folder. That's it!
@@TeachingTech Thanks Michael! That somewhat reduces my apprehension that there may be pitfalls doing that upgrade.
3:50 nice
Do you turn off accel/jerk settings in Cura when using these firmware based values?
What is easier to work with and have the best results, classic jerk or junction deviation?
(STILL can't fix my bulging corners no matter what I do it seems)
I have a question.
What should I do first?
Linear advanced -> acceleration -> deviation in this order?
Thank you very much for this.
Will it maybe be possible to make a similar video for Duet/RepRap? I battle to get rid of the ghosting on my testprint you created.
Hey Michael, great work. Thanks for everything, I know your busy........but uhh........if your listening..........spread sheet.