Pages: [1] 2   Go Down
Author Topic: Fake computer PSU cooling fan  (Read 1466 times)
0 Members and 1 Guest are viewing this topic.
Vejen, Denmark
Offline Offline
Edison Member
*
Karma: 7
Posts: 1178
RAWR! ^,..,^
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I changed the cooling fan in my computer psu, but the problem now is that when the psu is cold, it spins so slow that the alarm triggers in the psu, and starts beeping... It is doing so for the first 15 minutes, until it heats up enough to spin the fan a bit faster.

My goal is to use an arduino to fake the rpm signal, so it reads how many rpm's the fan spins at, and if it is too low, it then just makes a whole lot more, to prevent the psu from beeping.

I got everything down how I want to fake the signal and so, but I am unsure of how to actually connect it all together.

After looking at how the pins on the fan behaves, it seems to pull the rpm pin down twice per revolution (same as the one I got in my network cabinet), but how do I actually connect the arduino to it?

Can I just use a TIP102, and connect it to minus, the rpm wire, and then the arduino? (with common minus of curse) Or should I take something else than the TIP102?
Logged

captain-slow.dk | non contagious!

North Yorkshire, UK
Offline Offline
Faraday Member
**
Karma: 104
Posts: 5531
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Sounds like a job for a 555 timer
Logged

Vejen, Denmark
Offline Offline
Edison Member
*
Karma: 7
Posts: 1178
RAWR! ^,..,^
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Sounds like a job for a 555 timer
Would require more stuff in there... I already got an arduino taking care of other stuff, and it can easily also take care of the rpm stuff.

My only problem is that I am not sure how to actually connect it.
Logged

captain-slow.dk | non contagious!

Cumming, GA
Offline Offline
Edison Member
*
Karma: 18
Posts: 1628
Ultimate DIY: Arduino
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

1) TIP120 is too big.  Not saying it won't work... but it's like using a sledgehammer to push in a thumbtack. To pull a signal line low, you just need a small signal generic device, like a 2N2222.  The FANs RPM sender usually have an "open collector" NPN device that PULLS the signal LOW when the RPM magnetic sensor engages.

2) Seriously... my advice is to get the right fan and install that.

Any fan that "needs to warm up" is not one that I want keeping my parts cool.  That's a sure way to eventually lose more than just the fan.
Logged

North Yorkshire, UK
Offline Offline
Faraday Member
**
Karma: 104
Posts: 5531
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Any fan that "needs to warm up" is not one that I want keeping my parts cool.  That's a sure way to eventually lose more than just the fan.
I presume it's one that adjusts automatically depending on temp.

I had a similar problem with a fan I installed - it was a low RPM fan (but much larger than stock) so I got beeps from my computer all the time. I just swapped fan connectors round with another fan in the box which ran at a higher RPM smiley-grin
Logged

Cumming, GA
Offline Offline
Edison Member
*
Karma: 18
Posts: 1628
Ultimate DIY: Arduino
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

http://www.maxim-ic.com/app-notes/index.mvp/id/3327
Logged

Vejen, Denmark
Offline Offline
Edison Member
*
Karma: 7
Posts: 1178
RAWR! ^,..,^
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

1) TIP120 is too big.  Not saying it won't work... but it's like using a sledgehammer to push in a thumbtack. To pull a signal line low, you just need a small signal generic device, like a 2N2222.  The FANs RPM sender usually have an "open collector" NPN device that PULLS the signal LOW when the RPM magnetic sensor engages.

2) Seriously... my advice is to get the right fan and install that.

Any fan that "needs to warm up" is not one that I want keeping my parts cool.  That's a sure way to eventually lose more than just the fan.
The problem is that the RIGHT fan is very noisy, even at low speed because it got some very bad nylon bearings in.

And it is not the fan that is the problem, the one I put in got the same CMF at full speed as the original one. The problem is that the one I put in run at a bit lower rpm on low voltage than the original, and before the psu adjusts the voltage up, it runs a bit too slow according to the psu's build in safety.

So when it starts to heat up, and even heat so much up that it will reach 100% for both fans inside (it got both the 80mm I am replacing, and a 140mm), it will perform just as the original would.

I am pushing on with my fan, and trying the 2N2222
Logged

captain-slow.dk | non contagious!

