I'm Tom and today i'm going to talk about printing fast. So there's two two parts to
printing speeds: One is the speed you tell your slicer to use, which is the set, ideal
speed. The other is how fast the printer can actually follow along those instructions and
how fast it can move between two printing areas.
Now, the early firmwares simply assumed that the printer can instantly speed up to the
speed you wanted and also instantly slow down to zero. This worked because each of the printer's
axis isn't perfectly stiff but actually have a certain amount of elasticity and also because
the speeds were rather low back then. Nowadays, modern firmwares use a much more elegant approach:
Each time an axis speeds up or slows down, the firmware runs through three individual
stages: Phase one works just like the old-skool firmwares:
Because your printer's axis are still somewhat elastic, the motor can skip up a certain speed
without having to slowly ramp up. But instead of jumping right to the full speed, the difference
between the initial and final speed after the jump is limited to a certain amount. This
is what's called "jerk". The second phase is acceleration. This is
where the motor continuously ramps up to speed at a set rate, until the desired speed is
reached. Phase three is the constant-velocity phase,
where the motor runs at a certain RPM without speeding up or slowing down. Now, depending
on how long the specific move is, the motor might not have enough time to ramp up to the
full speed, but goes directly from accelerating to decelerating. This is also part of the
reason why a printer doesn't print twice as fast when you simply double the printing speed
without also increasing the acceleration values. So let's take a look at what this means in
practice. Here's my printer's x-axis, which has a heavy greg's wade extruder sitting on
top and is driven by a fairly beefy 48 newton-centimeter motor. Let's see how it moves [clip] Well,
I'm pretty sure you didn't see much there. Let's take a look at the same move in slow
motion: There's the initial running jump up to the "jerk" speed, then it's accelerating,
going at constant velocity, decelerating, and finally jerking off to zero speed. So
this is the basic movement from a dead stop to a dead stop. Firmwares like Marlin also
incorporate a feature called "look-ahead", which makes sure that when the printer is
instructed to move along a path like for example a curved or round part of a layer, it doesn't
have to come to a dead stop between each of the path's segment, but can conserve some
of its momentum along the way. Because for each segment the firmware makes use of the
jerk speed difference, the printed surface comes out smoother without all the bumps that
you'd usually see where the segments meet. So at this point, you're probably going "well,
this all well and nice,but how do i make my printer as fast as possible?". So as you might
have guessed, the three parameters of maximum speed, acceleration and jerk determine how
fast the print head can get from point a to point b. So let's start out with the most
uncritical one of these: Jerk. Simply set that to about 20 to 30% of your print speed,
so if you're planning on printing at 60mm/s, a value of around 15mm/s is pretty much perfect.
Set it too high, and you'll risk introducing ringing artifacts at sharp corners, set it
too low and you'll get blobs where the sections of each move meet, so it's not really something
where you need to spend a lot of time on adjusting. You can either use the command M205 X and
your jerk value, so for example M205 X15 and then save it with M500, or directly store
the value in the firmware. Check out my video guide on all thing firmware if you want to
go down that route. By the way, updating jerk sets the value for both X and Y.
So the next tunable parameter we're going to look at is acceleration. Now, against popular
belief, you can't determine your maximum acceleration value by jogging an axis and checking at which
value it starts to lose steps. 3D printers are a bit more complex than that. The limiting
factor is going to be at what speed each axis is going to start resonating. And every 3D
printer has some frequency at which it resonates. Here's what that looks like [loud buzzing]
Now this is something that you only rarely run into, but if you do, it's going to make
it impossible to print that specific part. And by the way, even Makerbot haven't figured
this out yet, so it's no shame if your printer sometimes skips a beat. Rectangular infill
on parts with thin, rounded or tapered section are especially unforgiving when it comes to
exposing resonances, just take at look at the "i made one" section of damm301's pen
holder, linked below. So to tune accelerations, i've uploaded a
simplified test part to Youmagine that provokes resonances in a similar way. You'll likely
hear when your printer goes into resonance, so if you listen closely, you don't even need
to have filament in your printer when doing a test print. Though i do recommend leaving
it in there, since that makes it much easier to see when something has gone wrong.
To work our way up to the ideal acceleration values, set the maximum speed to a rather
low value to make sure that we're only tuning the acceleration. Use for example the command
M203 X100 Y100 for that. Unlike jerk, acceleration can be set independently for both X and Y
by either using the M201 command like M201 X9001 Y3000 or, again, by directly editing
the firmware's configuration. Now, for actually fine-tuning acceleration,
it's mostly trial and error, really. So start out with some arbitrary values for both X
and Y, like 9001mm/s² for X and 3000mm/s² for Y if your printer has a moving bed. If
not, use the same value as for X, and then just print the test part with 100% rectangular
infill and see if X or Y starts losing steps. If it works, increase the values by 10 to
20% and try again, if it doesn't, decrease them, obviously. If you've found a value for
each axis that's just borderline, leave a safety margin of about 20%, and voila, that's
the maximum acceleration value you'll want to use. Now, depending on the exact type of
printer you're using, you might want to reduce that a bit further if your printer's frame
starts to wobble around too much. Especially the x axis of the triangular Mendel and Prusa
Mendel frames are prime candidates here. By the way, none of the features in Marlin or
in Slic3r work particularly well to suppress resonances.
So last, but not least, speed. Or more precisely, the maximum speed. While adjusting this, keep
in mind that the maximum speed has very little effect on both printing times and the quality
of your prints. Also, unless you have a fairly long axis like my Mendel90, it's pretty unlikely
that your printer will ever reach anything much above 150 or 200mm/s, so if you simply
want some value that works, just use 150mm/s and be done with it. If not, you can tune
it much like the acceleration value, but this time, you can actually do test moves to test
for the maximum speed each axis can reach. The command for setting a new maximum feedrate
is M203 and it works exactly like the one for setting the acceleration parameters. So
set a maximum speed and do a test move along an axis, but make sure your host doesn't artificially
slow it down. You can also move the printhead to a position by using the G1 command with
the desired position along the axis in mm and the desired speed in mm per minute, so
that's 60 times the speed you'd set in your firmware. For example the command to move
the X axis to the 100mm position at 200mm/s is G1 X100 F12000.
So, just like with tuning acceleration, once you've found a critical value that just about
works, deduct a safety margin of about 20%. And generally, values far above 300mm/s aren't
much use anyways. Now, we've tuned X and Y and this is probably
a good moment to do a full test print to try out the new parameters you've found. But we
still haven't tuned the Z axis and E, the extruder, and that's for a good reason. The
speeds of both of those axis aren't really critical to the speed of your prints. Just
set jerk, acceleration and speed low enough for them to have everything working and you'll
be golden.
So i hope this guide helped you out with getting your printer working as reliably as possible.
If you liked it, hit the thumbs up below and subscribe to my channel if you want to stay
up to date when i release new videos. Also, feel free to share this video or any of my
other videos on your favorite social media platform.
There's also now a survey link in the description where you can suggest new topics and vote
on which ones i should do next. And that's it for today, thanks for watching!