Remove ringing by tuning acceleration and junction deviation - step by step guide

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
it's your 3d printer suffering from ringing today we're going to attempt to make it a thing of the past by tuning acceleration I think it's safe to say that everybody would like to improve their 3d printer quality especially if they can do it for free fortunately we have options in the slicer and firmware to achieve just this previously I made a video on tuning your slicer settings it covered things like calibrating your East steps and how to print towers to tune retraction in this video we're going to build on that by tuning our acceleration and Junction deviation the need for this test came after I fitted the lightweight g5 Flex extruder and in that video I did a speed test up to 200 millimeters per second the results were inconclusive as pointed out by one of my patrons Martin puranjaya who said that I was printing too fast for the printer Marlin volunteers to facilitate a student robotics group called Viking robotics 1989 they compete against much better resource competitors pushing in any cubic sheeran to the limit in producing large structural parts from engineering filaments to get the most out of his machine he's done the hard yards and he has several freely available tutorials to share knowledge one of which we are building on for this video if you've got a few spare dollars and you'd like to help out modern these robotics team the links are in the description by the end of this video we're going to learn how to calculate our fastest possible extrusion translate that into the fastest possible print speed and then tune acceleration and Junction deviation to find the right compromise between speed and ringing the very first step we're going to do is use a program like pronterface and enter and m 503 this will spit out a range of values and we're going to copy and paste those to retain them the first part of our process is to determine the fastest reliable extrusion speed of our printer so we'll start with a really quick definition of speed as distance over time on our 3d printer the g1 moves that make up LG code dictate an F value for feed rate and this example here 3000 is in millimeters per minute so if we're divided by 60 our feed rate is actually 50 millimeters per se and our initial aim is to work out how fast we can melt in extrude filament this is the part where we're going to be following Martin's guide and if you want to hear a thick Austrian accent he's also got a lengthy video included for this video I've converted this guide to an Excel spreadsheet which you can access from the video description step one is to clear debris from the hop gear bring up the nozzle to normal printing temperature and then load up some filament we're going to enter G 91 and this sets the positioning to relative so every time we type in 50 it adds another 50 millimeters next up we're going to type in g1e 50 F 120 which will extrude 50 millimeters of filament at 120 millimeters per minute which is 2 millimeters per second make sure you're nearby the printer so you can expect the extrusion closely assuming this was successful we're going to repeat the command except this time after the feed rate to 180 or 3 millimeters per second we're going to keep on manually extruding filament upping the feed rate until we eventually hit the limit so how do you know when you reach the limit well for me there was two signs the first was inconsistent filament width as shown here where it goes from skinny to thick and skinny again the second was by watching and listening to the extruder and it started to struggle and then click once it reached the limit on this printer the clicking was consistent at a feed rate of 480 so I backed off 20 at a time until I found a safe value of 420 back on the spreadsheet we're up to step four and we enter two values firstly the width of our filament which for most people is 1.75 and secondly our reliable value which in my case was 420 the spreadsheet will now calculate our maximum volume of filament that can be extruded per second in this case sixteen point eight millimeters cubed per second and this is just simple maths based on the area of the filament times the length of the filament extruded I perform this test on a range of my printers and the results are actually pretty interesting some points of interest that if you raise your temperature your maximum flow rate will increase as well the himera plus volcano is pretty beastly but that's partially because there's a larger nozzle and my modified into three comfortably outperforms the standard end of three for this test let's continue on the spreadsheet with step 5 we need two settings from our slicer the first is L layer height which in simplify 3d is the primary layer height on the layer tab and Acura if we search for layer it's also called layer height the second value we need is the extrusion or line width that our slicer is aiming for in simplify 3d its extrusion width and whether you've got it set to auto or manual is the number in this box and in cura if you search for line it's the top value called a line width you're then going to type in those two values into the next set of yellow boxes the final calculation converts the volume of the filament pre extrusion to the much smaller volume of the extruded layer line after it comes out of the nozzle the number that's been spread out for my example is 175 millimeters per second and this basically means that 175 millimeters per second is the fastest we can move the printhead with the extruder being able to keep up and with this final number we've finished step 2 so we'll head back to our slicer in simplify 3d we can now set our default printing speed the value from the spreadsheet I don't feel the need to have 175 millimeters per second I'm going to add in a bit of safety margin and instead set mine to 150 in Acura if we type in speed and head to the speed section we can type in our desired value as well you can see as per simplify 3d this is just a base speed and it's going to be slowed down for certain parts of the model such as they're outside perimeters we have our target top speed so it's now time for step 3 to turn the acceleration to maintain that speed but minimize wringing acceleration is the change in speed over a time period and if we relate this to a car we know that it can't get from A to B at a constant speed instead they'll be a period of acceleration and then cruising at top speed and then deceleration to stop acceleration is a change in speed over time therefore it's distance over time over time in the firm where we have a Mac sprint acceleration for each axis just like the maximum feed rate but then we have an actual acceleration value which is applied to all g1 g-code moves the p value for print is applied to all of our g1 moves with an e value and that's so long we're most concerned with and then there's our four attraction moves and t4 travel moves where no plastic is coming out we can retrieve the save values for all of this in the firmware from our m5 o3 output for example on the x1 the x and y limits are 2000 but the actual acceleration for print moves is only set to 800 to test various acceleration values we're going to print a tower that compares them back-to-back this is a more advanced evolution of a previous design I had designed to provoke ringing from the top it's got 200 millimeter lengths for X&Y some 90-degree turns a shallow curve as well as quite a tight turn this exported versions available on Thingiverse but if you didn't want to edit it and have a non shape account it's all driven by these variables here simply change your number and the object will regenerate with your new setting in place my sides are only 100 millimeters long which previously I would have thought was too short to hit top speed but then I found this excellent calculator on the Purusha printers blog you can see I've put in 100 millimeters as a length the standard end a3 acceleration of 500 which is fairly conservative and you can see even with a very high speed of 150 millimeters per second for the first 20 odd mils it's going to be accelerating have a steady period of top speed before it decelerates for the final part of the extrusion this is a really handy tool that changes in real time as you update the numbers and show you just how long each extrusion is at full speed with a range of settings it's worth noting that if your acceleration is too slow there's no blue line which means it never reaches top speed is how I recommend slicing this object you should set your infill to zero your external shells - only - and your top and bottom solid layers to zero depending on the adhesion of your print bed you can add a brim to help it stick after slicing it should look just like this so export the g-code file ready for editing we're now going to pick some values either side of the m 204 p value already set in the printer we're going to edit the g-code to get it to test a range of different acceleration values I decided to go half for the first segment factory for the second and then increase quite high every segment after that in your favorite text editor and I recommend notepad plus plus you're going to open your g-code file and scroll down until you see where the first layer starts on simplify 3d this is labeled with a comment layer 1 and then a set value on Keira we have a comment saying layer 0 the first thing we're going to do is temporarily up our acceleration limits so they don't interfere with the test I'm going to enter m2 o1x 3000 y 3,000 after that I'm going to set the first of my acceleration values M 204 P 400 which represents half of the factory value we're now going to copy this line control F and search for Z equals 5 for a file generated in Keira is going to be exactly the same except we're going to search for Z and then the number we want with no gap we can enter a new line after this comment and this time of our acceleration I'm gonna go for the factory value of 800 and now we'll repeat this process searching for 10 then 15 then 20 and upping the m2o for p value to whatever we decided beforehand when we're done we save the g code and send it to the printer when printing this you want a nice dark shiny filament as it will show off the imperfections in the surface more clearly the acceleration changes the speed in a subtle way but there should be a marked difference between what happens on the first segment versus what happens near the end of the print and here are my results for the artillery 3d x one for most of these features the best results are on either the second or third band which means the factory acceleration is actually pretty close remember that the base speed is two millimeters per second and as you can see on those long walls were hitting that without any issues decide your favorite value based on your tolerance for accepting ringing if you really wanted to fine tune you could rerun the test editing the g-code to have a much finer range of m2o for p values to test once you've got a value you're happy with we can now save it permanently to the printer back in front of face we're going to enter M 204 P and then your final value after that we'll start to the EEPROM with M 500 and do an M 503 to double-check that it's been stored well onto our final step and that's tuning jerk or Junction deviation recently in Mullen 2.0 Junction deviation became the default rather than the classic jerk if you want to know what your printer is running in your m 503 results look for the M 205 section if a J value is listed you're running Junction deviation if there's XYZ and E you're running classic jerk I just updated the firmware on the x1 so it had Junction deviation with a stock value of 0.03 so what is Junction deviation Marlin firmware links to this detailed article explaining Junction deviation I'll link it in the description in case you'd like to read it properly for this video we're going to explain it much simpler if you remember back in our acceleration example we started with a speed of 0 and then decelerated to a sanding stop once again for solid infill where the nozzle has to turn and go back the direction it came from this makes some sense for a really tight corner it's intuitive that you'll have to slow down quite a bit to be able to turn properly but what about a 90 degree Bend we don't have to slow down to a complete standstill to be able to go around the corner and for a really shallow curve would expect to not really have to slow down much at all consider the many straight segments that make up a circle we want these to flow continuously not stop and start up for each straight segment that makes up the arc we want a smart cornering speed depending on the angle therefore the junction deviation number as the second article explains dictates how much the printer slow down when encountering corners by looking at the sharpness of the corner as well as the acceleration value if the number is too small it'll slow down to the point of leaving blobs and if the number is too high quartering will be so fast that we introduce ringing the good news is we can use exactly the same test piece to set up our Junction deviation I chose a range of values either side of 0.03 and if you were doing this with jerk you would choose a range of values but with X&Y we can recycle our g code from earlier searching for the m2 o fours and replacing them with M 205's we can then print with the modified G code and then inspect our finished part because we've already turned the acceleration this one is a lot harder to see the difference between the graduations one thing I found interesting with these little bumps that line up with the gap in the X's I guess it was hitting that corner a lot faster when it didn't have to slow down for the X's the quality didn't seem to suffer the higher up the tower so therefore I elected to stick with the upper value of 0.06 to save our final value for Junction deviation we do M 205 J and then the value jerk would be similar except with an x and y value we now do M 500 to store two EEPROM and M 503 to verify that everything worked correctly so that's the tutorial over but there's still some important things to consider I tried to print a bench e at max speed with a room fan pointing to it to make sure it will cool sufficiently the x1 uses an mps TFT which runs prints over a serial connection just like octoprint unfortunately that meant I ran into buffering problems with the print pausing many times and leaving these ugly blobs all over the object it's impossible to tell how this venture was going to turn out but considering the base speed was 150 millimeters per second I think it looked promising it's a reminder of our second point but sometimes a theoretical top speed can't be reached because our other limiting factors in the chain although I tuned by ringing towards the maximum speed possible the techniques to tune the acceleration that you saw in this video applies to slower rates as well if you are tuning for max speed keep in mind that the maximum speed will depend on the type of filament the color of filament the brand of filament and other variables so make sure you leave in a sufficient margin for safety it's also worth noting that some filaments such as nylon smite have a maximum feed rate they recommend to ensure good layer in Heejun one feature in Marlin that's definitely worth enabling is s-curve acceleration its job is to stop rigid acceleration up to top speed instead smoothing out the process with a Bezier curve if you search for acceleration in cura you can tick a box and then you'll see many options for adjusting the acceleration depending on the print feature this means you could have it much higher for infill but lower on outer perimeters where you want to see good results my last tip is that when you're doing any of these test prints your outer perimeter will always be printed slower than the inner perimeter so make sure you inspect the inside and outside when making your judgments that brings us to the end of this one thanks again to Martin and his tutorial that I base this on remember that if you would like to donate the links are in the description if you've got any thoughts on this process please leave it down below in the comments thank you so much for watching and until next time happy 3d printing g'day it's Michael again if you liked the video then please click like if you want to see more content like this in future click Subscribe and make sure you click on the bell to receive every notification if you really want to support the channel and see exclusive content become a patron visit my patreon page see you next time
Info
Channel: Teaching Tech
Views: 408,918
Rating: undefined out of 5
Keywords: 3d print, 3d printer, 3d printing, 3d printed, test, acceleration, jerk, junction deviation, improve, calibrate, refine, upgrade, marlin, tower, explained, lesson, tutorial, guide, step by step, how to, hemera, ender 3, artillery3d, x1, ringing, ghosting, artefact, artifact, tune, tuning, max, speed, feedrate, simplify3d, cura, s3d, notepad++, 3dbenchy, free
Id: Mnvj6xCzikM
Channel Id: undefined
Length: 17min 19sec (1039 seconds)
Published: Tue Feb 18 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.