Generate Fan RPM Signal W/O Fan

macrospect

[H]ard|Gawd
Joined
Nov 22, 2004
Messages
1,711
The title pretty much says it all. I am looking to generate a "fake" RPM signal for a switch that I modded to fit a 120mm fan. Basically, I have removed the 40m 8000RPM fan which was noisy, cut a hole in the top of the case and affixed a 120mm fan. My main issue is that the IOS now thinks there is a fan failure because the 120mm spins no where near 8000rpm (but moves much more air).

I read somewhere that this can be done with a 555 timer but I am unsure what the circuit would look like (and how to emulate specifically ~8000 RPM). If someone could explain this for me I would be VERY grateful. My goal is to stop the IOS from generating fail failures (there does not appear to be a way to disable this) and to return the "System" light on the front of the switch back to green (it is orange now).

Thanks!
 
Let me see if I can remember how to do this: tie the Threshold and Trigger pins together. Put in a capacitor between these two pins and ground. Put a resistor between the Output and these two pins.

Fans typically pull the RPM line low twice per revolution, for a quarter-revolution each time. At least, that's what I've seen when I've played with it (and yes, I have played with it :) ). So an 8000 RPM fan will pull that line low 16,000 times per minute, or about 267 times per second. That's every 3.75ms. Now divide that by half, because the line needs to be pulled low for half the time and left floating the other half, so now you have 1.875ms. That's your time constant, and it roughly equals R * C (the resistor and capacitor's values multiplied). If you use a 1uF cap, you'll need a 1.875kOhm resistor or something close to it. Actually, on second thought, instead of using a fixed-value resistor between the output and Threshold/Trigger, use a 5k pot, and adjust it until you get exactly the frequency you need.

The last step is to tie the Discharge pin to the RPM signal, and you should be good to go.

The three parts you need should run you less than $1 (+shipping) at mouser or digikey.
 
Cool, thanks for the detailed reply Mohonri. There is one thing that I forgot to include in my post, that being that I am working with a 3-pin header...which I am assuming would follow the same set of guidelines?

Also just to understand this, can it still be done with just using a 1uF cap and a 5k pot (I agree with using the pot to allow fine tuning) and of course a 555? if that's all I may just run out to radio shack to get them and some breadboard while I am at it to keep things tidy.

PS. If its not too much trouble a schematic would be over-the-top awesome!
 
Last edited:
Will this work?
555.png
 
Mohonri- Thank you SO much for the effort! I was just having trouble visualizing how I needed to build the circuit.

I did have 2 questions though. The first was for pin 8 on the 555 timer, I am assuming that it needs a 12V supply voltage (this is my first time using a 555)? Also for pin 3 that gets tied in before R1 correct (ie. sits between C1 and R1)? I assume that R and CV are unused for my application.

Other than that once I clear this up I will run out and buy the needed parts (I will likely replace R1 with a pot to make things easier). Oh and that reminds me, how many watts should R1 be rated for in my application?

Thanks again!
 
The CV pin you can leave floating. The Reset pin you should probably tie to 12V as well, just to keep it from resetting itself when it switches outputs.

A 555 timer can run off a range of supply voltages, but 12V will definitely work. As far as the pot is concerned (and it's a pot shown in the schematic), it doesn't make a difference which pins you use, as long as one of them is the wiper (middle).

A 1/4 watt pot will be plenty for this application.

I'm having trouble understanding the question about pin 3--can you rephrase it?
 
I figured I would conclude this thread by first thanking Mohonri for assisting me with this endeavor. His circuit could not have worked better! I finished it yesterday and mounted it using some standoffs and a piece of plexiglass under neath. In total I spent about $10 from Radio Shack (for those who can't wait like myself). In all I ended up purchasing a 5X5 piece bread board, 1uF Cap, 555 timer and 5K pot (SO glad that I went with the pot for fine-tuning). In itself this was a fun project and I would highly recommend this circuit to anyone wishing to mod a network appliance (in my case a Cisco 2950 switch).

Thanks again Mohonri! :)
 
Horrible Verizon FTP only allows me 5MB of space! I will try and host them from a third party site later.
 
Please post the pics. I need to build this for a core i5 computer I put togheter with an HP motherboard in a fanless case. There is no option in BIOS to disable CPU and chassi fan warnings and the computer will shut off.

I can handle a soldering iron but cant really understand electrical schematics so to have it visualized with real pics would help greatly. If you had the time to post some more detailed instructions that would be awesome. There is nowhere to buy this type of device.
 
Maybe I should start manufacturing these and selling them :) put 'em together with a 3-pin plug for a fan....
 
