PWM fan controll problems under 95% duty cycle

Thread Starter

mcgyvr

Joined Oct 15, 2009
5,394
Trying to control a 12VDC fan via PWM (via Arduino micro). PWM output to a 1K resistor feeding base of NTE 375 transistor. 12VDC to red fan lead, black fan lead to collector, emitter to ground (diode backwards across fan) .
Fan runs fine at 95 to 100% duty cycle, but anything less and the fan stalls and seems like it wants to start but doesn't (sort of just wobbles but doesn't spin). You can just hear it buzzing. Any ideas?

This is the fan
http://www.newark.com/sunon/kde1204pkvx-ms-af-gn/axial-fan/dp/89K1822
 

SgtWookie

Joined Jul 17, 2007
22,230
Your fan is very likely a BLDC (brushless DC) motor. It uses a Hall-effect sensor to switch which coil is conducting. If you apply straight PWM to the motor, it'll get confused.

You'll need to use a cap across the motor, and a separate inductor (100uH or larger) to your transistor's collector.
You'll also need a diode across your transistor, or the reverse-EMF may kill it.
You'll need to PWM it at around 100kHz.
 

SgtWookie

Joined Jul 17, 2007
22,230
That's not going to work. How are you going to get Vgs to 10v?
(Vgs = voltage on the gate using the source terminal as the reference)
What IS your PWM frequency?
 

Thread Starter

mcgyvr

Joined Oct 15, 2009
5,394

ifixit

Joined Nov 20, 2008
652
Some fan/motor designs are not intended to be forced to vary there speed.

Use a simple brushed DC motor then keep in mind that when choosing the PWM frequency you need to consider the motors inductance. I.E. the "on" time needs to be long enough to allow the magnetic field to build up, otherwise you wont get much torque.

Regards,
Ifixit
 

SgtWookie

Joined Jul 17, 2007
22,230
Sorry, but I don't know what kind of PWM frequencies you can get out of an Arduino; I've never looked at datasheets or program compilers for them. I'll bet that you can find it if you look, though.

Like IFixit says, a brushed motor would be a lot easier to control with low-speed PWM. DC fans have been brushless for quite a while now; the old-style brushed fans would fail quite frequently due to the brushes wearing out.
 

Thread Starter

mcgyvr

Joined Oct 15, 2009
5,394
Looking for the correct/default PWM frequency now. Would love to have a solution for the fans I already have.
 

Thread Starter

mcgyvr

Joined Oct 15, 2009
5,394
Default PWM frequency is 490 Hz.
I was suggested to try lowering it to be anywhere in the 20 to 160 Hz range and also to try increasing it "as high as possible". I will try playing with the freq when I get home but am still interested in other solutions.
 

Thread Starter

mcgyvr

Joined Oct 15, 2009
5,394
Do you think lowering the freq into the 20 to 160 Hz range will help/solve the issue?
I'm starting to think a different fan might be a better solution (4 wire with PWM control maybe..)
 

Thread Starter

mcgyvr

Joined Oct 15, 2009
5,394
any other ideas for running these fans or should I just ditch them and go with a 4 wire fan? I'm not really liking the idea of adding a large inductor or any inductor for that matter.

What about this circuit I found..
 

Attachments

Thread Starter

mcgyvr

Joined Oct 15, 2009
5,394
Here is a description of the circuit above
"This circuit is an essentially an inverting amplifier with high output-current capability. This circuit converts the PWM output of IC1 to a DC power supply for the cooling fan. This circuit operates from 12V, IC1 operates at 3.3V and the power-supply voltage for full-speed operation of the fan is 12 V. R3, R2, and R1 provide feedback around the amplifier and voltage gain between the PWM output and fan. Q2′s drain is driven to to assume the corresponding voltage, to accommodate the gain. An effective DC output voltage is produced by capacitors C3 and C1 by filtering the PWM waveform. It produces a small amount of ripple, but it is inaudible and acceptable."
Might that work with my brushless fan??
 

SgtWookie

Joined Jul 17, 2007
22,230
That'll probably work, but the MOSFET will dissipate a good bit of power (ie: get hot) as it is being used as a linear regulator rather than a switching supply. Make certain to use a big heat sink on your MOSFET.
 

Thread Starter

mcgyvr

Joined Oct 15, 2009
5,394
Thanks for all your help Sgt..
If you are bored sometime :) ;) I'd love to see what you come up with as a good solution to this problem.
 

Thread Starter

mcgyvr

Joined Oct 15, 2009
5,394
I'm gonna just use this "digitally selectable LM317" to vary the voltage to the fan. http://forum.allaboutcircuits.com/showthread.php?t=11792
I've got plenty of digital outs left on the Arduino and really only need 3 or so speeds on my fan. I think this is the best solution for now anyways and simple to implement with parts I already have. Only 2 digital outs should allow 3 fan speeds (different voltages). I'm going to set it up as follows or similar..(dig1=low, dig2=low Vout = 12vdc) (dig1=high, dig2=low Vout=8vdc) (dig1=high dig2=high vout=6vdc)
 
Top