3 ms·
My personal exposure to the PID algorithm was my GPU fan. There is supposed to be some sort of internal fan curve to control it's speed but mine was not working
by somat 4mo ago
My personal exposure to the PID algorithm was my GPU fan. There is supposed to be some sort of internal fan curve to control it's speed but mine was not working, crashes everywhere. I Could still set the speed by hand. and while I was putting together a sort of hacky user space fan curve I had an epiphany. I Don't actually want a fan curve. I want to set an ideal temperature and have the computer figure out what fan speed is needed to maintain it. So I learned more about control logic than I was really prepared for and my user space fan speed script has a cute little PID controller to do just that. (technically for fan thermals you really only need a PD controller. No anticipatory preload needed. but who's counting)
I do sort of suspect a fan thermal control curve is a PID response curve written out in long hand but don't really have the math to prove it.
- sz4kerto 4mo ago> I do sort of suspect a fan thermal control curve is a PID response curve written out in long hand but don't really have the math to prove it. No, a fan response curve is kinda-sorta a P controller. It does not take into account 1) how quickly the temperature is rising or dropping (D) 2) the time passed since the system has drifted from the target temp (I).
- NooneAtAll3 4mo agowhy not just set maximum speed and forget about it?
- cadamsdotcom 4mo agoThere are two types of nerd - one who optimized fan speeds and one who just lets ‘er rip for max compute ;)
- crote 4mo agoFan noise. My computer sits next to my desk, so I want it to be as quiet as possible. This means the fan should run as the lowest speed which maintains a reasonable temperature, so at the very least there should be some kind of mapping between temperature and fan speed. However, a rapidly-changing fan speed results in a more annoying sound than a slightly faster fan, and chip temperatures can ramp fast, so a simple linear mapping between temperature and fan speed isn't enough. To get a quiet fan in an environment where you are, say, loading the CPU to 100% for 100ms every second, the fan controller should be able to average out the heat production and let the fan run at a steady speed. After all, the cooler is a big chunk of metal, so its temperature will never ramp as fast as the core itself, so a rapid fan speed response is pointless.
- RetroTechie 4mo agoThat might have been easier solved with eg. an adjustable voltage regulator (like good 'ol LM317?) with a temperature sensor in the feedback circuit. No futzing with software needed. Reminds me of Dave "EEVblog" Jones' in his "always give negative feedback" T-shirt. (for those who don't know: it's a reference to opamps)