Pressure advance for different filaments



  • Hi All,

    I've never used pressure advance, but would like to do some extra fine tuning of my rig as I've just got it all updated and running sweetly, and would like to take my print quality to the next level.

    I use S3D slicer and calibrate my esteps for each filament I have. I do run a bit of coasting and 3mm of wipe. I don't use any extra restart, and I do use 1mm of retraction (direct extruder).

    The procedure seems simple enough, but should I clear all settings including retraction in my slicer first?

    Is it likely to be a different setting for all different filaments? If so, can I just add the M572 command to the start script in S3D for each material profile?

    Is there any advantage doing it this way over using the extruder settings in S3D? Which is more of a root cause solution than a band aid?

    Cheers in advance for any help with this.



  • I will let other people answer your questions but I would like to point out that not only does pressure advance change with the filament but it also changes with many other factors such as nozzle size and extrusion speed.
    I now that settings can change dramatically for a bowden based system. With a direct extruder you might not see that much of a difference but I have no experience with direct extruders.



  • @jens55 said in Pressure advance for different filaments:

    I will let other people answer your questions but I would like to point out that not only does pressure advance change with the filament but it also changes with many other factors such as nozzle size and extrusion speed.
    I now that settings can change dramatically for a bowden based system. With a direct extruder you might not see that much of a difference but I have no experience with direct extruders.

    Thanks very much for that.

    Yes it sounded something like that, which is why (if this is a better option than the S3D settings) I suggested adding an M572 line to the start script in my individual material profiles.

    Anyone out there who could answer my questions?

    Cheers again



  • @Corexy
    I put my M572 in the config file for the specific filament so including an M703 command in the print file will adjust pressure advance depending on what filament is loaded.

    You can also include the M703 command in the tpost#.g file for the tool(s) so that updating pressure advance happens any time the print-file switches tools.

    But this is not a complete solution, because the changing the nozzle orifice (or significantly changing print temp) will change the required pressure advance values.

    With the new v3.0 firmware it should be possible to (eventually) set a "nozzle size" variable in the code before calling M703 and then conditionally invoke the appropriate M572 in the material config.



  • You'll need to turn off any coast and wipe function in the slicer, they are a crude way of trying to achieve what pressure advance does. Your retraction won't likely need to change much since it's quite low already. And since you're on direct drive, you won't need much pressure advance anyway.

    https://duet3d.dozuki.com/Wiki/Pressure_advance

    Different filaments and temperatures etc will likely need slightly different values to get it perfect, but generally I think they are pretty close. If your other print settings are similar such that the volumetric flow is similar (i.e. speed and extrusion rate), then the PA value between filaments will be similar. The difference between PETG and PLA comes down more to temperature I think than material type itself.



  • @Phaedrux said in Pressure advance for different filaments:

    The difference between PETG and PLA comes down more to temperature I think than material type itself.

    Ummmm ..... maybe and maybe not ..... I just set up pressure advance for my second extruder that I use to run petg. The primary extruder has a pa value of 0.9 and te secondary loaded with petg is at 2.1!!!

    This is with a l o n g bowden tube and the two tubes are slightly different with one being white and having poor couplers (petg) and the other being blue with couplers that have no play.

    It probably will be a negligible difference in the op's direct drive setup but other people reading this thread should be aware that material can have a significant effect. I had the two set for the same pa value as I also thought they would be similar but was having issues and decided to recalibrate and holy crap!



  • @Phaedrux said in Pressure advance for different filaments:

    You'll need to turn off any coast and wipe function in the slicer, they are a crude way of trying to achieve what pressure advance does. Your retraction won't likely need to change much since it's quite low already. And since you're on direct drive, you won't need much pressure advance anyway.

    https://duet3d.dozuki.com/Wiki/Pressure_advance

    Different filaments and temperatures etc will likely need slightly different values to get it perfect, but generally I think they are pretty close. If your other print settings are similar such that the volumetric flow is similar (i.e. speed and extrusion rate), then the PA value between filaments will be similar. The difference between PETG and PLA comes down more to temperature I think than material type itself.

    Hi and thanks all for the help.

    @Phaedrux Please explain how coast and wipe in S3D are crude compared to pressure advance? Not that I doubt it, I'd just like to know.

    Yes actually, my direct drive is fairly constant across materials. I carefully check the esteps for each roll before use and if there's any sign of trouble, and I engrave the value on the roll for the next time I use it.

    Obviously temps vary, and I do have a slight difference in the coast setting, but only a range of about 0.4mm difference across my materials.

    @SteveYYC Could you please give me an example (and where you put it) of your M572 line in config.g? And same for the your M703 (in the starting script?) if you don't mind. I can't see it being any more difficult than having different coast/wipe settings for each profile, so tha's fine if it does a better job.



  • @Corexy said in Pressure advance for different filaments:

    M572

    I put the M572 command in the config.g for the specific filament
    (file management>filaments>filament type>config.g)

    My config.g for PETG is:

    ; This File will run whenever the job file calls M703 with PETG loaded
    ; Specs
    M404 N1.78 D0.40			; Filament Diameter & Nozzle Orifice
    
    ; Filament-Specific Temperature Settings
    M302 S220 R220				; Do not allow extrusion(s) below 220 or retraction(r) below 220
    
    ; Hardware Retraction
    M207 S4.0 R0.00 F9000 T4500 Z0.08	; Set h/w retract values for G10/G11 command
    
    ; Pressure Advance
    M572 D0:1 S2.5902		; Reduce Blobs/Strings/Zits 
    

    Then I added the M703 command to the tool change script
    (file management>system>tpost<tool_number>.g) for the tool

    ; tpost0.g
    ; called after tool 0 has been selected
    ;
    ; generated by RepRapFirmware Configuration Tool on Fri Jun 08 2018 21:38:22 GMT-0600 (MDT)
    
    ; Wait for set temperatures to be reached
    M116 P0
    
    M703		;invoke filament-specific config.g settings
    
    G1 E80 F6000	; Feed filament into the hotend
    


  • @Corexy said in Pressure advance for different filaments:

    Please explain how coast and wipe in S3D are crude compared to pressure advance?

    Coast and wipe is simply stopping extrusion early and coasting to the end and then dragging the nozzle along a bit more to wipe it off. With Pressure Advance the extruder is being more tightly controlled and potentially even reversed in order to manage pressure such that when the line is finished the amount of plastic laid down is consistent start to finish.

    I'm not super familiar with S3D and how it's start gcode scripts work or if it has detailed filament management, but I use PrusaSlicer's filament gcode section to store the filament specific things. I use the flow % similar to how you use steps per mm. Same effect. I also include pressure advance, jerk, and firmware retraction settings there per filament.

    The Duet Web Control has a filaments library function which uses the M701/702/703 commands described to load a custom settings file for the chosen filament. Which might be a good choice if your slicer doesn't have a robust filaments management system.

    https://duet3d.dozuki.com/Wiki/Duet_Web_Control_Manual#Section_Filaments
    https://duet3d.dozuki.com/Wiki/Filaments
    https://duet3d.dozuki.com/Wiki/Gcode#Section_M701_Load_filament



  • @Phaedrux said in Pressure advance for different filaments:

    @Corexy said in Pressure advance for different filaments:

    Please explain how coast and wipe in S3D are crude compared to pressure advance?

    Coast and wipe is simply stopping extrusion early and coasting to the end and then dragging the nozzle along a bit more to wipe it off. With Pressure Advance the extruder is being more tightly controlled and potentially even reversed in order to manage pressure such that when the line is finished the amount of plastic laid down is consistent start to finish.

    I'm not super familiar with S3D and how it's start gcode scripts work or if it has detailed filament management, but I use PrusaSlicer's filament gcode section to store the filament specific things. I use the flow % similar to how you use steps per mm. Same effect. I also include pressure advance, jerk, and firmware retraction settings there per filament.

    The Duet Web Control has a filaments library function which uses the M701/702/703 commands described to load a custom settings file for the chosen filament. Which might be a good choice if your slicer doesn't have a robust filaments management system.

    https://duet3d.dozuki.com/Wiki/Duet_Web_Control_Manual#Section_Filaments
    https://duet3d.dozuki.com/Wiki/Filaments
    https://duet3d.dozuki.com/Wiki/Gcode#Section_M701_Load_filament

    Sounds good (and confusing) to me.

    What's strange is that I knock out prints as good as anything I see on here without any idea how to program the thing, but I really want to dial it in.

    I'll come back to this, but it seems almost certain that my bed level compensation isn't working, so I'll sort that out first and then get the pressure advance and purge/wipe sorted.

    New thread coming up I guess. Again, many thanks for all the help.



  • @Corexy said in Pressure advance for different filaments:

    What's strange is that I knock out prints as good as anything I see on here without any idea how to program the thing, but I really want to dial it in.

    Coast and wipe once tuned should look pretty good. You may not notice much difference with pressure advance. One benefit is that you can adjust pressure advance on the fly during a print. Wipe and coast are set in the slicer and baked in.

    For a direct drive it won't be as noticeable an improvement as it is with a long bowden tube.



  • @Phaedrux

    I'm just messing with it now actually.

    One problem I'm having is that the latest version of S3D no longer seems to listen to my requests to put the start point in the middle of a straight run. I've entered the coordinates for a start point, but it's just starting at the nearest corner.

    I'm printing a 100mm cylinder, as that will allow me to put the start point where I want. Is that acceptable? (edit: best PA for this was 0.07).

    *I'm back on benchy's now...they behave much differently with PA on than the test cylinder, and I've gone back to my original slicer settings with no PA, just so I can print a nice control sample with best possible bridging. Then I'll turn of all coasting etc and ease up the PA again.


Log in to reply