[H] Move exceeds maximum extrusion

So I’m pretty new to klipper and octoprint but I love everything about it. I got everything just and then my probe broke. Also had to move my simplify3D to a new computer. After removing the probe settings in klipper.conf I get the same errors with every new print. Obviously, I broke something somewhere but for the life of me I can’t figure out where. It goes as far as homing and nozzle wipe but bugs out immediately when starting the print. Any suggestions?

14:53:34 Unknown command:“T0”
14:53:37 Move exceeds maximum extrusion (0.720mm^2 vs 0.640mm^2)
14:53:37 Move exceeds maximum extrusion (0.720mm^2 vs 0.640mm^2)
See the ‘max_extrude_cross_section’ config option for details
14:53:37 Unknown command:“M108”
Your printer’s firmware reported an error. Due to that the ongoing print job will be cancelled. Reported error: Move exceeds maximum extrusion (0.720mm^2 vs 0.640mm^2)

klipper.conf (2.7 KB)
GCode sample that give error.
Ranger_Logo.zip (99.1 KB)

Preventing an “unhealthy” amount of extrusion on short moves is a safety feature of Klipper. The default value is set to

Maximum Extrusion = 4.0 x Nozzle_Diameter^2 = 4.0 x 0.4^2 = 0.640 mm²

The error typically is caused by:

  • Extreme settings for the prime line in the start gcode
  • Extreme settings for a purge, e.g. on filament change
  • Crappy gcode created by the slicer (especially S3D)
  • Weird Slicer settings affecting the extrusion or flow rate
  • Misplaced M83 commands (e.g. in start gcode) causing the extrusion to add up

Basically you have two options:

  • Find the root cause, most likely from the list above
  • Relax (read deactivate) the safety setting in the [extruder] section by setting max_extrude_cross_section: 5 → Not recommend, this check is there for a reason

Edit, as this topic seems to be still read and gets attention:

Some Extrusion Math

Input

  • Nozzle Diameter: 0.4 mm
  • Filament Diameter: 1.75 mm
  • Extrusion Width: 0.48 mm
  • Layer Height: 0.2 mm
  • Print Speed: 80 mm/s
  • Extruded Length: 15 mm
  • Movement Length: 30 mm

Volumetric Speed
Volumetric_Speed [mm^3/s] = Extrusion_Width [mm] * Layer_Height [mm] * Print Speed [mm/s] = 7,68 mm³/s

  • This is the amount of polymer that the extruder needs to physically melt and squeeze through the nozzle to uphold a certain printing speed
  • The maximum depends on filament, quality (torque) of the extruder and melting capacity of the heated area
  • Standard extruder are somewhere between a maximum of 8 mm³/s and 20 mm³/s
  • High quality / high flow extruders can reach up to 50 mm³/s
  • Exceeding the physical capabilities will lead to skipped extruder steps (grinding) and under extrusion

Klipper Safety mechanism
max_extrude_cross_section [mm²] = 4.0 x Nozzle_Diameter^2 = 4.0 x 0.4^2 = 0.640 mm²

Extruded_Volume [mm³] = Extruded_Length [mm] x (Filament_Diameter [mm] / 2)^2 x Pi = 15 mm x (1.75 mm / 2)^2 x 3.14 = 36.1 mm³

Actual_Extruded_Cross_Section [mm²] = Extruded_Volume [mm³) / Movement_Length [mm] = 36.1 mm³ / 30 mm = 1.2 mm²

  • If one single gcode command would request a movement of 30 mm while trying to extrude 15 mm filament (gcode: E15) it would result in a Actual_Extruded_Cross_Section of 1.2 mm²
  • Klipper would react with an error message saying Move exceeds maximum extrusion (1.2mm^2 vs 0.640mm^2)
  • To solve the issue, either the Movement_Length needs to be increased by a factor of 1.875 to minimum 56,25 mm or the Extruded_Length decreased by the same factor to E8
5 Likes

Spot on - for me the problem happened when I switched from start code in my slicer to a start code macro - I forgot to put the extruder back in absolute mode at the end

Hello,

I am brand new to Octoprint as well as klipper and most programing things but i understand the hardware.

i have just converted my ender 5 plus with a creality silent board to run with a pi 3 B and use klipper.

While getting everything set up (per the klipper configuration section of the website) and trying to run my first test prints i have run into this issue described above the “move exceeds maximum extrusion” error. i used the ender 5 plus config file from github.

i have added the start print macro from the klipper slicer page as well as a prime line indicated below.

i have changed a few things
(extruder settings updated per the orbiter v2 on the orbiter page)

Bed mesh calibration setting for my bed

i am very new to this and i am confused because i have not found anything conclusive

i run the print and it heats up fine and homes fine but with some things i have tried it either gives me the error before it extrudes any plastic, just after it finishes the prime line, just after it starts the print(which i havent gotten to stick yet with klipper because i havent found a good way to adjust the Z compensation while printing)

i know in the above post te include a klipper log file please let me know if this is okay or what is required

klipper log.txt (5.6 MB)

file i sliced in Cura 5.1

CE5P_Kitchenaid_Attachment_Mount 2.txt (2.0 MB)

Still looking for a reply on the above post. or just to know what i need to post to get some help.

[gcode_macro PRIME_LINE]
gcode = 
	G90
	G92 E0
	G1 Z2.0 F3000
	G1 X10 Y20 Z0.28 F3000.0
	G1 X10 Y50.0 Z0.28 F1500.0 E15
	G1 X12 Y50.0 Z0.28 F3000.0
	G1 X12 Y20 Z0.28 F1500.0 E15
	G92 E0
	G1 Z2.0 F3000

Your prime line tries to extrude 15mm filament on a move of 30mm. Try reducing the amount or make the line longer

1 Like

is there a way to know “with math preferably” how to get my extrusion distance for a travel distance with a certain nozzle and layer height size. i dont think i understand the below

equation and how it produces a maximum extrusion. i would assume my maximum extrusion i am trying to achieve would be maximum extrusion area = (layer height).2mmNozzle_diameter = maximum extrusion mm^2 and the maximum extrusion volume = (layer height).2mmNozzle_diameter*extrusion length = maximum extrusion mm^3

i may be just getting confused.

If your filament is 1.75mm diameter, it’s approximately 2.4mm^3 per linear mm. 15 linear mm is about 36mm^3. Divide 36 by .64 and you would need a prime line at least 57mm long to avoid the error.

2 Likes

As there apparently still is interest in this old topic, I amended my post above [H] Move exceeds maximum extrusion - #2 by Sineos by some bits of extrusion math. I hope I could make it a bit clearer.