After replacing the stock cooler on my graphics card (Replaced the stock 9600GT cooler with a Arctic Cooling Accelero S1 rev.2), i quickly found out that it needed a fan under load, as it’d otherwise crash when the VRM’s reached upwards of 100 degrees. But without running a 3D game, there’s really no need to have a fan running. So, what we’re looking for is a semi-passive cooling solution, driven by the GPU temperature.
The speed of the standard fan was regulated by a PWM signal coming from a chip on the PCB. Unfortunately, i couldn’t get the duty cycle below 20% in software, which still keeps all PWM fans running. To get better fan control, a PWM-DC converter was needed.
This is the schematic. First, the PWM signal is compared against a the voltage produced by R3 and R4, enabling the first opamp to output a clean 0V – 12V block wave, basically a cleaned-up version of the original PWM signal. This signal goes through a low-pass filter formed by R2 and C1, converting the duty cycle to a corresponding voltage (10% = 1,2 volts, 50% = 6 volt et cetera). The exact values of these components are not really important, just be sure the time constant of the filter (resistance * capacity) isn’t too small or too big, we’re looking for a RC value in the 1mS-1S range. The second opamp then drives Q1 with the voltage needed to put the exact same voltage on the fan as is outputted by the low-pass filter – if the voltage on R1 is not yet as high as on the + input of the opamp, the voltage is raised on the base of the transistor, allowing for more current flow and a higher voltage on R1 until the voltages are equal.
This is what the finished product looks like and how it’s attached to the video card. I decided against making a PCB, as a $5 breadboard works just fine. You can see that there’s 3 NPN transistors in parallel for driving the fan, as i did not have ones at hand that could dissipate all the heat.
The exact temperature-voltage chart can be made in MSI afterburner or any other program that lets you change the fan speed of your GPU (e.g. Rivatuner). If you’re planning on making a PWM->DC converter for yourself, know that any single-supply opamp is suitable, the only thing to look out for is the voltage swing of the ouput: my lm2902 isn’t rail-to-rail, so i can only regulate the output from 0V to 12 – 1.5 = 10.5 volts, which is suboptimal, but more then adequate for my the lowly 95W TDP – I only chose it because it’s a quad opamp for $0,20 and i had one lying around.
The finished product works really well! When just browsing or listening to music, the fan does not turn on, and when playing videogames or other intensive 3D applications, the fan turns on until the GPU gets cool enough.