- Joined
- May 6, 2019
- Messages
- 12,598
- Points
- 113
Valve has released a new version of SteamOS, and it's a relevant one for Steam Deck owners who have been bothered by the level of noise that the handheld can generate.
Go to post
Go to post
Yeah, about that...If you love differential equations there is seemingly no limit to how deep this rabbit hole can go.
We do PID loops all the time at work - big fans, variable speed pumps, etc
Tuning them is either an art form or some kind of voodoo black magic. They can be extraordinarily tricky at times. But once you get it - everything just gels.
The complicated ones have three different tuning parameters:
Proportional — adjust the control more or less based on how far away you are from the setpoint. This is the most common and easiest to tune, and this is all you need on simple controls
Integral - adjust the control even more or less based on how long you’ve been away from the setpoint. This helps control overshoot if you have slow to respond controls — like turning the fan up on a large water loop and it takes a bit for the end temps to finally react
Derivative - further adjust the control
even more based on the rate of change of your approach to the setpoint (I.e if proportionally your temp is higher than the set point, the control will have the fan speed turned up — but if the temp is dropping, derivative will counter act that to lower the setpoint a bit so that hopefully you slide right into the target temp without too much overshoot).
Once you start tweaking on all three it gets interesting. Usually I just use P until I get it with the smallest oscillations I can, and most of the time this is good enough. I adjust D until it counteracts — this usually will result in the controller stabilizing somewhere in the oscillation band but not quite at the target setpoint. If I need it to be more exact than that I adjust I so that it can nudge the control from that stable point to the correct set point.
Have not created the opportunity to use it for computer cooling. As you mentioned, there aren't exactly a lot of PID based controllers out there for computer applications, and most of the industrial ones I deal with would be fairly overkill for computer cooling purposes. Not that they couldn't do it - the controller is the same if you would be cooling a computer versus a 2,500hp generator or 600T freezer system... it's just that controller costs anywhere between $200-$10,000. When you're running equipment that costs into the millions, that's a drop in the bucket. When you're running a $25 Noctua fan, it's pricey, even on the low end.You certainly have more experience with them than I do.
While I have spent years in manufacturing, I have yet to encounter any PID based systems. My knowledge is more theoretical.
I'm curious, have you tried it for computer cooling?
Coming back to this - I'm thinking it'll be worth a shot.This technology has been used to control industrial process coolant loops forever. It's use in PC's has been more limited. The only application I am aware of is in Aquacomputer Aquaero devices, where you can create a fan curve, or you can instead select what they call a "Setpoint Controller". They have several presets, but you can also choose "User Defined" and input the PID values manually.
Coming back to this - I'm thinking it'll be worth a shot.
I've been wondering how to control... well, everything involved. Biggest challenge up to this point is actually reading memory temperature off DDR5 modules enough to drive a fan, as a lot of software simply cannot read it yet. Except HWINFO64, for whatever reason.