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

    Pressure Advance Calibration

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    52
    187
    60.5k
    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.
    • Synapsisundefined
      Synapsis
      last edited by

      Thanks for the reply. my setting at the moment are
      M92 X160 Y160 Z3200 E837 ; Set axis steps/mm Set extruder steps/mm
      M350 X16 Y16 Z16 E16 I1 ; Set 16x microstepping with interpolation
      M566 X500 Y500 Z150 E500 ; Maximum jerk speeds mm/minute
      M201 X1200 Y1200 Z18 E800 ; Accelerations (mm/s^2)
      M203 X12000 Y12000 Z120 E12000 ; Maximum speeds (mm/min)
      M906 X1200 Y1200 Z1800 E1200 I30 ; Set motor currents (mA)extruder current just enough will click not strip

      I have a Titan Aero and have set my pressure advance to the settings that are in the first post. Opps just seen that in fact there are 0 and not 0.074 I try and take a better picture in day light.

      1 Reply Last reply Reply Quote 0
      • DigitalVisionundefined
        DigitalVision
        last edited by

        Here are measurements from three different step functions in extrusion rates:

        0_1540059384616_85c38dae-b378-4696-a943-91d89c25ebb5-image.png

        And here they are individually:

        0_1540058967869_b0c174c6-e88f-4796-9d51-0df9f0d30e5b-image.png

        I'd not completely trust these measurements. There is some hysteresis in the measurement jig that makes these values not perfectly repeatable (probably varies by up to ±5 % when remeasured), and the lower speed extrusions suffer from some extrusion pulsing that makes a width measurement more questionable. That being said – the general shape and trends should be fairly accurately captured.

        Let's try to create a simple model: Assume there is a property p that roughly corresponds to what one could call 'pressure' inside of the hot end, and let's assume the rate of change of this property with time corresponds to

        p'(t) = i(t) - o(t),

        where i is the input rate (feed rate) of filament into the hot end, and o is the output or extrusion rate of molten plastic from the nozzle. We then assume that the extrusion rate is a function of this property p: o = f(p). The simplest possible function is a simple linear correspondence:

        o = k*p

        for some k. Substituting this function into the change rate p'(t) gives:

        p'(t) = i(t) - k*p(t),

        Which gives a simple differential equation. Fitting this to the data to find the model parameter k yields the following results:

        0_1540060832165_5f6e6cad-44a4-4fb6-aa8c-a4eab1e16b9a-image.png

        The optimal model parameter found was k = 6.507 (the unit for i and o is mm^3/s). While this extremely simple model is obviously not a perfect fit (there seems to be some second order lagging extrusion), it still seems to explain most of the observed behavior.

        @dc42, would this model be similar or even identical to the one currently used?

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

          Yes, that's the same model as assumed by the pressure advance algorithm.

          Have you tried repeating the measurements with pressure advance of about 0.2sec applied?

          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

          DigitalVisionundefined 1 Reply Last reply Reply Quote 0
          • DigitalVisionundefined
            DigitalVision @dc42
            last edited by DigitalVision

            @dc42 said in Pressure Advance Calibration:

            Yes, that's the same model as assumed by the pressure advance algorithm.

            Cool. Thanks for confirming!

            Have you tried repeating the measurements with pressure advance of about 0.2sec applied?

            Yes, but in short it doesn't work. Pressure advance doesn't seem to be applied when doing extruder feedrate-only changes like I do here. E.g.

            G1 X40.000 Y100.000
            G1 X140.000 Y100.000 E2.4945 F3600
            G1 X200.000 Y100.000 E3.4923 F3600
            G1 X260.000 Y100.000 E1.4967 F3600
            

            Outside of this test – running pressure advance with a time constant of 0.2 leads to severe under-extrusion during deceleration moves. It is a direct drive non-bowden extruder where I get best results with pressure advance of around 0.08s.

            Here's another more precise measurement with a corresponding linear model fit. 0_1541041730586_678c21bc-b37f-417b-b7db-59d53d123116-image.png

            The lagging extrusion compared to the model on the last positive impulse is curious and consistently repeatable. My only hypothesis so far is that the extruder melt pool cools down during the high rate impulses sufficiently to increase the viscosity and slow down the response – but that's far fetched. It shouldn't be related to deceleration since the acceleration ramp should be much much shorter (0.03 s) than the scale here.

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

              I'm sorry, I forgot that pressure advance won't be applied to changing extrusion feed rates, if the change in feed rate is within the extruder jerk setting so no deceleration and acceleration is needed. This is because applying pressure advance would need an instantaneous movement of the extruder stepper motor. Changes in extrusion per unit travel without a speed change are fortunately not usual when 3D printing.

              Can you do a similar test with the extrusion amount per XY distance moved kept constant but the speed changed? That will cause normal acceleration/deceleration profiles to be used and pressure advance to be applied.

              I am surprised that your model appears to show an extruder time constant of about 0.2sec, when 0.08sec works better with your printer (and is a more reasonable value to use with a non-Bowden extruder). Are you sure you have computed the time scale correctly?

              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
              • garisundefined
                garis @LHelge
                last edited by

                @lhelge Re Zesty Nimble: Yes!

                The E acceleration and jerk settings are an issue, perhaps other settings.

                No words of wisdom to help except I am in an endless loop of iterations of tuning !! (Variations of) the advance_cal.py script is proving useful to me for testing other settings including Zesty jerk and acceleration and my PETG prints have crossed the threshold of being acceptable. My settings are for a Volcano 0.6mm and are possibly not transferrable.

                LHelgeundefined 1 Reply Last reply Reply Quote 0
                • LHelgeundefined
                  LHelge @garis
                  last edited by

                  @garis Would be interesting to se your settings, both slicer and config.g

                  I also use a Zesty Nimble with 0.6 mm Volcano right now. Around 0.01 seems to be a quite good value for PETG, not even close to resulting in any jerk/acceleration issues.

                  garisundefined 1 Reply Last reply Reply Quote 0
                  • garisundefined
                    garis @LHelge
                    last edited by garis

                    @lhelge Yesterday's tests got me to Jerk E200 as ok, with 250 to 300 causing blobbing. E acceleration seemed insensitive to wide changes up to 2000. I arbitrarily have it at 1000 (my print accelerations M204 Pnnn are either 2500 or 4000 and both seem ok ). E max speed is 2400 which is only useful for retractions as I understand it.

                    Pressure advance is 0.11 secs from the calibration wall with speeds of 25 and 75 and did not seem to be too dependent on temperature in the 240 to 250 range. I was thinking to test some lower PA settings on actual parts as I guess the lowest PA setting that works is preferable and possibly near 0.08 might be ok

                    In the context is everything is dependent on everything else, Temp is 250 for PETG and Bed 70 though bed surface will be less (temp gradient over 2 layers of 4mm glass) so I will wind that temp up soon. I am trying to juggle getting to good settings vs printing real parts for the upgrade to my printers so at the moment good enough is where I am and perfection later.

                    Re slicer setting - I have been using Cura 3.5 for the last 2 weeks that I don't sufficiently understand yet. I have been through every setting but what happens under the hood is a mystery. I like Slic3r, the idea of KISSlicer (that I bought the Pro license for) but at the moment practising with Cura: What settings are you interested in - there are a large number - I guess it might have a "Share Settings" somewhere?

                    1 Reply Last reply Reply Quote 0
                    • brunofportoundefined
                      brunofporto @DigitalVision
                      last edited by

                      @digitalvision said in Pressure Advance Calibration:

                      Here are measurements from three different step functions in extrusion rates:

                      How did you measure that? 😄

                      1 Reply Last reply Reply Quote 0
                      • minimundefined
                        minim
                        last edited by minim

                        Where do I set the retraction in this script? I can't see it retracting at all and with a 85cm bowden tube I get massive overextrusion without retraction.

                        Edit: nvm I just needed high settings. I had to go all the way up to 0.7-0.9 to get good results.

                        1 Reply Last reply Reply Quote 0
                        • imqqmiundefined
                          imqqmi
                          last edited by

                          Thanks for the script! Please note, to use the gcode you should use relative extrusions using M83, otherwise nothing is extruded. I think slic3r uses absolute extrusion M82. If you copy/paste startup gcode this could affect the print.

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

                            @imqqmi said in Pressure Advance Calibration:

                            Thanks for the script! Please note, to use the gcode you should use relative extrusions using M83, otherwise nothing is extruded. I think slic3r uses absolute extrusion M82. If you copy/paste startup gcode this could affect the print.

                            Slic3R can produce gcode with either relative or absolute extrusion. There is a check box under "Printer Settings". The important thing is that the slicer setting (and any other scripts) should match whatever the Duet is set to expect, which can be either relative or absolute.

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

                            1 Reply Last reply Reply Quote 0
                            • garyd9undefined
                              garyd9 @DigitalVision
                              last edited by

                              @digitalvision I just wanted to post a quick reply thanking you for this script. I wanted to try out pressure advance, but really had no clue whatsoever how to start calibrating it. With this script (and illustrated instructions), I was able to find that my direct drive titan extruder + e3dV6 benefits from a pressure advance setting of 0.09.

                              I thought that the number was a bit high for a V6 attached to the titan extruder (via a precision piezo orion), but I have to admit that the resulting improvement is easily visible.

                              thank you!

                              "I'm not saying that you are wrong - I'm just trying to fit it into my real world simulated experience."

                              1 Reply Last reply Reply Quote 0
                              • Edgars Batnaundefined
                                Edgars Batna
                                last edited by

                                Also found out about this script a few days ago and, man, was I wrong about the values I used. Turned out my Bowden setup runs best at 0.85, whereas I was using 0.2.

                                Rightly noted that under-extrusion should be compensated by nonlinear extrusion, not presure advance. These two features in combination doubled my print speeds while keeping the quality. 😀

                                1 Reply Last reply Reply Quote 0
                                • briskspiritundefined
                                  briskspirit
                                  last edited by

                                  How should I choose min and max speed for calibration script? Max speed is the overal speed(70mm/s for me) or outline speed? (42mm/s). Min speed correlates with jerk speed or ..? Thanks!

                                  1 Reply Last reply Reply Quote 0
                                  • gnydickundefined
                                    gnydick
                                    last edited by

                                    Where is the link to the pressure advance test file?

                                    briskspiritundefined 1 Reply Last reply Reply Quote 0
                                    • briskspiritundefined
                                      briskspirit @gnydick
                                      last edited by

                                      @gnydick https://forum.duet3d.com/assets/uploads/files/1535998759071-advance_cal.py.txt

                                      1 Reply Last reply Reply Quote 0
                                      • gnydickundefined
                                        gnydick
                                        last edited by

                                        How do I read this result?0_1546069069917_IMG_20181228_233549.jpg

                                        wilrikerundefined 1 Reply Last reply Reply Quote 0
                                        • wilrikerundefined
                                          wilriker @gnydick
                                          last edited by

                                          @gnydick I would say that the range of PA values you used is still too low because it looks like none of the layers is continuously one thickness.

                                          Manuel
                                          Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
                                          with probably always latest firmware/DWC (incl. betas or self-compiled)
                                          My Tool Collection

                                          gnydickundefined 1 Reply Last reply Reply Quote 0
                                          • gnydickundefined
                                            gnydick @wilriker
                                            last edited by

                                            @wilriker ok, thanks. Strange I need so much. I have a direct extruder with zero slack.

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