Manchester (England England)
Online Online
Brattain Member
*****
Karma: 514
Posts: 31558
Solder is electric glue
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
it runs a bit too slow according to the psu's build in safety.
So basically that is your problem. You need to either change what your PSU expects or change the signal into it.
You can change the frequency of your fan's output by using a phase locked loop. It is simplest to double the frequency but by the creative use of dividers you can get any ratio os frequency increase you like.
A simpler alternative might be to have a frequency to voltage converter, then an amplifier, then a voltage to frequency converter.
Logged

Offline Offline
Edison Member
*
Karma: 3
Posts: 1001
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

In more recent flavors of BIOS you can set the lower threshold RPM alarm level and so solve your problem without even opening the computer case. More "dated" versions of BIOS typically included an option to suppress the alarm (ignore PSU fan PRM).
Logged

Vejen, Denmark
Offline Offline
Edison Member
*
Karma: 7
Posts: 1178
RAWR! ^,..,^
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
it runs a bit too slow according to the psu's build in safety.
So basically that is your problem. You need to either change what your PSU expects or change the signal into it.
You can change the frequency of your fan's output by using a phase locked loop. It is simplest to double the frequency but by the creative use of dividers you can get any ratio os frequency increase you like.
A simpler alternative might be to have a frequency to voltage converter, then an amplifier, then a voltage to frequency converter.
That will give me another problem, because the frequency on the RPM line to it will then be too high. I tried to just connect an extra 92mm fan (was in the case anyways) to the rpm pin, and then hoped it would deliver the missing rpm, but it starts beeping anyways, unless I put a finger on it and slows it way down.

This circuit starts to annoy me a bit.. Might end up just de-soldering the beeper from the board inside the PSU, and then put a resistor in with the same resistance.

In more recent flavors of BIOS you can set the lower threshold RPM alarm level and so solve your problem without even opening the computer case. More "dated" versions of BIOS typically included an option to suppress the alarm (ignore PSU fan PRM).
I don't see how that should override the safety in the PSU...
Logged

captain-slow.dk | non contagious!

Manchester (England England)
Online Online
Brattain Member
*****
Karma: 514
Posts: 31558
Solder is electric glue
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
because the frequency on the RPM line to it will then be too high.
I don't understand this. The frequency on the RPM line comes from the motor, it is not a command but a measurement. The motor speed is controlled only by voltage on the fan.
Logged

Humboldt, CA
Offline Offline
Full Member
***
Karma: 2
Posts: 223
Arduino BBB
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Personally I think I'd just de-solder the beeper at this point.
Unless you put a highly dubious fan in there it shouldn't have any issues until well after the PSU's capacitors eat it or the PSU is no longer modern enough to be of use.
Logged

Vejen, Denmark
Offline Offline
Edison Member
*
Karma: 7
Posts: 1178
RAWR! ^,..,^
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
because the frequency on the RPM line to it will then be too high.
I don't understand this. The frequency on the RPM line comes from the motor, it is not a command but a measurement. The motor speed is controlled only by voltage on the fan.
Yes, I know... But it looks like it knows about what to expect at different voltages. Too low or too high at a given voltage, and it starts beeping.

Looks like an overengineered safety thing... Going to remove the beeper, and then make my arduino keep an eye on the rpm instead, and them beep if something unexpected happens.
Logged

captain-slow.dk | non contagious!

Manchester (England England)
Online Online
Brattain Member
*****
Karma: 514
Posts: 31558
Solder is electric glue
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Too low or too high at a given voltage, and it starts beeping.
Yes and your problem is the fan you use gives too low a frequency for any given voltage. That is why I suggested using a PLL to modify the frequency you fan gives and so fool the PSU into thinking things are as it expects.
Logged

Vejen, Denmark
Offline Offline
Edison Member
*
Karma: 7
Posts: 1178
RAWR! ^,..,^
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Too low or too high at a given voltage, and it starts beeping.
Yes and your problem is the fan you use gives too low a frequency for any given voltage. That is why I suggested using a PLL to modify the frequency you fan gives and so fool the PSU into thinking things are as it expects.
No, only at the lowest voltage... As soon as the PSU heats a bit up, the fan spins fast enough to be in the expected range.. But I have now removed the beeping by simply removing the beeper... Instead it only blinks with a bright diode while it is complaining.

And I also tested how it would behave if a fan suddenly failed... It will blink for 5 minutes, then shut down. So guess it is still pretty safe, even when it can't beep at me... But would make no difference if I weren't home anyways while a fan failed...
Logged

captain-slow.dk | non contagious!

Pages: [1] 2   Go Up
Jump to: