Skip to content

Support for mixing extruders #1569

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
JulianStremel opened this issue Jan 6, 2025 · 4 comments
Open

Support for mixing extruders #1569

JulianStremel opened this issue Jan 6, 2025 · 4 comments
Labels
FR - Enhancement New feature or request GH - Waiting for Feedback Waiting for the issuer to reply

Comments

@JulianStremel
Copy link

Is your feature request related to a problem? Please describe

I am currently working on getting mixing extruder support stable in klipper and Kalico(formerly danger klipper).

Describe the solution you'd like

Because fluid already supports multi extruder setups in its toolhead widget i wanted to ask if there would be interest in enabling a more in depth mixing extruder support from the fluid community :)
Mainly i would like to be able to set and see mixing ratios of my extruders as well as track the individual spool usage using spoolman.

Describe alternatives you've considered

Currently i am not using any visualization and i do not have a good way to implement the spoolman feedback but one could consider building macros to set spool usage from within klipper.

Additional information

The original PR on the klipper repo ist stale but i am working on it over at Kalico as i said and i would hope there is interest in the klipper community to push mixing extruders as a viable alternative to ams style systems.

I made a short Video on my custom mixing printer for everybody interested

@JulianStremel JulianStremel added the FR - Enhancement New feature or request label Jan 6, 2025
@pedrolamas pedrolamas added GH - Upstream First Temporarily impossible because of other factors Upstream - Kalico For everything Kalico related labels Jan 8, 2025
@pedrolamas pedrolamas removed GH - Upstream First Temporarily impossible because of other factors Upstream - Kalico For everything Kalico related labels Feb 13, 2025
@pedrolamas
Copy link
Member

Hi @JulianStremel, thank you for submitting this Feature Request.

I see that this functionality is now merged in Kalico and I took it for a quick test, but unfortunately, I got an error:

Image

My config has an [extruder] and [extruder1] sections, so I have no idea why this refer to a extruder_stepper extruder1...

This is the config I used:

[mixing_extruder]
steppers: extruder,extruder1
extruder_name: test

Can you help to clarify this?

@pedrolamas pedrolamas added the GH - Waiting for Feedback Waiting for the issuer to reply label Feb 13, 2025
@JulianStremel
Copy link
Author

JulianStremel commented Feb 13, 2025

@pedrolamas Thanks for taking a look :)

your config does need to have the other steppers setup as extruder_stepper like so:

[extruder]
step_pin: printhead:P2.2
dir_pin: printhead:P2.6
enable_pin: !printhead:P2.1
...

[extruder_stepper extruder1]
extruder: #extruder
step_pin: printhead:P0.19
dir_pin: printhead:P0.20
enable_pin: !printhead:P2.8
microsteps: 16
rotation_distance: 23.5

[extruder_stepper extruder2]
extruder: #extruder
step_pin: printhead:P0.22
dir_pin: printhead:P2.11
enable_pin: !printhead:P0.21
microsteps: 16
rotation_distance: 23.5

[extruder_stepper extruder3]
extruder: #extruder
step_pin: printhead:P2.13
dir_pin: printhead:P0.11
enable_pin: !printhead:P2.12
microsteps: 16
rotation_distance: 23.5

[mixing_extruder]
steppers: extruder,extruder1,extruder2,extruder3

I have a little repo for some of my configs:
https://github.com/JulianStremel/Ender3-mixing

Also switching the mixing ratio mid print is currently only possible if

#define CHECK_LINES 1
gets set to:
#define CHECK_LINES 0
in klippy/chelper/stepcompress.c

As far as i can tell this does not break anything else and is needed because this check as far as i can tell checks if the send steps are okay in regard to the rotation distance but because the mixing feature builds on dynamically changing the rotation distance for every stepper that is part of that extruder this check breaks.

There are some more quirks like having to apply pressure advance to every extruder_stepper seperately and not just to the parent extruder... but i think this should get you started.

@pedrolamas
Copy link
Member

Thank you for the information, I will check on that ASAP.

Just for clearing, Klipper and Kalico allow and work fine with [extruder], [extruder1], I assume this is not supported then?

@JulianStremel
Copy link
Author

Klipper supports the standard way of defining multiple extruders for toolhead setups and stuff like that and kalico beeing a fork also supports that.

The only thing i added was the support for a hotend that shares multiple filament extruders that feed into a single meltzone for mixing applications.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
FR - Enhancement New feature or request GH - Waiting for Feedback Waiting for the issuer to reply
Projects
None yet
Development

No branches or pull requests

2 participants