-
-
Notifications
You must be signed in to change notification settings - Fork 70
Flow calibration
There are many tutorials on the web and on YouTube on the calibration of the flow that uses the method of the extruded cube in Vase mode (so just one outline) and this method is used as a universal reference to calibrate its flow whatever its printer or its Slicer. We therefore pass on the tip and the solution to be used as gospel. However, in most cases the Slicer is never mentioned and you are told that all have a parameter that will allow you to adjust the flow, implying that this is valid in all cases. You will see that it will simply be called Flow, or Extrusion Multiplier or Fill Rate... Except that all these "experts" forget one fundamental thing: each Slicer does not use the same method to calculate its line widths. This document is here to try to explain the specificity of Cura and why these methods are not adapted to your Slicer.
Cura uses a rather simplistic modeling of the cord and considers its section as rectangular. There is no calculation of overlap between the lines. So let's take for example a classical size of width 0.4 and height 0.2. The slicer will place adjacent lines every 0.4 mm. As it is not possible to extrude a rectangular section but rather something rectangular with half discs or half ellipses on the sides (Fig 1), these half discs will merge between two lines.
Fig 1 Micrography of a cord
No problem so far. Where it's more complicated it's on the outer parts where we will have the half-disk. This one is not taken into account by Cura but we can have an estimation of its size. To obtain the calculation, we will consider that our rectangular section cord will turn into an oblong (this is obviously an approximation of reality where the height of extrusion, overlaps etc. will influence the exact shape of the cords). The yellow parts in the image below will "overflow" to form the blue parts (see image below).
Fig 2 Theoretical/real cord
Let's skip the detail of the calculation, so the final thickness of a print should be pretty close to the following formula: n x w + h x (1-π/4), with n the number of lines. So for a modeled layer of 0.4 (with w 0.4, h 0.2), we should expect a width at the end of the print of 0.44; for 0.8, 0.84. This is why the flow calibration tutorials are completely wrong. For example, when trying to reduce the cord width to 0.4 from the actual 0.44, using one cord will result to 90% the flow, with two cords a 95% flow. While there is no reason to be far from 100% if the calibration of the Esteps has been well done (another point of contention) and very rarely a reason to be at anything other than 100%.
Fig 3 Formula for calculating cord widths
The other Slicers use different methods, for example in the case of PrusaSlicer the indicated extrusion width is based on a more accurate chord shape and by default you will not have 0.4 but 0.45 as default width.
Fig 4 Extrusion width in PrusaSlicer
Because the flow calculation uses a more "accurate" notion of cord shape :
Fig 5 Image PrusaSlicer or Slic3r
In this case we can consider that the tutorial that tells you to use a single cord is correct because we already have the right information at the beginning. This is not the case with Cura.
If you are not convinced you can do a simple test. The test part can be generate with the calibration plugin by generating a sample cube :
The cube will be print with a 0.4 nozzle, with 1 contour, layer height 0.2 and flow at 100% (preferably with your ESteps well callibrated). And you should find a final wall width close to 0.44 mm.
Fig 6 Result with a 100% flow by Cura
You can also download PrusaSlicer, another free software, and do the same test. In this case the default line width will be 0.45.
Fig 7 PrusaSlicer result
In the case of PrusaSlicer the result is closer to what is announced in the software. But, in reality they are almost the same extrusions (0.44 under Cura) at 0.2 height.
So as you have seen, the notion of layer height is taken into account in the calculation of the width of the lines. In PrusaSlicer, for example, by changing the height of the layers, the interface of the software will show you the result on the width of the lines and the minimum thicknesses for the thin walls.
Fig 8 Indication in PrusaSlicer
With Cura it is the same thing. If you still do your test, but this time vary the height of the layers and without varying your flow rate, you should see a variation in the width obtained as a function of the height of the layers (Fig 9).
Fig 9 Experimental result according to width/layer height
If you want to calibrate your flow rate with just one line width, you will try by this methode to reduce your cord width to the programmed 0.4 mm. As indicated it is likely that you will obtain :
1 line => 90% flow
2 lines=> 95% flow rate
Fig 10 Flow rate at 90% with one line
For the width you will be good. But what about the overlap of the contours ? As we said Cura considers that the generated sections are perfect rectangles, the actual shape of the lines will naturally ensure the overlap and cohesion of the lines (Fig 11).
Fig 11 Connection between the cords.
By calibrating your line width to the theoretical width of Cura, the software will not change the line spacing, so you no longer get the connection between the cords (Fig 12).
Fig 12 Connection between the lines after calibration on the theoretical width.
Not convinced ? let's do a little test using the Calibration Cube.
Fig 13 XYZ calibration cube in Cura
Initially we will print a cubeXYZ with a 100% flow for comparison.
Fig 14 CubeXYZ 100%
We will then print a cube with a single contour and calibrate the flow with this result.
Fig 15 Width 0.44 to 100%.
Width measured on an average of 8 measurements = 0.44
Expected width = 0.4
We get a flow to apply of 90% !
A new cube with 1 contour and this time at 90% flow (Fig 16).
Fig 16 Programming at 90% flow rate
In wall width on the cube we get indeed a dimension of 0.4mm.
Fig 17 Line Width = 0.4 mm
The XYZ Cube is printed with the same parameters.
Fig 18 Cube XYZ flow 90%
It can be seen that the connections between the contours are no longer as good. Gaps appear between each bead (Fig 18).
So if you want to calibrate your flow with Cura, my advice is the following: Either use the cube method but don't measure one contour but at least 3 contours or 4 contours. In this case you should have a 2% deviation to be at 98%. Or use the formula to calculate the theoretical width of your cords and calibrate yourself on this value.
And my last advice: beware of tutorials, It is often an interesting source of information but always validate it with your own experiments or other sources of information.
Some links found to build this topic, such as how to calculate sections in Cura.
Flow Calculations : https://community.ultimaker.com/topic/28492-flow-calculations/
Flow Math : https://manual.slic3r.org/advanced/flow-math
Calibration-Shapes Plugin On Ultimaker Marketplace