How do I assign a new part cooling fan?
-
Hey! I'm having issues with my duet maestro firmware. My part cooling fan is connected to the FAN2 pin, but I'm only able to control it through this g-code: M106 P2 S255
I would really like to have the slicer set the fan speed.
I think this is the crucial part of my config.g:; Fans
M950 F3 C"e1heat"
M106 P3 H1 T35 S1
M950 F2 C"fan2" Q500 ; create fan 0 on pin fan0 and set its frequency
M106 P2 I0 C"5015" S0 H-1 ; set fan 0 name and value. Thermostatic control is turned off; Tools
M563 P0 D0 H1 F2 ; define tool 0
G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets
G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C -
The part cooling fan is usually Fan0 so that slicers that are unaware of multiple fan numbers can control it with simple M106 commands.
So either set your slicer to use fan2, or reconfigure to use F0, etc instead.
-
@Phaedrux How do I set up my slicer fan?
-
Which slicer are you using?
-
@Phaedrux Prusa Slicer
-
I don't think PrusaSlicer/Slic3r has the option of specifying a fan number, but you could use a post processing script to replace M160 with M106 P2, or open the gcode file in a text editor and do a find and replace.
https://manual.slic3r.org/advanced/post-processing
https://github.com/slic3r/Slic3r/wiki/Writing-post-processing-scripts
https://reprap.org/forum/read.php?263,847419Or if that just seems far too complicated, you could just change your fan configuration to use F0 instead of F2
M950 F0 C"fan2" Q500 M106 P0 I0 C"5015" S0 H-1 M563 P0 D0 H1 F0
I think that should allow M106 commands without a P# to work.
-
@Phaedrux I accidentally shorted my F0 port. That's why I'm having these issues in the first place. Thanks anyways:)
-
No no. It doesn't change the physical fan port. Just the fan number you're assigning to it.
C"fan2" refers to the port you're using. F0 makes it the default fan.
-
@Phaedrux Are you sure? Because I updated my config to:
; Fans
M950 F3 C"e1heat"
M106 P3 H1 T35 S1
M950 F0 C"fan2" Q500
M106 P0 I0 C"5015" S0 H-1; Tools
M563 P0 D0 H1 F0
And the fan still only activates when I type: M106 P2 S255 -
@maroonds said in How do I assign a new part cooling fan?:
Are you sure?
No, but I really thought that should work.
What firmware version are you using? Can you post your full config?
-
@Phaedrux Here's my config: https://pastebin.com/ePVM5nhm
I'm on the latest RR3 firmware. -
@maroonds said in How do I assign a new part cooling fan?:
I'm on the latest RR3 firmware.
Which version specifically?
-
@Phaedrux Board: Duet Maestro 1.0
Firmware: RepRapFirmware for Duet 2 Maestro 3.0 (2020-01-03b3) -
In RRF 3.0 for the Maestro, fans 0, 1 and 2 are pre-allocated to "fan0", "fan1" and "fan2". So if you want to use different assignments such as:
M950 F0 C"fan2" Q500
then you need to remove the existing assignment to "fan2" by doing this first:
M950 F2 C"nil"
In RRF 3.01 the default fan assignments have been removed,
-
@dc42 said in How do I assign a new part cooling fan?:
nil
Like this? ; Fans
M950 F3 C"e1heat"
M106 P3 H1 T35 S1
M950 F2 C"nil" Q500
M106 P2 I0 C"5015" S0 H-1; Tools
M563 P0 D0 H1 F0
It's still not working.. I tried upgrading my firmware but I get this error: M997 S0
Error: In-application programming binary "DuetMaestroIAP.bin" not found -
@maroonds said in How do I assign a new part cooling fan?:
@dc42 said in How do I assign a new part cooling fan?:
nil
Like this? ; Fans
M950 F3 C"e1heat"
M106 P3 H1 T35 S1
M950 F2 C"nil" Q500
M106 P2 I0 C"5015" S0 H-1No, you need to use M950 F2 C"nil" (to free up pin "fan2") and then M950 F0 C"fan2" Q500. Then you can use M106 P0 I0 C"5015" S0 H-1.
; Tools
M563 P0 D0 H1 F0
It's still not working.. I tried upgrading my firmware but I get this error: M997 S0
Error: In-application programming binary "DuetMaestroIAP.bin" not foundYou will find that file in the 3.0 release page on github.
-
@dc42 said in How do I assign a new part cooling fan?:
M106 P0 I0 C"5015" S0 H-1
Now it's working, thanks!