You guys are awesome. I have this exact problem with a fancy online UPS I picked up. The fans are screamers clearly meant for data center use, but I only plan to run it at 10-20% load so I'm putting in some slower fans. The damn thing is stuck in bypass mode with a fan fail error because the new fans are lower RPM. This circuit will really help!
 
@Mohonri :
Thank you very much for posting this! :D

I just finished building this for a HP DL140 G3 which has 12 fan sensors.
Those little fans are really loud ;)

Being replaced by 140mm's, but not done mounting/installing them yet.

dl140g3-fan-simulator_small.jpg
 
I want to add a thanks to Mohonri for the diagram posted. I was looking for something to stop the no cpu fan error i was getting due to my water cooling and this worked perfect.

One note I want to add for anyone who may attempt this. The pinout of the LM555N is not how it was on the diagram. It looks like the pin numbers are correct on the diagram, but if you wire it was show (without looking at pin numbers/datasheet) the wiring isn't correct. My first attempt ended with a chunk out of the 555 since VCC and GND are reversed in the diagram.

I posted my pictured and an updated diagram on my site here ( http://www.techidiots.net/notes/fake-fan-sensor ) if anyone is interested.

Thanks again. This worked great and it was the only solution I found to simulate the fan RPM sensor

68d5e4c8-64d9-41c0-8e38-90e67b31e4bc.png

171c7e24-1251-4fac-8014-386a968d4c31.jpeg

1f3705c5-799b-42a9-af75-57f2726b45d1.jpeg

efce3f36-1acf-4d49-89dc-eb7cf5bc5305.jpeg
 
Last edited:
I want to add a thanks to Mohonri for the diagram posted. I was looking for something to stop the no cpu fan error i was getting due to my water cooling and this worked perfect.

One note I want to add for anyone who may attempt this. The pinout of the LM555N is not how it was on the diagram. It looks like the pin numbers are correct on the diagram, but if you wire it was show (without looking at pin numbers/datasheet) the wiring isn't correct. My first attempt ended with a chunk out of the 555 since VCC and GND are reversed in the diagram.

I posted my pictured and an updated diagram on my site here ( http://www.techidiots.net/notes/fake-fan-sensor ) if anyone is interested.

Thanks again. This worked great and it was the only solution I found to simulate the fan RPM sensor

68d5e4c8-64d9-41c0-8e38-90e67b31e4bc.png

171c7e24-1251-4fac-8014-386a968d4c31.jpeg

1f3705c5-799b-42a9-af75-57f2726b45d1.jpeg

efce3f36-1acf-4d49-89dc-eb7cf5bc5305.jpeg

Nicely done!

(I'm new here by the way)

I was wondering if you could fool a server with 4 pins..
I've got a HP ML150G6 with really loud fans, but I want it watercooled.
Now my fans are 4 pinned (2 for 12v, 2 for PWM). Could you help me figuring out how I can fool the server with the 4 pins?
 
Last edited:
Unless it's a proprietary connector, the three-pin solution should work fine, I think...unless your motherboard complains when a non-pwm fan is used (but I've not heard of that before).
 
Unless it's a proprietary connector, the three-pin solution should work fine, I think...unless your motherboard complains when a non-pwm fan is used (but I've not heard of that before).

It's a server, so it won't turn on if you use a standard fan :p.
 
It's a server, so it won't turn on if you use a standard fan :p.

LOL you're probably right. The question then is:
1) does the server MB detect whether something is connected to the control (PWM) line?
2) does the server complain if the fan is running, but at a different speed than it's expecting?
 
LOL you're probably right. The question then is:
1) does the server MB detect whether something is connected to the control (PWM) line?
2) does the server complain if the fan is running, but at a different speed than it's expecting?

