Problem: Move exceeds maximum extrusion

Hi there, I have been using klipper for over a year now and hardly had any problems, at least nothing I could not solve. Now I ran into a wall and I get the same problem over and over.

I have a custom cube (mixture of Hypercube and ratrig) and I am using superslicer with the ratrig-profile.
Today my print stopped with an error messag after the it had drawn the circle around the printing area.

This is the message I got:

 17:28:09  // pressure_advance: 0.050000
// pressure_advance_smooth_time: 0.040000
17:29:54  // Move exceeds maximum extrusion (3.613mm^2 vs 0.640mm^2)
// See the 'max_extrude_cross_section' config option for details
17:29:54  !! Move exceeds maximum extrusion (3.613mm^2 vs 0.640mm^2)

I restarted, re-scliced several times but it continued. It always happend when printing the actual object started. After doing some research I raised the max_extrude_cross_section to 10.
The print started again, this time also starting to print the object. Some way into the print I got this message:

 17:37:50  // pressure_advance: 0.050000
// pressure_advance_smooth_time: 0.040000
17:52:35  // Move exceeds maximum extrusion (25.074mm^2 vs 10.000mm^2)
// See the 'max_extrude_cross_section' config option for details
17:52:35  !! Move exceeds maximum extrusion (25.074mm^2 vs 10.000mm^2)

As far as I understood, this is a safety feature and one should not raise the value. I could go up to 50 but if it is a sefty feature I do not want to. So here I am looking for a solution. I do not know where the error came from and why it suddently started. Here’s my extruder config:

[extruder]
step_pin: PG0
dir_pin: PG1
enable_pin: !PF15
microsteps: 16
full_steps_per_rotation: 200
max_extrude_only_velocity: 60
max_extrude_only_distance: 500
max_extrude_cross_section: 10 # default 0.640
rotation_distance: 4.714
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PA2
sensor_type: NTC 100K MGB18-104F39050L32
sensor_pin: PF3
min_temp: 0
max_temp: 280

This is a changed version however, before the problems started I had 64 microsteps, I did not spefify steps per rotation and I did not specify velocity. That’s what I tried to do to solve the problem. I also looked for M83 in the start g-code.

SO where could the problem be?

This is almost always caused by a mismatch between absolute and relative extrusion modes. Make sure your slicer is configured to match whatever you’re using in your start gcode.

1 Like

Thanks for the quick reply!
Unfortunately I have no idea how to change extrusion mode in superslicer. I know there is a button for it in fluidd but that’s it.
Could you maybe elaborate a little bit more? I am really lost in the woods here, sorry.

Printer Settings → General → Advanced → Use relative E distances

2 Likes

Thanks, guys. I just started the print that crashed and it seemed to work now. I set the slicer to relative mode and that seemed to do the trick, the printer is still running.

What I don’t understand, though, is why I needed to check that box. I cannot remember unchecking it, plus, I think for the ratrig it was unchecked.

And if I have a

G92 E0;

in the start gcode, does that not mean that I reset the extruder in order zo have absolute mode?

AS I said, it does work now, I am just curious and I want to understand what was going on.

You need to decide, if you want to use absolute or relative extrusion:

Absolute:

  • Slicer to absolut, i.e. uncheck the box
  • M82 in start gcode, filament change gcode etc
  • M83 nowhere in slicer
  • M83 nowhere in start gcode, filament change gcode etc
  • G92 E0 after priming or at the end of the start gcode
    → Generally I would prefer absolut

Relative:

  • Slicer to relative, i.e. check the box
  • M83 in start gcode, filament change gcode etc
  • M82 nowhere in slicer
  • M82 nowhere in start gcode, filament change gcode etc
  • Priming lines need to respect this as well
1 Like

Thanks for your clarification but after your first answer I read about absolute/relative extrusion and checked for those commands but could not find them. That’s why I thought I was using absolute (see G92 E0) mode and thats why I am confused. As I said, I dont know why switching to relative mode fixed the problem, as I never used relative mode in the first place. It’s really weird.

Here’s my start gcode:

M104 S[first_layer_temperature] T0; set extruder temp
M140 S[first_layer_bed_temperature] ; set bed temp
M190 S[first_layer_bed_temperature] ; wait for bed temp
M109 S[first_layer_temperature] ; wait for extruder temp
TILT
G29; Level Bed
G1 Z15.0 F6000 ;Move the platform down 15mm
;Prime the extruder
G92 E0;
G1 F200 E3;
G92 E0;
G1 X0.1 Y0 Z0.3 F5000.0 ; Move to start position
G1 X0.1 Y250.0 Z0.3 F1500.0 E15 ; Draw the first line
G1 X0.1 Y250.0 Z0.3 F5000.0 ; Move to side a little
G1 X0.1 Y0 Z0.3 F1500.0 E30 ; Draw the second line
G92 E0 ; Reset Extruder
G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G1 X5 Y20 Z0.3 F5000.0 ; Move over to prevent blob squish
SET_FAN_SPEED FAN=Abzug SPEED=1 ;

G92 E0 only resets the position of the extruder. It does not change between relative and absolute. This is done by M82 and M83.

it did not work for me, even with this option turned on, I get the same error