Pressure advance doesn't affect the printed model



  • Hello,

    just installed the original E3D Titan and Capricorn tube (~400mm), and my test print with pressure advance calibration seems to have no difference between layers. I tried to print the single-perimeter cylinder as was mentioned in this topic.

    So, details: I have inserted lines like this before each layer:

    M572 D0:1 S0.13
    

    (I was experimenting before with pressure advance, and recommended command had no effect but this one also doesn't)

    The printed model looks like this (I have set all the retractions on one side, retraction is set to 2mm@100mm/s):

    photo_2019-12-10_22-37-25.jpg

    According to previous recommendations, extruder jerk might be too low, currently, I have more or less default one from the configuration wizard:

    M92 X1600.00 Y1600.00 Z1600.00 E1618.18;         ; Set steps per mm E was 400
    M566 X1000.00 Y1000.00 Z1000.00 E1200.00    ; Set maximum instantaneous speed changes (mm/min)
    M203 X3000.00 Y3000.00 Z3000.00 E1200.00    ; Set maximum speeds (mm/min) 3000
    M201 X250.00 Y250.00 Z250.00 E1000.00            ; Set accelerations (mm/s^2) 250
    M906 X2000.00 Y2000.00 Z2000.00 E1500.00 I60
    

    I am a bit afraid to make jerk higher or increase Titan tension because it grinds filament so easily.
    So, where to start digging into the problem?

    PS: I also have strange stringing there but it seems to be low tension in Titan itself, not yet sure



  • Just noticed that max extruder speed is 20mm/s, seems to be the problem by itself
    Anyway, if someone has working Titan settings, it would be nice to see.


  • Moderator

    I would suggest trying to raise your extruder values so that they are not able to limit your speeds artificially. Then pressure advance can be more easily used to tune your extrusion.

    The X Y Z acceleration is super low in M201, which is also limiting things.

    And as you said, your maximum speeds are set low. 100mm/s retractions are not possible when limited like that.



  • So, tried higher settings - still no luck, exactly same picture. Now my config looks like:

    M92 X1600.00 Y1600.00 Z1600.00 E1618.18;         ; Set steps per mm E was 400
    M566 X1000.00 Y1000.00 Z1000.00 E1200.00    ; Set maximum instantaneous speed changes (mm/min)
    M203 X3000.00 Y3000.00 Z3000.00 E6000.00    ; Set maximum speeds (mm/min) 3000
    M201 X250.00 Y250.00 Z250.00 E1500.00            ; Set accelerations (mm/s^2) 250
    

    Pressure advance changes from 0 to 0.3, layer by layer.


  • Moderator

    @Phaedrux said in Pressure advance doesn't affect the printed model:

    The X Y Z acceleration is super low in M201, which is also limiting things.

    Your still using very very low XY acceleration.

    And your print and travel speed is still capped at 50mm/s.

    Pressure advance simply won't be noticeable at such Slow speeds.



  • @Phaedrux those settings are for the Delta printer, as I understood, it defines carriages acceleration, or is it cartesian speeds? And what numbers would you suggest?

    I lowered settings for testing purposes, currently, my Delta works on lead screws with PTFE nuts, so I was afraid to damage them, but generally, it should work on higher speeds.



  • @Phaedrux said in Pressure advance doesn't affect the printed model:

    @Phaedrux said in Pressure advance doesn't affect the printed model:

    The X Y Z acceleration is super low in M201, which is also limiting things.

    [...]

    Pressure advance simply won't be noticeable at such Slow speeds.

    I disagree. I think PA works just as well no matter how fast or slow things are going. The system maintains coordination. The only problem that can arise is heat soak if the speed is too slow. Otherwise, in my experience, PA works flawlessly even at slow crawl speeds (which were due to experimentally ultra-low E jerk values, which in turn reduced XY acceleration dramatically to the point where the nozzle couldn't have been moving faster than 5 mm/s).



  • So, made jerk and acceleration even higher - still no change.
    According to docs, PA can be defined anywhere, but what about the case when it is defined in both config.gcode and model Gcode? Does firmware ignore PA changes if it was defined by the config?



  • As for the answer to why you are not seeing the effects of PA: is it possible that the amount of PA applied to moves is merely not many steps, and therefore doesn't affect the print very much? With conservative accel values, PA doesn't do as much. PA is directly related to actual current instantaneous acceleration. If you aren't accelerating all that much, the value of 0.13 in PA isn't adding too much advance or retarding too much.



  • @bot well, model was made with PA values from 0 to 0.3 which is high enough for 400mm Capricorn. Also, I have ramped up values before last test print:

    M92 X1600.00 Y1600.00 Z1600.00 E1618.18;         ; Set steps per mm E was 400
    M566 X1000.00 Y1000.00 Z1000.00 E3000.00    ; Set maximum instantaneous speed changes (mm/min)
    M203 X3000.00 Y3000.00 Z3000.00 E6000.00    ; Set maximum speeds (mm/min) 3000
    M201 X250.00 Y250.00 Z250.00 E2500.00            ; Set accelerations (mm/s^2) 250
    


  • @skayred I've noticed, when changing PA values in real time during a print, that it can take a bit of time for the PA to be applied from when the command is sent. Could this be the case? I suggest setting PA via web console right before a print, just for testing purposes, and remove all other M572 commands just for troubleshooting.



  • @bot I have tried to do the same but with config change and reboot - no visible difference. It seems that I miss some simple step in the configuration..



  • @skayred I think you may be lacking a basic understanding of how pressure advance works, or more importantly what happens inside a hot end that requires pressure advance to compensate. There are essentially two things that happen. At the start of a move, the print head accelerates up to speed. So does the extruder but it takes time to melt the filament and force it through a small nozzle. Also, some of the initial filament acceleration can be taken up by deformation within the Bowden tube. So the rate of change of filament coming out of the nozzle can lag behind the rate of change of the carriage. The net result is that there may be under extrusion at the start of a move. During the constant speed part of the move, the pressure will eventually reach an equilibrium. The second thing that happens is at the end of the move when the opposite occurs. That is to say, the print head starts to decelerate immediately but because of the latent pressure that has built up, the filament coming out of the nozzle does not decelerate at the same rate. despite the fact the extruder itself decelerates the pressure will cause the filament to ooze out of the nozzle. The net result of that, is that there can be over extrusion at the end of a move.

    It therefore follows that the faster the carriage accelerates and decelerates, the higher the lag between the print head and the extruded filament coming out of the nozzle. So at low carriage accelerations like the 4mm/sec^2 that you are using, there may be very little lag or none at all. i.e. there may not be a pressure problem, which is why compensating for it has no effect.



  • @deckingman 4 mm/s/s? It seems he was using 250 mm/s/s accels.



  • Read some threads about pressure advance, and people mention that extruder gear should 'shake' like shown on this video:
    by DC

    My gear moves only for retraction and back, no small shakes. It seems that PA is just ignored, isn't it?



  • @Phaedrux Re-reading what I wrote, I love how I disagree with you then go on to say in another post exactly what you said.

    I interpreted your words incorrectly before. PA might not be NOTICEABLE, but it should still have an effect on extruder position. Sorry for disagreeing before. lol.


  • Moderator

    @bot said in Pressure advance doesn't affect the printed model:

    @Phaedrux Re-reading what I wrote, I love how I disagree with you then go on to say in another post exactly what you said.

    I interpreted your words incorrectly before. PA might not be NOTICEABLE, but it should still have an effect on extruder position. Sorry for disagreeing before. lol.

    No worries, you got there in the end. 😀

    Slow speeds and slow acceleration means there's not much pressure to mitigate, so you're not going to see the extruder flying about since it doesn't have to.

    Try increasing your M201 max speeds to 9000 and your acceleration to 1500 and try printing at a higher speed like 80mm/s. You'll likely start to see some effect from PA.



  • @Phaedrux will try tomorrow and hope teflon will handle such acceleration 😄



  • @bot said in Pressure advance doesn't affect the printed model:

    @deckingman 4 mm/s/s? It seems he was using 250 mm/s/s accels.

    You are right - where did that 4 come from? I was dealing with someone else via a Hangout session at the same time and got the two confused (But 250mm/s^2 is still very low).



  • So, I have increased all the settings to the recommended XYZ 6000 speed and 1500 acceleration - layer start started being less noticeable but, most importantly, the pattern still same from layer to layer (printed at 60mm/s):

    photo_2019-12-12_20-51-19.jpg

    so, speed seems to be not the case. Any ideas?

    PS - G-code reference mentions that pressure advance "Supported by RepRapFirmware-dc42, -ch and -dn." while I have 2.04 without any suffixes, could it be the problem, that I have the wrong version that just doesn't support PA?



  • Could you post your entire config.g

    Those steps per mm look kinda odd, only makes sense to me if you're running 1/8 microstepping. Though, seeing as it's lead screw driven, probably for the torque? For the extruder, I'd still set the microstepping to 1/16 and the steps per mm to around 837.

    Could you also post the gcode that created that cylinder as well as tell us more about the machine? Motor details, types of rods/effector, etc.



  • @blt3dp hello. So, entire config looks like this:

    ; General preferences
    G90                                         ; Send absolute coordinates...
    M83                                         ; ...but relative extruder moves
    M665 L209.000 R91.5 H200 B100.0 X0 Y0 Z0.000                    ; Set delta radius, diagonal rod length, printable radius and homed height
    M666 X0 Y0 Z0             ; Put your endstop adjustments here, or let auto calibration find them
    
    ; Network
    M586 P0 S1                                  ; Enable HTTP
    M586 P1 S0                                  ; Disable FTP
    M586 P2 S0                                  ; Disable Telnet
    
    ; Drives
    M569 P0 S1                                  ; Drive 0 goes forwards
    M569 P1 S1                                  ; Drive 1 goes forwards
    M569 P2 S1                                  ; Drive 2 goes forwards
    M569 P3 S1                                  ; Drive 3 goes backwards WAS S0
    M350 X64 Y64 Z64 E64 I1                     ; Configure microstepping with interpolation
    M92 X1600.00 Y1600.00 Z1600.00 E1618.18;         ; Set steps per mm E was 400
    M566 X1000.00 Y1000.00 Z1000.00 E3000.00    ; Set maximum instantaneous speed changes (mm/min)
    M203 X9000.00 Y9000.00 Z9000.00 E6000.00    ; Set maximum speeds (mm/min) 3000
    M201 X1000.00 Y1000.00 Z1000.00 E2500.00            ; Set accelerations (mm/s^2) 250
    M906 X2000.00 Y2000.00 Z2000.00 E1500.00 I60 ; Set motor currents (mA) and motor idle factor in per cent
    M572 D0 S0.11					; pressure advance
    M84 S30                                     ; Set idle timeout
    
    ; Axis Limits
    M208 Z0 S1                                  ; Set minimum Z
    
    ; Endstops
    M574 X2 Y2 Z2 S1                               ; Set active high endstops
    
    ; Z-Probe
    M558 P1 H5 I1 R0.4 F300 T6000                       ; P1, Set Z probe type to unmodulated and the dive height + speeds
    G31 Z-0.18 P600              ; Set Z probe trigger value, offset and trigger height
    M557 R30 S9                                 ; Define mesh grid
    
    ; Heaters
    ; NEW? B3950 
    ; OLD B4138 
    M305 P0 T100000 B4138 R4700                 ; Set thermistor + ADC parameters for heater 0
    M143 H0 S120                                ; Set temperature limit for heater 0 to 120C
    M305 P1 T100000 B3950 R4700                 ; Set thermistor + ADC parameters for heater 1
    M143 H1 S280                                ; Set temperature limit for heater 1 to 280C
    
    ; Fans
    M106 P0 S0.3 I0 F500 H-1                    ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P1 S1 I0 F500 H1 T45                   ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
    
    ; Tools
    M563 P0 D0 H1 F2                               ; Define tool 0
    G10 P0 X0 Y0 Z0                             ; Set tool 0 axis offsets
    G10 P0 R0 S0                                ; Set initial tool 0 active and standby temperatures to 0C
    
    ; Automatic saving after power loss is not enabled
    
    ; Custom settings are not configured
    M557 R60 S20 ; probe within a radius of 25mm from the centre with a mesh spacing of 20mm
    M579 X1.007014028 Y1.01156531665572173 ; 1.02
    ;M915 X Y S40 F0 R2
    M501
    
    

    That's how printer looks like:
    photo_2019-12-12_22-02-19.jpg
    Those steps are set due to interpolation. I didn't find any difference between my current settings and 1/16 to be honest, so I decided to keep them as-is (torque is enough in both cases).

    Motors are 1.8 degrees 2.5A Nema17, effector and so on is self-designed (this printer is 4 generation so I support some legacy parts there), arm distance is also custom due to my stupidity during initial design.

    About cylinder g-code: I have created it using S3D and inserted PA commands before each line:

    ; layer 100, Z = 20.000
    M572 D0:1 S0.297
    ; feature outer perimeter
    G1 Z20.000 F1002
    G1 X10.155 Y10.711 F9000
    ...
    

    I suspect that PA definition in config.g could deny setting the custom PA after but it is anyway high enough for my Bowden tube



  • @skayred said in Pressure advance doesn't affect the printed model:

    I suspect that PA definition in config.g could deny setting the custom PA after but it is anyway high enough for my Bowden tube

    have you considered that your PA is simply not high enough?
    I have had filaments that needed 0.68 with a short 100mm bowden tube, and some that needed 1.0 for a 300 mm bowden tube.
    Please try setting it at 0.8 or 1.0 and see what results you get. If the print looks different then you know that PA is definitely working and you just didnt set your settings correctly.



  • @NitroFreak will try on the weekend. I didn't try it before due to recommendation in the docs (~0.2 for long Bowden and ~0.1 for 400mm). And filament is PETG from DevilDesign if it matters.



  • @skayred said in Pressure advance doesn't affect the printed model:

    @NitroFreak will try on the weekend. I didn't try it before due to recommendation in the docs (~0.2 for long Bowden and ~0.1 for 400mm). And filament is PETG from DevilDesign if it matters.

    Yes that documentation needs to be changed ASAP, i dont know how many people already did that mistake.
    dc42 did the documentation based on his findings of needing 0.1 for a titan aero; however that one does have an extremely short filament path, and the length of the filament path is directly, loosely linearly related to the amount of pressure advance needed.

    Your safest bet is to do a Pressure Advance calibration based on this thread,

    https://forum.duet3d.com/topic/6698/pressure-advance-calibration

    But do it from 0.0 to 1.0.
    That way you will get the best result.


Log in to reply