[SOLVED] Control fan speed by PSU watts load?

Robert_407

Reputable
Apr 13, 2017
7
0
4,510
Is it possible to control a "case fan" speed from a MB header by how much watts are currently loaded into the PSU? Asus FanXpert 4 only offers speed curves using various different temp readings in system. All google searches get crowded out by questions asking about fan watt draw (the fan itself) and not really "Can I control a fan speed curve base on current system watt usage?".
 
Solution
Simpler answer. Yes it can be done as is, under certain conditions. There exists certain psus, like the Corsair i series (RMi, HXi, AXi) that do in fact have fan and other 'smart' access via software. Using iCue / SpeedFan this can be setup to control the fan speeds by load % instead of temp.

But for the most part, why bother? Psus are a self regulating, self contained ecosystem that generally requires 0 user input for anything, especially considering load tolerances change second to second with anything other than solid workloads like Prime95 small fft, blender etc.

With a decent psu, it's a 'set it and forget it' affair.
Unless the PSU has some sort of feedback functionality, of which I've only seen on top-end 1000+W PSUs, no, you can't control the fan's via how much power the PSU is drawing. And even then, no software that I'm aware of uses power consumption as a means of fan control.

It'd also be kind of an unstable means of control considering that wattage can jump all over the place more rapidly than temperature.
 

carocuore

Respectable
Jan 24, 2021
392
95
1,840
Simple answer: no.

Complicated answer: yes but you're gonna need either a DC inline meter or one of those kill-a-watt mains meter wired to an arduino, bunch of caps, transistors and stuff, and the code of course, that'd be the $50 alternative to getting a $300 smart power supply with all the fancy stuff already onboard. If you're not into DIY modding that much then read the simple answer ^^
 

Karadjgne

Titan
Ambassador
Simpler answer. Yes it can be done as is, under certain conditions. There exists certain psus, like the Corsair i series (RMi, HXi, AXi) that do in fact have fan and other 'smart' access via software. Using iCue / SpeedFan this can be setup to control the fan speeds by load % instead of temp.

But for the most part, why bother? Psus are a self regulating, self contained ecosystem that generally requires 0 user input for anything, especially considering load tolerances change second to second with anything other than solid workloads like Prime95 small fft, blender etc.

With a decent psu, it's a 'set it and forget it' affair.
 
Solution
Yes, I had "case fan" in quotes for a reason
"case fan" insinuates that you want it for a "case" to help with overall system temperatures.

I replaced my Corsair SF450 PSU 92mm fan with a Noctura fan, and have the 4-pin connector directly attached to the MB. I wanted to set watt/fan curves that way
why did you want to replace it?
has the included fan died\malfunctioned, was the PSU reaching intolerable temps, or is just too loud?

if malfunctioned or overheating, just contact Corsair and get a replacement.
if too loud, use a lower decibel fan that uses the same internal PSU header that the Corsair did. if it is a 3\4-pin header, than just connect the Noctua there. the PSU will handle RPM vs temperature on it's own.
 

Karadjgne

Titan
Ambassador
Psus very rarely use 3pin or 4pin since there's no reason for any user influence. They are almost universally 2pin 12v, the thermal circuit increasing voltage according to temp. Doesn't require a sensor wire for rpm nor a pwm wire for % load changes. Only 'smart' psus would have any use for those as they are then readable by software.

The SF450 is quiet anyways, it's fanless operation to start with, only kicking in the fan if overheated.

The only time I've ever seen my SF600 Platinum kick on the fan is at post. Otherwise it doesn't get hot enough to require fan operation.

Thing is, temperature is easily measured, and is the sum of outputs from the entire psu tempered with environmental conditions. You are trying to use watts instead, but that's not easily measurable since loads are never the same. A 50%load on the entire psu is entirely different to a 50% load on the 12v rail, since you also have to take into consideration the minor rails use. If using higher minor rails because you are using many USB ports and storage, that's going to be different to when you aren't, even if 12v rail didn't change. And if the psu is sitting in a hot-box, load output will not effectively work since the load is the same, even to a psu sitting in a fridge. Temp would change the variable on the degree of fan rpm at specific loads.

I'd stop trying to reinvent the wheel. There's really no point or benefit in it or psu manufacturers would have already instituted that idea if it worked better or more effectively than just using temp as the basis, since temp is a major variable in its own right.
 
Last edited:

Paperdoc

Polypheme
Ambassador
You replaced the original fan in the PSU with a Noctua model that is of the 4-pin design. For future reference, you should have used a 3-pin type, becasue that is how the PSU will regulate its fan. But this 4-pin fan CAN be managed by the PSU anyway.

You did not know, apparently, that almost all PSU's do their OWN fan speed control because there is NO standard way to feed the PSU internal TEMPERATURE out to the mobo, and that is how fan speed if managed. The PSU has its own internal temp sensor and fan speed control based on that. So the real key is: where / how to connect wires from the new fan.

The new fan should be connected inside the PSU to the SAME place the old fan was. That will have only TWO connections: Ground and +VDC power. Often they are colour-coded as Black for Ground, Red for +VDC. If you still have your old fan around, examine its connector, then see if you can figure out how that was plugged into a pair of pins inside the PSU. If it was simply soldered into two spots on a board, you may have to do a bit of exploring. If you can find the spots or pins but to not know polarity, you may have to open the PSU case (as you did for the replacement operation) and do a possibly DANGEROUS operatiom with the unit turned on. This can be dangerous because you WILL have exposed components at 120 VAC, and you WILL charge up even low-voltage capacitors to dangerous levels, so you MUST not touch anything during this test!! PLUS, you MUST safely discharge any residual charges AFTER you shut it down!! The aim here is simply to use voltmeter probes on the two fan power points to identify which is Ground, and which is +. This may be difficult because a PSU normally will not come "on" without being connected to the mobo load.

With that info, we turn to the new fan's 4-hole female connector. It has two ridges running down one side. Three of its holes are between the ridges; the fourth hole is beyond, and that is Pin #4, the PWM signal line. Next to it just inside one ridge is Pin #3, the Speed signal line. You do NOT connect either of these to anything. At the other end of the connector, Pin #1 is the Ground line, and Pin #2 in the MIDDLE of the span between ridges is the +VDC line. These two are to be connected to the PSU's internal fan points. IF you have the old fan with a connector on its wires, the easiest way is to cut that connector INCLUDING a couple inches of wire from the old fan. Then snip off the connector on the new fan's wires. Splice the Ground and +VDC lines from the old connector onto the new wires from Pins 1 and 2, and tape them. For the other two wires from the new fans, cut each of them shorter, then tape up the ends of each individually. Lastly, tuck those two unused wires into a safe place where they won't get caught on something. As a final test, try to start up the PSU and verify that the new fan rotates in the correct direction.

By the way, for you in future and for others, IF the replacement fan you get is the older 3-pin design that was intended for an application like this, all 3-pin fans use a common wire colour code: Ground is Black, +VDC is Red, and the Speed line is Yellow.