0

I have a 12V 3-pin computer fan that has a tachometer signal output: when the fan is spinning normally, the tacho wire is either floated or shorted to ground periodically. If you connect a pull-up resistor you can get a square wave when the fan is spinning normally, and a stable high or low when the fan blade is stuck.

I also have a piece of equipment that has a 12V fan on it, but that fan has an "alarm" output rather than tacho output, which is that when the fan is spinning normally, the alarm wire is shorted to ground, and when the blade is stuck the alarm wire is floated (or "high", if pull-up resistor is applied).

Now what I wanted to do is to use the first fan to swap out the second fan, which I need to convert that tacho pulse to a stable logic low when the fan is spinning, and when the blade is stuck there is no pulse so I can get a floating (the equipment has pull up built-in). I considered something like a 555 timer wired as monostable, but when the first fan is stuck, it will randomly output stable high (floating) or low depending on the angle of the blade, not exactly which. So what I need to detect exactly is "one or more level change in a period of time", not a specific logic level. I am pretty much stuck here since I don't have much experience in analog circuitry and I don't want a microcontroller for such a simple (or is it?) task. Are there any simple solutions? Thanks.

whc2001
  • 81
  • 7
  • A low pass filter followed by a comparator? An MCU? – winny Aug 16 '20 at 16:45
  • What about a 555 timer which is edge triggered instead of level triggered. EE.SE has two or three questions which show this modification to the 555 circuit. If the fan is working correctly, then the positive going edge will be present frequently which can be used to re trigger the monostable circuit. – AJN Aug 16 '20 at 17:01
  • [Link 1](https://electronics.stackexchange.com/a/180721/238590) [link 2](https://electronics.stackexchange.com/q/324207/238590) – AJN Aug 16 '20 at 17:07
  • 2
    Resettable monostable. – Andy aka Aug 16 '20 at 17:31
  • whc2001, I've a problem in reading your writing with understanding. In para #1, you write, ***"when the fan is spinning normally, the tacho wire is either floated or shorted to ground periodically"***. In para #2, you write, ***"when the fan is spinning normally, the alarm wire is shorted to ground"*** and ***"floated"*** otherwise. In para #3 you write, ***"convert that tacho pulse to a stable floating when the fan is spinning"***. But from #2 a floated output is an error in that fan and from #1 a tacho pulse is when it is working well. So I wonder if you got things right here. Clarify? – jonk Aug 16 '20 at 19:38
  • Does this answer your question? [Finding frequency of a series of pulses (3 - 60 Hz) without using a microcontroller or frequency-to-voltage converter](https://electronics.stackexchange.com/questions/465474/finding-frequency-of-a-series-of-pulses-3-60-hz-without-using-a-microcontrol) – Dave Tweed Aug 16 '20 at 21:32
  • @jonk Sorry I wrote this yesterday before going to bed, yes you are right I got the state reversed. When the tacho signal is toggling normally it should give out a logic low. – whc2001 Aug 17 '20 at 08:53
  • @AJN Thanks, I wanted the circuit to be the most simple and seems like someone posted one using discrete components. I'll try to it later if that one does not meet my use case. – whc2001 Aug 17 '20 at 08:56
  • @Andyaka Could you please give me a specific example? – whc2001 Aug 17 '20 at 15:16
  • Google 555 resettable monostable and look at images. – Andy aka Aug 17 '20 at 15:18

2 Answers2

1

"Simple solutions" probably require some active devices (and a bias supply): some might regard this as "not simple".

One possible solution requires a transistor. The input signal comes from the tacho wire in the fan, that is either shorted to ground, or is left open-circuit.
The coupling capacitor C1 allows the "stall" condition to be either a short-to-ground or an open-circuit. The transistor keeps discharging C2 while the fan rotates. When it stops (in either short-circuit or open state), C2 charges to the DC supply voltage through R3:

schematic

simulate this circuit – Schematic created using CircuitLab

Potential "gotchas":

  • During power-up, you may have a fan:fault condition at the output until thing stabilize.

  • A fan is most often used to cool things. The delay until the fault condition where C2 to charges up toward 5V might be acceptable.

  • Output voltage here assumes a very light loading, such as a CMOS logic gate input.

  • A +5V DC supply is needed (or perhaps a +3.3V supply). Not +12V


A +12V DC supply requires the fan pull-up resistor to be divided into two resistors, else Q1's base-emitter junction is at risk of breakdown. If output signal needs to be active low when faulted, a MOSfet inverter works nicely. Might as well use the same type MOSfet for Q1 too (circuit at right):

schematic

simulate this circuit

glen_geek
  • 23,591
  • 1
  • 22
  • 50
  • This one looks promising, and seems like the original fan does give a fault signal momentarily when powering up and hasn's started spinning so that won't be a problem. But I don't understand why this won't work on 12V? – whc2001 Aug 17 '20 at 08:58
  • Also I made a mistake in the original question which when working normally the circuit should output logic low instead of high. I think this can be inverted simply by adding another transistor though. – whc2001 Aug 17 '20 at 08:59
  • A DC supply greater than +5V risks damaging Q1, because negative peaks exceed breakdown voltage of base-emitter junction (which is in the 5V ballpark). If R1 does pull-up to +12V, then use two series resistors. Be aware that time constant of R3*C2 may have to be adjusted to accommodate fan speed. Yes, a MOSfet (BS170?) would make a fine inverter at **V_out_high:fault** – glen_geek Aug 17 '20 at 13:03
  • Sorry I am quite new to this, and I still does not quite understand how C1 works. Does that mean if I supply the circuit with 12V then there will be a voltage from emitter to base of Q1 that exceeds 5V, which may breakdown Q1? I did a simulation and seems like that is the case. – whc2001 Aug 17 '20 at 13:53
  • Just saw the updated answer and will try to build and test it. Thanks, I'll mark it as acceptable answer. – whc2001 Aug 18 '20 at 12:25
0

Look at watchdog timer chips. They are designed to supervise microcontrollers that toggle an input pin of the watchdog chip while they are alive (not stuck in a loop or crashed). If the pin is not toggled for a certain amount of time, an alarm output pin of the watchdog is set. It's a single chip solution that's a perfect fit for your problem without the need to use a microcontroller.

Marco Zollinger
  • 563
  • 4
  • 12
  • I'd recommend the MAX16998A, as it is already 12V compatible, provides the input and output you need and also has an adjustable timeout. – Marco Zollinger Aug 16 '20 at 20:01
  • Thanks, actually I wanted the circuit to be as simple as possible. But this does seems to fit to many situations. – whc2001 Aug 17 '20 at 09:03