Electronic Variable fan speed controller (design help)

Evening gents,

I am somewhat of a novice with electronics, but nonetheless am working on a temp. controlled computer fan but I've run into some trouble and need some help!

My basic layout is a thermistor implemented as a voltage divider (with a resistor of course) which feeds into an amp (op-amp). Then that signal goes into a primitive ADC that I made out of 5 comparators for increments of 10 degrees celcius (matched different reference voltages with thermistor divider according to factory specs). The next step is where I'm having trouble.

So now I basically have 5 bits (TTL at 5V), and I want to have different fan speeds for each bit on (I have tested this part of the circuit and everything is good). So when the first bit is a 1, I want the fan to start but be low speed, and when the second bit lights up I want the fan to increase in speed a little bit. This continues till I am at a full +15 volts across the fan for about 2W of power.

Could someone suggest a way to implement this. I am thinking about using CMOS switches all leading into the fan lead. Or maybe just power mosfets or BJTs?

Or perhaps a DAC? (I would homemake that as well for my specs)

Could you just use an amplifier and not any digital electronics?
A class A amplifier would only dissipate a maximum of 1 watt under any condition.
Maximum wattage dissipated=maximum power/2=2/2=1 watt.

gregxy
The simplest way would be to use 5 different size resistors in parallel for each "step",
each resistor in series with a MOSFET "switch" driven from your digital output.
So you would need 5 "logic level input" N channel fets rated at Vds=20V and Id
~2A and 5 resistors. You would need to experiment to find the best sizes for the resistors.

A more power efficient way would be with a PWM setup, but that would be
quite a bit of work (and best done with a microcontroller).

berkeman
Mentor
Evening gents,

I am somewhat of a novice with electronics, but nonetheless am working on a temp. controlled computer fan but I've run into some trouble and need some help!

My basic layout is a thermistor implemented as a voltage divider (with a resistor of course) which feeds into an amp (op-amp). Then that signal goes into a primitive ADC that I made out of 5 comparators for increments of 10 degrees celcius (matched different reference voltages with thermistor divider according to factory specs). The next step is where I'm having trouble.

So now I basically have 5 bits (TTL at 5V), and I want to have different fan speeds for each bit on (I have tested this part of the circuit and everything is good). So when the first bit is a 1, I want the fan to start but be low speed, and when the second bit lights up I want the fan to increase in speed a little bit. This continues till I am at a full +15 volts across the fan for about 2W of power.

Could someone suggest a way to implement this. I am thinking about using CMOS switches all leading into the fan lead. Or maybe just power mosfets or BJTs?

To vary the speed of the motor, you need to use PWM at the full rated voltage. Motors do not generally run well if they are not given their full rated voltage.

It would be pretty easy for you to make a PWM signal based on the 5 bits that you have. Set up a basic clock circuit that has 5 clocks per PWM period, and use your 5 bits to control how wide the drive signal is in each PWM period. With one bit on, you get a 1/5 duty cycle at 15V, with all bits on, you get a continuous 15V to the fan motor.

One problem I see with what you're considering is that fans do not operate very well at low voltages. Thus at the lowest voltage you may not have enough torque to overcome breakaway torque.

May I suggest a better and simpler approach. Take the voltage produced by the thermistor and use an opamp so that you get a range of approximately 1 to Vcc -1 volts over the whole temperature range. Then use the voltage out of the opamp to control a Pulse Width Modulator to drive the fan. You can amplify the output of the PWM with a transistor if you need to. The pulses will drive the fan reliably even at low pulse widths because the fan will have more torque at low speeds.

Attached is a simple circuit which I have not optimized. The temperature voltage from the opamp would be connected in place of V2 and should have a range of about 1V to Vcc-1V.

Attachments

• PWM.jpg
90.4 KB · Views: 405
Pulse width modulation it is! I'm going to read up on it a little more before I implement, but I really like the responses. Quick question, how do the five bits make their way into the modulator control?

berkeman
Mentor
Pulse width modulation it is! I'm going to read up on it a little more before I implement, but I really like the responses. Quick question, how do the five bits make their way into the modulator control?

That is a quiz question for you! See if you can think of some ways, based on the hints so far.

I see, again, thanks for the responses.

Google "national semiconductor temperature sensor variable speed motor".
You will get lots of hits. One that you might be interested in is www.national.com/an/AN/AN-1262.pdf [Broken]

Last edited by a moderator: