Home     Contact     Projects     Experiments     Circuits     Theory     BLOG     PIC Tutorials     Time for Science     RSS     Terms of services     Privacy policy  
 Home      Projects     Experiments     Circuits     Theory     BLOG     PIC Tutorials     Time for Science   

31 March 2010
Author: Giorgos Lazaridis
PC Fan Failure Alarm

The circuit on a breadboard for test

Suppose that you have add some extra fans in your PC cabinet. Maybe they are controlled with a linear rpm controller, or they are undervoltaged with a simple rpm reducing circuit... Or they are controlled with a PWM controller circuit! And suppose that this fan provides also an rpm feedback wire from the tacho (3-wires or 4-wires fan). Usually, simple circuits will not use this wire. Isn't it just a pity to let it just hanging there unused? Wouldn't it be nice after all to have a circuit to check if the fan is working or not, and inform you with a buzzer (or something else) whenever the fan fails to rotate for some reason?

The circuit

Originally, i planned to use a simple missing pulse detector. I did try this circuit. Yet was unable to operate. Why? Because, a missing pulse detector implemented with a 555, will not exactly detect for missing pulses. Instead, it will reset the chip whenever a positive (or negative) period of the input signal arrives, and NOT on a clock transition. The pulses from the fans on the other hand, have a very specific timing. The HIGH and LOW state of the fan has to do only with the position that the rotor. In a full rotation, it will generate 2 pulses. This does not mean that, if the fan is stalled, it will send ONLY positive or ONLY negative! No! It will send the corresponding period of the specific position of the rotor! If you are interested to learn more, check the "How Brushless Motors Work". I explain in details how they work. So, if for example the fan stops in a position that always resets the 555, then it will never sound the alarm. Crap!

Many different design ideas came to my mind and i tested a couple of them. Some did work, some others failed. The most reliable and yet simple design was to convert the output of the fan tacho into voltage and compare it with a comparator or Schmitt trigger. This is the circuit diagram:

First of all, the tacho of the fan is pulled-up with R1, and filtered through C1. So, from there and on, ONLY pulses will pass through. If the fan fails to rotate, no matter if the tacho output is HIGH or LOW, the C1 will become a circuit break (as known from the capacitor theory for DC current).

T1 acts as an amplifier for the input pulses. The C2 is the smoothing capacitor. C2 does the whole frequency-to-voltage work. It charges through R3 and R4, and discharges though R4 and the internal resistance CE of T1. Across C2, the pulses will become direct voltage. The higher the frequency of the pulses, the lower the voltage across C2.

IC1 is an OP-Amp (741) connected as a Schmitt trigger. The input voltage is the voltage generated across the C2. The high and low threshold values are changed through the potentiometer R2. You can use the schmitt trigger calculator to change these values. I have chosen a very small hysteresis - nearly (or less) than 1 volt. The hysteresis can be controlled by the resistor R6. the bigger the resistor, the smaller the hysteresis. The reason i did this is simple. I wanted to have not only a check if the fan is stalled, but also to check if the fan rotates in unusually low rpm, and i also wanted the alarm to turn off if the fan start to rotate again. In other words, i wanted to have an automatic reset of the alarm if after a failure the fan started to rotate again.

Finally, the output of the 741 is driven to the base of a PNP transistor. The transistor will actually reverse the signal and it will also act as a driver for the buzzer. I put the probes in some key-positions of the circuit. Look at the oscilloscope:

The oscilloscope connected on the circuit. I am controlling the circuit with a linear fan controller i made yesterday. YELLOW: This is what comes from the C1 to the base of T1
GREEN: The T1 output
BLUE: The voltage across C2
At about 100rpm, the voltage (BLUE channel) is increased from 5V (@1200rpm) to about 10V. When the fan is stopped, the voltage is 11.5V

Relay instead of a buzzer

Simply change the buzzer with a 12V relay and it works as is.

You can simple exchange the buzzer with the coil of a 12V relay. It will operate normally, no other change is needed.

Bill Of Materials (First circuit)
R1Resistor 4.7 KOhm 1/4 Watt 5% Carbon Film 
R2100 KOhms potentiometer
R3Resistor 1.5 KOhm 1/4 Watt 5% Carbon Film 
R4Resistor 47 KOhm 1/4 Watt 5% Carbon Film 
R5Resistor 220 Ohm 1/4 Watt 5% Carbon Film 
R6Resistor 100 KOhm 1/4 Watt 5% Carbon Film 
R7Resistor 10 KOhm 1/4 Watt 5% Carbon Film 
R8Resistor 1 KOhm 1/4 Watt 5% Carbon Film 
C11 uF 16 Volts electrolytic capacitor
C247 uF 16 Volts electrolytic capacitor
Integrated Circuits
IC1LM741 Operational Amplifier 
T1BC547 Switching and Applications NPN Epitaxial Transistor 
T2BC327 Switching and Amplifier Applications PNP Epitaxial Silicon Transistor 

The same circuit with manual alarm reset

With slight changes and a pushbutton, you can have manual alarm acknowledge...

I talked above for the hysteresis of the 741. I have chosen a small hysteresis so that the circuit will reset itself when the fan starts to rotate again. In case that you do not want the reset to happen automatically, then you need to change the R6 with a smaller one, like for example 10 KOhms. The hysteresis will be dramatically increased, in some cases (according the setting of R2), it will be as big as 6 volts. So, when the Schmitt trigger changes state, it will be rather difficult to go back to its original state.

To reset the circuit, a pushbutton has been added. The new circuit is as follows:

Bill Of Materials (Second Circuit)
R1Resistor 4.7 KOhm 1/4 Watt 5% Carbon Film 
R2100 KOhms potentiometer
R3Resistor 1.5 KOhm 1/4 Watt 5% Carbon Film 
R4Resistor 47 KOhm 1/4 Watt 5% Carbon Film 
R5Resistor 220 Ohm 1/4 Watt 5% Carbon Film 
R6Resistor 10 KOhm 1/4 Watt 5% Carbon Film 
R7Resistor 10 KOhm 1/4 Watt 5% Carbon Film 
R8Resistor 1 KOhm 1/4 Watt 5% Carbon Film 
R9Resistor 1 KOhm 1/4 Watt 5% Carbon Film 
C11 uF 16 Volts electrolytic capacitor
C247 uF 16 Volts electrolytic capacitor
Integrated Circuits
IC1LM741 Operational Amplifier 
T1BC547 Switching and Applications NPN Epitaxial Transistor 
T2BC327 Switching and Amplifier Applications PNP Epitaxial Silicon Transistor 

Adjusting the circuit

The circuit can be adjusted very easy. Start the fan and wait until the max speed is achieved. If the fan is controlled, then set it in its lowest speed setting. Then turn the potentiometer R2 until the load (buzzer or relay) is actuated. Then, turn it slowly to the other side. When the load is disarmed (eg the buzzer is NOT buzzing or the relay is disarmed), give it another slight turn (just a very slight turn like half a degree). It should be ready. Stop the fan with your hand and see if the load is armed. You will notice a delay. This is normal. Then release the fan. Again you will notice a delay for the load to be disarmed.

In case that you make the second circuit with the manual reset, then you should be aware that the reset will only operate if the fan is rotating. If the fan fails and the buzzer is actuated, it cannot be stopped unless you switch off the power supply.

Relative pages
  • The simplest way of reducing the RPM of a fan
  • The Schmitt Trigger Circuit
  • How to make a PWM fan controller / LED dimmer using a 555
  • How Brushless Motors Work (BLDC Motors)
  • The Hall Sensor
  • How PC Fans Work
  • Learn how the capacitor works
  • Re-use and/or extend your molex connectors

  • Comments


      Email (shall not be published)


    Notify me of new posts via email

    Write your comments below:
    BEFORE you post a comment:You are welcome to comment for corrections and suggestions on this page. But if you have questions please use the forum instead to post it. Thank you.


  • At 3 April 2016, 12:56:21 user rovin wrote:   [reply @ rovin]
    • can it be used on 24V DC fan? Tnx!

  • At 1 April 2016, 20:41:24 user Sherard Hubbert wrote:   [reply @ Sherard Hubbert]
    • Hi, i am having difficulty with your "PC Fan Failure Alarm" circuit. My LED stays on all the time. Can you possibly help me...? thanks

  • At 6 August 2015, 20:36:43 user TristanHellas wrote:   [reply @ TristanHellas]
    • Great circuit.
      But you can also use a LM2907N-8 or LM2917N-8 ( from TI )Frequency to Voltage Converter I.C.,configured as a simple "speed switch" for such applications.As for external components all it needs is 5-7 resistors and 3-4 caps.

  • At 7 March 2014, 21:05:34 user Gary wrote:   [reply @ Gary]
    • What 741 are you using with a single supply?

  • At 19 July 2012, 12:06:51 user Giorgos Lazaridis wrote:   [reply @ Giorgos Lazaridis]
    • @Sebastian simplest way is with a relay. When armed light red, when released lights green

  • At 19 July 2012, 9:55:25 user Sebastian wrote:   [reply @ Sebastian]
    • Hi,

      i need to Connect 2 LEDs, to this Circuit. Green LED, when the FAN Rotates and RED Led when the FAN Stops.

      How can I do this?

      Thanks you very much!!

  • At 30 November 2011, 15:56:52 user Kammenos wrote:   [reply @ Kammenos]
    • @Hip the emitter goes to the relay, not the base.

  • At 25 November 2011, 8:22:01 user Hip wrote:   [reply @ Hip]
    • Hello there,
      I tried to follow your circuit(LED+relay). and it doesn\'t activate the relay and LED. The base of T2 is suppose to connect to either Buzzer+ or coil of relay, am i right? I tried to measure the point(base of T2) and getting ~12V. But once i connect to relay then the voltage drop to 2V+ only and it wont active relay... Need some help here. Thx in advance...

  • At 1 July 2010, 4:35:56 user Kammenos wrote:   [reply @ Kammenos]
    • It looks like that your relay has a very sensitive coil. That is no problem. You may need to decrease the output with a resistor. Connect a resistor after R8 (and before the transistor) to the ground. Unfortunately i cannot tell you right now the value. I suggest you put a 100K potentiometer and experiment to find the best value.
      If you want a 6v relay, then you will need to gove to the transistor's emitter 6V as well instead of 12.

  • At 1 July 2010, 4:17:01 user Wayne wrote:   [reply @ Wayne]
    • Hi,
      I changed the buzzer with a 12V relays. The relays coil is triggered when the fan stop rotating but fail to release when the fan start to rotate again. Measuring the voltage on the output as below:
      Rotating : 5.7V
      Stop : 11.6V
      The voltage on the restart (rotate) is too high for the coil to be released.
      What is the current across the output of this circuit. I need to get a suitable resistor to connect in series so that it can probably work with a 6V relays?

  • At 1 July 2010, 1:51:16 user Wayne wrote:   [reply @ Wayne]
    • Hi,
      The fan is 3 wires 12V brushless fan made in China. The brand is "RED".
      Replaced the C1 with 22uF, 47uF, 100uF & 220uF. All can not work.

      Finally I bought the new Sunon fan & try it out with the original circuit. It works perfectly!!
      Really a great circuit. Thanks for all your guidance.

  • At 30 June 2010, 4:26:00 user Kammenos wrote:   [reply @ Kammenos]
    • I suppose that it is made for PC cases correct? in this case, it will work. It must be powered with 12V constant current (and not PWM)

  • At 30 June 2010, 4:13:10 user Wayne wrote:   [reply @ Wayne]
    • Hi,
      Another side question. I think to buy a Sunon MagLev fan to replace the current fan. (12V, 6.1W) Stated in the datasheet to send 2 pulses per rev. This fan works with your original circuit?

  • At 30 June 2010, 3:57:30 user Kammenos wrote:   [reply @ Kammenos]
    • It looks like that the pulse width is not enough and the capacitor always charges. Make another try. The width that arrives at the transistor can be increased by increasing the capacitor C1. Try 16uF and 47uF and 100uF with the other values as per original circuit. If this does not work as well, then try the larger capacitor and the 5K potentiometer. Which brand is the fan that you use and which type?

  • At 30 June 2010, 1:42:16 user Wayne wrote:   [reply @ Wayne]
    • Hi,
      Replace C2 with 100uF. The buzzer still turn on while fan rotating. But take longer time compare to the old value.
      Follow by removing R3 & replace with 470 ohm series with 5k trimmer. The buzzer still turn on but the timing vary with the trimmer position (it take about 1 min for the buzzer to turn on for 1 of the trimmer position).
      Any other changes that can be made on the circuit?
      Or I need to buy a new fan that match the 2 pulses per rev?

  • At 29 June 2010, 5:37:13 user Kammenos wrote:   [reply @ Kammenos]
    • wayne: your fan sends 1 pulse per 2 rev, while the circuit works for 2 pulses per rev. this means that your fan has 1/4 of the required frequency to operate. What you can try is first to increase C2, like 100uF. This will increase the charge time of the cap. If this does not work, then remove R3 completely, and instead put a 470 ohm resistor in series with a 5K trimmer. You will find a suitable position of the trimmer that the circuit works. Remove the trimmer from the circuit, measure it with an ohm meter, add the 470 Ohms resistor and you have the new value of R3 for your fan.I wait for the results.

  • At 29 June 2010, 5:26:48 user Wayne wrote:   [reply @ Wayne]
    • Hi,
      I power the fan with constant 12V.
      Hook up the circuit as recommended. The LED blink 1 time with every 2 rev. Does this mean the tacho only send 1 pulse per rev?
      Can your circuit still work with this fan?
      Any changes I need to make on the circuit to use this fan?

  • At 28 June 2010, 4:55:36 user Kammenos wrote:   [reply @ Kammenos]
    • Wayne: You power the fan with constant current or with PWM?
      You can verify if the tacho sends 2 pulses per rev, with an LED. Pull up the tacho wire with a 1K resistor. Then connect an LED in series with the tacho wire and the other end (cathode) of the LED connect to the ground. Then put the fan to work. Stop the fan with your hand while it rotates, without removing the power. With your finger, slowly turn the fan. You will then see how many (and IF) pulses the tacho sends with the LED.

  • At 28 June 2010, 3:05:24 user Wayne wrote:   [reply @ Wayne]
    • I have problem with the circuit.
      The buzzer will automatically turn on after 10-15 seconds even the fan is rotating. Turning the potentiometer will only vary the buzzer turn on time. What is wrong with my circuit? Can be tachco signal problem from the China made fan?
      I have no oscilloscope with me. Any other method to verify this?

  • At 11 June 2010, 19:37:08 user Kammenos wrote:   [reply @ Kammenos]
    • the amperes are irrelevant to this circuit. To work, your fan must have an rpm feedback like the 4-wire pc fans. It will also work with 3-wire pc fans, as long as it is not powered with PWM. The 3-wire fan must be powered with constant dc. The 4-wire can be powered with PWM as well. The power supply is 12V. If different, you must change the input circuitry accordingly

  • At 11 June 2010, 18:30:38 user tim wrote:   [reply @ tim]
    • what is the maximum ampers you can have for the fan? i want to use a computer water cooling pump as these are slightly more detramental if these fail. will it work?

  • At 6 May 2010, 20:02:58 user Kammenos wrote:   [reply @ Kammenos]
    • Check the voltage on the right side of R8 (directly on the output of the 741). If it changes when the rpm changes, then the problem is either the R8 or the T2. Otherwise you need to check across C2 if the voltage changes. If it does, then the problem is with the 741 or most probably the R6. Maybe you need to increase it a little bit. Why won\'t you try the second circuit instead, that has a manual reset, and this way you make sure that your T2 works...

  • At 6 May 2010, 19:37:38 user kiz wrote:   [reply @ kiz]
    • I am still having problems. Could it be t2? I am using a general purpose PNP transistor instead of an epitaxial type. My buzzer is always on regardless of the fan RPM.

  • At 6 May 2010, 4:45:16 user Kammenos wrote:   [reply @ Kammenos]
    • The buzer will sound when the op-amp goes to 0V. Actually, when it drops bellow a specific voltages, but you can take this as "LOW" or 0 volts. The Op-amo is connected between the 12V and the 0V. What about your circuit? Does the buzzer sounds when the fan is stopped? And what do you mean that "it is going off regardless of the fan"?

  • At 5 May 2010, 22:34:07 user kiz wrote:   [reply @ kiz]
    • so inorder for the buzzer to sound, the output from the opamp should be a negative voltage? Is the opamp supposed to be connected using +12 and -12? or +12 and ground. I'm having some problems with the circuit right now, my buzzer is going off regardless of the fan.

  • At 5 May 2010, 14:39:24 user Kammenos wrote:   [reply @ Kammenos]
    • Hello Kiz. I have a very detailed article about the Schmitt Trigger: http://pcbheaven.com/wikipages/The_Schmitt_Trigger
      As for the operation: It is as you described, but the outpus goes LOW to allow current through the CE of the transistor. That is why i use PNP instead of a NPN.

  • At 5 May 2010, 5:51:50 user kiz wrote:   [reply @ kiz]
    • I have some more questions, can you explain the Schmitt trigger more? The voltage at the non-inverting and inverting terminals are being compared. If the RPM is low than the non inverting terminal voltage should be lower than the inverting terminal thus causing the output of the 741 to be high, allowing flow through the PNP transistor? Is this correct?

  • At 5 May 2010, 4:08:52 user Kammenos wrote:   [reply @ Kammenos]
    • Simple 12 volts active buzzer

  • At 5 May 2010, 0:21:59 user kiz wrote:   [reply @ kiz]
    • What kind of buzzer is used?

  • At 28 April 2010, 15:06:39 user Lanz wrote:   [reply @ Lanz]
    • Thanks.Will give a try.

  • At 28 April 2010, 14:55:46 user Kammenos wrote:   [reply @ Kammenos]
    • No i do not have one. You can try to change the 3rd from here:http://pcbheaven.com/circuitpages/Light_Dark_Activated_Relay

      Yet, it will also read ambie3nt light. I have not mess with filters yet.

  • At 28 April 2010, 14:36:32 user lanz wrote:   [reply @ lanz]
    • You're welcome.I like the light transmitter/receiver method.Do u have any circuits such like that?

  • At 28 April 2010, 14:20:55 user Kammenos wrote:   [reply @ Kammenos]
    • Thank you Lanz for correcting me. A negative answer to the question "hey i don't think this can be done with a 2 wire fan right?", could non include the 2 wire... You are right, it is only for 3 and 4 wire fans.
      As for your question, there is a way to detect fan failure. You can measure with a contactless method the speed of the fan. Or you can use this circuit with a LED/CDR or another pair of light receiver/transmitter to detect if the fins are rotating.
      Another method is to detect the current changes in the power wire of the fan. That will require some more job though, and i suppose it will not work for all fans the same.

  • At 28 April 2010, 14:06:19 user Lanz wrote:   [reply @ Lanz]
    • "No, it is only for 2 or 3 wire fans"
      I think u mistakenly typed 2.
      Im sorry if im wrong.
      It supposed 3 or 4 wire fans rite.

      Im looking for similar circuit for 2 wire fans.Is there any circuit for 2 wire fans to detect fan failure?

  • At 23 April 2010, 12:09:43 user Kammenos wrote:   [reply @ Kammenos]
    • No, it is only for 2 or 3 wire fans.

  • At 23 April 2010, 8:33:43 user mathew wrote:   [reply @ mathew]
    • hey i don't think this can be done with a 2 wire fan right?

  • At 21 April 2010, 16:28:03 user mathew wrote:   [reply @ mathew]
    • Thanks :)
      I will get back to you if i need help..hope that's not a problem

  • At 20 April 2010, 18:33:06 user Kammenos wrote:   [reply @ Kammenos]
    • The potentiometer will set the sensitivity of the circuit. You can control the minimum rpm what the fan will rotate, before the alarm starts to sound. Read the section "Adjusting the circuit".

      The relay is not important. It can be used to control higher loads than the simple buzzer. For your school project, the buzzer is just enough! Yet, i recommend you learn more about relays and what they actually do. Follow this link:

  • At 20 April 2010, 13:38:26 user mathew wrote:   [reply @ mathew]
    • thx for the reply!
      could you pls explain as to what the relay does in the circuit?..and is it necessary? also what does the potentiometer do?
      im totally new to this:)

  • At 19 April 2010, 16:10:15 user Kammenos wrote:   [reply @ Kammenos]
    • Hello Mathew. I have not try this with a battery, yet a 12V 2.3A battery is far enough for the circuit and the fan to operate with not problem. The 741 has a very wide range of operation voltage. You can use the circuit as-is. No need for change.

  • At 19 April 2010, 15:44:59 user mathew wrote:   [reply @ mathew]
    • hi,
      have you done this with a battery?
      im planning to do this with a 12v 2.3A battery ..can you please give the steps as to how do you connect the circuit?
      i want to do this for my high school project
      thanks in advance

  • At 9 April 2010, 11:38:13 user Lefteris wrote:   [reply @ Lefteris]
    • First , congatulation for the nice work.As for the project:
      Great circuit.I was searching the web for some time for this kind of protection circuit.
      I want to protect my pc in case of a pump faillure (I'm using watercooling)and it was a great relief that I found it!

    reddit this Reddit this

     HOT in heaven!

    NEW in heaven!

    New Theory: AC electric motor working principle

     Contact     Forum     Projects     Experiments     Circuits     Theory     BLOG     PIC Tutorials     Time for Science     RSS   

    Site design: Giorgos Lazaridis
    © Copyright 2008
    Please read the Terms of services and the Privacy policy