Converting PWM To DC Signaling For More Precise Fan Control


[hedgehoginventions] wrote in to share a little modification he made to his video card in order to keep it from overheating during strenuous 3D tasks. Having swapped out the stock cooler on his Nvidia 9600GT graphics card, he found that it did not need to utilize the fan while doing mundane things like checking email, but that it still required extra air flow while playing games.

He figured he get the fan to shut off by tweaking the PWM signal, but he found that he could not get the duty cycle under 20% using software, which still caused the fan to run at all times. The circuit he built takes the PWM signal output by the card, cleaning it up before converting it to a corresponding DC voltage. The fan then runs at the same speed it would if driven directly by the PWM signal, though it can now turn off completely when not required.

It’s a nice way to do automatic fan control when you can’t otherwise get your GPU fan to shut off. Nice work!

24 thoughts on “Converting PWM To DC Signaling For More Precise Fan Control

  1. Dont see how not being able to shut off the power to the fan is a negative. I get doing it for the sake of doing it… But having the fan run at 20% doesn’t consume much power, and it does keep the processor’s cool, which speeds up all processes including the most mundane.. Like checking email…

    1. I’m not sure you read the whole thing. This is for his GPU, not CPU. Day to day tasks are not that hard on GPUs, hence the usage of weak onboard video for business laptops.

      Your processor will only slow down if it starts to overheat, at which point this fan would kick in since it is using the original PWM signal.

      He could be doing it for sound I suppose though I imagine it gets more annoying to have the fan spin up and down as he does stuff. Or, I could be overly sensitive to things like that.

  2. #1) wow, i never thought about doing it that way, ive thought about it… Very interesting.

    #2) want a HUGE transistor? check the HOT or REG transistor of a tubeTV, tubeMonitor, or the switching transistor(s) of a SMPSs. Those should handle 1A or more but you might need 1 of ur existing transistors as a preamp.

    #3) PERSONALLY id rather know RIGHT AWAY when my fan fails to run… instead of a day later when the GPU…

    …but you could always add a “BAD-FAN” LED.

    I think we ALL love LEDs here dont we? :D

    1. A few things.

      Yes, the HOT in tv’s are massive, but they are designed for very high voltage instead of high current. You are right with requiring a pre amp though.

      The GPU would not fail in a graphic card if you disable the fan, at least I never tried it myself. The GPU would just shut down immediately when it reaches the Tj, which is usually 110C or so.

    2. A 9600 gt? Why would someone try to do anything graphic intensive on such a old low power card? What “strenuous” tasks can you do on a 9600 gt?

      Nice hack for it though, and I am also a proud owner of the Accelero S1 for my 8800gt. Other 8800gt uses the stock cooler because the S1 can’t be used in SLI with these cards. (The sli connector can’t go through the S1)

      1. Sorry trying to reply your comment i accidentally reported it.

        I have a 8400gs and it’s all I have, for now i can’t afford anything better. In my case, playing Stalker SoC at 800×600 may be graphics intensive for my videocard.

    1. Please elaborate.

      I see no mechanism for a simple RC circuit to equate “20%” with being “off,” but I’m open to suggestions.

      I myself have an SLI pair of 9800GTs which are both noisier and warmer than I’d like, and would love to entertain different ways to optimize any potential modification.

  3. There is a difference between running a fan on PWM and filtered DC.

    With the PWM, the motor does short high torque pulses as if it was running at full voltage. With DC it gets low torque all the time, and the speed control is non-linear because the motor responds differently to varying voltage, and starting the motor has a hysteresis where you have to apply a higher voltage to get it turning.

    The effect is that the fan doesn’t run reliably at low speeds anymore. At the lowest speeds it may randomly stop and not start again until the controller senses that the chip starts to overheat and raises the voltage considerably.

    The disadvantage of PWM is that it makes the motor buzz, and the sound easily travels in materials. However, every time I’ve used a linear regulator to run fans at low speeds, they eventually just stop, which is not good at all.

  4. A 9600 gt? Why would someone try to do anything graphic intensive on such a old low power card? What “strenuous” tasks can you do on a 9600 gt?

    Nice hack for it though, and I am also a proud owner of the Accelero S1 for my 8800gt. Other 8800gt uses the stock cooler because the S1 can’t be used in SLI with these cards. (The sli connector can’t go through the S1)

    1. Why not a 9600GT? It’s a few years old — so what? I only recently replaced the 8600GT in my wife’s gaming rig, and she’s far more hardcore than I’ll ever be.

      He’s got what he’s got (you play the cards you’re dealt, etc), and this combination of cooler+mods will transfer easily to other cards in the future if he’s careful in selecting them.

      Is your newfangled GTX-whatever too loud at idle when it needn’t be making any noise at all? This hack fixes that.

      Alternatively: It fixes the “crashes under load with passive aftermarket cooler” problem, which is just the same thing (spelled rather differently).

      Open your mind a bit.

  5. Running a fan below rated voltage will destroy the fan over time, eventually it won’t even turn on if you run it at the rated voltage.

    I am not sure how much of a noise savings could by gotten by reducing the speed form 20% to 0%, but if it was really that important, then he should have done it correctly…with PWM. This could be done easily using a TLC555 or an ATTiny45.

  6. i made some simple temperature sensors set with a pot for my case fans couldnt the same idea be used here granted it doesnt have different speeds but its darn simple (transistor, temp sensor, and a small potentiometer) and its reliable just use one to set the lower threshold and use another transistor and pot to turn it on high speed….

  7. btw my thoughts on this would be use the low limit to allow the pmw pulses to go through and when the high limit kicks in to cut off the pwm signal and apply straight 5 or 12 volts to the fan but as its his hack and if it works dont fix it… thanks for the info i always enjoy seeing others take on solving a problem

  8. There are a few large flaws in this design. As has already been been stated, running these types of fans at a lower voltage than rated is not optimal. They are designed with PWM drive, or constant rated voltage, in mind.

    My largest issue, however, is that it is noted that the fan now turns off. There are no provisions in the presented circuit for on/off control. If the fan turns off at 20% duty cycle, it is only because the voltage is too low to spin the fan. This is nothing more than a waste of power and fan life.

  9. The problem with this circuit is that it cannot output the whole 12V, as the opamp is limited to VCC-1.5V and there is the Vbe of the transistor limiting the max output to about 10V. This could cause problems with overheating at heavy use.

    As others have pointed, my choice would be to use a small micro to measure the original PWM and output a different one such that the fan starts at a higher level.
    Also, personal experience has shown that you need a higher duty cycle/voltage to start the fan than to keep it running and the graphics card might take care of this, applying high pwm at start time and then reducing to low 20%. with the circuit here you might be able to start the fan when things are already too hot.

    1. Did you read the article? He talks about how the 10.5V is not ideal, but acceptable (for him).

      The point of the whole hack is only run the fan when the card gets hot. He doesn’t slow it down when it cools off a little, he runs the fan until the thing is cool (under around 50C). Also, he doesn’t turn the fan on unless the card gets really hot. That was the whole point of adding a large aftermarket cooler to his video card. Unfortunately, the cooler can’t keep up when playing 3D games, so the fan is there to help out, at full speed (or almost).

      Great hack, but I want to see a picture of his breadboard sitting inside of his desktop. :)

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.