So, here's my idea, in a nutshell:
Use a micro controller reading the tach on the fan, then based on the current RPM adjusting a digital (8-bit) signal to a DAC, which in turn adjusts a voltage (up to 12V), which in turn goes into a voltage follower feeding a single-transistor current booster (to provide enough current to the fan, which the DAC won't do). The current booster feeds back to the voltage follower (ensuring the proper output voltage to the fan) and then the fan feeds back the new RPM to the microcontroller, closing the loop.
So basically:
Fan RPM signal -> Microcontroller -> DAC -> Current Booster -> Fan RPM signal
The idea is to use the reset button on my computer (which I don't use) to toggle between a few pre-set fan levels (low/med/high, maybe up to five levels) to control one or more of my (non-PWM) case fans. Total cost for parts looks to be around $10. I've got half the code for the MCU written already (yay for keeping old lab projects).
Good idea? Bad idea? What are the chances this will either set my entire computer on fire or generate more heat than my fan even dissipates?
I think it seems like a fun project in my spare time, and I have access to all the test equipment I need before I place it in the system.
Note: I am an electrical engineer, so I kinda sorta know what I'm doing. Just looking for second/third opinions.
Also, feel free to talk about any other crazy case mods you've attempted, and the triumph or disaster that ensued.
Posts
Just a few thoughts:
I'd consider using a PNP transistor as the main power transistor (it's easier to get closer to the rail than an NPN).
Instead of a DAC (unless you have one built into your micro), I might consider doing a PWM into a simple RC filter. You're going to buffer/amplify anyway, so why not use a low pass filter instead?