Sunday 13 March 2011

Spot on flow rate

I have been doing some fine tuning of flow rate recently. I had previously noticed that PLA appears to need a slightly lower flow flow rate than ABS. I didn't notice this with HydraRaptor but I did when I changed from PLA to ABS on my Mendel, which has a Wade's extruder. My theory was that PLA feeds faster than ABS for the same rotational speed of the pinch wheel because, being much harder, it sits on the crests of the teeth and hence is driven by a larger effective pinch wheel diameter than ABS, which sinks in further. This effect is more extreme with a smaller pinch wheel. HydraRaptor has a 13mm pinch wheel compared to just 5mm for the hobbed bolt in my Wade's.

Other people have claimed that ABS changes density when it is extruded. I didn't believe that so I did an experiment to investigate.

I programmed HydraRaptor to extrude 100mm of ABS. I put a mark on the feedstock about 120mm away from the top of the extruder and measured how far the mark moved. I also measured the length and diameter of the extruded filament and I also weighed it and a 100mm sample of the feedstock. These are the results: -
Filament input to the extruder: 105mm of 2.98mm ABS equals 732mm3, weighs 0.777g, density 1.06 g/cm3.
Filament extruded: 2.89m at 0.56mm diameter equals 712mm3, weighed 0.764g, density 1.07 g/cm3.
So on the face of it the volume has gone down by 3% and the weight by 2% giving a slight increase in density. This could be explained by some volatile compounds boiling off, which they do, but I think it is mainly measurement error. In particular the diameter measurements have a big effect because of the square law for area. I took four measurements and averaged them but that is not many along 3m of extruded filament. Also the electronic scale I used to weigh the filament does not have a very stable display as it is only a cheap instrument. It is certainly a lot less than the 15% I have seen reported though.

I also extruded "100mm" of PLA and that actually fed 110mm, showing that with a 13mm pinch wheel it feeds about 5% faster. With a 5mm hobbed bolt I would expect that to be about 12%, which starts to become very noticeable.

So I corrected the pinch wheel diameter in my software for the correct value for ABS and added a bodge factor for PLA. That left the flow rate a bit too low as it has previously been producing good looking objects with the overfeed, so I reviewed the maths I was using.

I have always extruded filament with a 1.5:1 width over height ratio and use a flow rate that would fill a circle 1.25 times the layer height. That was because I originally observed that you need to squash the filament to 0.8 times its diameter to get a good bond and that makes the width about 1.5 times the height. However, that only gives a packing density of 82%, which is a bit low. If you increase the flow rate so the infill is 100% then the outlines will be too wide. This is because the infill can occupy the full rectangular cross section of the filament road, but the outline, being unconstrained, will not have straight sides, so will be wider.

I reasoned that the outline will be extruded with a flat top and bottom where it is constrained between the nozzle and the bed but the sides will most likely be semicircular due to surface tension effects. This led me to a formula that gives the width from the notional extrudate diameter and the layer height.

Equating the two areas gives πd⁄ 4 = πh⁄ 4 + h (w - h). So w = h + π(d⁄ h - h) ⁄ 4 allowing the width to be predicted from the layer height and the flow rate.

Calling the aspect ratio a = w ⁄ h and re-arranging to get the flow rate to make the desired width gives: d = h√(1+ 4(a - 1) ⁄ π). For an aspect ratio of 1.5 d = 1.28h. I had previously been using 1.25h which is about 5% too low but was compensated for by the pinch wheel overfeed. I made a single walled box with the corrected pinch wheel diameter and the new formula and verified that the walls were 1.5 times the layer height.

I also used the same flow rate for the infill, but that can be increased up to the full area of the rectangle w×h. Because the outline and infill use different flow rates there is a small deficit of plastic where they meet, as this model shows: -

This can be fixed by using the infill perimeter overlap ratio setting in Skienforge, but how much? The deficit in area is a rectangle h  ⁄ 2 × h minus a semicircle of diameter h, i.e. h⁄ 2- πh⁄ 8. If the infill overlaps by a distance x then it contributes an area x × h. Equating these gives x = h (0.5 -π/8).

