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

    Pressure Advance Calibration

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    52
    187
    60.3k
    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.
    • brunofportoundefined
      brunofporto @garis
      last edited by

      @garis I know that the jerk is intimately dependant on my machine masses, motors, etc.

      I would like to know if there is a methodology to test and tune the jerk for extrusion - and then how correlates to pressure advance tunning.

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

        @rcarlyle said in Pressure Advance Calibration:

        @garis “jerk” in the sense we use it for 3D printer settings is telling the printer to change velocity instantly by that amount. So if your jerk is 20mm/s, the printer will jump from 0 to 20mm/s “instantly” at the start of a motion, decelerate to 20mm/s at every sharp corner, and then jump from 20 to 0 when the motion is finished. (Roughly speaking, anyway. Every firmware does it a little different.)

        Far be it for me to question one as knowledgeable as yourself, but are you sure about that? I'm fairly certain that instantaneous speed change is never applied at the beginning of a move from rest. That would be a very bad thing to do. My understanding is that instantaneous speed change is only applied when the head is already in motion but there is a change of direction. i.e when decelerating in one direction towards a corner, the print head will decelerate until it reaches the "jerk" value, then change direction, the accelerate again from the "jerk" speed.

        In practice, there are very few moves that actually start from rest. Even infill, because there is always a change of direction from one infill line to the next. So too low a "jerk" can slow the print down.

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

        RCarlyleundefined 1 Reply Last reply Reply Quote 1
        • deckingmanundefined
          deckingman @brunofporto
          last edited by deckingman

          @brunofporto said in Pressure Advance Calibration:

          @garis I know that the jerk is intimately dependant on my machine masses, motors, etc.

          I would like to know if there is a methodology to test and tune the jerk for extrusion - and then how correlates to pressure advance tunning.

          On the basis that extruders are treated as axes, then extruder jerk should be set high. For any given point in time, the print head will travel at whichever speed is the slowest of X, Y or E. Therefore, if extruder jerk is set too low, then it will affect all the other axes. Try it. Do a test cube then reduce extruder jerk. You'll find that when the extruder jerk is less than the jerk for all other axes, then the print slows down - the head will slow down more at the end of a move before changing direction and starting the next move. So my take on it is to set extruder jerk really high so that it does not affect axis movement. The only time that extruder jerk gets applied is for extruder only moves. These will be retract and un-retract. BUT, because these moves involve a 180 degree change of direction, I'm not convinced that jerk is even applied to them.

          I guess what I'm trying to say is that too low and extruder jerk will slow down the print head because the extruder is treated as an axis. But too high an extruder jerk is unlikely to have any negative impact so set it high. By the same token, extruder acceleration should always be set higher than any axis, otherwise chnaging X or Y acceleration will have no effect.

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

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

            The main interaction of pressure advance and jerk is that if the extruder jerk is set too low, then increasing pressure advance may cause acceleration to be reduced in order to satisfy the extruder jerk limit.

            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

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

              @dc42 said in Pressure Advance Calibration:

              The main interaction of pressure advance and jerk is that if the extruder jerk is set too low, then increasing pressure advance may cause acceleration to be reduced in order to satisfy the extruder jerk limit.

              Yup, my printer is completely different since disabling pressure advance. Unfortunately the jerk can't be that high on E3D Titan because it makes very strange noises (K0.2, bowden, Titan jerk set at 400).
              I was always wondering why bumping speeds, jerk and acceleration didn't make the printer more noisy/abrupt, until it struck me that it has to be related to pressure advance (i.e. extruder jerk).

              Now the printer hardly sits on the table with XY accel at 5000. The quality didn't drop enough with the new real acceleration and pressure advance disabled to warrant enabling it again.

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

                Titan extruders seem to vary, perhaps because they have varying amounts of backlash in the years. The one on my delta works well with pressure advance 0.2, but some other users report that they become noisy.

                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

                1 Reply Last reply Reply Quote 0
                • RCarlyleundefined
                  RCarlyle @deckingman
                  last edited by

                  @deckingman all the firmwares handle start/stop jerks a little differently and I don’t know what RRF does specifically. Repetier uses half the jerk for starts/stops/reversals as it does for corners iirc. Sailfish treats every axis separately (axis speed change not tool vector velocity jump) and uses zero jerk when an axis reverses direction, full jerk at starts/stops. But all extruders across all non-S-Curve firmwares to my knowledge use start/stop jerks regularly as they retract, reprime, etc.

                  There’s nothing wrong with velocity jumps on starts/stops. If you just think about XY Cartesian motion, there’s no difference to the Y axis if it’s doing a right turn from +20 X motion to +20 Y motion versus starting+20 Y motion from a dead stop.

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

                    @rcarlyle Ah OK. I bow to your superior knowledge - I only have experience of using RRF. I do recall David saying that "jerk" is not applied at the start of print head moves from a standstill and can confirm that this is the behaviour that I have observed.

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

                    RCarlyleundefined 1 Reply Last reply Reply Quote 1
                    • RCarlyleundefined
                      RCarlyle @deckingman
                      last edited by

                      @deckingman fair enough, firmware-specific info always trumps, but what does RRF do on reprime between a travel move and a printing move? That’s just another corner as far as XYZ is concerned, but it’s starting from a standstill for the extruder.

                      deckingmanundefined dc42undefined 2 Replies Last reply Reply Quote 1
                      • deckingmanundefined
                        deckingman @RCarlyle
                        last edited by

                        @rcarlyle said in Pressure Advance Calibration:

                        @deckingman fair enough, firmware-specific info always trumps, but what does RRF do on reprime between a travel move and a printing move? That’s just another corner as far as XYZ is concerned, but it’s starting from a standstill for the extruder.

                        For extruder jerk? I have no idea. The moves are a bit short and fast to say that I've ever paid much attention. Interesting thought though. Also, I use firmware retraction so I wonder if that behaves any differently to slicer generated E moves. Guess we need DC to step in here.

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

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

                          @rcarlyle said in Pressure Advance Calibration:

                          but what does RRF do on reprime between a travel move and a printing move? That’s just another corner as far as XYZ is concerned, but it’s starting from a standstill for the extruder.

                          RRF doesn't apply jerk at the join between a printing move and a non-printing move. A printing move is one that has both forward extrusion and XY movement.

                          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

                          RCarlyleundefined 1 Reply Last reply Reply Quote 0
                          • MOundefined
                            MO
                            last edited by MO

                            Geez I haven't posted in a long long time, connected my Duet to new delta printer, since my previous printer which housed it got disassembled, but speaking of pressure advance calibration - are there types of prints where it shouldn't be used?

                            I've spent last 2 day testing pressure advance, settings of jerk/acceleration etc, got to the point where a cube would print ok, but other shapes had issues. It's a Bowden tube, 65cm-ish, quite long, after temperature calibration of the PLA I'm using, I've found the sweet spot for retraction and S value of 0.18 gave me best edges.

                            Now, I have used Marlin K factor calibration tool as my basis ( http://marlinfw.org/tools/lin_advance/k-factor.html ), modified it to suit Duet, removed what I didn't need etc, came up with a code to test the best S value this way - and it's S 0.65 where the line is most uniform right across.

                            Printing geometric shapes like cubes, polygons etc looks much worse than with lower value, thick seams, bit rounded corners etc, now to make it even stranger, I'm printing a twisted tower model as I'm writing this, which is an "organic" shape, not just technical straight shapes - started it off with S value of 0.18 but the quality was shocking, extruder was having a seizure, each layer looked inconsistent compared to the previous one etc... after 10mm I've disabled it - model from there on looks perfect.

                            Is it not recommended to use PA for organic shapes? Sorry if it's something that was discussed to death, haven't visited this forum for a good year by now.

                            Here's the gcode I've used to test S value: 0_1539501893621_sfactor0.5.gcode

                            dc42undefined 1 Reply Last reply Reply Quote 0
                            • DigitalVisionundefined
                              DigitalVision
                              last edited by

                              To see if I could separate extrusion from motion effects, as an experiment, I built a small jig to measure the thickness of a single-walled print. I then printed a 150 mm long print with uniform print speed (50 mm/s), but varying extrusion volume (0.7 -> 0.4 -> 0.7 mm extrusion width) as a step function. One caliper of the jig measures thickness (mechanically magnified 4x) and another the x position along the test print. Manually measuring a number of positions gave the following result. I'm treating wall thickness * layer height * linear distance as an approximation for extrusion volume here (ignoring the fine layer induced surface structure).

                              0_1539501856465_2e598be3-ecd5-4bfa-a31e-732718f07c51-image.png

                              For a first quick experiment, I'm pretty happy with how nice the data looks. Interfacing digitally with the calipers would make this a lot quicker though.

                              I'm not sure why the first segment didn't converge to the same value as the last one – but I can see some minor ripples that look like the print needs a bit more cooling towards the end of the first segment that may pollute the measurements a bit. I'll retry with some delay between each layer to allow for more cooling next time.

                              @dc42, when running at constant linear speed but varying extrusion rate like this pressure advance doesn't seem to have any effect. Is that expected?

                              I'll redo this for a few different extrusion rate pairs and see how well I can get the current model to fit.

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

                                @mo said in Pressure Advance Calibration:

                                Now, I have used Marlin K factor calibration tool as my basis ( http://marlinfw.org/tools/lin_advance/k-factor.html ), modified it to suit Duet, removed what I didn't need etc, came up with a code to test the best S value this way - and it's S 0.65 where the line is most uniform right across.

                                Printing geometric shapes like cubes, polygons etc looks much worse than with lower value, thick seams, bit rounded corners etc, now to make it even stranger, I'm printing a twisted tower model as I'm writing this, which is an "organic" shape, not just technical straight shapes - started it off with S value of 0.18 but the quality was shocking, extruder was having a seizure, each layer looked inconsistent compared to the previous one etc... after 10mm I've disabled it - model from there on looks perfect.

                                Is it not recommended to use PA for organic shapes? Sorry if it's something that was discussed to death, haven't visited this forum for a good year by now.

                                Please explain what you mean by "extruder was having a seizure". High values of pressure advance cause the extruder to retract filament before the end of some printing moves. For this to work well, the extruder must have low backlash. With some geared extruders, the gears don't mesh tightly enough, resulting in high backlash and a lot of noise.

                                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

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

                                  @digitalvision said in Pressure Advance Calibration:

                                  To see if I could separate extrusion from motion effects, as an experiment, I built a small jig to measure the thickness of a single-walled print. I then printed a 150 mm long print with uniform print speed (50 mm/s), but varying extrusion volume (0.7 -> 0.4 -> 0.7 mm extrusion width) as a step function. One caliper of the jig measures thickness (mechanically magnified 4x) and another the x position along the test print. Manually measuring a number of positions gave the following result. I'm treating wall thickness * layer height * linear distance as an approximation for extrusion volume here (ignoring the fine layer induced surface structure).

                                  0_1539501856465_2e598be3-ecd5-4bfa-a31e-732718f07c51-image.png

                                  For a first quick experiment, I'm pretty happy with how nice the data looks. Interfacing digitally with the calipers would make this a lot quicker though.

                                  I'm not sure why the first segment didn't converge to the same value as the last one – but I can see some minor ripples that look like the print needs a bit more cooling towards the end of the first segment that may pollute the measurements a bit. I'll retry with some delay between each layer to allow for more cooling next time.

                                  @dc42, when running at constant linear speed but varying extrusion rate like this pressure advance doesn't seem to have any effect. Is that expected?

                                  I'll redo this for a few different extrusion rate pairs and see how well I can get the current model to fit.

                                  That graph is close to what I expect when there is no pressure advance. The measured extrusion rate approaches the commanded extrusion rate exponentially with a time constant of about 0.2 seconds. So I would expect the measured extrusion to look a lot squarer with 0.2sec of pressure advance.

                                  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

                                  1 Reply Last reply Reply Quote 0
                                  • MOundefined
                                    MO @dc42
                                    last edited by

                                    @dc42

                                    Good evening sir!

                                    Hehe by having a seizure I didn't mean anything erroneous on the side of Duet or pressure advance - I'd say it was doing exactly what it was supposed to, adjusting the pressure of extrusion according to speed and turns/corners, it was just doing it at a frequency I wasn't expecting, it hardly stopped, I have a small gear shaped knob placed on the shaft for decoration and to see retractions better and it was in constant back and forth motion, paired with the sound it makes. Hence the 'seizure' reference 🙂

                                    From what I'd assume after lurking on forums and browsing previous posts and threads, I didn't think that S0.18 was a particularly high value, especially for a bowden with a tube that's over 60cm long.

                                    It's an ungeared extruder feeding directly into the ptfe tube (Anycubic Kossel Linear Plus), current settings M566 E1800, M203 E1800 , M201 E1000.

                                    Not sure what happened there to be honest, when it was tracing the rock base of this statue (3 outlines) it would regulate the pressure on every turn, change of direction or corner, but whether it's the hardware not keeping up or just jitter induced by so many adjustments, the bottom layers are all messy and misaligned, I'll post a picture soon, 4% left.

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

                                      @mo said in Pressure Advance Calibration:

                                      Hehe by having a seizure I didn't mean anything erroneous on the side of Duet or pressure advance - I'd say it was doing exactly what it was supposed to, adjusting the pressure of extrusion according to speed and turns/corners, it was just doing it at a frequency I wasn't expecting, it hardly stopped, I have a small gear shaped knob placed on the shaft for decoration and to see retractions better and it was in constant back and forth motion, paired with the sound it makes. Hence the 'seizure' reference

                                      If it's applying pressure advance between the short segments of a curve, there are two reasons why this may happen:

                                      • Your XY jerk setting is too low, so the machine is having to slow down at the junctions between segments;
                                      • Your slicer is generating moves with changing extrusion rates instead of a uniform extrusion rate. S3D used to be particularly bad at doing this.

                                      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

                                      MOundefined 1 Reply Last reply Reply Quote 1
                                      • MOundefined
                                        MO @dc42
                                        last edited by

                                        @dc42
                                        Hmm, S3D it is indeed, that I've used to slice it up.

                                        And I've been tackling some ringing issues today and have drastically lowered the jerk values, this model now is printing at 120 value only.

                                        Your comment answers something that I'm observing, PA is disabled, value 0, beside retractions the gear should be moving uniformly forward while extruding - but it's not, it does have moments of speeding up and slowing down, so what you've just said about S3D seems to be at play in here.

                                        1 Reply Last reply Reply Quote 0
                                        • MOundefined
                                          MO
                                          last edited by

                                          0_1539512448390_IMG_20181014_201508.jpg 0_1539512462594_IMG_20181014_201558.jpg

                                          Here you can see exactly where I've disabled pressure advance.

                                          What's the lowest jerk you'd recommend to go with that doesn't cause issues with pressure advance?

                                          1 Reply Last reply Reply Quote 0
                                          • LHelgeundefined
                                            LHelge
                                            last edited by

                                            Also made a python-script to generate test pattern for pressure advance. I use a cylinder printed in spiral vase mode instead. Plan to extend it into generating a square pattern and Marlin-like pattern as well. Feel fre to try it out if you like. Just rename it to pa_cal.py and run the command:
                                            python pa_cal.py > pa_cal.gcode
                                            0_1539520976520_pa_cal.py.txt

                                            Anyone running into problems with Jerk on a Zesty Nimble above 0.1 when tuning pressure advance?

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