Help with configuring 2 layer fans

  • Hello,

    I'm setting up my Duet 3, and everything is working - except I can only get one of the 2 part cooling fans to turn on when I (or my slicer) sends a 'M106 Snnn' command. I think I'm missing something basic, and would appreciate your help:

    Board: Duet 3 MB6HC (MB6HC)
    Firmware: RepRapFirmware for Duet 3 MB6HC 3.1.1 (2020-05-19b2)

    (trimmed down) Config.g:

    **; Heaters
    M140 H-1 ; no heated bed

    M308 S1 P"temp1" Y"thermistor" T100000 B4138
    M950 H1 C"out1" T1
    M143 H1 S240
    M307 H1 B0 S1.00

    ; Part cooling fans
    M950 F0 C"out7" Q500
    M106 P0 S0 H-1

    M950 F1 C"out8" Q500
    M106 P1 S0 H-1

    ; Tools
    M563 P0 D0 H1 S"Hot End" F0:1 ; define tool 0
    G10 P0 X0 Y0 Z0
    G10 P0 R0 S0**


    • Only the fan on 'out7' turns on when I send 'M106 S255'. I want both fans to turn on at the same time/speed.

    • I can get the fan on 'out8' to turn on if I send a separate 'M106 P1 S255' command.

    Like I said above, I'm pretty sure that I'm missing something basic, but don't seem to be getting anywhere in figuring this out.

    Thanks in advance for any help!


  • @RichWP Long shot. Do you have the tool active when you send the M106 S255? Try sending T0 first, then the M106 S255.

  • @deckingman Thank you!!! That's it. I switched things around to look like this:

    ; Fans
    M950 F0 C"out7" Q500 ; create fan 0 on pin out7 and set its frequency
    M950 F1 C"out8" Q500 ; create fan 1 on pin out8 and set its frequency

    ; Tools
    M563 P0 D0 H1 S"Hot End" F0:1 ; 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

    T0 ; select tool 0
    M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off
    M106 P1 S0 H-1 ; set fan 1 value. Thermostatic control is turned off

    ...and it now works as expected (that is, both part cooling fans kick on when I send M106 Snnn).

    Thanks again!!! I was pulling my hair out on this one.

  • @RichWP I don't think you need to make the tool active in config.g by putting T0 in there (but it does no harm). Potentially, you could have multiple tools, each with their own fan assignments. For example tool 0 could use fans 0 and 1 (like you have) but a second tool (tool 1) could use say fans 2 and 3 for part cooling. So I would imagine that the firmware uses the default fan assignment (which would simply be fan 0) unless and until a tool is made active, at which point it will change the fan assignment to whatever is configured for that tool. So as long as you have a T0 command somewhere before the M106 then it'll work as expected. Usually your slicer will put such a command at the start of a gcode file, so it would have worked when you tried to print - just not when you tested.

  • @deckingman

    Good info... I really appreciate you taking the time to explain this to me. I've been using a Duet Wifi for years, but haven't dealt with the config/gcode since I originally set-up my corexy printer. I'm currently upgrading to a larger printer and a Duet 3, and am in the pleasure/pain phase of my development... Thanks for tipping things a little more to the 'pleasure' side of things! 😉

    BTW - I checked out some of your videos... Very impressive design and engineering sir!

Log in to reply