Pressure advance question



  • I'm going to configure the pressure advance using the Marlin K factor script method.
    Do I need to activate anything within the duet before printing the script or does the script control all of that?
    Also if I set it up for a 0.6mm nozzle at 0.2mm layer heights do I need to have a different calibration for 0.4mm layer height or will the duet compensate automatically?


  • Moderator

    As long as the script contains the commands to configure pressure advance you should be good to go.

    You'll need to configure it as needed for what you're printing. The firmware won't do anything automatically. So if you need different values between 0.2 and 0.4 layer heights that would be for you to change.



  • @Phaedrux perfect thank you 😊
    If I do need 2 different profiles is there an easy way to select the correct one, could it be configured in a macro?


  • Moderator

    There are many ways to do it. Which to choose depends on your work flow. You could specify it in the slicer if it has a gcode section for the print profile, etc, or you could use the DWC filament management function to call a specific macro. Or just have a macro in the macro folder to manually run.



  • @Phaedrux said in Pressure advance question:

    There are many ways to do it. Which to choose depends on your work flow. You could specify it in the slicer if it has a gcode section for the print profile, etc, or you could use the DWC filament management function to call a specific macro. Or just have a macro in the macro folder to manually run.

    Best option for me is to set it in the slicer so i can set each profile depending on filament and layer height.
    0.6mm nozzle, 0.2mm layers = 0.05K-factor
    0.6mm nozzle, 0.4mm layers = 0.035K-factor
    Im using Simplify3d and ive set this as my new start script for 0.2mm layers

    G28 ; home all axes
    M572 D0 S0.05 ; set K-factor

    Does that look correct, will adding that to the start script set the entire print with that K-factor, is there anything that needs to be added to my duet config files on the SD card?



  • just tried a test print and its an improvement but still work to be done.
    Sent M572 through the console and it confirmed that pressure advance was set to 0.035

    The print has better corners, the layers are more even, but im still having an issue where it retracts and bulging.
    in the photos the partial print on the left is the one with pressure advance, the complete print on the right without pressure advance.

    Is there a way to improve the retraction points?PXL_20201206_172010213.jpg PXL_20201206_171423495.jpg

    Is there anything I've missed in my config, accelerations, speeds etc?
    ; Configuration file for Duet WiFi (firmware version 3)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.4 on Wed Nov 04 2020 17:51:25 GMT+0000 (Greenwich Mean Time)

    ; General preferences
    G90 ; send absolute coordinates...
    M83 ; ...but relative extruder moves
    M550 P"Eniac40" ; set printer name
    M669 K1 ; select CoreXY mode

    ; Network
    M552 S1 ; enable network
    M586 P0 S1 ; enable HTTP
    M586 P1 S0 ; disable FTP
    M586 P2 S0 ; disable Telnet

    ; Drives
    M569 P0 S1 ; physical drive 0 goes forwards
    M569 P1 S1 ; physical drive 1 goes forwards
    M569 P2 S0 ; physical drive 2 goes backwards
    M569 P3 S1 ; physical drive 3 goes forwards
    M584 X0 Y1 Z2 E3 ; set drive mapping
    M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
    M92 X80.24 Y80.24 Z398.00 E412.00 ; set steps per mm
    M566 X900.00 Y900.00 Z18.00 E3000.00 ; set maximum instantaneous speed changes (mm/min)
    M203 X15000.00 Y15000.00 Z720.00 E15000.00 ; set maximum speeds (mm/min)
    M201 X1000.00 Y1000.00 Z100.00 E5000.00 ; set accelerations (mm/s^2)
    M906 X1700 Y1700 Z1700 E680 I30 ; set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    ; Axis Limits
    M208 X0 Y0 Z0 S1 ; set axis minima
    M208 X390 Y425 Z405 S0 ; set axis maxima

    ; Endstops
    M574 X1 S1 P"!xstop" ; configure active-high endstop for low end on X via pin !xstop
    M574 Y1 S1 P"!ystop" ; configure active-high endstop for low end on Y via pin !ystop
    M574 Z1 S1 P"!zstop" ; configure active-high endstop for low end on Z via pin !zstop

    ; Z-Probe
    M558 P0 H2 F120 T15000 ; disable Z probe but set dive height, probe speed and travel speed
    M557 X15:215 Y15:195 S20 ; define mesh grid

    ; Heaters
    M308 S0 P"bedtemp" Y"thermistor" T100000 B4092 ; configure sensor 0 as thermistor on pin bedtemp
    M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0
    M307 H0 A84.5 C94.6 D0.7 S1.00 V11.9 B0 ; PID heated bed
    M140 H0 ; map heated bed to heater 0
    M143 H0 S80 ; set temperature limit for heater 0 to 80C
    M308 S1 P"e0temp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 1 as thermistor on pin e0temp
    M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
    M307 H1 A298.1 C175.7 D3.8 S1.00 V11.8 B0 ; PID hotend heater

    ; Fans
    M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency
    M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off
    M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency
    M106 P1 S1 H1 T45 ; set fan 1 value. Thermostatic control is turned on
    M950 F2 C"fan2" Q500 ; create fan 2 on pin fan2 and set its frequency
    M106 P2 S1 H1 T180 ; set fan 2 value. Thermostatic control is turned on

    ; Tools
    M563 P0 D0 H1 F0 ; 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

    ; Custom settings are not defined

    ; Miscellaneous
    M575 P1 S1 B57600 ; enable support for PanelDue
    T0 ; select first tool


  • Moderator

    @natty15d said in Pressure advance question:

    Does that look correct, will adding that to the start script set the entire print with that K-factor, is there anything that needs to be added to my duet config files on the SD card?

    That would do it. You could set a default value in config.g incase you forget to set a specific value in the slicer since some PA is better than no PA.

    @natty15d said in Pressure advance question:

    Is there a way to improve the retraction points?

    You could use firmware retraction and get better control over retraction settings.

    https://forum.duet3d.com/topic/6181/tuning-macros-menus-accel-jerk-retraction-pressure-advance


  • Moderator

    @natty15d said in Pressure advance question:

    M566 X900.00 Y900.00 Z18.00 E3000.00

    I'd raise your Z jerk value to 60 at least just to avoid any issues if you want to use mesh compensation.



  • @Phaedrux Thankyou, I'll change that setting

    Also noticed in S3d that my infill width was set to 125% & 45% overlap. Ive reduced it to 100% width and 25% overlap to see if that helps, along with switching on Avoid crossing outline for travel movements



  • Once you have set pressure advance do you have to revisit retraction distance and speed?


  • Moderator

    Pressure advance usually results in requiring less retraction distance.


Log in to reply