DC-fan control



  • Hey there. I recently got the Duet maestro, and I'm loving it, but one thing I've found is that none of my new 24v fans, or 5v fans like being PWMed, one even refused to run unless it had power for at least half a second, the rest screams nicely at whatever PWM frequency supplied.

    Because of this, it could be really cool to have DC control of the fans. To that end, I've worked on a small board, and have ordered parts for it. It takes a bit of a different approach and regulates the current instead of the voltage. The circuit is designed by a friend of mine, linked on the github page. Initially, we were using PWM to voltage control and 50% pwm would be 50% of the boards VCC. We switched to current control to burn less power in the transistor, and because it was fun 🙂

    You're free to use anything from that repo 🙂 If you go back in the git-log, there's a completed design doing the voltage control.

    I'll update here once I know how well it works.



  • Did you try varying the frequency?



  • Yea from 5hz to 5khz, all very audible.



  • @duckle Try a bit higher, up to 30,000Hz



  • I'll give that a go when I get home. figured going 60x the default value was a bit overkill 😛



  • I have a pair of fans that won't spin at less than 10,000Hz, but they have a high pitched whine. At 30,000Hz the whine is gone and they PWM properly.


  • administrators

    A simpler way to convert the PWM to DC is to use an LC filter, comprising a 1mH or greater inductor (rated to carry at least the full fan current) and a 1uF capacitor. See this thread https://forum.duet3d.com/topic/6227/rc-low-pass-filter-for-blower-fan/35.



  • @dc42 This is, in fact, a Low-pass filter, a 2nd order one in fact (yeah not necessary) it's just buffered by an opamp, and the current is carried by a MOSFET 🙂

    A different option could be a low-pass with a series-pass transistor. that should be smaller than this board 🙂


Log in to reply