Converting to a ratio of w gives x/w = (0.5 -π / 8) / a. For a = 1.5 that gives an overlap of 0.07 leading to a "fully stuffed" model where the solid layers are 100% plastic.

In practice that leaves no room for error and requires the nozzle to force the plastic into the corners of the rectangular channels like an injection molding machine. I found I get a better looking object with the volume reduced to 90% of that value. So for the infill I use the formula d = h√(0.9 × 4a  ⁄ π) giving d = 1.31h for a = 1.5, making the optimum flow rate for the infill about 5% more than the outline. I also use an overlap value of 0.05 giving the theoretical packing arrangement below.

Running the new equations on my Mendel certainly produces nice looking objects:

At least four people I have sold parts to have commented they look as good or better than parts they have seen from a commercial machine. I use filament about twice the diameter that commercial machines use, which results in more visible layers and rounded corners, etc, but apart from that I must be close now.


  1. Really, really excellent write up.

  2. Great investigation and worthwhile conclusions as ever. If every other layer could be printed with the infill paths offset there should be strength benefits to be had.

    Like courses in a brick wall. They are offset too.

  3. Yes somebody has done that and measured the resulting strength increase. I can't remember where I saw it, but it was a good write up.

  4. In practice the layers aren't stacked as I have shown them because the infill alternates in direction so I should have shown the middle layer solid.

  5. My camera is not as good as yours so I can't show you the Wade extruder fabricated at FabLab on the Dimension 1200es machine.

    Your parts look every bit as good as the extruder I sent to the machine.

    If I could only sort out the electronics... :( One day perhaps. I live in Hope.

  6. As one of the people claiming there was volume loss, I much prefer this theory of surface tension making almost impossible to fill 100% of the space. Thank you for taking a longer look at this.

    I suspect that it might be a little more complex, however. In the last picture you illustrate it as rounded rectangles, which is probably more the case with PLA since it's so pliable for so long. But with ABS I suspect that the first layer put down will have both sides rounded, then the next layer will have to fit around one of those rounded sides. I picture it something like this.

    Also of note: I wrote a blog post that's mostly about your findings.


  7. Yes I think that is a more accurate model of the actually infill stacking. It also explains why if the infill is done from two directions you get a slightly raised line when it meets in the middle.

    I also think you may be right when you say that PLA can be packed more densely because it is less viscous. Another reason why I didn't notice 5% extra when extruding PLA.

  8. I'm confused.. If PLA is easier to pack than ABS, why do we need to increase ABS flow rate vs PLA?

    If ABS doesn't fill the tiny bits as well, shouldn't that mean that ABS flow rate should be lower than PLA, all else being equal?

  9. I think for the same packing you need the same flow rate, but to get the same flow rate with ABS the pinch wheel has to turn slightly faster.

    Theoretically you can run up to 100% fill but in practice the surface looks better with 90% for ABS. Rob suggests the cut off point might be higher with PLA because it needs less pressure to force it into the corners of the rectangle. That seems reasonable, but I have not tried it, apart from accidentally having PLA feed slightly faster

  10. What version of skeinforge are you using?

    I'm using skeinforge 40, and when I try to print a whistle off thingiverse, the sides of the whistle (top and bottom layer of the print) leak air like a sieve. My nozzle is 0.5mm (so is the extruded filament when I measure with a caliper). I've set layer height to 0.35 and pushed infill width/height down to 1.1 (which would mean a width of 0.385mm), but the base and top are still sparse, so I'm trying to work out what could be wrong.

  11. I use a version from June last year but I don't use it to control my flow rate.

    W/H of 1.1 will make very poorly bonded objects because the filament is not squashed enough. You don't want it less than 1.5 and I would suggest 1.8 if you are doing 0.35 layers with a 0.5 nozzle.

    If your solid layer infill comes out sparse then the flow rate is too low and the filaments are not as wide as SF thinks they are.

    Very odd you get 0.5mm filament from a 0.5 hole, it normally expands, however that is irrelevant when it comes to calibrating.

  12. Turns out the reason my infill is sparse is something completely different. Every other line of infill is deposited on top of the previous line. Someone on the RepRap forum suggested mechanical backlash, and I don't want to hijack your blog, so I'll keep the discussion there:,81135