Klipper: Extruder step-distance per filament.

Created on 26 Aug 2019  路  7Comments  路  Source: KevinOConnor/klipper

I calibrate my extruder for each new roll of filament, and there can be as much as 15% difference between filaments (PC+ has much higher e-steps / lower step-distance than PLA, for example). With Marlin, I can add custom gcode to the slicer filament settings to set the steps for a given filament, but I can't find a similar function in Klipper. Am I missing something? Does the M221 flow percentage setting functionally accomplish the same thing?

Thanks.

incomplete issue

Most helpful comment

As andy already mentioned, you can also set this in the slicer bei adjusting the extrusion multiplier. The slicer is the preferred location for making these adjustments, since creating new profiles for new filaments is easily done.

All 7 comments

Hi @QuantusHoka,

It did not look like there was a Klipper log file attached to this ticket. The log file has been engineered to answer common questions the Klipper developers have about the software and its environment (software version, hardware type, configuration, event timing, and hundreds of other questions).

Unfortunately, too many people have opened tickets without providing the log. That consumes developer time; time that would be better spent enhancing the software. If this ticket references an event that has occurred while running the software then the Klipper log must be attached to this ticket. Otherwise, this ticket will be automatically closed in a few days.

For information on obtaining the Klipper log file see: https://github.com/KevinOConnor/klipper/blob/master/docs/Contact.md

The log can still be attached to this ticket - just add a comment and attach the log to that comment.

Best regards,
~ Your friendly GitIssueBot

PS: I'm just an automated script, not a human being.

Hello @QuantusHoka ,
How do you calibrate your extruder?
It is important that you calibrate your extruder without connected bowden, so the conveyed length is always the same, as there is no back pressure from the Nozzle.
The sensitivity you must set in the slicer (Cura, Prusa Slicer, etc.) by flow!

As andy already mentioned, you can also set this in the slicer bei adjusting the extrusion multiplier. The slicer is the preferred location for making these adjustments, since creating new profiles for new filaments is easily done.

FWIW, I have found that the extruder gear bites into the "softer" filaments more, thus reducing the effective extruder gear diameter, and thus decreasing the step-distance. That's why I presently change the e-steps for each filament, after I have calibrated the extruder for each filament. I presently do this by adding a simple custom g-code script (e.g. M92 E105;) in the filament settings in Slic3r (my slicer of preference). I would like to switch to Klipper, but I need to find a good way to accommodate different filament properties without modifying the configuration file each time I switch filaments (some days I will print in ABS, PLA PETG and PC+, so you can imagine why I would prefer not to have to make this change in the configuration file)

If I am understanding correctly, your recommendation is to calibrate the extruder once only (pick my most common filament, I guess), and then adjust the "M221 flow percentage setting" for each individual filament based on a calibration cube. Have I got that right?

Out of curiosity, does anyone know how the flow percentage setting is used? Is the nominal calculated steps for a given move simply multiplied by the flow percentage to produce the steps sent to the printer?

Out of curiosity, does anyone know how the flow percentage setting is used? Is the nominal calculated steps for a given move simply multiplied by the flow percentage to produce the steps sent to the printer?

M221 is used to adjust flow while the printer is printing. What the slicer does is it calculates the required amount of filament based on the geometry of the line that has to be put down, and multiplies that value with the extrusion mutliplier. Is if your extruder should move, say, 1mm during a given move, setting the extrusion multiplier to 0.90 will cause the slicer to generate a move like, e.g. G1 X... Y... E0.90 F... instead. The firmware can remain at 100% flow rate this way and you only need to adjust your slicer to the multiplier you determined using your calibration prints.

Thank you. I think that's my solution, then.

Thanks again.

The ticket has been closed but the question has not been answered.
Is it possible to change the extruder calibration from the gcode? The workaround of using the multiplier when, as explained and as well known, the actual filament length changes depending on the softness is that, a workaround.
In theory the slicer should set the correct value per filament.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

LazaroFilm picture LazaroFilm  路  6Comments

TronskiFPV picture TronskiFPV  路  5Comments

KevinOConnor picture KevinOConnor  路  5Comments

KevinOConnor picture KevinOConnor  路  6Comments

aegelsky picture aegelsky  路  3Comments