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

    Pressure Advance Calibration

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    52
    187
    60.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.
    • coreZairundefined
      coreZair
      last edited by coreZair

      @jarery said in Pressure Advance Calibration:

      E2000

      Hi @Jarery

      I don't know if I can still help you, you asked that question way back in April. But I would try to decrease your extruder jerk dramatically. I got mine around 4-5mm/s, and because the values are in mm/min that translates to 240-300. Your extruder jerk is at 2000, meaning that your extruder doesn't try to accelerate in most cases and could loose steps easily, which seems plausible concerning your shown print results.

      And at all, and of course @DigitalVision I tried to improve your python script a little. Added some comments, a cooling fan speed parameter, start and end gcodes kind of parameters, and some small tweaks. If you want you can merge it to your script or link this one in your first post. 🙂

      For all the windows-python newbies:

      1. Install python3 or newer (or python2.7, also called python27, but it's getting unsupported by the end of the year, so install python3)
      2. navigate to the downloaded pressureadvance2.py script in your explorer
      3. open the file with a good editor (no not editor.exe! I mean a good one) and change the parameters to fit your printer. Be careful not overshooting the dimensions and bed center!
      4. hold down shif key and right click on and empty spot in the file list of the windows explorer
      5. choose "open terminal here" or "open command line here" or similar
      6. type in: python pressureadvance2.py > output.gcode

      the shell command simply means "use [python] with script [ pressureadvance2.py ] and redirect output [>] to the file [output.gcode]"

      1. Use calipers to measure the position of the best layer. Mine was at around 7mm of 20mm total height for having the parameters set to pressureadvance_min = 0.0 and pressureadvance_max = 0.2. Meaning you get a gradient from 0 to 0.2... Now simply use math to calculate your pressure advance value for your printed calibration wall. It's a good idea to reprint a version with refined parameters around your determined sweet spot. I reprinted one in 0.05 to 0.10 for my roughly measured 0.07 of my first version, finally sticked with 0.068

      For my direct extruder with hobb goblin ID 5mm with e3d volcano and 0.8mm nozzle I got round about 0.068
      Tests with my 0.4mm Volcano is up next.

      Have fun guys!

      pressureadvance2.py

      1 Reply Last reply Reply Quote 0
      • CrazyCreatorundefined
        CrazyCreator
        last edited by CrazyCreator

        I've done some tests now and I think I found the right PA value.

        First question:
        The with python generated GCode "works" during the test without retraction?

        That would mean I can Set it in the Slicer to 0, if I write the determined PA value directly into the config.g?

        http://www.crazycreatorcube.com

        1 Reply Last reply Reply Quote 0
        • NitroFreakundefined
          NitroFreak
          last edited by

          I feel like i´ve missed something obvious, but when i try the script it doesnt really extrude anything. It just pivots around the same length of filament.
          I´ve looked in the code and compared it to a normal other code and the command to reset extrusion length is totally absent (G92 E0).
          So it makes sense that it is just going up and down on the extruder axis.
          What do you have to do? Use M82 instead of M83 to use absolute extruder coordinates?

          1 Reply Last reply Reply Quote 0
          • NitroFreakundefined
            NitroFreak
            last edited by

            Ok nevermind, i overlooked the fact that my starting script had a M82 in it. I changed that and it works.
            0_1563363929534_IMG_4685.JPG
            The top one is a variation between Pressure advance 0 and 0.2, the second is a taller version for the PA of 0 to 0.5 and lastly the bottom one is between a PA of 0 and 1.
            I´m using a super short "bowden" of around 120 mm, see picture.
            BMG clone, genuine capricorn tube and e3d Volcano copper block, 0.4mm nozzle. Printing Tiertime ABS filament @260°C and 70°C Chamber temperature.
            My Jerk is set to X500/Y600/E200. Acceleration is set to X1000/Y1000/E1000.
            0_1563364478579_IMG_4686.JPG

            Looking at the results i need a PA of 0.55. Can this be? It seems a little excessive for a more or less direct drive extruder. Is it because of the volcano and the ABS filament?

            Also, in the long segment the centers seem to bulge up, even at the part that had a maximum of 0.5 PA which is close to the needed value. I never get a consistent extrusion throughout like the other pictures posted.
            2_1563364443192_IMG_4688.JPG 1_1563364443192_IMG_4687.JPG !

            What is the culprit of that? What do i need to change to have the extrusion in the fast segment even?

            I have checked nonlinear extrusion but have not configured it since my extrusion stays consistently at 100% up until 7mm/s, at 8mm/s it is at 98.8% and at 10mm/s it is at 96.8%. If i configured nonlinear extrusion, the square fitment nature would mess up my extrusion below 7mm/s. It may need more variables.

            @DigitalVision Thanks for the script, it works perfectly!

            1 Reply Last reply Reply Quote 0
            • jens55undefined
              jens55
              last edited by jens55

              I am running pressure advance calibration as per
              http://www.sternwolken.de/tmpup/3dprint/pressureadvance2.py
              The code seems to want to print out the current pressure advance setting (ie a print statement). Where would that end up ?
              I am running this code on a Duet WiFi via the web panel.
              Running on an Ubuntu system.

              1 Reply Last reply Reply Quote 0
              • OBELIKSundefined
                OBELIKS
                last edited by

                I don't see any print out commands (MM117, M291)

                P3Steel Toolson mk2 - Duet 2 WiFi --> RatRig V-Core with Duet WiFi 1.03
                Original Prusa i3 MK3S

                jens55undefined 1 Reply Last reply Reply Quote 0
                • jens55undefined
                  jens55 @OBELIKS
                  last edited by

                  @OBELIKS, I only looked at the python script .... Dooohhhh
                  Turns out the print commands put comments into the g_code output file where they are doing precious little unless you can see the codes as they are run.

                  Thanks! Mystery solved 🙂

                  1 Reply Last reply Reply Quote 0
                  • OBELIKSundefined
                    OBELIKS
                    last edited by

                    Haha, yeah different code 😄

                    P3Steel Toolson mk2 - Duet 2 WiFi --> RatRig V-Core with Duet WiFi 1.03
                    Original Prusa i3 MK3S

                    1 Reply Last reply Reply Quote 0
                    • mihaitinteaundefined
                      mihaitintea
                      last edited by mihaitintea

                      Hello

                      If I run the python file and generate the PA test gcode file, I see that it contains G1 Xxxxx Yyyyy Eeeee commands whose E values are very large, e.g.:

                      G1 X-47.400 Y3.200 E15.7653

                      whereas if I look into any gcode file generated by Cura, I only see very small E values in the G1 commands, e.g.:

                      G1 X9.063 Y1.1 E0.16886

                      Why does this happen, and how can I safely run/print the generated PA test gcode file ? (i.e., won't my extruder/hotend be blown up because of such enormous E values in the G1 commands ?)

                      Regards
                      Mihai

                      1 Reply Last reply Reply Quote 0
                      • OBELIKSundefined
                        OBELIKS
                        last edited by

                        These are all long printing moves, as the models usually have small ones.
                        You can always check in gcode.ws

                        P3Steel Toolson mk2 - Duet 2 WiFi --> RatRig V-Core with Duet WiFi 1.03
                        Original Prusa i3 MK3S

                        1 Reply Last reply Reply Quote 0
                        • jens55undefined
                          jens55
                          last edited by

                          Is pressure advance supposed to change with different extrusion thickness ? I was always under the impression it was relatively constant at least with the same filament.
                          I had run calibration for PLA 0.8 mm nozzle and 0.2 mm layer thickness and got a number of 0.45.
                          I subsequently printed out a model at 0.4 mm layer thickness and ran into some odd issues that looked a lot like pressure advance issues but dismissed that because I had just calibrated that.
                          I ran another pressure advance calibration but this time with 0.4 mm layer thickness and got a figure closer to 0.2 for pressure advance.
                          Does this mean that in order to run a long bowden tube (where pressure advance is most critical) I have to calibrate every combination of filament, nozzle size, layer thickness and possibly nozzle temperature ?
                          If so then the case for a direct extruder setup got a lot stronger ....

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

                            @jens55 I must confess that although I've played around with various parameters in relation to pressure advance, layer height vs nozzle diameter isn't one of them. I'd say that it's eminently possible that using a layer height of 20% of the nozzle diameter could offer a restriction to the filament flow as it exits the nozzle (because the nozzle tip is closer to the part being printed). Which would of course affect the pressure in the hot end, making it higher than if the layer height was greater.

                            That being the case, then I'd expect the same problem to manifest itself, regardless of whether the extruder is direct drive or Bowden (because the cause of the pressure increase is downstream of the extruder).

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

                            jens55undefined 1 Reply Last reply Reply Quote 0
                            • jens55undefined
                              jens55 @deckingman
                              last edited by

                              @deckingman said in Pressure Advance Calibration:

                              That being the case, then I'd expect the same problem to manifest itself, regardless of whether the extruder is direct drive or Bowden (because the cause of the pressure increase is downstream of the extruder).

                              All I have ever read about pressure advance seems to indicate that a direct extruder only uses minimum amounts ... or put into other words, just a smidgen to optimize things.
                              Going from 0.45 to 0.2 in a bowden setup becomes the difference between a good print and a failed print. The print I have been dealing with recently ended up with holes in the outer wall layer (still testing this finding) at the point where a layer started.
                              I would very much like to have confirmation if my understanding of this is correct before I contemplate a major printer configuration change !

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

                                @jens55 Common perception is that pressure build up happens mostly in the Bowden tube, due to the filament buckling and twisting, which is why direct extruders are less prone to it's effects. Nobody really knows for sure but it seems a reasonable hypothesis. I was just surmising that if you are seeing a big difference between layers heights, then it might be because the filament flow as it exits the nozzle is being restricted with small layer heights. In which case, the cause of the pressure might be something other than the filament buckling and twisting. So if that is the case, then a direct extruder may exhibit the same behaviour. It's just conjecture on my part.........

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

                                jens55undefined 1 Reply Last reply Reply Quote 0
                                • jens55undefined
                                  jens55 @deckingman
                                  last edited by

                                  @deckingman , thanks for your input. I agree with your thinking.
                                  I am hoping that somebody with first hand experience might chime in as we are both guessing.

                                  1 Reply Last reply Reply Quote 0
                                  • Munce31undefined
                                    Munce31
                                    last edited by

                                    Hi All

                                    I've been using this python script to fine tune my pressure advance on my zesty nimble extruder. It has been a massive help in this process.

                                    Just one suggestion - I don't know if it is possible - however, I would like to see what pressure advance setting it is currently at during the print. Preferably to be displayed like a pop, similar to how the Report PA macro works in https://forum.duet3d.com/topic/6181/tuning-macros-menus-accel-jerk-retraction-pressure-advance. Is it possible to add something to this python script to report current pressure advance? It would make fine tuning the pressure advance just a little easier by taking a chunk of the guess work out of it.

                                    Thanks,
                                    Vince

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

                                      @Munce31 You could manually add M117 <current PA value> into the GCode file after every change of PA.

                                      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

                                      Munce31undefined 1 Reply Last reply Reply Quote 0
                                      • Munce31undefined
                                        Munce31 @wilriker
                                        last edited by

                                        @wilriker said in Pressure Advance Calibration:

                                        @Munce31 You could manually add M117 <current PA value> into the GCode file after every change of PA.

                                        Yeah I figured I could do that as well, but that potentially could be quite laborious. I was thinking more along the lines of something like M117 <current PA value> being added directly into the python script so that it can be automated.

                                        OBELIKSundefined 1 Reply Last reply Reply Quote 0
                                        • Phaedruxundefined
                                          Phaedrux Moderator
                                          last edited by

                                          The Report PA Value macro just sends the command for pressure advance without any parameters so that the current value gets echoed back. Doing a find and replace in the gcode file shouldn't be too hard to add it.

                                          Z-Bot CoreXY Build | Thingiverse Profile

                                          1 Reply Last reply Reply Quote 0
                                          • OBELIKSundefined
                                            OBELIKS @Munce31
                                            last edited by

                                            @Munce31 If you are using the script @jens55 posted, you can add

                                            print("M117 %.3f" % pressure_advance)
                                            

                                            after

                                            print("M572 D0 S%.3f" % pressure_advance)
                                            

                                            P3Steel Toolson mk2 - Duet 2 WiFi --> RatRig V-Core with Duet WiFi 1.03
                                            Original Prusa i3 MK3S

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