I'm making a project that requires a bunch of 12v pc fans to be controlled by an arduino (preferably an atmega328p @ 8MHz)
What's the best idea to move forward:
These are my ideas so far:
-
PWM a mosfet to modulate the fans
Problem: The pwm frequency causes the fans to make noise because the frequency is in the audible range. I could increase the frequency but at 8 Mhz the max frequency I can get is 15625Hz. I can't change timer0 becaus i need it for millis().
Running the atmega328 at 16mhz would output 31kHz. I suppose this would greatly reduce the efficiency of the mosfet? -
get a digital potentiometer and use it to control a buck converter like the xl4005 ones you can find on ebay. Basically replacing the on board potentiometer with a digital one.
Problem: I don't have any experience with digital pots. Can the internal resistor handle the possibly higher input voltage of 12v?