Fan Speed Control

Here’s a simple little project we dashed off for a client – fan speed control. For their control cabinets, they needed a small vent fan to increase speed as the temperature rises, turning off completely at lower temperatures. Commercial controllers were available but were fancier and more expensive than was needed.

Our design consisted of a low-cost PIC microcontroller®, a thermistor, some switch FETs and a simple C program. A 5 volt regulator IC was included because their system needed to run on 24Vdc. Everything fit on a small circuit board which attached to the fan. (The system would work without the FETS. They were added to shield the microcontroller from possible surges on the fan and alarm outputs.)

Operation is simple. At a preset temperature, the fan turns on at 25% speed. At higher preset temperatures the speed increases to 50%, 75% and finally 100%. One more preset temperature – the overtemperature alarm point. If exceeded, an alarm output goes HI. The fan stays at 100%.

Block diagram of fan speed control based on temperature.

The block diagram shows the design: the listing outlines the program. The A/D (analog to digital) converter and pulse width modulator both are included in the microcontroller, which costs under $0.60 in modest quantities. Our client selected the fan.

Program flow chart - fan speed control based on temperature.

About the Fan

Our client selected a small 24Vdc powered cabinet fan, with internal circuitry controlled by a 5V pulse train input. The fan speed is proportional to the pulse duty cycle: off at 0% duty cycle (always low), 50% speed at 50% duty cycle and full speed at 100% duty cycle (always high). The recommended pulse frequency is 25 kHz.