Ender5 - heavily modified:
BTT Octopus v1.1:
Pi 3B+
N/A
Fill out above information andin all cases attach yourklippy.logfile (use zip to compress it, if too big). Pasting yourprinter.cfgis not needed Be sure to check our “Knowledge Base” Category first. Most relevant items, e.g. error messages, are covered there
Describe your issue:
Probably an incredibly easy question - but searching hasn’t helped me find the answer.
I’m DIY-ing a dual extruder - same carriage, separate hotends. In terms of the T0/T1 switching macro, I think I understand that…but what I can’t figure out is how to link the two independent parts cooling fans to their respective hotend.
I have the heater fan on PA8 and have linked that to both hot ends in the config - so that’s working.
Can someone point me in the right direction for dealing with my two part cooling fans? I can either parallel them to the board and have them both on regardless of which hot end is in use, or they can be separate on the board - I don’t care which.
Forgive me if I don’t understand - but I think what you posted was for the heater fan - i.e. the cooling fan for the heatbreak. I have one heater fan and that is working with this config:
[heater_fan fan1]
pin: PA8
heater: extruder, extruder1
heater_temp: 50.0
What I am asking regards the part cooling fans, which are independent. I currently have this (which doesn’t work):
[fan] #this is part cooling fan 1
pin: PE5
[fan1] #this is part cooling fan 2
pin: PD12
But I don’t know how to bind [fan] to extruder, and [fan1] to extruder1 - clearly something simple I am missing.
Watch the “Features” category in the next few days, I’ll be posting a Klipper patch for users to test out potential new fan features/fixes/upgrades.
One of the things I’ve added a fix for is that functionality for users with multiple extruders. I’m putting the finishing touches on some last minute things today so HOPEFULLY should be out this evening or tomorrow at the latest.
Edit: Let me be clear. Klipper currently doesn’t support defining two or more part cooling fans as [fan]. I didn’t mean it doesn’t support multiple extruders.
I haven’t done this specifically but it should be fairly easy to override M106 and M107 to relay the parameters to a SET_FAN_SPEED command targeted to the desired generic fan, which can be tracked with a variable that is updated by whatever macros you use to switch extruders.
M106/M107 is solely linked to the [fan], it doesn’t even take any variables/fan numbers/ etc.
It does take a gcode command though, so it MIGHT work, but I’d be super surprised.
M106 takes an S parameter. You just override M106, intercept the S parameter, convert it to a float, and use that with SET_FAN_SPEED on whatever the current extruder’s fan is. M107 is even easier because you just override that to SET_FAN_SPEED SPEED=0 on the current extruder’s fan.
Ah, I was thinking of it the other way around like you were trying to feed the M106 a “T” parameter, you’re just intercepting the S parameter and using it with Fan set speed.
The fix I mentioned a few comments above is for this very thing, where Klipper would support “M106 T1 S255” or whatever straight from the slicer so there is no need to jump through these hoops.
It will need testing though, I don’t have an IDEX printer, I’ve just been renaming fans to cooling fans and trying it out that way.
Thanks all - so, my understanding is that M106 turns on [fan] - and that is true regardless of the active extruder. So for now I have physically parallel-ed the two fans so both are on in response to an M106 - that’ll work fine for my use case.