Firmware speed extrusion multiplier = f(target extrusion rate)
-
Took dogs for a walk and while brain was in neutral it occurred to me that there's another variable here apart from print speed (x/y speed, not extruder speed) and that is layer height. Obviously, the amount of plastic that is extruded at any one time is derived from not just the x/y speed but the layer height and line width. Cura will soon be supporting variable layer heights and other slicers have provided this feature for some time so you do have the situation that although the print head is moving at the same x/y speed, on different layers, the extrusion rate can differ due to the variation in layer height and so without the non-linear compensation you would find that the layers that occur at the regions in the model that have the least slope (in z) would have fatter lines than the other layers due to the variation in layer height (the lower the slope, the thinner the layers). It could be that the non-linear extrude feature will help reduce the visual difference that naturally occurs between the regions on parts printed using variable layer heights.
Related to that is the situation where the speed is reduced to extend the layer print time so that the plastic has more time to harden before the next layer arrives. Without non-linear extrusion, if the extruder has been calibrated at, say, 5mm/S extrusion rate then, when the x/y rate is reduced by the slicer to extend the layer times, there's a possibility that it will overextrude at, say, 2mm/S. -
The problem I see with asymmetric pressure advance is that it will inevitably lead to overall under or over extrusion over the acceleration and deceleration segments combined, compared to the steady-speed segment. But we can try it if you like. Can you point me to your video evidence?
It may be that what we actually need is nonlinear pressure advance, i.e. build up the advance distance quickly at the start of the acceleration segment and more slowly at the end; and the reverse during deceleration. My reasoning is that I suspect the increase in pressure with compression of the filament isn't linear, especially if a long Bowden tube is involved.
Video testing is here https://www.youtube.com/watch?v=lnYYNfVoxmQ&t=358s but it may not be obvious that there are ridges only but no valleys. It probably ought to be viewed along with this https://www.youtube.com/watch?v=NAFd3Hj9Wmc&t=13s which clearly shows the huge blogs caused by pressure build up at high speed which then get deposited on the subsequent non-print and which no amount of retraction will compensate for.
I agree that asymmetric pressure advance would lead to the sum of all the increased extrusion being unequal to the sum of all the deceased extrusion but how significant would that be to the overall amount of filament needed to complete a print? It's hard to quantify. Maybe it would be in the region of 1 or 2 percent and we already deviate from the theoretical amount of filament needed whenever we set an extrusion multiplier that is anything other than unity. We don't often question why we need to this, we make assumptions and carry on regardless because it gives us better prints.
I think we are beginning to agree that the rate of increase in pressure at the start of a move may not be equal to the rate of decrease in pressure at the end. Although, because I see problems with over extrusion at the ends of moves without a corresponding under extrusion problem at the start of a move, I think what would be needed is to build up the pressure more slowly at the start but decay it more quickly at the end.
-
Took dogs for a walk and while brain was in neutral it occurred to me that there's another variable here apart from print speed (x/y speed, not extruder speed) and that is layer height…..................
I'd guess by the same reasoning, nozzle diameter might also be a factor.
-
Its a shame there has not yet been any successful work on actually measuring pressure in the hotend, that would make determining how much pressure is needed by turning the extruder, much more straightforward (and remove the need to calibrate extruders).
I couldn't agree more Simon. Everything we do regarding pressure compensation (and more besides) is based on theories about what we think is happening, rather than on what we know to be fact. I've looked long and hard at fitting a pressure transducer into a hot end so that we can measure what is really going on. With a Diamond hot end, it wouldn't be too difficult to fit a transducer into one of the 3 inputs and load filament into the other 2. But suitable transducers aren't cheap - at least for an individual like myself who would get no return on the investment. IMO this is the sort of research that companies such as E3D ought to be doing. They make both hot ends and extruders so have a vested interest in applying some scientific analysis with real measurements.
-
Took dogs for a walk and while brain was in neutral it occurred to me that there's another variable here apart from print speed (x/y speed, not extruder speed) and that is layer height…..................
I'd guess by the same reasoning, nozzle diameter might also be a factor.
A larger nozzle diameter should give reduced back pressure, so at a given extrusion speed the under-feeding of filament should be reduced. But with a large nozzle you would probably be using a higher extrusion speed anyway.
-
But the point I was hoping to make was that if the layer height can vary from layer to layer then you need a dynamic mechanism to adjust for the different extrusion rates on each layer (non-linear extrusion being a possible candidate) if you are expecting the lines to come out the same width. Printers can't yet change nozzles on the fly (can they?) so the nozzle hole size is effectively constant throughout the print.
-
But the point I was hoping to make was that if the layer height can vary from layer to layer then you need a dynamic mechanism to adjust for the different extrusion rates on each layer (non-linear extrusion being a possible candidate) if you are expecting the lines to come out the same width. Printers can't yet change nozzles on the fly (can they?) so the nozzle hole size is effectively constant throughout the print.
Ah I see. Sorry, I misunderstood the point you were trying to make about the transition from one layer height to another for different sections of a model. I thought that all the parts of a print that need to be printed at one layer height would be printed consecutively, then the layer height changed and the other sections printed. I didn't realise that the layer height would be dynamically changing as the head moves across the print surface. I doubt that would be any good for my printer though, as the bed is both big and heavy so my Z axis speed and acceleration are really slow. I'd have to reduce the print speed by quite a bit for the Z axis to keep up. I have enough trouble with one change per layer
-
Nozzle size at any given fixed volumetric rate is relevant, but as David said, each nozzle size tested will have an extrusion volume/second at which it begins to under extrude, it would be interesting to know if this is linear, so is the pressure related to the nozzle orifice surface area?
But if the relationship is not linear between nozzle orifice area and maximum volumetric extrusion rate, then perhaps what E3D allude to in their interview with Tom, that wider filaments (3mm) suffer with more problems getting heat into the core of the filament, also applies. Maybe a 1.0mm nozzle doesnt melt the filament as well as a 0.4, even if it is larger and creates less back pressure for an equivalent volumetric rate.
Layer height might matter to some degree, in the sense that the more obstruction that is present at the nozzle orifice whilst printing the more back pressure must develop, but the nozzle is hot and melts its way through obstructions at low speed, less so at high speed. The excess material tends to pile up.
Surely there are plastic extrusion experts in industry who could just answer these questions, people have been squirting molten plastic out of nozzles for a long time before someone thought to attach the squirter to an etch-a-sketch with a z axis and print objects with it?
-
….................. But with a large nozzle you would probably be using a higher extrusion speed anyway.
Er well sort of but on the other hand no. Because with a larger nozzle one tends to use taller layer heights as well as wider extrusion width which means that for sure you run the extruder faster, but then rapidly run into the melt rate limit so have to slow the entire print down. So one tends to extrude the same volume of filament, but as it is being forced through a larger orifice, I would expect the pressure to be less.
That could of course be a factor in why I don't see the under extrusion issues. I don't run with a nozzle diameter of less that 0.5mm whereas many people seem to use 0.4mm. It's only 0.1mm but it equates to almost 50% difference in area. It may also explain why I do get more over extrusion as pressure eventually builds up, because with the larger orifice there is less resistance, so the pressure is able to force filament out of the nozzle more freely. Of course, this is all conjecture and hypothesis.
-
Maybe a 1.0mm nozzle doesnt melt the filament as well as a 0.4, …..........
Could be but in my experience with a 0.9mm nozzle, it came down the size of the melt chamber (again) rather than nozzle diameter. The general consensus is that with layer widths in the region of 1 mm and layer heights of around 0.7 to 0.8 mm you need to slow the print speed down from a "normal" print speed of around 60mm/sec to around 10mm/sec because of the 6 fold increase in nozzle area. When I tested using all 3 melt chambers and equal mixing ratios, I had no trouble at all at 30mm/sec using 1.0mm layer width and 0.7mm layer height. I thought this was pushing my luck so when I printed the coffee table (https://somei3deas.wordpress.com/2017/12/28/t-glass-petg-coffee-table/) I ran the printer at 20mm/sec but I reckon I could push it to 30 without any undue problems. As I'll need about 6 reels of filament to print another, I'm not likely to try it though :).
-
You know you can get 2.2kg reels? Might be worth considering.
-
I buy mine from this place.
-
You know you can get 2.2kg reels? Might be worth considering.
Yeh. I bought 2.2. kg of E3D Edge once. Trouble is the damned reel is 300mm in diameter and wouldn't fit my machine. I ended up re-winding it onto 1kg spools and what a PITA that was! Anyway, it's not the length or weight that's the issue - it's the cost. 6 kg of T glass would likely buy several coffee tables from IKEA. In 7 months time, I'll be in receipt of the state pension so I need to start thinking about economising :).
-
I just ran some quick tests on my machine using a single filament\extruder. I'll publish the results when I get time to tidy them up. I did repeated tests by marking the filament, extruding 50mm and measuring the actual distance extruded. This was all done using my default temperature for PLA which is 185 deg C. Yes, I know that this temperature is low but over many hundreds if not thousands of hours of printing, using a variety of filaments, the Diamond hot end on my machine, always gives the best results at or even slightly below the manufacturers recommended minimum temperature.
In summary, on my machine, using the above test methodology, I didn't notice any difference between actual filament moved and filament demanded that was outside test to test repeatability at any feed rate up to 5mm/sec. Over that there was a difference which increased with extruder speed. I saw about 5% difference at 8mm/sec. Higher than that, the extruder was clearly trying to grind away the filament.
Interestingly, at the end of these higher flow rate moves, there was noticeably much more oozing of filament from the nozzle. Oozing is something that is much more prevalent with the Diamond hot end, especially at the start of a print when the hot end is heating up. I have a theory that this is down to thermal expansion due to having 3 large melt chambers, but this is purely conjecture.
I then repeated a couple of the tests at 4m/sec with an extrusion multiplier of unity and at 8mm/sec with an extrusion multiplier of 5%. The 4mm/sec result was the same as before as I would expect. But the 8mm/sec using an extrusion multiplier of 1.05 was also the same - i.e. still about 5% low. In fact, I'd say the results indicate that it is slightly worse at around 6% but I'll put that down to measurement error.
From these tests, my conclusion is that, on my machine, using a single filament input on a Diamond hot end with 0.5mm diameter nozzle, extruding 50mm of filament in one continuous move, into air, there are signs that at high extrusion speeds, the amount fed in to the extruder is slightly less than the amount demanded. However, increasing the extrusion multiplier does not compensate (on my machine).
We don't really know what happens. We could surmise that there must be some slippage of the filament drive train due to pressure build up in the hot end, but from the tests I ran, it seems that increasing the extruder drive speed does not compensate. We can probably also surmise that at 0.5mm diameter nozzle is not affected the same way as a 0.4 mm diameter nozzle but this would be a dangerous assumption, as there are many differences between a Diamond hot end and say, an E3D V6 - including melt chamber size. Also, the sample size of tests results is very low (about 3 others apart from my own at the time of writing, only one of which has been quantified in a meaningful fashion ).
Can anyone who has done those static tests repeat them by using an extrusion multiplier of unity at slow speed, and then their expected extrusion multiplier at high speed, to see if running the extruder faster works for them. We have very little data on which to base any informed judgement.
-
Ian, thanks for running those tests. It sounds like your Diamond + 5 (or is it now 3?) Titans suffers from this effect much less than an E3Dv6 or J-head + 1 Titan. Perhaps this is due to the larger melt chambers in the Diamond and the fact that the filament flow through each of them is reduced to 1/3 or 1/5 of the total.
I am surprised that increasing the extrusion factor didn't compensate. I did wonder whether the extrusion factor wasn't being applied to extrusion-only moves, but I just checked the code, and it appears that it should be. Perhaps at 8mm/sec your Titans are on the verge of losing grip or missing steps.
Both I and Burtgoogle have repeated our tests with nonlinear extrusion compensation applied, and found that it is effective at keeping the actual extrusion rate close to the commanded rate. See the 1.20.1RC2 thread.
-
Hi David,
Yes, I'm a bit disappointed with the results. To be clear, this was with a single filament using a single extruder. So my extruder should have been running at the same speed as yours (E3D Titan). It was with the 3 colour version (I swap between the 3 and the 5). So filament was loaded into the other two inputs, but the mixing ratio set to 1.00:0.00:0.00 so they would have been stationery.
I'm wondering if it's the nozzle size? Mine is 0.5mm what is yours?.
Alternatively, it could be the melt chamber size and\or be some interaction between them. My thinking is that although filament is loaded into the other two, some may ooze out of these chambers as the nozzle heats (there is certainly a lot that oozes out of the nozzle). This might then mean that the "unused" melt chambers aren't completely full and act as a buffer to absorb the pressure increase. I have no idea really. It seems plausible to me but I can only speculate.
No idea why increasing the extrusion multiplier didn't help. It could be as you say or it could be that there is some "grinding" of the filament or wear that reduces the diameter but doesn't produce visible flakes. Another possibility is that I've been running quite light extruder pressure lately. This is because firmware retraction of all filaments concurrently can wear any "unused" filament or those that run slowly. I'd have thought that slippage due to light extruder arm pressure ought to show up as visible "flaking" but you who knows?
I'd really love to graft a transducer into one of the inputs to measure the pressure and get some idea of what really happens inside the hot end. Unfortunately I don't have the resources (funds or otherwise) to do it.
If I get time, I'll repeat using all 3 or 5 filaments\extruders. This is going to be time consuming as I'll have to mark and measure all filaments then sum the results to get the total. But it will be interesting to see what happens and also if all 3 (or 5) extruders behave the same way or if there is any inconstancy between them.
-
Im late to the party here . Loving the data points that the filament monitor allows to be recorded.
My question is this…
Does either non-linear extrusion or pressure advance do anything to retraction or do they just solely address this issue via speed and extrusion? Im no expert, but would increasing retraction as speed increases help at all? i could see Deckingman, who has issues with over extrusion during fast prints, wanting the opposite of linear extrusion.... can you supply negative values in the gcode? would linear retraction also be a valuable tool?
Do you think it would be possible to roughly quantify nozzle pressure by say....
doing a bunch of printing moves 1 layer high at a specific speed and then stopping the extruder but continue to move the print head in a line on the bed. My Im guessing you could get an idea of the relative nozzle pressure by the length of the line printed before the nozzle stops oozing.
Im looking forward to getting a filament monitor so that I can come to the data point party.
-
Nonlinear extrusion and pressure advance are not applied to retraction, reprime and other non-printing moves. But pressure advance reduces the amount of retraction you need, because pressure advance reverses the filament movement before the end of the deceleration phase of a fast extruding move.