7 ms·
It's surprising that there are no PC fan controllers that would use some variant of PID control with a temperature target. Traditional fan curves are simple, bu
by dvdkon 3y ago
It's surprising that there are no PC fan controllers that would use some variant of PID control with a temperature target. Traditional fan curves are simple, but the result isn't very intuitive.
And many desktop motherboards manage to screw up even the basic fan curve, offering users control of only two points within strict bounds, no piecewise linear curves or hysteresis settings.
I started a fan controller project some 4 years ago and it's now sadly in limbo, waiting for me to solve power filtering issues for the makeshift power supply it grew into. Maybe I should just limit myself to 4-pin fans...
- selcuka 3y ago> It's surprising that there are no PC fan controllers that would use some variant of PID control with a temperature target. They actually exist (such as ARCTIC F12 TC) but not very common. Separate controllers such as Adafruit EMC2101 are also available.
- 4gotunameagain 3y agoBoth EMC2101 and F12 TC work with a look up table, so a normal curve as opposed to a PID. You can verify that in the datasheet of EMC2101, and in the case of F12 TC in product descriptions (..The fan responses to the rise in temperature swiftly within a critical 6°C range, the rpm of the ARCTIC F Pro TC fan increases from around 500 to its maximum of 2,000 rpm (the steep curve in the chart).)
- Aurornis 3y agoPID 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.
- leetcrew 3y agothe 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.
- wtallis 3y agoDesktop 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.
- duped 3y agoI 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.
- lostlogin 3y agoFans 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.
- guappa 3y ago> 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.
- lostlogin 3y agoI’m on a Mac - and for the first time a computer I can’t hear (it’s a model with a fan).
- joshspankit 3y agoI’m more surprised there aren’t fan controller standards so the mobo or OS can tell the fan to ramp up with usage instead of relying on temperature probes.
- crote 3y agoThere are, you can override your fan speed from the OS. But that leads to issues with a control software crash potentially leaving your fans stuck in a low-speed state. There's pretty much a 1:1 link between CPU load and CPU temperature, so relying on temperature probes is good enough for almost all situations.
- joshspankit 3y ago> There are, you can override your fan speed from the OS. But that leads to issues with a control software crash potentially leaving your fans stuck in a low-speed state. That’s why I didn’t talk about user software and was focusing more on mobo (since it knows the current state of all usage and is not os-dependent) or low-level OS hooks which can have battle-tested processes to make sure that the fans are not left uncontrolled. I appreciate you bringing up the point though, it’s vital to make sure the chips don’t fry. > There's pretty much a 1:1 link between CPU load and CPU temperature Yes agreed, but there’s a lag time between the two
- semi 3y agoI don't think you can fry a modern chip, at least without really going out of your way to. But even if you just forced all of your fans to run at 0% (or physically removed them) I would expect the CPU to trigger PROCHOT and throttle it's performance, hard crashing if it has to.
- dvdkon 3y agoI don't know about any standards, just about software that tries to support as many proprietary interfaces as possible (and doesn't have support for plenty of hardware). Have I missed something?
- 3y ago
- crest 3y agoIIRC because tuning PID controllers for vastly different heating and cooling rates isn't that easy. A CPU can ramp up/down a lot quicker than the cooling system could or should even attempt to react. It's easy to end up with a oscillations the common temperature vs. speed curves (maybe with a hysteresis range) is already annoying enough to tune. Good luck having users come up with good PID terms for their individual combination of parts (CPU, thermal interface, mainboard, case, fans, pump, radiator, etc.).
- segmondy 3y agoI use this - https://www.amazon.com/dp/B07LBLWYZF https://www.amazon.com/dp/B07LBLWYZF
- Saris 3y agoYou don't really need PID, just a decent fan curve with https://github.com/Rem0o/FanControl.Releases https://github.com/Rem0o/FanControl.Releases