Navigation

    Duet3D Logo

    Duet3D

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • Documentation
    • Order

    Interested in pressure advance algorithm

    Tuning and tweaking
    2
    5
    623
    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.
    • gnydick
      gnydick last edited by

      @dc42 Was wondering if you could point me in the direction of the code for the pressure advanced algorithm. my printer prints really well can print really fast but when it prints fast it has problems rounding corners and making certain shapes because obviously the problems that exist with acceleration deceleration and extrusion.

      I'd like to see if I can play with the algorithm see what can be done.

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

        There is a good web page somewhere explaining the theory, but I can't find it. Basically, pressure advance assumes that the extrusion force needed increases linearly with extrusion rate, and the stepper motor and Bowden tube together behave like a spring so that when the extrusion force is increased, additional movement is needed to take up the springiness. So instead of commanding a stepper movement M that is equal to the extrusion rate E, we need to add an extra term proportional to the rate of extrusion. That is, instead of setting M = E we set M = E + K * dE/dt where K is the pressure advance factor.

        The implementation is divided between firmware source files DDA.cpp and DriveMovement.cpp. In particular, function Prepare calculates some parameters for the movement, and function CalcNextStepCartesian generates steps pulses at the correct intervals using those parameters.

        gnydick 1 Reply Last reply Reply Quote 2
        • gnydick
          gnydick @dc42 last edited by

          @dc42 very cool. I took a look. I didn't realize g that the firmware was so low level, I kinda thought it was just a hair higher level, but obviously can't be too high, as, it is firmware.

          Am I correct in thinking that ghosting can be influenced by this code? And is there any where else to look into tweak that?

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

            Ghosting is normally caused by ringing, not by incorrect pressure advance.

            gnydick 1 Reply Last reply Reply Quote 1
            • gnydick
              gnydick @dc42 last edited by

              @dc42 thanks, that makes sense.

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