1

I'm trying to reuse/salvage an old 12V DC car radiator fan for a non-car related project, and have found that it has a high load (actually seems to be somewhere around 200W, as it's a powerful fan). I want to reduce the speed of the fan because I don't need it to spin that fast for what I'm using it for. If I could reduce the current/speed variably using an Arduino, that would be ideal. Using my bench power supply, I found that being able to vary the power between 10W and 50W would be ideal.

I realized that I could use a high wattage aluminum shell power resistor or similar to reduce the current, but this will of course generate heat and waste energy which I'd like to avoid if possible (also, the speed wouldn't be variable).

I've experimented with using an IRLB8721 MOSFET for PWM, but the transistor gets very hot (and seems like I'd need to attach it to a heatsink). Since the MOSFET also generates heat, I'd like to find a cooler solution. My bench power supply can of course limit the volts and current, and it has a fan for heat dissipation, so whatever current limiting method that uses would not be ideal either.

Regular AC household fans usually have a button or other control to adjust the fan speed, so that's making me think there must be a way.

So, other than PWM, is there a way to reduce current/fan speed without creating heat and wasting energy?

If the answer is no, then I will either use the MOSFET with a heatsink, or use a different, lower wattage fan (but it'd be a shame if I couldn't put it to use).

Voltage Spike
  • 82,181
  • 41
  • 84
  • 220
Nick Bolton
  • 2,083
  • 10
  • 36
  • 2
    AC Household fans often accomplish multiple speed selection by changing the way the motor windings are interconnected. (See Dahlander pole changing motor.) This is not an option for DC. – Theodore Jun 30 '21 at 19:31
  • 3
    Is your Arduino PWM output 3.3V or 5V? Because if it is 3.3V, that is not enough for the FET to turn on enough to pass the 16A to fan. So change to a more suitable FET (or to an Arduino with 5V PWM output). – Justme Jun 30 '21 at 19:32
  • 4
    Show your circuit. You may be switching the MOSFET too slowly or not fully. – Transistor Jun 30 '21 at 19:36
  • @Justme Ah, it's an Uno so I guess that's 5V, but I was going to switch over to an NodeMCU which is 3.3V. What would a suitable FET be? – Nick Bolton Jun 30 '21 at 20:08
  • @Transistor I'll update my answer shortly with the code and a circuit. – Nick Bolton Jun 30 '21 at 20:09
  • 2
    Your IRLB8721 has a typical RdsOn of only 16mΩ with 4.5V gate drive. If it's getting noticeably warm then you're doing the PWM wrong somehow. Which side of the fan do you have the MOSFET - the high side or the low side? Or put another way, is the MOSFET switching the supply line or the ground line to the fan? – brhans Jun 30 '21 at 20:53
  • @brhans: if the fan consumes 200W at 12V, that's around 17A. That works out to 4 to 5 watts at the FET (assuming 4.5V gate drive). So if it's completely not heat-sunk, then it'll get quite hot. But PWM -- done right -- is a good approach for this (or just get a different fan). – TimWescott Jun 30 '21 at 21:29
  • lower the PWM frequency. on a fan like that, you could even just toggle the pin on/off in loop(). the FET get hot mostly when turning on or off, so by doing that less, you get less heat. With LEDs, that sucks because of flicker, but with a motor's inertia, it won't be noticeable. – dandavis Jun 30 '21 at 21:55
  • Ok, it seems maybe I was doing PWM wrong. I see the comments that MOSFET shouldn't get hot if PWM is done right. Only goes up to 40-ish deg. C if I connect the gate to 6V (same as the source). I'll see how many volts the Arduino is supplying... – Nick Bolton Jul 01 '21 at 12:51

5 Answers5

3

"So, other than PWM, is there a way to reduce current/fan speed without creating heat and wasting energy?"

Use a battery or power supply with maximum potential less than 12 volts.

PWM is not necessary in every case to reduce current. All PWM does is reduce the average voltage across the motor. Use 12 volt source with 50% PWM on average the motor is activated by 6 volt source. So one can reduce the current simply by reducing the source voltage. What will happen is that the starting/stall torque will be reduced and the motor will draw less current and produce less torque at any speed (12 volts more current/torque, 6 volts less current/torque at the same speed). So with a fan load on the shaft reducing voltage means lower current, torque, equilibrium speed of the fan load. The motor operating at lower voltage either from a DC source or average PWM source will not draw enough current, and make enough torque, to drive the mechanical friction and dissipation of the fan at higher rotating speeds.

SystemTheory
  • 831
  • 4
  • 9
3

The other answers are true, but they don't explain the dilemma...

If you don't want to do PWM, you need to reduce the voltage across the fan. (Note that it's not clear that this is a good idea, if you use this approach make sure to check the temperature of the fan motor.) In order to limit the current, you have to introduce an element in series to limit the voltage across the fan. This means that the remainder of the voltage will appear across the new element.

Since the new element is in series, it will also pass the same current as seen by the fan motor. With voltage and current across this element, it will have to dissipate power, and the usual mechanism is heat.

Therefore, anything you use (without PWM or something similar) will need to dissipate a certain amount of heat. If you go this route, you'll find out semiconductors are better at dissipating that heat than resistors, especially when properly heatsunk.

I'm not sure what your PWM setup looks like, but the motor is an inductive load, so you don't want to switch the current off abruptly. At a minimum, a flyback diode across the motor should be used so the inductor can pull current through the diode when the transistor is off. This might help with your overheating problem on that MOSFET.

I

  • It is not universally true that reducing the voltage is only done with dissipating energy somewhere else, however this is the simplest solution. (Look at an LM317 with variable resistor for example.) This solution is only as efficient as the amount of voltage you need. (Eff. = Vfan / Vin) A more sophisticated and efficient solution would be to use a DC/DC converter, as it “converts” the voltage with about 90-98% efficiency. – Ananas_hoi Jul 01 '21 at 07:22
  • No, PWM is not necessary to reduce current. All PWM does is reduce the average voltage across the motor. Use 12 volt source with 50% PWM on average the motor is activated by 6 volt source. So one can reduce the current simply by reducing the source voltage. What will happen is that the starting/stall torque will be reduced and the motor will draw less current and produce less torque at any speed (12 volts more current/torque, 6 volts less current/torque at the same speed). So with a fan load on the shaft reducing voltage means lower current, torque, equilibrium speed of the fan load. – SystemTheory Jul 01 '21 at 15:53
2

reduce the voltage of the the supply to the fan, try 3V.

1

There are a few ways to do variable control of power into a device, most of them either use a fixed voltage and switch it on and off (PWM), and the other way is to use a regulated voltage.

Voltage regulators like linear dropout regulators are often used which burn up power to regulate the voltage. Most devices now use SMPS (switched mode power supplies) which is more like PWM.

I don't think you can have it both ways, you either need to switch OR burn up power. However this doesn't mean you need to use PWM (which is full voltage or no voltage unless you have a filter), there are DC DC converters or variable SMPS that will give good results without having to use a switched PWM that is strictly 'on' or 'off'.

Voltage Spike
  • 82,181
  • 41
  • 84
  • 220
  • 1
    The most basic buck converter (SMPS) is about the same thing as PWM, however it’s got a huge capacitor at the output. So this capacitor is what they can add if they want to smooth the voltage – Ananas_hoi Jul 01 '21 at 07:25
1

Here is something to think about:

The power required to drive a fan is generally proportional to speed cubed. The speed of a DC motor is directly proportional to the applied voltage.

Assuming the fan require 200 W at 12 V, to reduce the power required to 50 W, 0.25 x 200, the speed would be the cube root of 0.25 or 0.63 x full speed. The required voltage would be 0.63 x 12 = 7.6V.

50W at 7.6V requires 50/7.6 = 6.6A.

To drop the voltage to 7.6V, you need a resistor that will drop 12 - 7.6 = 4.4V at 6.6A. The resistance needs to be 4.4/7.6 = 0.67 ohms. The resistor will dissipate 4.4 x 6.6 = 29 watts.

The total power used will be 50 watts for the fan plus 29 watts for the resistor = 79 watts. More than a third of the power is dissipated in the resistor, but you are using a lot less than the 200 watts full-speed power of the fan.

The air flow is approximately proportional to speed squared. Air flow at 0.63 x rated speed is about 40% of full speed air flow.