Varying the speed of non-PWM 12v 7amp fans

Hello, I have 4 SPAL fans (30100365 / VA09-AP8/C-27S 12V) that I use to cool my radiator. They are not PWM rather they just have a +12 and a ground.

What I would like is to control these fans with an arduino based on temperature but I am unsure exactly how to do this. I am a C++ dev by trade to so the code is not the problem but rather how can I vary the speed of this fan? Resistors? If so what wattage/resistance would I need? Is there a better way? I would like 'infinitely variable' but would be ok with a low/med/high.

Attached is the spec of the fan from the manufacture. They pull about ~7amps of current at 13v (right now they are controlled with 12v relays mechanical relays that come on with the ignition
11InchSpalFan.pdf (758.1 KB)

Thanks in advance for any help you can give.

Yes, three speeds could be obtained by using resistors and shorting the out with a relay which can be controlled by an Arduino. Are you contemplating all four fans being connected in parallel and using two resistors to slow their speed?

Right now I have one relay per fan but they are 30 amp relays so I think they will easily handle 2 fans in parallel.

Is there any better way? How do I know what size (ohms and wattage) to make the relay run at say 25%, 50% and 75%?

PWM works on most DC motors.

A MOSFET driver should work. just make sure the the MOSFET can handle the current (with some safety margin) and the MOSFET will probably need a heatsink (especially in a hot environment).

Slow speed can be tricky without feedback because the fan may not start. That's true with resistors or PWM. Sometimes you can start fast and slow it down to the desired speed...

If you know the current rating you can calculate the resistance of the motor using Ohm's Law. Then you can make a Voltage Divider.

Power (wattage) can be calculated as Current squared X Resistance, or Voltage squared / Resistance, or Current x Voltage. Be sure to re-calculate the (lower) current with the resistor and motor together but you only need to calculate the power dissipation for the resistor.

You'll have to get some power resistors and experiment. 50% voltage won't necessarily be 50% speed... It will probably be less because when you cut voltage in half you also cut current in half and that's 1/4 the power. And speed isn't necessarily proportional to power either.

Measure the resistance of one fan. If you get a resistor equal to that resistance, and wattage to equal The total current that will go through the sum of the resistances, motor + resistor times 12 volts will give you the wattage.

Only you can decide how many fans you want to run at one time.

Air fans are non-linear for power vs air flow. So design based on air flow, NOT fan speed.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.