Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Firmware speed extrusion multiplier = f(target extrusion rate)

    Scheduled Pinned Locked Moved
    Filament Monitor
    9
    63
    9.6k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • burtoogleundefined
      burtoogle
      last edited by

      I have recently been scratching my head trying to work out why I am getting under extrusion with a titan upgrade to my mini Kossel and this thread discusses the problem I am seeing. Before I found this thread, while searching for anything related to under extrusion vs feed rate, I discovered this very interesting article that was written over 4 years ago http://www.extrudable.me/2013/04/18/exploring-extrusion-variability-and-limits/.

      Edit: I forgot to add that (as mentioned in the above article) this effect occurs at very low feedrates. I did a very quick test with PLA at 200C using the titan and a 0.4mm JHead hot end and got the following extrusion factors:

      [[language]]
      mm^3/s  %extruded
      2.4          97.5
      4.8          95.5
      7.2          92.5
      12           90
      
      

      With the hot end not connected (just the bowden tube) I get 100%

      So my current solution (not so optimal) is to up the extruder steps by 5% in the Duet config and then in the slicer (Cura), I reduce the first layer flow to 95% to avoid over extrusion due to the low speeds used for the first layer.

      1 Reply Last reply Reply Quote 0
      • dc42undefined
        dc42 administrators
        last edited by

        There is a similar nobservation at http://forums.reprap.org/read.php?262,802277,803224#msg-803224.

        I am seriously considering adding a feature to make extruder_drive_speed = f(requested_extrusion_speed) where f(x) = x + ax^2 + bx^3 for some values of a and b. The values of a and b will depend on filament and extrusion temperature. Calibrating them would be done automatically with the help of a Duet3D filament monitor.

        Duet WiFi hardware designer and firmware engineer
        Please do not ask me for Duet support via PM or email, use the forum
        http://www.escher3d.com, https://miscsolutions.wordpress.com

        1 Reply Last reply Reply Quote 0
        • burtoogleundefined
          burtoogle
          last edited by

          That would be really interesting to try out. I don't have a filament monitor - would it still be possible to plug values for a and b manually? Even if not entirely optimal, I still think it would be good to have some kind of "curve" by which the feedrate could be influenced by the feedrate (and hot end temp).

          1 Reply Last reply Reply Quote 0
          • dc42undefined
            dc42 administrators
            last edited by

            I have just implemented this and it will be released in firmware 1.20.1. See https://duet3d.com/wiki/G-code#M592:_Configure_nonlinear_extrusion.

            I am waiting for more feedback on firmware 1.20.1RC1 before I do another release.

            Duet WiFi hardware designer and firmware engineer
            Please do not ask me for Duet support via PM or email, use the forum
            http://www.escher3d.com, https://miscsolutions.wordpress.com

            1 Reply Last reply Reply Quote 0
            • heathmancundefined
              heathmanc
              last edited by

              Where can someone get the duet filament monitor?

              1 Reply Last reply Reply Quote 0
              • dc42undefined
                dc42 administrators
                last edited by

                It's not available yet, because we are prototyping a laser filament sensor as a possible production alternative to the rotating wheel one we have now. In any, case the implementation I have just done for nonlinear extrusion doesn't support automatic calibration.

                Duet WiFi hardware designer and firmware engineer
                Please do not ask me for Duet support via PM or email, use the forum
                http://www.escher3d.com, https://miscsolutions.wordpress.com

                1 Reply Last reply Reply Quote 0
                • dc42undefined
                  dc42 administrators
                  last edited by

                  I've just done some measurements on my delta printer, which uses an E3Dv6 hot end and Titan extruder. I used RigidInk PLA at an extrusion temperature of 200C. I recorded the filament monitor mm/rev calibration data at extrusion speeds form 1mm/sec to 7mm/sec. Here is the data:

                  At 6mm/sec extrusion rate, extrusion is 11.5% down compared to 1mm/sec. At 7mm/sec I heard something slipping, I'm not sure whether it was the stepper motor missing a step or the extruder grinding the filament.

                  It looks like setting M592 parameters A=0.015 and B=0.0012 should compensate for the non-linear drive quite well.

                  Duet WiFi hardware designer and firmware engineer
                  Please do not ask me for Duet support via PM or email, use the forum
                  http://www.escher3d.com, https://miscsolutions.wordpress.com

                  1 Reply Last reply Reply Quote 0
                  • burtoogleundefined
                    burtoogle
                    last edited by

                    Hi David, that's very useful info, thanks. I will initially be trying this feature on a titan+jhead combo using similar filament and temperature as you and so will use those values as a starting point. Will report back when I have some data.

                    1 Reply Last reply Reply Quote 0
                    • DjDemonDundefined
                      DjDemonD
                      last edited by

                      Nice feature and a feature not present in other firmware. It will be quite interesting to tie this to the/a filament monitor.

                      Simon. Precision Piezo Z-Probe Technology
                      www.precisionpiezo.co.uk
                      PT1000 cartridge sensors NOW IN, just attach to your Duet board directly!

                      1 Reply Last reply Reply Quote 0
                      • deckingmanundefined
                        deckingman
                        last edited by

                        I'd be interested to know what effect this has on print quality.

                        If I understand the theory correctly, we have a build up of pressure in the hot end as we increase the extrusion speed and try and force more and more filament through it. This causes the extruder to perhaps not bite into the filament quite so well so we increase the the extrusion rate to compensate.

                        The bit that makes me sceptical is that it is essentially positive feedback because increasing the extrusion multiplier will increase the pressure even more, which will need higher extrusion multiplier ad infinitum. Also, at some point, this built up pressure will need to be relieved and this will happen when the extruder stops or moves more slowly. I'd have thought that this would then show as oozing\blobs on non-print moves or over extrusion on short (and thus) lower speed moves. I'd guess that those would be the things to look out for when testing.

                        The other thing that makes me sceptical is that it is the complete opposite of pressure advance which we've seen can be beneficial. With pressure advance, we increase the rate of change of extrusion at low speed at the start of a move but with this, we will be increasing the extrusion amount during the high speed portion of a move.

                        Personally, I'd need to see some with and without prints to be convinced that it is beneficial.

                        Ian
                        https://somei3deas.wordpress.com/
                        https://www.youtube.com/@deckingman

                        1 Reply Last reply Reply Quote 0
                        • dc42undefined
                          dc42 administrators
                          last edited by

                          @deckingman:

                          If I understand the theory correctly, we have a build up of pressure in the hot end as we increase the extrusion speed and try and force more and more filament through it. This causes the extruder to perhaps not bite into the filament quite so well so we increase the the extrusion rate to compensate.

                          That's the theory I have. It may not be correct, but it is a plausible explanation for the observed effect, i.e. extruder drive steps/mm increases a little with extrusion speed, when extruding through the hot end.

                          @deckingman:

                          The bit that makes me sceptical is that it is essentially positive feedback because increasing the extrusion multiplier will increase the pressure even more, which will need higher extrusion multiplier ad infinitum.

                          From my tests, it looks like we're talking about a maximum of a little over 10% additional extruder steps/mm. If a move commands an extrusion rate of 5mm/sec, the steps/mm might increase by 10% compared to extruding at very slow speeds. So we increase the steps/mm for this move by 10%. Then we need another 10% of that (assuming the compensation is linear, which it almost is), and so on. In the end, to compensate for 10% under extrusion, we need to increase the extruder drive speed by 11.11111…%. So it's not ad infinitum, as long as we don't attempt to apply large amounts of compensation, e.g. more than 50%.

                          @deckingman:

                          Also, at some point, this built up pressure will need to be relieved and this will happen when the extruder stops or moves more slowly. I'd have thought that this would then show as oozing\blobs on non-print moves or over extrusion on short (and thus) lower speed moves. I'd guess that those would be the things to look out for when testing.

                          The pressure will be relieved when the extrusion rate slows down in the usual way. It's likely that the optimum amount of pressure advance will be a little higher - or rather, that the amount of pressure advance used before compensation was applied was actually too low, because the hot end was under-extruding at high extrusion rates.

                          @deckingman:

                          The other thing that makes me sceptical is that it is the complete opposite of pressure advance which we've seen can be beneficial. With pressure advance, we increase the rate of change of extrusion at low speed at the start of a move but with this, we will be increasing the extrusion amount during the high speed portion of a move.

                          The aim is to restore the extrusion rate to what the slicer asked for, not to increase it to beyond what the slicer asked for.

                          @deckingman:

                          Personally, I'd need to see some with and without prints to be convinced that it is beneficial.

                          Quite so. That's why I have done only a basic implementation of it, for example there is no adjustment of the compensation with temperature yet, it isn't tied in with the filament management system, and the comparisons done by the filament monitor don't take account of it yet (that is likely to need additional memory, which isn't available on the older Duets). The printing moves with the highest speeds - which will be the ones most affected by compensation - tend to be interior infill moves, and 10% under-extrusion of those moves isn't really noticeable.

                          If you can spare the time, it would be interesting to see how the extruder steps/mm of your own machine varies with extrusion speed.

                          Duet WiFi hardware designer and firmware engineer
                          Please do not ask me for Duet support via PM or email, use the forum
                          http://www.escher3d.com, https://miscsolutions.wordpress.com

                          1 Reply Last reply Reply Quote 0
                          • deckingmanundefined
                            deckingman
                            last edited by

                            @dc42:

                            If you can spare the time, it would be interesting to see how the extruder steps/mm of your own machine varies with extrusion speed.

                            I'll give it a go if I find time. TBH though, as I have to have all 3 (or 5) inputs loaded with filament, I tend to just set mixing ratio to roughly 33% (or 20%) for each one. Which means that for any given speed, each of my 3 (or 5) extruders will be running at 1/3 (or 1/5) of the speed that a single extruder would run at. So I doubt if my findings would be of much use. For the same reason, I doubt that I'd see the problem that this is supposed to cure.

                            If you recall, I did some work on high speed printing https://somei3deas.wordpress.com/2017/06/22/exploration-of-print-speeds-with-a-diamond-hot-end/. The biggest problem I've seen with higher speeds is over extrusion at the end of moves as the print head slows down, for which I need a lot of pressure advance compensation. If you recall on the tests I did, without pressure advance this caused huge blobs at the start of the next move or during a non print moves. https://somei3deas.wordpress.com/2017/06/25/duet-pressure-advance-experiments/ and I needed 0.4 to 0.5 pressure advance to compensate.

                            I don't see any observable effects of under extrusion at the beginning of moves, nor during a move - just very obvious signs of over extrusion at the end. I'm guessing this is because the increased pressure is sustained or decays slowly which serves to maintain a high extrusion flow rate while the head itself is decelerating. I can only repeat that for sure, I see over extrusion after long high(ish) speed moves but not under extrusion at the start or during a move and present the evidence again https://www.youtube.com/watch?v=lnYYNfVoxmQ&t=352s. We have had this discussion before but it's clear that I'm never going to convince anyone else that this is what happens. It seems strange to me that people readily dismiss such empirical evidence of what does happen if it doesn't fit with what theory dictates should happen.

                            However, I know for sure that at least on machine, this is indeed what happens. That is why increasing the extruder pressure during the higher speed part of the move is counter intuitive to me.

                            Personally I'd like the ability to be able to reduce the extrusion multiplier (and hence pressure) at the end of long high speed moves but without increasing it again at the start of the next move, but I can see that's never going to happen. Probably because my empirical test results don't fit the theory.

                            Ian
                            https://somei3deas.wordpress.com/
                            https://www.youtube.com/@deckingman

                            1 Reply Last reply Reply Quote 0
                            • dc42undefined
                              dc42 administrators
                              last edited by

                              Hi Ian,

                              1. I have implemented nonlinear extrusion because of what I and others have measured, not because of any particular theory;

                              2. May I suggest that you do some single-layer test prints with both long and short high speed moves (with the same peak speed) and an appropriate amount of pressure advance, and publish the results here, so that we can see whether there is over-extrusion at the end that depends on the length of the move.

                              [Edited]

                              Duet WiFi hardware designer and firmware engineer
                              Please do not ask me for Duet support via PM or email, use the forum
                              http://www.escher3d.com, https://miscsolutions.wordpress.com

                              1 Reply Last reply Reply Quote 0
                              • deckingmanundefined
                                deckingman
                                last edited by

                                Hi David,

                                I think we are both grown up enough to be able to agree to disagree.

                                Ref 2. Already done it. The over extrusion is the same at the start of both long and short moves as per the video evidence. At the extremities of the moves, there are raised ridges (over extrusion) but no "valleys" (under extrusion). This confirms my belief that at high print speeds, the pressure builds up quickly but decays at a slower rate, which is what I expect to happen if, as I suspect, the pressure isn't fully dissipated at the end of the move. Also, as I concluded in my tests, the same high pressure advance setting was needed for both the long and the short moves adding further weight to that idea. i.e. that it's mostly a function of how fast you try and cram the filament in, rather than how fast you move the print head.

                                Ian
                                https://somei3deas.wordpress.com/
                                https://www.youtube.com/@deckingman

                                1 Reply Last reply Reply Quote 0
                                • DjDemonDundefined
                                  DjDemonD
                                  last edited by

                                  Just to throw my 2p in here (covers head) do you think Ian you did not observe the under extrusion as you were using multiple extruders to push the filament through, running each at below its maximum capabilities? You were printing at 400mm/s which is impressive in its own right, but using 3 (5) titans, I was under extruding at 180mm/s using one titan.

                                  I did watch/read your results, and partially participate in that testing, but using a single extruder, I certainly hit a limit, whether that was my nozzle size (0.4mm) or my extruder's ability to continue to push enough filament at these high speeds to extrude what was expected, or an inability to heat the filament fast enough (or some combination) I did not pursue the issue enough to determine. But I am keen to try this new idea and compare 180, 200, 220 mm/s with and without this (what are we calling it - "high speed-extrusion-boost"?).

                                  Simon. Precision Piezo Z-Probe Technology
                                  www.precisionpiezo.co.uk
                                  PT1000 cartridge sensors NOW IN, just attach to your Duet board directly!

                                  1 Reply Last reply Reply Quote 0
                                  • deckingmanundefined
                                    deckingman
                                    last edited by

                                    Hi Simon,

                                    Always happy to hear your input. We are all adults here.

                                    No I don't believe that using multiple extruders is the reason why I don't get the under extrusion. I believe that it is far more likely to be the fact that I'm employing multiple melt chambers.

                                    The OP's theory is that the reason why there is pressure build up is due to friction in the nozzle and has nothing to do with melt rate. Yet when I employ 3 melt chambers on my Diamond hot end I should, according to that theory be increasing the friction which ought to make matters worse. Instead it offers an almost 3 fold increase in the print speed potential. So to my mind, the reason for that has to be the increased melting capability.

                                    It could well be that there is some merit in what is being proposed but it goes against all my test results, which is why I am highly sceptical. The reason I get a bit hot under the collar is that no one has produced a single print showing that there is a problem - just a theory. This theory has subsequently been demonstrated by doing some static tests but I can immediately think of several reasons why they may not be valid. On the other hand I have empirical evidence gained through real testing which shows issues
                                    with over extrusion.

                                    From my practical testing, I can only conclude that increasing the extrusion multiplier will make this over extrusion worse but these real world test results are simply being ignored. Which begs the question why? Is it because they don't fit the theory I ask myself?

                                    My training has always been to do controlled tests to identify a problem and then devise a solution. Then maybe find a theory that fits. To my mind what we have here is a theory first, then a few tests which aren't representative of actual usage conditions, then a solution, but nobody has as yet produced a single print to demonstrate or identify a problem during normal printing.

                                    The OP reckons that 30 to 50% more extrusion is needed at high speed and David reckons on around 11% at only 6mm/sec but if under extrusion of these amounts is prevalent and needs compensating for, I'd have thought that forums would be flooded with posts by people complaining about this issue. Yet I see none.

                                    Just putting across my point of view here.

                                    Ian
                                    https://somei3deas.wordpress.com/
                                    https://www.youtube.com/@deckingman

                                    1 Reply Last reply Reply Quote 0
                                    • burtoogleundefined
                                      burtoogle
                                      last edited by

                                      My training has always been to do controlled tests to identify a problem and then devise a solution. Then maybe find a theory that fits. To my mind what we have here is a theory first, then a few tests which aren't representative of actual usage conditions, then a solution, but nobody has as yet produced a single print to demonstrate or identify a problem during normal printing.

                                      Well, I noticed that I was getting underextrusion which I could not explain because I had calibrated my extruder. It was only when I did some googling and found this very interesting page that I realised what was happening.

                                      http://www.extrudable.me/2013/04/18/exploring-extrusion-variability-and-limits/

                                      My "simple tests" verified that I was seeing this effect occurring.

                                      The OP reckons that 30 to 50% more extrusion is needed at high speed and David reckons on around 11% at only 6mm/sec but if under extrusion of these amounts is prevalent and needs compensating for, I'd have thought that forums would be flooded with posts by people complaining about this issue. Yet I see none.

                                      It is true that it hasn't received a lot of discussion but I think it is a recognised phenomena. Cura has some code in it that appears to make the printer aware of a compensation factor which is dependent on the extrusion rate but that solution is for Ultimaker printers only (I think, not studied it in great detail).

                                      Anyway, I shall try David's new feature with an open mind. If it fixes the underextrusion and doesn't introduce any new problems, I will continue to use it.

                                      1 Reply Last reply Reply Quote 0
                                      • burtoogleundefined
                                        burtoogle
                                        last edited by

                                        With regard to pressure advance (which I do not use). Am I right in thinking that it tweaks the extruder rate at the begin/end of extruded segments where the extrusion rate changes so as to try and avoid over/underextrusion when the rate is reduced/increased? If that's the case then it should not have any effect in the middle of a long extrude where the extrusion rate is not changing. By contrast, M592 will modify the extrusion rate for the whole length of the extrude. It seems to me that although both of these features (pressure advance and non-linear extrusion) modify the extrusion rate, they are not mutually exclusive. They do very different jobs. I could imagine both being used if the user determined that print quality was improved by using both.

                                        1 Reply Last reply Reply Quote 0
                                        • deckingmanundefined
                                          deckingman
                                          last edited by

                                          @burtoogle:

                                          Anyway, I shall try David's new feature with an open mind. If it fixes the underextrusion and doesn't introduce any new problems, I will continue to use it.

                                          For sure so will I, and I will try very hard not to allow my expectation of what will happen to cloud any evidence before me.

                                          Ref pressure advance, my understanding is that it works as you describe. Although speed related extrusion would seem to do a different job, there be interaction between the two. For short moves without a sustained period of constant speed, pressure advance will act as it's name implies during the acceleration and deceleration phases but as speed increases, then this additional multiplier will be added. On the one hand, this would seem to indicate that less pressure advance may be needed during the acceleration phase due to the boost given by increasing the extrusion multiplier as the speed increases. On the other hand the increase in extrusion multiplier may lead to an increase in pressure, resulting in a need for more pressure advance (actually retardation) compensation at the end of the move. But, we can't have asymmetric pressure compensation (which kind of lead me back to a point that I've been trying to make) 🙂

                                          Ian
                                          https://somei3deas.wordpress.com/
                                          https://www.youtube.com/@deckingman

                                          1 Reply Last reply Reply Quote 0
                                          • dc42undefined
                                            dc42 administrators
                                            last edited by

                                            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.

                                            Duet WiFi hardware designer and firmware engineer
                                            Please do not ask me for Duet support via PM or email, use the forum
                                            http://www.escher3d.com, https://miscsolutions.wordpress.com

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA