Hello! The basic idea is that if a power supply with a large power reserve, then there is no need for constant rotation of the fan (just like it was done in the CPU fan). Therefore, if it is reliable to monitor the temperature of the power supply unit elements, then you can stop the fan for a while. And gradually increase the fan speed.
I decided to make a fan speed regulator on Arduino nano based on ATMEGA168PA, out of different pieces of other people's projects I made my own.
Step 1: Making the Fan Speed Controller
I decided to make a fan speed regulator on Arduino nano based on ATMEGA168PA, out of different pieces of other people's projects I made my own. I was made a lots of tests, and everythig work well. But some coolers has been needed different values of PWM (in sketch).
Attention! Different power supplies have different design features, perhaps in some cases a constant blowing is necessary. Therefore, before making changes to the design of your PSU, realize that you understand the process, you have enough "even hands" and that the changes made will not have a negative impact on the operation of your PSU and associated equipment. It often happens that the BP pumps the air of the entire system unit. Any modification could damage your computer!
Since the resources of the controller allow, it was decided to make a three-color LED indicator as smart LED with various flashing and color depending on the temperature.
The temperature is measured by the sensor DS18B20, depending on the temperature, the fan speed increases or decreases. When the temperature reaches >67°C, an audible alarm is activated. Transistor - any NPN with current more than current of your fan. I also tried to control a three-wire fan, everything turned out, but could not make it stop completely.
Step 2: Testing
Here is a video demonstrating the operation of the device and installing process.
Initially, I used the default PWM frequency (448.28 Hz), but at low rpm the cooler emitted a barely noticeable ringing, which in no way matches the concept of silent cooling. Therefore, the programmable PWM frequency is raised to 25 kHz. At the lowest RPM, the fan can not start immediately, so the first two seconds it is pulsed with the maximum speed, further the revolutions according to the program.
P.S. This device is applicable not only in a computer PSU.
Step 3: Sketch
Here is the sketch, please do not kick it my first sketch for Arduino :)