Hi
I recently bought a 24-port POE switch from Zyxel. I didn't look too closely to the specs, and just ordered one from a local IT dealer since he recommended it... Should have read the specs (especially the rated noise levels.. )because out of the box the cooling fans are really loud, and I can hear the thing running on the utility room to the bedroom - one room in between and the router is in a closed enclosure!
Googling a bit, it seems quite a few people are reporting the same issue with it, some are even selling a kit of more quiet fans for it.. So an issue worth investigating and a little writeup
After checking out the stock fans, it became obvious that the thing has no speed control on the fans whatsoever. Just running full blast @12V. Also, quite interestingly, while the fans have 3-pin connectors with a speed output the switch doesn't actually monitor the fans - running it with the fans disconnected gives absolutely no warnings or notifications whatsoever.. Which in a sense is a good thing, at least it won't start nagging if the tachos are disconnected - No need to figure out if the hardware is measuring the tach output in relation to +12V or GND.
With that figured out I decided to make a speed controller instead of getting new fans. At least it'll still able to provide the cooling the design engineers planned for it in case I ever need to run it at full power during a heat wave.
The controller itself is pretty simple, it measures the internal temperature from the power supply and on top of the main board (with DS18B20 sensors) and adjusts the fan speed with a buck controller accordingly. One important part to note about fan speed control is that brushless fans can't be controlled by just PWM'ng them (like you would do with a normal DC motor), but instead you need to control the voltage (or get one of those 4-pin PWM-ready fans.)
Attached is a schema, picaxe 08m program, and a few pictures for anyone plannig something similar.
I recently bought a 24-port POE switch from Zyxel. I didn't look too closely to the specs, and just ordered one from a local IT dealer since he recommended it... Should have read the specs (especially the rated noise levels.. )because out of the box the cooling fans are really loud, and I can hear the thing running on the utility room to the bedroom - one room in between and the router is in a closed enclosure!
Googling a bit, it seems quite a few people are reporting the same issue with it, some are even selling a kit of more quiet fans for it.. So an issue worth investigating and a little writeup
After checking out the stock fans, it became obvious that the thing has no speed control on the fans whatsoever. Just running full blast @12V. Also, quite interestingly, while the fans have 3-pin connectors with a speed output the switch doesn't actually monitor the fans - running it with the fans disconnected gives absolutely no warnings or notifications whatsoever.. Which in a sense is a good thing, at least it won't start nagging if the tachos are disconnected - No need to figure out if the hardware is measuring the tach output in relation to +12V or GND.
With that figured out I decided to make a speed controller instead of getting new fans. At least it'll still able to provide the cooling the design engineers planned for it in case I ever need to run it at full power during a heat wave.
The controller itself is pretty simple, it measures the internal temperature from the power supply and on top of the main board (with DS18B20 sensors) and adjusts the fan speed with a buck controller accordingly. One important part to note about fan speed control is that brushless fans can't be controlled by just PWM'ng them (like you would do with a normal DC motor), but instead you need to control the voltage (or get one of those 4-pin PWM-ready fans.)
Attached is a schema, picaxe 08m program, and a few pictures for anyone plannig something similar.
Code:
'GS1900-24HP Fan speed controller
'Janne Peltonen 2018
'Read 2 DS18B20 sensors, control fan speed with PWM
#picaxe 08m
#terminal 4800
#no_data
#define debugging
symbol led = 0
b7 = 79 'start fans at full power
call setPWM
main:
readtemp 1,b0 'would be nice if we had some feedback if reading the sensor actually succeeded
readtemp 4,b1
'if sensor fail, set fans at full blast, that ought to get some attention
if b0 < 5 or b0 > 70 then
b0 = 70
endif
if b1 < 5 or b1 > 70 then
b1 = 70
endif
b2 = b0 min b1 'select the higher of 2
'highly precise output control --> duty cycle is set to the measured temperature * 2 / - 45. Run at min speed until measured temp gets to 35. Max fan speed is achieved at 62 deg C
b7 = b2 * 2 min 45 - 45 max 255 'math works left to right, right?
#ifdef debugging
sertxd("Temp1 = ",#b0,cr,"Temp2 = ",#b1,cr,"Duty = ",#b7,cr,"HighTemp = ",#b2,cr)
#endif
call setPWM
goto main
setPWM:
b7 = b7 max 79 '100% duty cycle
b7 = b7 min 23 'puts about 4.2V to the three fans
pwmout C.2, 19, b7 ; 50000Hz at @ 4MHz. Minduty 23, maxduty 79
return
Attachments
-
448.9 KB Views: 20