FanControl.Releases
FanControl.Releases copied to clipboard
Fan cuves based on flow rate
Would be cool if we could define fan curves based on flow rate.
I like to run my pump pretty slow, which currently is 55% at idle. But starting from cold it takes more like 70% to move the fluid fast enough for my high flow NEXT to detect any flow, probably because of higher coolant viscosity due to lower temperature. Once temperatures are settled I could reduce pump speed to around 40% without sacrificing temperatures, which would make the pump inaudible.
I've tried Argus Monitor and Q-Fan Control but both won't allow me to use Flow Rate as a curve source.
What you are describing is a feedback loop, something like a PID controller, to increase the pump speed until a specific flow rate is achieved. FanControl is not tooled for that. Also, I don't think it can detect any flow rate sensor.
LibreHardwareMonitor detects the sensor, although the values are off by a factor of 100.

To better illustrate my problem: Pump needs to run at
- 70% at <25 degrees (very noticable in a silent room)
- 50% at 26 degrees (noticable)
- 45% at 26.5 degrees (unnoticable)
- 40% at 27 degrees (inaudible and at idle equilibrium)
to yield a flow rate of >20 L/m. Below 20 L/m the sensor doesn't detect flow and trips an alarm. That's a huge difference in pump speed and noise levels.
As a compromise I currently have my pump running at 55% speed and ignore the beeping until the coolant warms up.
If I could define a curve with a target flow rate of lets say 30 L/m and have the PWM signal adjusted to match that flow rate, wouldn't that be all I need? Then combine this with a curve based on coolant temperature, to increase pump speed under heavy loads (>30 degrees coolant tmeperature) and use the MAX value of both in a mixed curve and I would have a essentailly a minimum flow rate curve.
No alarms tripped, silent below 30 degrees, but ramp up pump speed to keep the coolant below 35 degrees.
Thinking about it I could probably hack something together with an inversed fan curve based on coolant temperature, but that seems kinda hacky and not as reliable as directly adjusting pump speed based on flow rate.
Could possibly be done as a sensor plugin. Take the flow rate input, transform the value using a linear scaling function to a range of 0-100, and present it to FanControl as a temperature sensor. Then within FanControl you can use the sensor as input for whatever curve magic you need done. A little convoluted, and not immediately obvious what the flow rate is from within FanControl though...
Why can't we have a PID controller?
If we can't have one, can we have a plugin or the source code so we can write one ourselves?
@rollsch try the "Auto" fan curve.