1. The server won't turn on if the correct fan isn't attached or there is no fan at all.
2. The server monitors only the PWM pins, not the power. So if the server is receiving a valid PWM signal, the server sees it as 'OK, I'm fine!'.


Currently I have someone working on this issue.
So he is building a controller for my problem. The controller is sending the right frequency to the PWM pins, to let the server "think" the fan is running at 7500RPM**.
In the mean time, there is no fan connected to the whole 12v rail of the fancontroller.
I'll build in a manual fan controller and put in some 'high airflow and minimal RPM' fans, to provide the server cool air on a relatively low fan speed. Thus making the server as quiet as possible without losing airflow and risk overheating.

The only issue for you guys is, that it's being developed in The Netherlands (where I'm from) and I don't know how many of you are having difficulties with your/their server.
This guy, whom is building the controller, doesn't mass-produce. I can ask him to share the controller "blueprint", so you can build it on your own. Don't know yet. I just need to see the actual product before I can tell anybody how it works.
I don't know the result for another 2 weeks. He is devoloping a circuit on a print, building it. Later testing them and maybe build a few of them for me and his own use.


**. Why this high RPM? Because if I let the server "think" the fan is running at 2000RPM, but it gets warmer (but no fan to react to that), the server will overheat and shutdown.
So if I set it too high, the server wants to slow down the fan.
The effect is really simple:
The server won't shutdown due to 'low RPM'. It will only try to lower the RPMs, but has no effect on actual cooling of the machine.



I hope my English is good enough for you guys to read. I think it's relatively good.
No Google Translate was used in this post :p
 
Last edited:
Thermal shutdown should be temperature based, not fan RPM based. Once it reaches that threshold it will shutdown, regardless of what fan speed it's reading.
 
Thermal shutdown should be temperature based, not fan RPM based. Once it reaches that threshold it will shutdown, regardless of what fan speed it's reading.

I know.. I'm not here for the thermal solution.. I'm here because of the RPM solution..
I'm talking about an actual server here, so I know what I'm talking about..
 
@SilentDecode

You shouldn't need that forth pin. it is just used to control the fan speed. What is important is the yellow wire (the third pin), which is telling the computer what speed the fan is spinning

with one of the fake sensors I made I am using it with a supermicro h8sgl-f-o server board which has 4 pin connections. I took one of the fake sensors... cut the yellow wire...and spliced it to 8 fan connectors with just a yellow wire and went to all my fan connections. This works great and vmware stopped warning me about my 8 fans not working and they all show as going the same speed :)
 
Last edited:
@SilentDecode

You shouldn't need that forth pin. it is just used to control the fan speed. What is important is the yellow wire (the third pin), which is telling the computer what speed the fan is spinning

with one of the fake sensors I made I am using it with a supermicro h8sgl-f-o server board which has 4 pin connections. I took one of the fake sensors... cut the yellow wire...and spliced it to 8 fan connectors with just a yellow wire and went to all my fan connections. This works great and vmware stopped warning me about my 8 fans not working and they all show as going the same speed :)

SuperMicro is a little bit less strict on fans and other stuff..
You have to realize that I'm talking about HP and not a manufacturer that builds motherboards and stuff like SuperMicro.
I'm not saying that SuperMicro is bad, I love it.. But my HP is not a SuperMicro.

So I did what you did and my server won't turn on.. "just another controller" eh? Nope..
 
I still don't see why it being an hp should matter if they are using a standard 3pin or 4pin fan connector, but you never know what these manufactures may change.

Have you tested the "fake fan sensor" you made with something more simple like a desktop? I tested mine in my desktop first. in the desktop bios could actually see the fan rpm speed and raised my speed to ~5000 rpm using the variable resistor. maybe the hp is looking for a certain speed before considering the fan working.

I can say my first attempt with the new circuit didn't work because I forgot a jumper wire. when testing it would notice it randomly worked when i touched the board in a certain way...turns out I was making the connection I missed
 
I realize I'm a bit late to the party :p yet if you are going to be fake signalling two fan headers then a LM556 would fit the bill nicely as it would cut down on costs slightly. However, having separate LM555 ICs is a bit more versatile since you can add or remove as needed.

Speaking of which, what is the exact model of HP server you are using?
 
