Update 01/06/2015: Added a short video in the last step showing my Model T prusa running after optimisation at 70mm/s - if my printer can do this a modern one should be able to do it even faster.
Update 31/05/2015: Updated the step for the print settings for fixing prints that run out of alignment during printing.
When it comes to using your favourite toy to print some nice things we all need to use certain programs to generate the so called "G-Code".
There are plenty of them around but today I will only focus on Slic3r as it is one of the most used programs for the job.
You ever had the problem that your extruder is chewing a nice C into your filament, especially somewhere in the middle of the print?
Or your printer is perfectly calibrated in the hardware and firmware but your prints never match the dimensions of the part? (can be a pain to get a 8mm bolt through a 8mm hole if the printer messed up LOL)
Maybe you printer works just fine but certain things suffer from drooping? Like when printing small parts that loose form while you print?
Any of that usually comes down to the often confusing settings in Slic3r, so I will try to show you where you have to be careful, what settings cause problems and so on.
Step 1: Calibration
Before we even start messing finetuning we should assume the printer hardware is calibrated and the same is true for the firmware.
3D printing is quite time consuming, so we neither want to spend time on messed up prints, nor on parts that do not match the dimensions of the 3D file.
For this tutorial I will assume a 0.7mm nozzle in all settings and 3.0mm filament - you have adjust to different settings accordingly.
But the basics behind are the same and you will know after reading this Instructable how to get proper prints using Slic3r.
I know there are certain file Slic3r simply does not slice right and some might require to use a different slicer for the job - this is not part of the Instructable.
One thing that Slicer is known be less than perfect is the problem of extrusion widths.
As they also mess with calibrations we fix that now.
By default all settings are set to "0" and Slicer sometimes creates filling lines with 1.2 or more mm if not told to behave.
This usually causes extreme amounts of plastic to be used during bridging and solid fills.
The overlap can be adjusted if you infill does not always fuse with the outer lines or simply looks too short.
The bridge flow rate is very important for the chewing "C" effect - I will come back to it.
So adjust the above settings according to your nozzle diameter.
If you not already have some nice test objects fixed dimensions you can download a lot calibration models on Thingiverse.
It is best to start with something simple and fast to print like a 20mm cube with slim walls and bottom.
Use a slow speed to print it out and measure the outside dimensions.
(Calipers work great for this, a ruler might not be accurate enough)
If the 200m cube turns out to be over 20mm on the outside and walls are thicker too it means you extrude too much filament.
I measured the filament to be 2.95mm in diameter so I adjusted this.
"Extrusion Multiplier" is what adjusts the variations and tolerances of extruder, stepping and nozzle.
So if your walls are too thick and the outside dimensions to big too you reduce the multiplier.
It is best to this in little steps, let's say from the above 1.1 to 1.0.
After each change you do a test print again and measure.
Once 20mm are reached on your object to match the 3D model you are good to go.
If you lines are too thin or the dimensions slightly too short you can incease the multiplier a bit.
In this section we can also adjust the settings for our heated print bed if we have one.
ABS and other plastics won't bond to cold surfaces well but they also like to warp during the cooling.
Find a temp that allows good bonding but not as strong so you always have dismantle all to put the bed into the freezer to get your part off.
The temp for the following layers should be lower and set so your printing object won't warp and lift coners or worse.
Your parts should now come out with the right sizes and things that are meant to fit together will too.
Step 2: Print Settings.....
Nothing fancy here.
The "Layer height" defines how fine the object will be printed, in how many slices.
You should not higher than half the nozzle diameter as otherwise it looks quite bad - for quick testprints it is fine though.
Especially during fillings of multiple layers that are set quite high the extruder might struggle to supply and chew - so keep this in mind when playing with your infill.
Setting the "First Layer Height" higher allows to compensate for a slightly uneven bed or with these thin layers to avoid re-calibrating Z-Home if no blue tape is used on the bed.
"Perimeters" define how many rounds the printer does for a wall.
1 in my case here means I only use a single line on the outside, the rest is filling.
Set higher if you print with thin nozzles or require a sturdy wall on your objects.
The "Solid Layers" define how mayn solid fillings are made at the beginning and end of the print.
Ignore the 0 here as I printed a part meant to be glued on the top.
You should have at least 3 layers for both for a nice finnish.
In the "Quality" section tick all boxes.
Again, nothing fancy here.
The settings explain themself quite well and the only thing I want to point out is the
"Combine Infill Every" setting.
You can save quite some time by only infilling every second or third layer but you need to watch the amount of filament you need.
Especially at high speeds this can be a problem with your extruder.
So if in doubt print with this setting on "1", meaning you infill at every single layer.
Skirt and brim....
The "Loops" can be used to clean the hotend and get the flow working.
Especially if your hotend takes some time to settle on a temperature it can be a few centimenters before plastic makes it on your platform.
"Distance from Object" is pretty obvious ;)
"Skirt height" - not quite sure why you would want to go over seral layers but it can be useful in combination with "Brim".
"Minimum Extrusion Lenght" can be used to increase the number of loops until the specified length was extruded.
"Brim" - This lets you print the first layer around your object wider than it is.
Can be quite useful for printing ABS to prevent the lifting and warping off the print bed.
In combination with "Skirt height" and it's distance from the object you can create a dam like structure around your object.
This way you have less problems with parts lifting off, especially if the structure is quite long and thin.
If you set the tickbox for support material to be generated, Slic3r will build thin walls under everything that would otherise be impossible to print.
One example would be something sticking out 90° from an object wall as the printer on this layer would be printing into thin air with nothing to hold the filament.
"Raft Layers" are nice as they are supposed to offer and easier way of removing the support material from the finnished print.
It does not always work great but better to try than to use a dremel tool.
With other setting it is best to try them through some test prints of small parts as every printer performs differently.
As a rule of thumb all angles over 55° get support from me.
"Interface layers" can make removing the support a bit easier to and if the Pattern is set right you often have it much easier getting your knife where you need to cut.
I only have a very old Mendel Prusa, the Model T of 3D printers, so ignore the low speeds.
But this section is where you do the performance tweaking after all else is set.
It is also the place of most frustration if you don't know how to set it right.
The dreaded "C" in your filament ruining the print has it's origins right here ;)
If you have certain objects that always fail during a specific layer due to the extruder running like mad you might be tempted to use a different slicer but notice the infill or tool tracing is not as good or accurate.
No need anymore for this :)
Let's start with some boring stuff for the understanding - sorry in advance but it helps!
Flow rate is the key to understand why certain thing won't work at high speeds.
I won't bother you with calculations, there are websites offering calculators for this.
But let me give you an example:
Printing a thin layer wall only requires very little filament.
A solid infill is about the max you use - if Slic3r would be nice, but let's continue....
Your printhead can only melt a certain amount of filament until it has trouble heating it enough.
(some people compensate with powerful heaters and special high flow hot ends)
If your print speeds are now quite high the extruder runs very fast with infills and if the hotend can't melt the filament fast enough you will get the big "C" chewed into your filament.
This problem is the main reason for all the different extruder systems and specialised hotends.
Ok, bored, how to get right?
There is no golder rule that would allow me to give the right speeds for your filament/hotend/printer combination, but I can explain how to find them.
Again use a nice and simple test object.
To check how fast you print perimeters the "Spiral Vase" tickbox in the "Layer and Perimeters" section is good.
Start with something of diameter greater than 2cm to avoid heat problems (unless you have fan for it).
Set the temp right for your filament and check if it is low enough - you want to be hot enough for a good melt and just over the temp that can cause jamming due to being too low.
Print and through Pronterface (or your favorite print program) increase the speed.
Once you notice the wall is no longer printed as a solid line but as a series of dots or look like fibres are sticking out go back till all becomes smooth - do this quickly as otherwise it takes a few layers to get proper bonding again.
Note the increased percentage setting in the print program for your adjustments!
Print the same part again, with all the same settings but the temp 10°C higher - note again the percentage used in your print program.
The speed with higher temp should be higher too and we take both speeds as a baseline.
Let's say you started with 30mm/s and were able to speed it up to 145% before the line was no longer perfect.
Use the Windows Calculator and type in your speed from the Slic3r settings - 30 in our example.
Now press "+".
Since 100% was our start speed and 145% is 45 more we now type 45 into the calculator followed by prssing the "=" key or Enter.
What we see is 30+13.5=43.5 - our new print speed which we round down to 43.
You can do the same calculations for your normal and hotter printing temp.
Please use the lower temp values in Slicer and use the higher temp values as an indicator how much faster you can go through the print program.
We have now established our most important speed - "Perimeters".
"Small Perimeters" and "External perimeters" should be set to percentage values so only need to change the Perimeter speed above.
For most cases a setting of 80% for both is fine, for increased accuracy you might want to go down to 40-60% if your printer is not calibrated 100%.
"Infill" is a setting I tend not to go too high on although it is possible to get quite fast here.
My reason is quite simple: I want a proper bond and not always change my other setting when I select a different filling pattern.
Also when printing with only 20-40% filling too much speed messes with the structural qualities as the plastic is more dumped than deposited.
"Solid Infill" should be 60-80% to allow for proper bonding and a smoother surface.
"Top Solid Infill" is set really low by me to get a really got finnish.
With the solid infills you should not get into problems with your extruder speeds unless you fill multiple layers at once.
"Support Material" is set by me to the same as the perimeters as I don't think going too high really helps.
"Bridges" is what caused so many operators to have a nervous breakdown after the extruder chewed the big "C" again....
Let me explain:
Bridging is used to form a bonding layer between you infill and a solid top layer.
The lower you infill percentage the more material is required to "Bridge" it ;)
The sad thing is that Slic3r does not use our other settings to calculate the flow rate for bridging automatically so the extruder won't go into overdrive.
The same is true for higher density infills as Slic3r still feels the need to really fill it up.
To check the best setting here consider your lowest infill rate that use on prints for stability.
Ceate an object like a simple cube that is solid for this test, it is best to have it in 2.5-5cm size to see how bigger areas are treated.
Make it only 1.5 to 2mm high.
Start with a low bridging speed of only 5 for your first test.
It should all work out just fine and you get a nice, smooth finnish.
Now set the bridging speed a bit higher, lets say 10 and print the object again.
Note the difference in your extruder speeds when the bridging layer is printed!!!
You can try to find the max before the extruder starts chewing but as we do not have so many bridging layers in normal prints I only go up so far...
Once the extruder looks like on steroids it is time to crank it down as a wasted print is worse than a few seconds of time wasted while printing a single bridging layer.
At full speed the layer might finnish in just 8 seconds but the next might chew your filament.
At low speed it might take 20 seconds but your extruder and filament are happy!
So ask yourself: Is it really worth risking for saving a few minutes on a 6 hour print? ;)
"Gap Fill" should be quite low too.
It is used to fill these tiny spots that have been missed with the normal infill and you want them to be accurate and without causing your printer to jump back and forth with rapid movements.
"Travel" for non speed movements can be quite high for normal prints.
Especially our droopy extruder systems benefit from higher speeds as the oozing is less dominant and the parts easier to clean off.
Depending on the object you still might want to crank down to slightly over your printing speeds to prevent jumping from one line end to the start of a different one.
If you see missed steps on your x or y axis when the hotend "jumps" to the next extrusion point lower this value!
"First Layer Speed" can be lowered here to give the plastic more hot time to bind with the platform surface or tape you use.
A low speed here and a slightly sanded Scotch "Blue Tape" can really make your object stick that good to the tape that you have to scrap or snd the blue off your part.
If your firmware supports it you can use "Acceleration Control" to prevent jerking.
This often happen with short and fast print movements and if you lower these values your printer is happy.
If you never have a problem with missed steps causing layers to be printed in the wrong spot you can ignore the settings.
Now that you calibrated all these settings go ahead and print a real part and enjoy a printer that works from start to finnish as it should :)
Just keep in mind that setting the print temp higher to get faster speeds can also result in features melting away as the part has not enough time to cool and harden.
I should have mentioned the missed step problem a bit more and ways to fix without compromising the print speed too much.
Let me explain the problem first:
You print some more or less complicated part and always at the same layers your print runs out of alignment.
Sometimes you see it qickly on the outside walls but sometimes you miss it until a lot of filament was wasted again.
There are two factors that cause this problem:
A) The hardware is not up for small, fast and very parid movements.
When you hear your printer "rattling" the stepper motors need a lot of torque to start and stop, especially the build platform with a heated bed.
B) The print settings are just wrong ;)
For the A) problem you can try to increase the power level for your corresponding stepper motor, e.g. if the Y-axis runs out of alignment turn the tiny potentiometer on your motor controller up a bit - but if you hear your stepper motors "screaming" when not moving it means the power is maby too high.
Fixing the B problem:
One solution is to reduce the print speed in steps until the print is fine - can waste a lot of filament and time.
The better way, if the firmware of the printer allows for it, is to use the acceleration control like you can see in the above picture.
Especially fast infills with honeycomb are known to cause misstepping, so you can either reduce the speed for your infills or set the acceleration control for the x and y axis to a low value of around 200 for infills.
It won't affect the overall print speed too much and limits the power demand for the stepper motors quite good.
Warning: There is a glitch in some Slic3r versions causing massive accelerations for the x and y axis!
When using the speed settings with mm/s secind values instead of percentages (where applicable) Slic3r sometimes creates G-Code with stepping speeds above 7000mm/s instead of around 1500 - you can check the G-code with a text editor for that, just look out for the "F" numbers at the end of a line indicating the speed settings till the next speed / movement change.
If you suddenly see your print bed jump at you or your bed jamming into end position so your printer jumps off the table you need to check the speed setting that can be made in mm/s and %!
If in doubt set them all to a percentage level or if the problem only happens with a single STL file use a good editor like Notepad++ to replace all high speed entries with the same values as the normal print moves (you will a few redicouls high F numbers and some in the range between 500 and 2000 - use the lower values as a guide to replace the speedsters.
Step 3: Practical Troubleshooting...
I assume you read the previous steps but still encounter some print problems every now and then.
Let's start with the simple ones:
1. During the infill you don't get solid lines but after a few layers only "dots", like little towers with no plastic between them.
Unless you want it structural sound it should be no no big problem but it is caused by the speed for the infill / or the line width you used for a slim line infill.
To resolve you can lower the speed for the infill if you need it strong or in some cases it helps to simple increase the line width for infilling from let's say 0.7mm to 1mm.
Keep an eye on your extruder speeds though ;)
2. Small details loose their shape....
Let's say you are printing a Minion or Smurf and all looks perfect until you reach the legs.
Here the outlines start dropping or completely loose shape making the prints a fail.
When printing small you should use low speeds and the lowest possible hotend temperature.
If possible use a cooling fan, some printers / hotends already have a fan and you can find a lot models on Thingiverse and in Instructables.
The extra cooling helps the plastic to stay in place.
For severe cases it helps to edit the G-Code and to add some waiting loops, but that is a bad choice for drooling hotend / extruder combinations.
You essentially tell the printer every few layers to do a slow move, like a big squre around the object, without running the extruder.
This gives the plastic additional time to cool and the operator a chance to manually help the print.
I sometime use a cold stainless stell ruler or feeler gauge to push plastic down that starts to curl up.
Especially when the walls move outside, like forming a sphere, this curling can happen quite often.
3. Somewhere during the print a motor lost a step or two....
This looks ugly and the print is usually ruined.
We have all seen the misaligned halfs of these failures.
Again, speed is to blame here.
If the firmware allows for acceleration control you can avoid most it without compromising your print speed.
But you should also try to check during the print what actually caused the missing steps.
Often it is rapid print moves, like gap filling, sometimes the shape of a part, like printing a gear at high speeds.
The mass the motor has to move quickly is too much for the force the system can provide: the axis did not make the move completely.
Having the current settings optimised for your motors would be the first thing to check, commercial models usually come configured the right way and you should not mess with the motor currents.
If the problem happens only for gap filling simply reduce the speed for this task.
In all other cases you have to limit the acceleration control to a lower level or reduce your printing speed.
4. When printing big parts they tend to lift off the platform and warp....
This often happens with ABS and other high temp plastics.
Most plastics we use shrink a little when then cool down.
The temp difference causes the deformation.
Best option here is to use a properly tuned heated print bed.
It provides the high surface temperature to allow better boning of the plastic during the first layer and after tat keeps the part evenly warm to prevent warping and lift off's.
If you only have a normal print bed you can substitude these method to some extent:
a) Use the Schotch Blue masking tape on your platform and sand the surface with fine sandpaper to make it rough.
Set your level for the bed so you move the printhead over the bed with just touching the paper fibres that stand up most.
You don't want the nozzle to "scrape" over the paper for this.
Now print the first layer at a quite high temperature and very low speed with a thickness about twice your layer height (you can go higher till about half the nozzle diameter).
It also hepls to print a brim and to connect the cleaning loops to it - this way you have a bigger surface area around the edges to prevent lift off.
The next layers should be printed at lower speeds as well to give the plastic more time to cool.
You can check the temp with your hands in the areas that are currently not being printed - watch for the moving hotend though!
Once you have a build up of about 5mm and the plastic is cool you should be fine at full print speeds.
Adjust the speeds during the first layers to have a good comprise of time and temp, you don't have to crawl if all is just luke warm ;)
5. My printer sometimes just freezes in the middle of a print...
Well, not a Slic3r problem or a bad print software but communication troubles.
I will answer it anyway:
Usually we have quite long USB cables connected to the printer and go with the default settings.
Most Marlin based boards run at 250000 baud for example.
Constant freezes can often be avoided by using a lower connection speed like 115200 or even 57600 in severe cases.
You have to do the changes in both your printer software and the com port settings in your Windows (or Linux / Mac) device manager.
Another common cause for this is a bad power supply with weak filters for interference over the power input.
I have seen printers stop and freeze just because someone turned the waching machine on....
A proper power supply should fix this too.
A word on the handywork of some people installing all cables themself:
If you have and loose cable connections, like on the power connection to the printer board, fans, additional lights and so on, it can cause massive communication problems.
This is caused by "dirty" currents running the wrong pathways, similar to ground problems on your car when instead of the indicator the reverse and break lights come on together.
When printing through USB and you loose the power connection the printer tries to substitute by getting power from the USB connection.
This sudden change causes your serial controller to go crazy and the connection is lost.
As the 12/24V supply is independend from the USB supply you at least don't have to fear damage to your computer.
Here is a short video showing my Model T Prusa running at 70mm/s, only slowed down during the infill by the acceleration control to prevent loosing steps.
With a bit more finetuning it should be possible to do the infill a bit faster but I was happy with the results as I started from aroun 30mm/s with extruder chewing already...
Layer height: 0.1mm
Line width for all prints: 0.7mm