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

    RRF 2.03 pressure advance causes 20% overextrusion

    Scheduled Pinned Locked Moved
    Firmware installation
    15
    116
    6.1k
    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.
    • jschallundefined
      jschall
      last edited by

      Ok, I need to upgrade anyway.

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

        I had analyzed this issue multiple times before as well and 2.05.1 had only minor improvements related to PA. Based on my findings something happens on the step generation level, probably CPU running out, causing moves to be done before reverse motion (there is some code in there that basically aborts moves before they are done, you'd need to analyze it yourself as I've wasted more time than I'd like already and I have no means of analyzing stepper control). I eventually gave up using PA on my printer as it ALWAYS overextrudes for me and I've ruled out every mechanical issue, too.

        I think that it will get worse, if you upgrade to 3.x, as it probably uses more CPU.

        jschallundefined DocTruckerundefined 2 Replies Last reply Reply Quote 1
        • jschallundefined
          jschall @Edgars Batna
          last edited by

          @Edgars-Batna said in RRF 2.03 pressure advance causes 20% overextrusion:

          I had analyzed this issue multiple times before as well and 2.05.1 had only minor improvements related to PA. Based on my findings something happens on the step generation level, probably CPU running out, causing moves to be done before reverse motion (there is some code in there that basically aborts moves before they are done, you'd need to analyze it yourself as I've wasted more time than I'd like already and I have no means of analyzing stepper control). I eventually gave up using PA on my printer as it ALWAYS overextrudes for me and I've ruled out every mechanical issue, too.

          Interesting. How did you come to your conclusions? Did you ever write them up?

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

            @Edgars-Batna said in RRF 2.03 pressure advance causes 20% overextrusion:

            I think that it will get worse, if you upgrade to 3.x, as it probably uses more CPU.

            Think the main changes for RRF3 were around making it more configurable at runtime, currently making the jump myself. Guess there are more advance features available, but not sure if CPU use will be effected. Interested to learn more there.

            Running 3 P3Steel with Duet 2. Duet 3 on the shelf looking for a suitable machine. One first generation Duet in a Logo/Turtle style robot!

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

              @jschall Yeah, I created various topics, but it wasn't easy separating printer from firmware, as my build wasn't as polished back then. It was mostly treated as a printer hardware issue. Just look at topics created by me and you'll see multiple threads.

              This is the latest one: https://forum.duet3d.com/topic/16840/printer-refuses-to-do-a-certain-print

              I added detailed logging to the firmware in the meantime and wrote a program which counts how much extrusion the movement planning actually wants to command and it added up. The only thing left were the step interrupts themselves and the barely understandable second part of DriveMovement::PrepareExtruder (PA step computation) in the code. Without means to analyze stepper signals I stopped debugging.

              jschallundefined 1 Reply Last reply Reply Quote 1
              • jschallundefined
                jschall
                last edited by

                Currently trying reducing the detail of the model so that the slicer creates fewer moves. We'll see if it makes any difference.

                botundefined 1 Reply Last reply Reply Quote 1
                • botundefined
                  bot @jschall
                  last edited by

                  What slicer are you using?

                  *not actually a robot

                  jschallundefined 1 Reply Last reply Reply Quote 0
                  • jschallundefined
                    jschall @bot
                    last edited by

                    @bot
                    PrusaSlicer. Changing the Resolution setting in Print Settings->Advanced from 0 to 0.1.

                    botundefined 1 Reply Last reply Reply Quote 0
                    • jschallundefined
                      jschall @Edgars Batna
                      last edited by

                      @Edgars-Batna That's why I went to the logic analyzer, because I knew it would just be constantly dismissed as a mechanical issue if I didn't remove everything mechanical from the equation.

                      Edgars Batnaundefined 1 Reply Last reply Reply Quote 0
                      • botundefined
                        bot @jschall
                        last edited by

                        Interesting. I’ve recently gone the other way, and increased the hard-coded minimum value of resolution (thanks to mr Batna here for telling me about that), as well as made a few other changes to increase the resolution of the output. I’m very interested to hear if going the other way as you are helps alleviate this issue. If so, I’m gonna be very sad hahaha. I want tons of resolution, not to give it back!

                        *not actually a robot

                        1 Reply Last reply Reply Quote 0
                        • DocTruckerundefined
                          DocTrucker
                          last edited by

                          Had a very similar issue when I was generating exposure points from slice data for metals machines. In my case it was a typo in the way I carried over leftover travel over a sequence of tiny vectors. My code effectively walked around the contour of vectors and dropped points every so many microns, not too disimilar to what our systems need to do - but instead of exposure points it's step requests from the stepper drivers. When the vectors were substantially less than the point distance things went funky.

                          Running 3 P3Steel with Duet 2. Duet 3 on the shelf looking for a suitable machine. One first generation Duet in a Logo/Turtle style robot!

                          1 Reply Last reply Reply Quote 0
                          • jschallundefined
                            jschall
                            last edited by

                            Significant reduction in the overextrusion after reducing resolution, but not gone. Will try reducing it more.

                            fwd_count 7139947
                            rev_count 6062246
                            net_count 1077701
                            mm 2728.356962

                            1 Reply Last reply Reply Quote 1
                            • botundefined
                              bot
                              last edited by

                              You are like an angel, coming down to save me from months more of frustration! I've been working on the "solution" to this problem that I hadn't ever been able to pinpoint.

                              Can you try also lowering PA by a factor of 10, with various resolution settings, and comparing the results? I want to know how much this effect scales with PA, and if there is a safe amount of PA we can apply to high-resolution gcode.

                              Thanks again.

                              *not actually a robot

                              jschallundefined 1 Reply Last reply Reply Quote 0
                              • jschallundefined
                                jschall @bot
                                last edited by

                                @bot tried reducing the resolution of the STL to about 0.5mm and it still totally overextrudes, but turning it down in the slicer seemed to work better... weird.

                                I am out for the weekend now, so no more experiments for a while.

                                Need to grok the code. Sounds like it needs some low level improvements on top of any improvements to pressure advance, based on what @Edgars-Batna is saying.

                                Funny, I just quit my software job, was hoping it was forever. Didn't even last a day.

                                1 Reply Last reply Reply Quote 2
                                • Vetiundefined
                                  Veti
                                  last edited by

                                  @jschall said in RRF 2.03 pressure advance causes 20% overextrusion:

                                  Funny, I just quit my software job, was hoping it was forever. Didn't even last a day.

                                  this isnt a job, this is fun.

                                  1 Reply Last reply Reply Quote 0
                                  • jmjcokeundefined
                                    jmjcoke
                                    last edited by

                                    This is a good resource for the resolution setting.
                                    https://youtu.be/Hvw3DrVAeTA

                                    Joshua Coke

                                    Trick Laser Metal Max with Smart Effector
                                    Duet Wifi
                                    Zesty Nimble
                                    Mosaic Pallette+
                                    At work
                                    Renishaw AM250/400/ RenAM500M/500Q Powder Bed Fusion (Metal 3D Printers)

                                    1 Reply Last reply Reply Quote 0
                                    • CCS86undefined
                                      CCS86 @jschall
                                      last edited by

                                      @jschall said in RRF 2.03 pressure advance causes 20% overextrusion:

                                      With no pressure advance: https://drive.google.com/file/d/1oFvrJnxZc6fvLlGZqTdCqO7GB4Zfzdy_/view?usp=sharing

                                      Python script output:
                                      fwd_count 1942964
                                      rev_count 961423
                                      net_count 981541
                                      mm 2484.913924

                                      2.48m, dead on what the slicer expected.

                                      Proof positive that PA causes overextrusion and that this is a firmware bug, NOT a mechanical or configuration issue.

                                      Very nice find!

                                      I started a thread recently to brainstorm further PA improvement ideas. Over-extrusion was one of my issues. I am running RRF 3.1.1.

                                      https://forum.duet3d.com/topic/17752/pressure-advance-discussion-for-improvement-in-bowden-printers?_=1598756015603

                                      1 Reply Last reply Reply Quote 0
                                      • jschallundefined
                                        jschall
                                        last edited by

                                        Probably going to focus my efforts mostly on scrapping bowden and going to direct...

                                        It is just too painful to deal with.

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

                                          @jschall said in RRF 2.03 pressure advance causes 20% overextrusion:

                                          @Edgars-Batna That's why I went to the logic analyzer, because I knew it would just be constantly dismissed as a mechanical issue if I didn't remove everything mechanical from the equation.

                                          Forgot to mention that my observations also indicated that there's not enough CPU to keep up with tiny moves + PA on the Duet 2. This was also why I stopped debugging.

                                          As for using Bowden, yeah, sort of "forget it". BUT, this issue is not limited to Bowden. As far as I could tell there is no way to completely avoid the issue, but resolution (and in turn the CPU usage) makes it worse.

                                          It is possible that some trivial printers out there sort of work, but, the same way as my prints were dismissed as "not real", I'll just pretend those people don't exist either.

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

                                            DC42 has added this to the list to investigate.

                                            Z-Bot CoreXY Build | Thingiverse Profile

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