I tried your circuit and made 6 fake fans for the HP DL585 server (apparently I needed only one). I am in the process of converting the server to water cooling and I am at a point of NO RETURN!. It uses six Nidec BETAV VA450DC, Model V34809 fans that according to the specs have a 5300 rpm. 5300=> 10600 => 177 per sec, 5.65ms per rev giving me a constant of 2.825. Since the local electronics store has 0.47uf Caps (they don't have 1uf), I used a 5k pot and adjusted it to 1.3k The server is still not fooled! I didn't care to connect the blue pwm wire. I don't know where I am making a mistake. I have attached pictures. BTW it may look some soldering has shorting, but I have tested for shorting and it is clean. Your input is greatly appreciated.

photo_5.JPG

photo-12.JPG

photo_1.JPG

photo_2.JPG

photo_3.JPG
 
Last edited:
Can I just say...that water rig look freakin' sick, man.

Without more intimate knowledge of the setup, I don't know how much help I can give. Have you tried the PWM spoofers in another computer? Have you confirmed the actual PWM output, like with an oscilloscope?
 
Can one 555 chip be used to feed several Fan headers or do you need one chip per fan?
 
Can one 555 chip be used to feed several Fan headers or do you need one chip per fan?

Great question. Actually, you can split the yellow wire to all the fan headers, and the MB should detect the same RPM on all the fans.

For adnrewkluz, this forum thread might be helpful.
One thought I had was this: It's possible that the server is spinning up the fans to full speed at boot, and checking that they go fast enough at full voltage. In which case, we're beyond 555 territory (although you might be able to do it with a 556 and a few extra components...).
Another thought (just brainstorming here): If you take one of the hurricane-force fans and remove all the fan blades from it, and hook it up, it'll spin more or less silently while providing the speed signal you need.
 
Last edited:
Thanks for the reply Mohonri!
I will check the link you gave me and see how how I can proceed.
I used Arduino to check the rpm of the fake fan I made and I adjusted it to 5300 - 5400 rpm the highest the fan is rated at.

Here is the arduino output :
RPM = 5400 Hz= 90
RPM = 5400 Hz= 90
RPM = 5400 Hz= 90
RPM = 5400 Hz= 90
RPM = 5340 Hz= 89
RPM = 5400 Hz= 90
RPM = 5400 Hz= 90
RPM = 5400 Hz= 90
RPM = 5340 Hz= 89
RPM = 5400 Hz= 90
RPM = 5400 Hz= 90

I am using LM555CN.

"If you take one of the hurricane-force fans and remove all the fan blades from it, and hook it up, it'll spin more or less silently while providing the speed signal you need."

This is a great idea and I thought of that too but I read somewhere I have to design a circuit to split the signal output from the fan. If other options fail that will be my last resort. I am at a POINT OF NO RETURN :)

Thanks very much!!
 
Interesting concept. Could that also mean that if a server has 4 fans in a row, I could pull 2 out and feed the RPM signal from adjacent fans into the empty headers?

Great question. Actually, you can split the yellow wire to all the fan headers, and the MB should detect the same RPM on all the fans.

For adnrewkluz, this forum thread might be helpful.
One thought I had was this: It's possible that the server is spinning up the fans to full speed at boot, and checking that they go fast enough at full voltage. In which case, we're beyond 555 territory (although you might be able to do it with a 556 and a few extra components...).
Another thought (just brainstorming here): If you take one of the hurricane-force fans and remove all the fan blades from it, and hook it up, it'll spin more or less silently while providing the speed signal you need.
 
Interesting concept. Could that also mean that if a server has 4 fans in a row, I could pull 2 out and feed the RPM signal from adjacent fans into the empty headers?
I don't know--I was just throwing out ideas. Given the level of hardware we're talking about here, it might be doing all sorts of other monitoring of the fans. And the fan connections might be totally different from consumer/enthusiast boards, with the fans pulling the sense line high instead of low, or driving it both ways, or who knows what else.
 
I will test the actual fan output with arduino and get some numbers before I proceed. Who knows what is being monitored in these fans.
 
Not quite! I tried that and it didn't work. I am still figuring out what the values of each lines of the fan are
 
Back
Top