• 18.04.2024, 17:07
  • Registrieren
  • Anmelden
  • Sie sind nicht angemeldet.

 

Lieber Besucher, herzlich willkommen bei: Aqua Computer Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

Any way to use multiple Inputs to control one fan?

Samstag, 1. Februar 2014, 20:14

Hi;

I was wondering if it is possible to use multiple sensor inputs to control a single fan in Aquasuit.

For example, I'm currently using the FAN-4 output on my Aquaero 5 to control the Rear Case Fan speed. I have set up a Curve Controller using the GPU Diode temp. (imported from Aida64) as the input sensor for it, and this is working o.k.

But, I thought it would be nice if I could set up other sensor inputs to also be used. I would like the fan to also ramp up if the Motherboard "North Bridge" or CPU gets too hot as well.

This makes sense to me because the Case fan exhaust would affect the temperature of multiple things inside the case. As it is with the current configuration, if the CPU gets hot, but the GPU stays cool, the Case exhaust Fan won't ramp up even though the CPU temp would be helped if it did.

I picked the GPU temp. as the sensor input since the GPU (GTX 780) is the hottest (and fastest heating) thing I have in my computer and it needs the extra fan speed to keep from going into thermal limiting.

I was envisioning having multiple 'Curve Controllers" setup, but the actual Fan speed would be the result of the highest controller output requested..

So, for example, if the Motherboard and CPU were cool, but the GPU was hot, the fan would ramp up according to the GPU controller. If the CPU got too hot, the Fan would ramp up even though the GPU might still be cool, etc.

I couldn't find a way to do this currently (so I'm not too optimistic), but I was wondering if there's a way to do this that I just didn't figure out.

Thanks;

Samstag, 1. Februar 2014, 20:27

You need to look at the Virtual Sensors, and see if you can collect the inputs from the various sensors and use the highest on to output a value. Then use that value as the source for the Controller curve.

RodeoGeorge

Samstag, 1. Februar 2014, 23:42

You need to look at the Virtual Sensors, and see if you can collect the inputs from the various sensors and use the highest on to output a value. Then use that value as the source for the Controller curve.

RodeoGeorge
Thanks! This isn't fully what I was looking for (since the sensors may not have the same 'working range'), but it's a lot closer to what I wanted.

If there was a way to scale the component values, it would be even better. For example, if I wanted to use GPU temp (say 30-80C) and also Motherboard temp (say 30-50C), some type of massaging would seem be needed to scale the 30-50 to work better with the 30-80 range if I'm using the 'highest' result.

Thanks again.

Sonntag, 2. Februar 2014, 01:13

Unfortunately my system is currently torn apart for a rework to water cooling, so I cannot investigate any scaling options.

If I remember correctly, you can choose the maximum value for each input to trigger an output on the Virtual Sensors.

RodeoGeorge

Sonntag, 2. Februar 2014, 17:34

Unfortunately my system is currently torn apart for a rework to water cooling, so I cannot investigate any scaling options.

If I remember correctly, you can choose the maximum value for each input to trigger an output on the Virtual Sensors.

RodeoGeorge
So far I didn't find anything that would allow full scaling between multiple sensors with different range.

The best I thought of would be to reduce the overall control range to the same number of degrees as in the shortest component range,
and use an offset to make them compatible.

So, if the goal was to merge a 30-50 C motherboard temp. range with a 30-80C GPU temp. range (using a virtual sensor
to merge them):

A) Reduce the target range to 30-50 C MB and 60-80 C GPU (since only 20 C degrees in the shortest range).

B) Create a New Software sensor for the MB range to use as the input to a virtual sensor (calling it, say, 'Offset-MB'). Then set an offset of
+ 30C in the software sensor so that the low MB temp coincides with the low GPU temp (30 + 30 = 60 C).

I know that the offset limit seems to be only +/- 10 C degrees, but bear with me for the sake of argument.

C) Set up a Virtual sensor using the GPU temp. and Modified MB 'Offset-MB' as inputs. Use 'Highest' output method.

D) Feed this Virtual sensor output to the Curve Controller set for 60-80 C. This would result in the Fan following the higher of the results for
a MB 30-50 C (seen by the controller as 60-80) or the GPU 60-80 C ramp.

Even this only really works if the needed offset is 10 degrees or less because of the current offset limitation, and you don't get the full
range you might like when the inherent ranges differ.

I thought maybe the offset range could be extended if you could cascade sensors (adding another offset each time), but it doesn't appear that
you can do this, at least not with sensors of the same type.

That is, you can't use the output of a software sensor as input to another software sensor. And you can't seem to use
the output of a Virtual sensor as input to a different virtual sensor.

For the moment I set up a virtual sensor using the Software GPU temp, and the sensor from my North Bridge (without any
offset) as inputs for a 'Highest' output. The NB temp runs roughly in the range of 50-67 C, so it's not so far away from the
GPU temp as the MB range is.

I set the Curve Controller to ramp from 40 - 79 using the virtual sensor as input, and this works reasonably well (The GPU
self throttles at 80 C GPU temp.). But, it doesn't take into account either the CPU or MB temps that I might have liked
to also include. And, it doesn't give full output at the max. North Bridge Temp.

At least so far, it seems to me that scaling a sensor to match a sensor with a different range (to completely simulate
what I was hoping for) would require the ability to have an offset applied to the base sensor value, followed by a
multiplication factor, and then a post offset value as well.

That seems a bit messy even if it were possible.

Sonntag, 2. Februar 2014, 18:26

Just for fun, here's the messy algebra I came up with for one way to achieve my goal (which would still require capability not present today).

My ideal was to have a way to have multiple sensors drive a single output/fan. Each sensor would have it's own Curve controlled range, and the actual Fan speed would be the 'highest' controller output of all the input sensors Controllers outputs. That way, whatever was getting hottest (for it's range) would be the one 'in charge' of controlling the resource that could cool them all. (Assuming the output ranges are the same or at least compatible).

Since that's not possible, what would it take to implement something similar using a virtual sensor (using the 'highest' output from several input sensors) fed to one Curve controller?

That seems to work as-is with the current software when the ranges for the sensors are all the same (same start and end points). If the ranges are not the same, then some sort of scaling would seem to be needed.

So, I wondered hypothetically how hard would it be to scale the sensor values so that they end up producing the same output range (to be fed as input to a Virtual sensor)?

Taking the case of two sensors '1' and '2'.

L1, H1 = The range of Sensor 1 we want to track over (Say 30 low and 50 High temp. for this example).
L2, H2 = The range of Sensor 2 that we want to track over (Say 30 - 80 for this example).

Fact = Multiplication factor to scale one of the readings.

In1 = Current Sensor 1 input value
Out1 = Output result after scaling of sensor 1

In2 = Current Sensor 2 input Value
Out2 = Output results after scaling for sensor 2


Fact = (H2 - L2) / (H1 - L1)


Out1 = (( In1 - L1) * Fact ) + L2 <- Sensor 1 output is scaled to be the same range as Sensor 2

Out2 = In2 <--- Sensor 2 output is same as Sensor 2 Input

So, for example, if Sensor 1 is 40 and Sensor 2 is 60, then the scaled results would be

Sensor 1 Out = ( (40 - 30) * (5/2) ) + 30
= 55

Sensor 2 Out = 60

Sensor 1's result range is now the same as sensor 2. That is 30 - 80.

So, what's missing today would be a large enough offset range, and any type of 'multiplication factor'. And, without cascading of virtual sensors, you only get two sensor ranges that could be reconciled.

I'm not sure if that's the best way, or even feasible to add to the current software. But, some way to achieve better coordination of differing sensor ranges would be nice.

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »MysteryGuy« (2. Februar 2014, 20:20)

Ähnliche Themen