Higher speed PA tuning
H2B last edited by
I've been having a bit of a challenge getting the balance between speed, jerk, PA, and extrusion multiplier all dialled in for functional prints.
My latest case I was printing at the following settings with a calibrated Hemera and Volcano block, 0.6 nozzle, PLA at 205C
- Perimeters 120
- External perimeters 60
- Solid infill 100
- Print acceleration 1000
- Jerk 300 mm/min
- Extrusion width 0.72
- Layer height 0.2
- PA 0.042
- Extrusion multiplier in DWC 88%
So I've found that my PA is a bit too high, and I'm ending up with underextruded perimeters on curves as PA would behave normally with these settings.
My issue is that if I bump up the extrusion multiplier back to the calibrated normal percentage, I end up with overextruded short infill segments that frequently lead to nozzle collisions because of all the extra material. The filament itself is at 1.74mm so it can't be due to variation in filament width alone from my guess.
Here's a shot of what that looks like when underextruded:
You can clearly see the voids in the circular perimeters from the PA doing its thing as expected. Straight segments come out perfectly, and the top surface is otherwise flawless.
So when I decrease PA or even disable it entirely, at the same reduced extrusion multiplier, the perimeters come out normally, but I still end up with overextruded short infill sections.
What should I try next? I'm guessing I should print infill sections slower perhaps..
NitroFreak last edited by NitroFreak
I dont think that this issue is due to PA. PA is only there for giving a consistent extrusion width while accelerating.
Are you printing the outer or inner perimeters first?
The plastic shrinks as it cools and holes tend to contract.
If you print the inner perimeter first, the outer perimeter sort of pulls away from it while printing.
Try printing the outer perimeter first, this will reduce that effect. A side effect is that you will get better tolerances.
If that doesnt help, increase your flow factor from 88 to maybe 93 % and to compensate try printing with just 95% infill.
H2B last edited by H2B
I am printing external perimeters first. And PA works at the start and the end of segments to even out flow..
But thanks for the tip. And infill percentage doesn't make a difference here cause it's solid infill and perimeters...
And if you look at the straight segments you can see that they're slightly underextruded since the multiplier was a little too low too when I was trying to compensate. The empty spots are all where the print was either retracting or going around a corner.
NitroFreak last edited by
I would suggest trying to print with an actial flow closer to 100%. 88% sounds like there might be something wrong with your settings or e-steps, and it does in fact cause underextrusion.
When you print the infill faster than the perimeters, pressure advance compensates a little too much on the faster sections and too little on the slower. I would recommend to always tune your PA for the fastest sections, as the slower sections do not exacerbate the overextrusion during the accelerating section as much.
Please post the rest of your speed settings from config.g
I also use a 0.6 nozzle and find that I need to increase jerk a bit to get cleaner solid infill. I also find that it's prone to over extrusion in short sections with rapid back and forths.
Using Cura and changing the top/bottom pattern to lines instead of zigzag also seems to help a bit as it will introduce a full extruder stop or even retraction at the end of the line rather than just a short extrude. Not an option with prusa slicer.
H2B last edited by
Recalibrated everything, and also properly meshed my print bed to eliminate issues from Z height differences across the build plate.
PA tuning resulted in the same amounts I had earlier. Also tightened down the motion mechanics of the printer to ensure that everything is locked down the way it should be. Belts are tuned to about 50Hz (9mm 2GT Gates).
I'll try out changing solid infill patterns to what @Phaedrux has suggested using Cura. Currently running some test prints to see if the issue has been resolved.
Here's the entire config file:
; executed by the firmware on start-up ; ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Hermoine" ; set printer name ; Kinematics 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 ; Axis (X) M569 P1 S1 ; Axis (Y) M569 P2 S0 ; Axis (Z1) M569 P3 S0 ; Axis (Z2) M569 P4 S0 ; Axis (Z3) ; Duex5 drivers M569 P5 S0 ; Axis U (toolchanger lock) M569 P6 S0 ; E0 M569 P7 S1 ; E1 ;M569 P8 S1 ; E2 ;M569 P9 S1 ; E3 ; Create all axes M584 X0 Y1 Z2:3:4 U5 E6:7:8:9 ; Set leadscrew locations M671 X-37:150:330 Y223:-62:223 S50 ; Microstepping M350 X16 Y16 Z16 I1 ; motion axes M350 U16 I1 ; toolchanger lock M350 E16:16:16:16 I1 ; all 4x extruders ; Stepper setup M92 X160.88 Y160.88 Z795.8 U160 ; set steps per mm for each exis (Original) M92 E409:397;:409:409 ; extruders steps per mm ; Speeds - Hermoine M203 X13200.00 Y13200.00 Z600.00 U1000 E2400.00 ; set maximum speeds (mm/min) M201 X3000.00 Y3000.00 Z20.00 U1000 E6000.00 ; set max accelerations (mm/s^2) M566 X2400.00 Y2400.00 Z12.00 U200 E2400.00 ; Jerk settings (mm/min) ; Currents M906 X1220 Y1220 Z1200 U1000 E1100 I60 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 S1 X-40 Y-64 Z0 A0 ; set axis minima M208 S0 X323 Y314 Z330 A220 ; set axis maxima ; allow movement without homing M564 H0 ; Endstops M574 X1 Y1 Z1 U1 S1 ; all endstops are active-high, low-end ; Bed tramming limits and spacing M557 X10:290 Y10:290 S140 ; set leadscrew positions for bed tramming ; Heaters ; Bed Heater (AC) M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit M305 P0 T100000 B4138 R4700 ; set thermistor + ADC parameters for heater 0 M143 H0 S120 ; set temperature limit for heater 0 to 120C ; Hot-end (Hemera default) ;M307 H6 A-1 C-1 D-1;A472.0 C247.7 D3.9 V24.3 B0 ; gain 472.0, time constant 247.7, dead time 3.9, max PWM 1.00 ;M307 H7 A-1 C-1 D-1;A472.0 C247.7 D3.9 V24.3 B0 ; gain 472.0, time constant 247.7, dead time 3.9, max PWM 1.00 ;M307 H3 A-1 C-1 D-1;A472.0 C247.7 D3.9 V24.3 B0 ; gain 472.0, time constant 247.7, dead time 3.9, max PWM 1.00 ;M307 H4 A-1 C-1 D-1;A472.0 C247.7 D3.9 V24.3 B0 ; gain 472.0, time constant 247.7, dead time 3.9, max PWM 1.00 ;M307 H5 A-1 C-1 D-1;A472.0 C247.7 D3.9 V24.3 B0 ; gain 472.0, time constant 247.7, dead time 3.9, max PWM 1.00 M307 H1 A395.4 C270.9 D3.7 V24.3 B0 ; gain 472.0, time constant 247.7, dead time 3.9, max PWM 1.00 M307 H2 A472.0 C247.7 D3.9 V24.3 B0 ; gain 472.0, time constant 247.7, dead time 3.9, max PWM 1.00 ; Thermistor for hot-end M305 P1 T100000 B4725 C7.060000e-8 ; set Hemera settings for thermistor 1 M305 P2 T100000 B4725 C7.060000e-8 ; set Hemera settings for thermistor 2 ; on Duex5 ;M305 P3 T100000 B4725 C7.060000e-8 ; set Hemera settings for thermistor 3 ;M305 P4 T100000 B4725 C7.060000e-8 ; set Hemera settings for thermistor 4 ;M305 P5 T100000 B4725 C7.060000e-8 ; set Hemera settings for thermistor 5 ;M305 P6 T100000 B4725 C7.060000e-8 ; set Hemera settings for thermistor 6 ;M305 P7 T100000 B4725 C7.060000e-8 ; set Hemera settings for thermistor 7 ; Temperature limits ;M143 H6 S305 ; set temperature limit for heater 1 to 285C ;M143 H7 S305 ; set temperature limit for heater 2 to 285C ;M143 H3 S305 ; set temperature limit for heater 3 to 285C ;M143 H4 S305 ; set temperature limit for heater 4 to 285C ;M143 H5 S305 ; set temperature limit for heater 5 to 285C M143 H1 S305 ; set temperature limit for heater 6 to 285C M143 H2 S305 ; set temperature limit for heater 7 to 285C ; Fans on Duet M106 P0 T45 H2 C"HEF 0" S0.7 ; Tool 1 hotend fan, thermostatic control is turned on M106 P1 T45 H1 C"HEF 1" S0.7 ; Tool 2 hotend fan, thermostatic control is turned on M106 P1 S0.5 ;reduce sound a little ; Fans on Duex5 ;M106 P3 T45 H1 C"HEF 3" ; Tool 3 hotend fan, thermostatic control is turned on M106 P4 S0 I0 F500 H-1 C"PCF 0" ; Tool 0 part cooling fan M106 P5 S0 I0 F500 H-1 C"PCF 1" ; Tool 1 part cooling fan ;M106 P6 S0 I0 F500 H-1 C"PCF 2" ; Tool 2 part cooling fan ;M106 P7 S0 I0 F500 H-1 C"PCF 3" ; Tool 3 part cooling fan ;M106 P8 I-1 ; FAN8 on Duex5 disabled ; Tools M563 P0 S"Volcano 0" D0 H1 F5 ; define tool 0 G10 P0 X12 Y40 Z-13.92 ; set tool 0 axis offsets G10 P0 R110 S200 ; set initial tool 0 active temp to 200 and standby temperature to 110C M572 D1 S 0.040 ; set pressure advance M563 P1 S"hermes 1" D1 H2 F4 ; define tool 1 G10 P1 X12.725 Y40.685 Z-4.9 G10 P1 R110 S200 ; set initial tool 1 active temp to 200 and standby temperature to 110C M572 D0 S0.03 ; set pressure advance ;M563 P2 S"hermes 2" D2 H6 F2:6 ; define tool 2 ;G10 P2 X0 Y0 Z0 ; set tool 0 axis offsets ;G10 P2 R110 S200 ; set initial tool 0 active temp to 200 and standby temperature to 110C ;M563 P3 S"hermes 3" D3 H7 F3:7 ; define tool 0 ;G10 P3 X0 Y0 Z0 ; set tool 0 axis offsets ;G10 P3 R110 S200 ; set initial tool 0 active temp to 200 and standby temperature to 110C M106 P0 S0 ; turn off fan 0 ; Z probing settings M558 P4 C2 H2 A2 T10000 S0.02 ; P4 --> probe type: switch ; C2 --> endstop number ; H5 --> dive height ; A1 --> max number of times to probe ; T100000 --> travel speed between probe points ; S0.02 --> tolerance when probing multiple times M557 X0:300 Y0:280 P21:21 ; Save parameters to/from non-volatile memory M500 M501 ```