Converting a PWM-signal to a DC-signal for powering the fan on your aftermarket GPU-cooler

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.

This entry was posted in Uncategorized. Bookmark the permalink.

6 Responses to Converting a PWM-signal to a DC-signal for powering the fan on your aftermarket GPU-cooler

  1. Fatanga Boo says:

    crossposted from Reddit: You’re using an emitter follower to drive the fan. This limits the max voltage across the fan to 11.3V (Vsupply minus VBE), which means that you can’t run the fan at its full speed. I suggest you put the fan in the collector leg rather than the emitter leg and rearrange the feedback. BEWARE, it will be harder to stabilize because you’re adding lots more gain. (Emitter follower = gain of +1, common emitter amplifier with collector load = gain of minus A_Big_Number). One way to do it with NPN transistor is attached IMGUR. But a PNP transistor would let you connect the fan to ground which would be more conventional. This circuit applies essentially all of the supply voltage to the fan (it drops VCEsat across the transistor, this is about 0.05 volts).

  2. Pingback: Converting PWM to DC signaling for more precise fan control - Hack a Day

  3. Pingback: Converting PWM to DC signaling for more precise fan control | You've been blogged!

  4. Pingback: Converting PWM to DC signaling for more precise fan control | The Depot of Talk

  5. JamieWho says:

    Cool hack. I want to see a picture of the breadboard sitting inside of your case. :)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s