RE: Automated method from CNC Kitchen to evalute the maximum volumetric speed.
IIRC, originally the MK3 filament sensor was advertised as being able to track the amount/speed of the filament entering the extruder. I realize it had some problems with certain clear filaments, but did it ever work that way on *any* filaments? That would be perhaps the best way to deal with this problem: a closed-loop system which guarantees an accurate flow rate by measuring in real-time how much filament is actually consumed and adjusting the stepper speed (and/or maybe increasing the strength of its grip on the filament) accordingly to meet the target rate.
RE: Automated method from CNC Kitchen to evalute the maximum volumetric speed.
We're used to thinking that one stepper step equates to a definite distance travelled, but apparently that model breaks down when it comes to extruding plastic filament. Here's an intuitive model that might explain what's happening: imagine that the filament is covered by a slippery lubricant. When there's not much resistance (e.g. it's moving slowly or being extruded through a large diameter hole), the extruder gears are able to grab it well enough to move it along, but as the backpressure increases, they more and more start to slip past the filament while still imparting some amount of force. The larger the backpressure though, the more the gears tend to slip past the filament. So, because the gears are able to impart at least some force, then some amount of filament still manages to get extruded, but not as much as it would be if the gears also weren't quietly slipping past it.
RE: Automated method from CNC Kitchen to evalute the maximum volumetric speed.
And the last piece of the puzzle: as extrusion rate increases, resistance/backpressure increases, so there's more slippage. I think this pretty much describes what's going on. Except in your PLA example, where some kind of aymptote or limit was reached, you can still generally extrude more filament per unit of time by increasing the extruder's feedrate, but the total amount extruded vs the predicted amount (if it were truly linear) decreases. I took a closer look at Stefan's video, and he refers to the difference between the predicted amount extruded and the actual amount extruded as "underextrusion." In his graph the the reference amount is the amount extruded at a nominal 3mm^3/sec:
and that's why there is 0% underextrusion for the 3mm^3/sec flowrate. It probably isn't literally true. Rather, it's true by virtue of the way Stefan defined it.
RE: Automated method from CNC Kitchen to evalute the maximum volumetric speed.
What had been confusing about the way Stefan presented his results:
is that it makes it appear that setting a higher volumetric flow rate actually results in less material extruded per unit of time than setting a lower volumetric flow rate. I seriously doubt that's what happens. Instead, let's look at what he actually measured:
He's instructing the printer to extrude half a meter of filament at a particular feedrate. He weighs the amount extruded, changes the feedrate, and repeats, continuing like that until he has measured the amount of weight extruded at different feedrates. Bottom line: stefan's measuring the weight of the extruded material per nominal half meter, not per second, at different feedrates. But because slippage increases at higher feedrates, the amount extruded per step goes down. The half -meter isn't really a half-meter: in the Prusa Slicer, it's just a fixed number of steps that, under calibration conditions, would pass a half-meter of filament through the extruder.
RE: Automated method from CNC Kitchen to evalute the maximum volumetric speed.
IIRC, originally the MK3 filament sensor was advertised as being able to track the amount/speed of the filament entering the extruder. I realize it had some problems with certain clear filaments, but did it ever work that way on *any* filaments? That would be perhaps the best way to deal with this problem: a closed-loop system which guarantees an accurate flow rate by measuring in real-time how much filament is actually consumed and adjusting the stepper speed (and/or maybe increasing the strength of its grip on the filament) accordingly to meet the target rate.
Although the closed-loop approach would be the gold standard, an easier way would be to run calibrations at different speeds and incorporate the results into the slicer, either as a formula or as a lookup-table or as an interpolated look-up table. Assuming that the amount of slippage at different speeds is repeatable, then by running the extruder faster to compensate for slippage, the slicer should be able to demand and get whatever amount of volumetric extrusion it needs at different speeds--up to some limit.
Do there exist any slicers which account for extrusion variances in this manner? Seems like it wouldn't be very had to program, and it wouldn't require any changes or upgrades to the firmware. It could all be computed at the time of slicing.
RE: Automated method from CNC Kitchen to evalute the maximum volumetric speed.
In the meantime, it seems that the best you can do is decide how much underextrusion you're willing to tolerate, and that in turn decides what the MVS is for the particular filament your testing, assuming your print conditions are the same (hotend temperature; nozzle type, diameter, and condition; hotend model; condition and alignment of your extruder gears, etc.).
If that sums it up, then I don't see much alternative to stefan's/OP's testing method, though as noted by the OP it can be abbreviated to stop once you hit the unacceptable underextrusion rate. If you set it purely on when you can hear the stepper audibly skipping steps, how much underextrusion is that exactly? I'd be interested to know, because in at least one regard I agree with @bobstro: it would certainly be an easier/faster test.
RE: Automated method from CNC Kitchen to evalute the maximum volumetric speed.
Anyhow, one small but obvious improvement to Stefan's method would be to measure out and weigh a half meter of filament and use that directly as the 100% extrusion reference standard, rather using the amount extruded under the 3mm^3/second MVS limit as the reference standard. It may also simplify the math: you can then easily calculate how many mm of filament really were extruded in each of the tests.
RE: Automated method from CNC Kitchen to evalute the maximum volumetric speed.
I'm just assuming you're right, but if so it's a very strange disconnect with the default settings for generic PETG and generic PLA and prusament PLA in the current version of the Prusa Slicer. It shows MVS of 8mm^3/sec for generic PETG and an MVS of 15mm^3/sec of generic PLA and the same 15mm^3/sec for prusament PLA.
I had a very brief exchange with someone from Prusa at the start of the COVID PPE printing effort. I asked whether my findings on PETG flow rates made sense given the low MVS settings used in Prusa's filament settings. They responded that the answer provided was that higher flow rates for PETG are fine, but the lower values are used to ensure good infill. I think this is a case where one profile can be used many different ways, so Prusa (and any other developer ) makes a good guess at what most people want, erring on the side of caution.
Maybe you can track them down and get more info? I think it's worth revisiting: specifically, what kind of infill breakdown occurs when PETG flow rates are higher? I seem to recall reading somewhere that infill-perimeter overlap might be a problem with PETG at higher flow rates, but the solution offered was to increase overlap percentage from 25% to 50%, and voila, problem solved without needing to reduce flow rate. If that really does work, then cutting flow rate by almost half is a pretty drastic default if overlap percentage could be defaulted to 50% instead.
RE: Automated method from CNC Kitchen to evalute the maximum volumetric speed.
Hmmm... I'm surprised this isn't getting more comments. I guess most people are happy with their 0.4mm nozzles, accept the default slicer settings, and just call it a day.
So, for confirmation, I found this:
There is always a small slipping in the filament from the extruder. The faster you go, the greater is the slipping. Below is an example taken from the DyzEnd-X with few nozzles. You can see that the 1.20mm nozzle can output a lot more flow than the other nozzles. Also, the efficiency is decreasing by an exponential rate based on the output flow.
from: https://dyzedesign.com/2018/07/3d-print-speed-calculation-find-optimal-speed/
RE: Automated method from CNC Kitchen to evalute the maximum volumetric speed.
I'm not close to computers for those days.
In my method, the unit for the speed of extruded filament should always be mm3/s as an input for the g-code. For example 3mm3/s is (3/(pi*(1.75/2)^2)*60)=75mm/min. If I set 3mm3/s in X unit in the graph, it is F75 in the g-code.
I think there is no linearity between extruder speed and extruded filament volume at all. You may assume there is underextrusion linearity for slow speed but that method is not accurate enough to measure that.
As there are always underextrusion, you have to set a reference to compare to. One idea should have been to extrude without nozzle, that would have been the reference without any underextrusion, an extra work I missed to do. In my case 100% represent the amount of weighed filament at a certain temperature at quite slow speed. At the beginning I set it to 2mm3/s now I choose 3mm3/s. Then the first point on the graph is 100%. Assuming the temperature of the nozzle during the print is fixed, each expressed percentage is relative to the weight of the filament of the same temperature. 3mm3/s is totally arbitrary, it is a value you may use for external perimeter for a 0.4mm nozzle and 0.2mm layer height.
Generally there are two ways to tune the amount of extrusion (extrusion multiplier). Measure the wall width of a hollowed shape or visually evaluate the extrusion of the top surface. I use only the first. Then I set my extrusion multiplier by measuring a 2 perimeters hollowed shape @3mm3/s. I know for other faster speeds I will underextrude. And for slower speed, I will very slightly overextrude. Generally the underextrusion is not an issue as it happens only at faster speed and not seen (infill, inner perimeter) that is why people don't care too much. You may underextrude enough to see it if you go very fast on top layers.
That is my answer to first posts. I need to read further for more comments.
RE: Automated method from CNC Kitchen to evalute the maximum volumetric speed.
IIRC, originally the MK3 filament sensor was advertised as being able to track the amount/speed of the filament entering the extruder. I realize it had some problems with certain clear filaments, but did it ever work that way on *any* filaments? That would be perhaps the best way to deal with this problem: a closed-loop system which guarantees an accurate flow rate by measuring in real-time how much filament is actually consumed and adjusting the stepper speed (and/or maybe increasing the strength of its grip on the filament) accordingly to meet the target rate.
What would have been the accuracy of measuring the filament displacement? That seems tricky to do a closed-loop system.
RE: Automated method from CNC Kitchen to evalute the maximum volumetric speed.
We're used to thinking that one stepper step equates to a definite distance travelled, but apparently that model breaks down when it comes to extruding plastic filament. Here's an intuitive model that might explain what's happening: imagine that the filament is covered by a slippery lubricant. When there's not much resistance (e.g. it's moving slowly or being extruded through a large diameter hole), the extruder gears are able to grab it well enough to move it along, but as the backpressure increases, they more and more start to slip past the filament while still imparting some amount of force. The larger the backpressure though, the more the gears tend to slip past the filament. So, because the gears are able to impart at least some force, then some amount of filament still manages to get extruded, but not as much as it would be if the gears also weren't quietly slipping past it.
That is what I think. It is not a gear to gear ratio. The filament should deform when entering and exiting the gear teeth ans slip.
RE: Automated method from CNC Kitchen to evalute the maximum volumetric speed.
and that's why there is 0% underextrusion for the 3mm^3/sec flowrate. It probably isn't literally true. Rather, it's true by virtue of the way Stefan defined it.
Yes the 0% underextrusion is relative to a reference as there is always underextrusion, excepted you remove the nozzle. In practice personnaly I don't need to know the volume without underextrusion as I tune my extrusion multiplier at 3mm3/s. But for science and more rigor it may be interesting.
RE: Automated method from CNC Kitchen to evalute the maximum volumetric speed.
He's instructing the printer to extrude half a meter of filament at a particular feedrate. He weighs the amount extruded, changes the feedrate, and repeats, continuing like that until he has measured the amount of weight extruded at different feedrates. Bottom line: stefan's measuring the weight of the extruded material per nominal half meter, not per second, at different feedrates. But because slippage increases at higher feedrates, the amount extruded per step goes down. The half -meter isn't really a half-meter: in the Prusa Slicer, it's just a fixed number of steps that, under calibration conditions, would pass a half-meter of filament through the extruder.
Yes. The X axis is what he asks the printer to do, not what the printer really do as there is slippage.
RE: Automated method from CNC Kitchen to evalute the maximum volumetric speed.
Maybe you can track them down and get more info? I think it's worth revisiting: specifically, what kind of infill breakdown occurs when PETG flow rates are higher? I seem to recall reading somewhere that infill-perimeter overlap might be a problem with PETG at higher flow rates, but the solution offered was to increase overlap percentage from 25% to 50%, and voila, problem solved without needing to reduce flow rate. If that really does work, then cutting flow rate by almost half is a pretty drastic default if overlap percentage could be defaulted to 50% instead.
What I noticed long time ago is that if you increase overlap for PETG, as it is a sticky material, you grab material on the nozzle and that increase the probabily to have blobs on it. But that was long time ago, I may be wrong. I didn't increase overlap rate since.
If you change regularly your nozzle temperature, you would need a reference without underextrusion at all (without nozzle). If it is always the same temperature you can do as I do (3mm3/s at my temperature of choice).
RE: Automated method from CNC Kitchen to evalute the maximum volumetric speed.
Hmmm... I'm surprised this isn't getting more comments. I guess most people are happy with their 0.4mm nozzles, accept the default slicer settings, and just call it a day.
So, for confirmation, I found this:
There is always a small slipping in the filament from the extruder. The faster you go, the greater is the slipping. Below is an example taken from the DyzEnd-X with few nozzles. You can see that the 1.20mm nozzle can output a lot more flow than the other nozzles. Also, the efficiency is decreasing by an exponential rate based on the output flow.
from: https://dyzedesign.com/2018/07/3d-print-speed-calculation-find-optimal-speed/
As I said, underextrusion is not generally visible as it occurs only at higher speed. Then, depending on your slicer settings, it happens for inner perimeters and infill and little for top perimeters. That is why there is no much interest in it. And in early 3d printing days the main variable was the filament diameter.
I wasn't aware of the dyzedesign.com work. Thanks. Yes there is not much data on the web on that topic.
What bother me the most now is what is the impact of idler tension on the printing under/over extrusion. I didn't make any test on that. Stefan told me he thinks about setting a sensor somewhere to be able to measure the force on the filament. That would be great.
And then impact of moisture.
Clean nozzle vs used nozzle. How to know when the nozzle is dirty enough to have impact on the extrusion?
RE: Automated method from CNC Kitchen to evalute the maximum volumetric speed.
Clean nozzle vs used nozzle. How to know when the nozzle is dirty enough to have impact on the extrusion?
Do you mean the outside or the inside of the nozzle? If the outside, I just today stumbled across something interesting that maybe would be helpful:
https://www.matterhackers.com/store/l/slice-engineering-plastic-repellent-paint/sk/MCD7GM52
RE: Automated method from CNC Kitchen to evalute the maximum volumetric speed.
@dimprov
Inside
RE: Automated method from CNC Kitchen to evalute the maximum volumetric speed.
As I said, underextrusion is not generally visible as it occurs only at higher speed. Then, depending on your slicer settings, it happens for inner perimeters and infill and little for top perimeters. That is why there is no much interest in it. And in early 3d printing days the main variable was the filament diameter.
I agree. Under-extrusion, much like stringing, isn't all that concerning if it's ultimately encased in plastic. If you're printing with 0.4mm or smaller nozzles, this is all mostly a curiosity. Once you get into larger nozzles, it's a more significant issue but you're still left with "and then what?". For my purposes, knowing the upper end that I can push without causing extruder feed issues is my main concern.
Examining the Dyze graphs and Stefan's, if your rate of extrusion is about half the maximum, you're extruding in the range of 95-100% of the specified amount. This is is usually good enough. This is in line with my experiences, where identifying the maximum extrusion rate, then roughly halving it gave consistently good results with PETG and 0.6-1.0mm nozzles.
The same applies with layer heights. Although a bigger nozzle lets me theoretically use higher layers, print quality has a say. If the print involves bridging or overhangs, lower layers may be necessary to improve quality. The big gain with the bigger nozzle comes from extrusion widths. MVS is important, but a ballpark range is good enough.
There was another old thread recently revived here recently that got into "maximum speeds" for printing. Ultimately, MVS proved the limiting factor and many of the common consumer filaments don't print well at the maximum range that the hardware is capable of. Reality, as always, applies its own limits. In the end, knowing the maximum volumetric flow rate that I can extrude a filament at without problems lets me roughly judge how high I can set the Maximum volumetric speed (MVS) settings in the slicer. In the ideal case, my print settings profile speeds are what limits how much is extruded and not the MVS setting. For my purposes, much more precision in the process of determining that maximum doesn't add value.
and miscellaneous other tech projects
He is intelligent, but not experienced. His pattern indicates two dimensional thinking. -- Spock in Star Trek: The Wrath of Khan
RE: Automated method from CNC Kitchen to evalute the maximum volumetric speed.
I'm probably not fully understanding, but there seems to be a contradiction:
1. On the one hand, an MVS limit doesn't come into play much on visible surfaces like outer perimeters and top surfaces because their speeds have been limited to make them look better. So, in practice, MVS is only of relevance to printed elements that aren't visible.
2. Yet it seems that you two and maybe Stefan are saying that an MVS which corresponds to an underextrusion of maybe 5-10% is what you're using when setting MVS in the Prusa Slicer. I'm comfortable with that, but why not set an even more aggressive number? Since it likely wouldn't be visible, is it purely for structural integrity reasons?