• Tags
  • Documentation
  • Order
  • Register
  • Login
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.0k
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.
  • undefined
    jschall
    last edited by 28 Aug 2020, 18:32

    Hi, bought an E3D ToolChanger about a month ago, totally new to RRF and duet.

    https://github.com/Duet3D/RepRapFirmware/issues/421

    I have my esteps calibrated correctly. I can have my printer extrude a given length of filament and the extruded filament will be just under the expected length and it will weigh what I expect it to weigh.

    I reduced my extruder jerk, acceleration and max speed to ensure no missed steps.

    Nonlinear extrusion is disabled.

    However, when I print this part with pressure advance on (set to 1.0, calibrated using this script), it weighs 20% more than I would expect it to weigh based on the total extrusion in the file. If I have pressure advance set to zero, it weighs just under the expected weight.

    I've tried with and without retractions, with the slicer set to generate relative moves, and with the slicer set to generate absolute moves.

    At the end of the print, the reported extruder position is almost exactly what it is supposed to be.

    So, questions:

    • Which variable exactly in the code does the reported extruder position come from?
    • Can someone give me an introduction to the codebase? Is there developer documentation somewhere?
    • Is "COMPENSATE_SPEED_CHANGES" typically enabled by default? I have whatever firmware came on the board.
    • Is "stepsPerMm" logged somewhere?
    • Is there a way to count total steps on the extruder drive?
    jschall created this issue 28 Aug 2020, 04:03 in Duet3D/RepRapFirmware

    closed Part 20% over weight predicted by slicer #421

    1 Reply Last reply Reply Quote 1
    • undefined
      jschall
      last edited by 28 Aug 2020, 18:35

      @dc42 just hoping to bring this to your attention, I'd really like to work out what is going on here.

      1 Reply Last reply Reply Quote 1
      • undefined
        Veti
        last edited by 28 Aug 2020, 19:04

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

        However, when I print this part with pressure advance on (set to 1.0, calibrated using this script),

        how long is your bowden tube? A Value of 1 is VERY high.

        Very long bowden (800mm+): S0.7 and up

        also reducing extruder jerk is counter productive for pressure advance.

        also you should consider updating to at least 2.05.1. 2.03 is very old.

        undefined 2 Replies Last reply 28 Aug 2020, 19:23 Reply Quote 0
        • undefined
          jschall @Veti
          last edited by jschall 28 Aug 2020, 19:23

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

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

          However, when I print this part with pressure advance on (set to 1.0, calibrated using this script),

          how long is your bowden tube? A Value of 1 is VERY high.

          Very long bowden (800mm+): S0.7 and up

          790mm. The value for PC is higher than the value for PLA. It is tuned correctly.

          also reducing extruder jerk is counter productive for pressure advance.

          also you should consider updating to at least 2.05.1. 2.03 is very old.

          No significant changes to pressure advance since then according to the history in DriveMovement.cpp. Not opposed to upgrading, just don't think it will change anything.

          1 Reply Last reply Reply Quote 1
          • undefined
            jschall @Veti
            last edited by 28 Aug 2020, 19:31

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

            also reducing extruder jerk is counter productive for pressure advance.

            It shouldn't change the number of total steps taken.

            1 Reply Last reply Reply Quote 1
            • undefined
              Veti
              last edited by 28 Aug 2020, 19:45

              pressure advance does really quick movements back and forth.

              there could potentially be slipping filament. the titan extruder does not have the tightest grip on the filament.

              undefined 1 Reply Last reply 28 Aug 2020, 19:49 Reply Quote 0
              • undefined
                jschall @Veti
                last edited by jschall 28 Aug 2020, 19:49

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

                pressure advance does really quick movements back and forth.

                there could potentially be slipping filament. the titan extruder does not have the tightest grip on the filament.

                The right way to confirm a firmware issue vs a mechanical issue is to log the net steps sent to the motor driver through the entire print. It should be exactly or almost exactly the same on the print with and without pressure advance.

                That said I'm personally almost beyond a shadow of a doubt on a firmware issue.

                1 Reply Last reply Reply Quote 1
                • undefined
                  jschall
                  last edited by 28 Aug 2020, 21:43

                  Another observation is that overextrusion does NOT happen when I just print a simple cube. I suspect it may have something to do with travel moves or something.

                  Anyway, there's got to be an asymmetry in there somewhere...

                  1 Reply Last reply Reply Quote 1
                  • undefined
                    Phaedrux Moderator
                    last edited by 28 Aug 2020, 21:54

                    Update to 2.05.1 to get on recent code.

                    Post your config.g.

                    Z-Bot CoreXY Build | Thingiverse Profile

                    undefined undefined 2 Replies Last reply 28 Aug 2020, 22:59 Reply Quote 0
                    • undefined
                      jschall @Phaedrux
                      last edited by jschall 28 Aug 2020, 22:59

                      @Phaedrux config.g

                      Using extruder 2 (counting from 0) to print

                      And some stuff stored in memory currently:

                      M566
                      Maximum jerk rates (mm/min): X: 500.0, Y: 500.0, Z: 60.0, C: 6.0, E:
                      800.0:800.0:200.0:800.0, jerk policy: 0
                      M566
                      M572 D2
                      Extruder pressure advance: 1.960, 0.000, 1.000, 0.700
                      M203
                      Max speeds (mm/sec): X: 583.3, Y: 583.3, Z: 20.0, C: 83.3, E: 33.3:33.3:33.3:33.3, min. speed 0.50
                      M201
                      Accelerations (mm/sec^2): X: 6000.0, Y: 6000.0, Z: 400.0, C: 400.0, E: 6000.0:6000.0:1000.0:6000.0
                      1 Reply Last reply Reply Quote 1
                      • undefined
                        jschall
                        last edited by 28 Aug 2020, 23:08

                        Going to try printing two cubes, to see if it is travel moves that are causing the problem.

                        Then I'll update to RRF 2.05 at least, if not RRF3.

                        1 Reply Last reply Reply Quote 1
                        • undefined
                          bot
                          last edited by bot 28 Aug 2020, 23:37

                          Are you seeing any underruns on the prints that are overextruded? Perhaps, if there are underruns, the moves that are not being ammended would have had PA applied to them, to balance other moves, but because of the underrun the PA was not applied in a balance manner.

                          I'm not sure if this is actually possible, it's wild speculation, but it's a scenario I've wondered about before.

                          *not actually a robot

                          undefined 1 Reply Last reply 28 Aug 2020, 23:53 Reply Quote 0
                          • undefined
                            jschall @bot
                            last edited by 28 Aug 2020, 23:53

                            @bot
                            Will check now.

                            Printing 2 cubes did not cause overextrusion...

                            1 Reply Last reply Reply Quote 1
                            • undefined
                              jschall
                              last edited by 28 Aug 2020, 23:59

                              I'm really surprised there's no counter anywhere for total steps taken on each drive. Maybe I should try to add that (would have to work out how to build).

                              Alternatively I can hook up a logic analyzer and have it count the steps...

                              1 Reply Last reply Reply Quote 1
                              • undefined
                                jschall
                                last edited by 29 Aug 2020, 01:03

                                Logic analyzer capturing, wrote a python script to analyze the results, running the file with pressure advance now, then I'll run without.

                                1 Reply Last reply Reply Quote 1
                                • undefined
                                  Phaedrux Moderator
                                  last edited by 29 Aug 2020, 01:55

                                  Why 8x microstepping on the extruders?

                                  M350 E8:8:8:8 C8 I0

                                  What are the actual extruders?

                                  M566 X500 Y500 Z60 C2 E800:800:1200:1200 ; Set maximum instantaneous speed changes (mm/min)
                                  M203 X35000 Y35000 Z1200 C5000 E2000:2000:2000:2000 ; Set maximum speeds (mm/min)

                                  Your max speed is a bit low and might be limiting your retraction speeds.

                                  Z-Bot CoreXY Build | Thingiverse Profile

                                  undefined 2 Replies Last reply 29 Aug 2020, 02:42 Reply Quote 0
                                  • undefined
                                    jschall @Phaedrux
                                    last edited by 29 Aug 2020, 02:42

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

                                    Why 8x microstepping on the extruders?

                                    M350 E8:8:8:8 C8 I0

                                    What are the actual extruders?

                                    M566 X500 Y500 Z60 C2 E800:800:1200:1200 ; Set maximum instantaneous speed changes (mm/min)
                                    M203 X35000 Y35000 Z1200 C5000 E2000:2000:2000:2000 ; Set maximum speeds (mm/min)

                                    Your max speed is a bit low and might be limiting your retraction speeds.

                                    8x microstepping on extruders would be the default setting for E3D's toolchanger, I haven't touched that.

                                    The extruders are E3D titans.

                                    I reduced maximum speeds because I was starting to get skipped steps when commanding high speeds through the interface.

                                    1 Reply Last reply Reply Quote 1
                                    • undefined
                                      jschall
                                      last edited by 29 Aug 2020, 02:52

                                      Does Duet configure the trinamics in rising edge or falling edge mode?

                                      With PA at 1.0, as counted by a python script analyzing the output of my Saleae (assuming rising edge mode):

                                      fwd_count 6334445
                                      rev_count 5157566
                                      net_count 1176879
                                      mm 2979.440506

                                      Slicer says 2.48m filament use. Duet web interface confirms, says the file has 2481.7 mm filament use.

                                      Next up, PA at 0.0. If this comes out correct, it will be incontrovertible proof that there is a firmware issue with PA causing overextrusion.

                                      1 Reply Last reply Reply Quote 1
                                      • undefined
                                        jschall
                                        last edited by 29 Aug 2020, 03:06

                                        The python script: step_counter.py.txt
                                        The data with PA: https://drive.google.com/file/d/16LW2Xb2MWsUTvyCdSjDqBvFwDXq1xOuR/view?usp=sharing

                                        1 Reply Last reply Reply Quote 1
                                        • undefined
                                          jschall
                                          last edited by 29 Aug 2020, 03:10

                                          Ah, the TMC 2660 doesn't have a falling edge mode, only rising edge and both edges. I misread the datasheet.

                                          1 Reply Last reply Reply Quote 1
                                          8 out of 116
                                          • First post
                                            8/116
                                            Last post
                                          Unless otherwise noted, all forum content is licensed under CC-BY-SA