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.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.
    • jschallundefined
      jschall
      last edited by

      Duet Web Control 2.0.4
      RepRapFirmware for Duet 2 WiFi/Ethernet version 2.03 running on Duet WiFi 1.02 or later + DueX5
      WiFi firmware version 1.23

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

        Got it. Had to find iap4e.bin from a really old firmware release. Had to find out about this by googling a forum post. I'm sorry, but what the heck? Why not document this in the release notes, or just put the file in the release bundle? Jeez, that's really bad.

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

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

          Got it. Had to find iap4e.bin from a really old firmware release. Had to find out about this by googling a forum post. I'm sorry, but what the heck? Why not document this in the release notes, or just put the file in the release bundle? Jeez, that's really bad.

          It is in the release bundle. iap4e.bin is included in the .zip file updates for RRF 2.05.1, 2.05, 2.04, and some earlier releases.

          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

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

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

            It is in the release bundle. iap4e.bin is included in the .zip file updates for RRF 2.05.1, 2.05, 2.04, and some earlier releases.

            It is not in Duet2and3Firmware-3.0.zip

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

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

              Update to 2.05.1 to get on recent code.

              Post your config.g.

              I did suggest you update to 2.05.1 first.

              The issue of missing IAP files does come up and should be better addressed in the documentation. I'll see what I can do about that.

              Z-Bot CoreXY Build | Thingiverse Profile

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

                Currently running the test on RRF3.1.1. It is with x16 microstepping+interpolation, but I'll do a new control test with no PA as well.

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

                  Where the heck in the code are the reverse pins written?

                  Also my logic analyzer keeps failing.

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

                    Found it.

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

                      Got the logic analyzer to work... It is very picky about USB ports.

                      fwd_count 10734771
                      rev_count 8650049
                      net_count 2084722
                      mm 2638.888608

                      3 changes on this one:

                      • RRF 3.1.1, prior tests were at 2.03
                      • x16 microstepping, prior tests were at x8
                      • 100% speed, prior tests were at 200% speed
                      • Unplugged the extruder stepper and plugged in an identical stepper so I wouldn't have to listen to the gears make noise.

                      File is supposed to be 2545.00 mm + 15mm of priming, so this print was within 3% - pretty decent, but there's still a bug.

                      I am reverting the speed change and testing, and then I'll revert the microstepping change if it doesn't go back up to nasty overextrusion.

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

                        Just a thought, for a next generation path following algorithm, what I would do is:

                        1. Segment the toolpath into linestrings in which the angles between the lines are less than some threshold (such as 30 degrees)
                        2. Smooth those segments, using maybe a series of cubic splines (long lines may need to be split up into shorter lines first).
                        3. Compute the speed curve along the segment such that tangential and radial acceleration is limited and such that the extruder can keep up with pressure advance. Each segment starts at zero speed and pressure and ends at zero speed and pressure.

                        "Jerk" (bad choice of term) becomes unnecessary. Corners below the angle threshold are rounded smoothly, without ringing or asymmetry. The printer will come to a brief stop at sharp corners above the angle threshold, thus making them as sharp as possible.

                        A lot of this could be done (and may have to be done) in a preprocessing step.

                        dc42undefined T3P3Tonyundefined 2 Replies Last reply Reply Quote 1
                        • jschallundefined
                          jschall
                          last edited by jschall

                          RRF 3.1.1, 200% speed, x16 microstepping, 1.0 PA:
                          fwd_count 12180087
                          rev_count 10084959
                          net_count 2095128
                          mm 2652.060759

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

                            Starting test: RRF 3.1.1, 200% speed, x8 microstepping, 1.0 PA

                            This one should be apples-to-apples to the tests on RRF 2.03.

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

                              RRF 3.1.1, 200% speed, x8 microstepping, 1.0 PA
                              fwd_count 6073637
                              rev_count 5024835
                              net_count 1048802
                              mm 2655.194937

                              So this is not terribly huge overextrusion, I could try printing with this. There's still a bug.

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

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

                                Just a thought, for a next generation path following algorithm, what I would do is:

                                1. Segment the toolpath into linestrings in which the angles between the lines are less than some threshold (such as 30 degrees)
                                2. Smooth those segments, using maybe a series of cubic splines (long lines may need to be split up into shorter lines first).
                                3. Compute the speed curve along the segment such that tangential and radial acceleration is limited and such that the extruder can keep up with pressure advance. Each segment starts at zero speed and pressure and ends at zero speed and pressure.

                                "Jerk" (bad choice of term) becomes unnecessary. Corners below the angle threshold are rounded smoothly, without ringing or asymmetry. The printer will come to a brief stop at sharp corners above the angle threshold, thus making them as sharp as possible.

                                That's similar to what I have planned. A disadvantage is that the existing effect whereby the perimeters of holes are always under-sized would be made a little worse.

                                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

                                jschallundefined 1 Reply Last reply Reply Quote 0
                                • T3P3Tonyundefined
                                  T3P3Tony administrators @jschall
                                  last edited by

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

                                  The printer will come to a brief stop at sharp corners above the angle threshold, thus making them as sharp as possible

                                  it will be interesting to see if PA can compensate for the large blob seen when stopping briefly at corners. Currently sharp corners are slightly rounded because the printer does not come to a complete stop - but they are smooth, where as when the print hed has to be raised (e.g. to the next z level, there is a visible Z "seam".

                                  Maybe this is better off combined with jerk for angles > than the smoothing process works on.

                                  www.duet3d.com

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

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

                                    That's similar to what I have planned. A disadvantage is that the existing effect whereby the perimeters of holes are always under-sized would be made a little worse.

                                    Holes are undersized because of the low resolution meshes. I generally export my STLs with higher resolution.

                                    I did this real quick, based on wikipedia's python example of catmull-rom splines. The yellow line is the spline drawn through only the provided points, and the blue line is the spline when additional control points are added to limit the length of curved sections. It shouldn't cause holes to undersize - if anything it will make them better.

                                    Figure_1-1.png

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

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

                                      Maybe this is better off combined with jerk for angles > than the smoothing process works on.

                                      Here's the thing though - just increase acceleration. That's effectively what jerk is doing anyway.

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

                                        Hard enough to get PrusaSlicer to generate gcode without 20% more extrusion than the volume of the STL in the first place 😄

                                        botundefined 1 Reply Last reply Reply Quote 0
                                        • mendenmhundefined
                                          mendenmh @jschall
                                          last edited by

                                          @jschall You have to be careful with just increasing the acceleration. Because of decreasing torque with increasing speed, high acceleration combined with high speed can cause lost steps. You can tolerate much more acceleration at low speed (where jerk comes into play) than at high speed.

                                          I have a low-accel setting for my printer (1200 mm/s^2) that allows travel up to 150 mm/s. I had to make my high-accel (1800 mm/s^2) macro drop the travel speed to 120 mm/s to not lose steps.

                                          I actually would like, someday, in RRF a variable-acceleration mode which drops the acceleration as the speed approaches a specified target, to keep the system inside the torque-speed envelope. It isn't a difficult calculation, and might allow somewhat faster overall printing.

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

                                            @mendenmh yes, could just model that and limit acceleration to stay within torque limits.

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