Fan not working as expected



  • I've got a weird behavior.

    I can turn the fan on using the command:
    m106 p1 s0 I1
    and turn it off by using:
    m106 p1 s0 I0

    And neither way, The value for the S parameter seems to be completely ignored.

    Can somebody please explain this?



  • I is to invert the signal. S is the pulse width.

    0 is "always off". Invert "always off" and you have "always on".



  • Ah, so I just inverts the value of S? so instead of ranging from 0 to 255 it ranges from 255 to 0?

    But I'm still wondering, why doesn't a change to S make any difference for me?



  • It inverts the electrical signal, not the number.

    If S0 I0 is zero volts on the pin, than S0 I1 will be (fan voltage) on the pin.

    s25 I0 is a square wave with (fan voltage) 25% of the time, and zero volts 75% of the time
    S25 I1 is a square wave with zero volts 25% of the time, and (fan voltage) 75% of the time .

    What does a fan do with various percentages of voltage? Depends on the fan. Do keep in mind that the Duet (and almost all controllers) have the fans red wire at fan voltage all the time, and they actually switch the fans black (ground) wire. So any thoughts we have about zero volts vs something else may very well be backwards.

    To summarize: S sets the "duty cycle". I inverts the electrical signal. Fans may react in ways you don't expect to various combinations of duty and inversion, and this can vary from fan to fan.



  • Thanks for your explanations. It turned out to be other issues.

    First of all, the fan I used for testing doesn't support PWM, I can get it running by tuning the F parameter, but overall I can't get it running consistently.

    Second, it turned out that I accidentally reversed the polarity of my other fans yikes. Luckily no damage.

    And at last I can highly recommend adding the H-1 parameter just to ensure it wasn't configured as a fan for a tool.


Log in to reply