Hacker News new | ask | show | jobs
by Aurornis 842 days ago
PID control isn’t an easy solution in PC cooling.

CPU temperatures can swing from 40C to 90C and back in a matter of seconds as loads come and go. Modern fan control algorithms have delays and smoothing for this reason.

If you had a steady state load so stable that you could tune around it, setting a fan curve is rather easy and PID is overkill. For normal use where you’re going between idle with the occasional spike and back, trying to PID target a specific temperature doesn’t really give you anything useful and could introduce unnecessary delays in cooling if tuned incorrectly.

4 comments

I would be surprised that a PID controller can't adjust the control signal of the fan on the order of milliseconds/hundreds of microseconds. The mass of the fan would be the bigger issue.

Something that would help is multiple fans being adjusted by the same PID controller. It's not a problem if they're spinning too fast, but if you need more cooling the controller needs to increase air flow at the fastest rate which means turning up multiple fans.

Fans are annoying enough when at a steady speed, but a fan that is continually changing speed sounds extra irritating if it’s in the same room.

Some sort of smoothing plus a conservative base rate might be more tolerable.

> a conservative base rate

Do you use windows?

I find that with windows the fan is always spinning, even if at low speed. While with linux most of the times it is not spinning at all.

>Do you use windows

In a desktop the motherboard controls the fans unless you have an alternative like fan control installed, so not windows.

In a laptop it's either still the motherboard, or a specific chip used to manage the fans and other peripherals (ie for Dell/XPS it's locked out of bios control and you need to use Dell's special software to adjust it; Fuck You, Dell!), so still not Windows.

Well a basic windows install will keep the CPU more occupied than a basic linux install, when both are idle.

This reflects in the CPU being hotter, which reflects in the fan spinning more.

In windows my CPU fan is always spinning although silently in my experience but my case fans spin down.

ASUS motherboard Noctua fans if that makes a difference.

I’m on a Mac - and for the first time a computer I can’t hear (it’s a model with a fan).
Mac tend to run hot to be more silent.

I had to throttle my CPU in my macbook or it would shutdown for overheating while compiling.

I don't consider that a feature.

sounds like an intel mac
The problem is that you really don't want the fans to react that quickly. Fans make noise, and a changing noise is far more irritating than a constant buzz in the background.

You quickly stop hearing a fan constantly running at 50%, but a fan randomly switching between 10% and 100% gets on your nerves extremely quickly.

I think the thermal mass of typical desktop coolers is large enough that a smoothly tuned PID controller would fare well, without hindering performance or annoying the ueer.

I suppose the best way would be to try, but my current computers have no (or very unstable) interfaces for fan control.

Modern CPU coolers are basically heat pipes connected to a radiator.

They have very little thermal mass and if too much energy is in them the liquid all evaporates.

When the liquid evaporates their performance falls off a cliff.

Wouldn't the better solution be to rely on the heatsink temperature instead of on the chip/core temperature then? I mean in the end, the air from the fan is cooling the heat sink, not the chip directly.
Why would it be better? In the end, you would like your CPU to stay (at most) at, say, 40 degrees, not your heat sink — that thing can be at 35 if it needs to.
Heatsinks don't typically have thermocouples, is the problem.
but it isn't hard to add thermocouples to a heatsink? perhaps the reason for not doing this is because the improvement is not visible in standard benchmarks? it is not improving the overall performance, not reducing the peak noise, just make the transition smoother...
the CPU temp can do that, but your typical desktop air tower has a lot of thermal capacity. if it took 5 seconds for the fan to react, that wouldn't be a big issue.
Desktop case fans also have a fair bit of inertia. They take at least a second or two to ramp up to full speed, and longer to coast back down to their minimum speed.