I have a 3-pin 12 V computer fan and I want to interpret its speed sensor output. At the yellow wire I get something that looks like pulse-with modulation. How would I interpret the output without actually connecting the fan to a computer?
-
Related article: http://www.petervis.co.cc/cpu%20fan%20tacho/cpu%20fan%20tacho.html – AndrejaKo Dec 26 '10 at 03:26
-
Updated link: http://petervis.com/electronics%20guides/cpu%20fan%20tacho/cpu%20fan%20tacho.html – Andrew Oct 13 '11 at 01:15
-
3This petervis links seem suspect -- the article claims the tach signal is in "PWM format", which is nonsense, and that the tach output is at TTL voltage level. The author may be confused between tach output, and PWM _input_ to fan. (Not all fans have both, or indeed either, of PWM input and tach output.) Read answers below, and Intel document mentioned. – gwideman Aug 28 '14 at 01:11
5 Answers
Brief background: The tachometer output comes from a Hall-effect sensor mounted on the motor driver PCB on the fan frame. One or more magnets embedded in the fan rotor hub activate the Hall-effect sensor as they pass by. The sensor is amplified, and eventually drives a logic circuit. The fans that I have seen use an open drain/open collector output.
One (or more) pulse is generated every time the the fan rotor completes a revolution. The number of pulses counted in one minute is directly proportional to the RPM of the fan. In your fan's case, I think it would be reasonable to guess that there are two pulses generated for each revolution. With the frequency that you have measured, about 1500 RPM sounds right, given that you are running it at 10V (12V nominal) and the typical is 1800-2000 RPM.
If you want a more visual approach, you can make a crude strobe tachometer using just a LED and resistor. Connect a LED (brighter is better) and an appropriate current-limiting resistor between power and the tachometer pin. If you mark one of the fan blades with something easy to see, like a sticker, you should be able to shine the LED on the fan blades and see the sticker illuminated in two places. You can use this technique to count the number of times the tachometer output goes low each rotation, and to approximate the duty cycle of the signal.

- 18,303
- 7
- 63
- 94
-
7
-
2You can set up a 555 in one-shot mode, and then you can actually get the strobe to be short enough to "freeze" the blades. – W5VO Dec 26 '10 at 16:45
-
6You can use the pulse to [fire a gun through the blades](http://en.wikipedia.org/wiki/Interrupter_gear) without damage. Should you be inclined to do so. – markrages Mar 05 '11 at 19:25
-
5In general, a standard computer fan should send out two pulses per revolution, so as to be consistent with all other fans and motherboards. A fan that doesn't use two pulses per revolution will obviously appear (to the motherboard/monitoring software) to be spinning at a different speed than it actually is. – Shamtam Jan 04 '13 at 02:54
-
@Shamtam I seem to remember coming across some odd fan multiples (1x or 4x) when tach fans were just starting to be used. I'm not 100% sure about that since it's been a while. – W5VO Jan 04 '13 at 03:25
-
@W5VO I don't doubt that, I've come across several that use different multiples as well. However, since there is only 3-pins on a typical fan header (used standard across nearly all motherboard designs) and only one pin carries Tach data in this format, there's no way for a motherboard to distinguish between fans that pulse different amounts of times per revolution. Somewhere along the lines, it seems most manufacturers settled on 2 pulses/rev and an open-collector/drain setup (with a +12V pull-up on the motherboard end). – Shamtam Jan 04 '13 at 13:15
-
If you were to spin the fan by hand without VCC and GND, would the TACH pin send out signals? If so, that would be an easy way to find how many signals the fan sends per revolution. – Semicolon Nov 13 '18 at 15:06
-
2@Faloude On a 3-wire fan, probably not as the hall-effect sensor requires power. For a 4-wire, it may be possible to power the controller without powering the fan. – W5VO Nov 13 '18 at 17:46
All the needed infos are published here:
http://www.formfactors.org/developer/specs/REV1_2_Public.pdf v1.2
https://www.glkinst.com/cables/cable_pics/4_Wire_PWM_Spec.pdf v1.3
and here
https://noctua.at/media/wysiwyg/Noctua_PWM_specifications_white_paper.pdf v1.3, including example schematics
More specifically,
Voltage 12 ± 1.2V
Peak current (@13.2V) 2A
Tachometer section:
Speed reading: 2 pulses per revolution
Open-collector or open-drain type output
Mobo has pullup
PWM frequency: 21-28 kHz, target 25 kHz
logic low: <=0.8V
Imax: 5 mA
Vmax: 5.25V
PWM duty represents the speed output compared to full speed, linear relationship
If PWM is lower than minimum accepted value for that fan, undetermined behavior according to specs
Fan should match PWM control signal ±10%
Rotor lock and polarity protections are expected
Pins: 1, 2, 3, 4 are black, yellow, green, blue and their function is GND, 12V, sense, control

- 1,306
- 1
- 13
- 33
-
4Can you please include enough information that your link is only further reading, currently if that link dies most of your answer does also. – Kortuk Jan 04 '13 at 01:56
-
1In case you want to search, possibly for newer edition, the doc name is "4-Wire Pulse Width Modulation (PWM) Controlled Fans", and it's published by Intel. – gwideman Aug 28 '14 at 01:06
In most fans that I've worked with, the yellow wire is referred to as the TACH or tachometer wire. It is similar to PWM output but it is the frequency that is related to rotation of the fan. Sometimes it is 1:1 and one period output on the TACH line is equal to one revolution of the fan; sometimes there are 3 periods on the TACH to 1 revolution of the fan, you need to check the datasheet.
You can connect the TACH signal to an I/O pin on a microprocessor and determine the RPM value of the fan pretty easily.

- 149
- 6

- 1,674
- 2
- 14
- 19
The fan signal is the rate of rotation, 1 Hz = 1 RPS (rotation/revolution per second.) Connect a PIC or your favourite brand of microcontroller to the signal, count each rising or falling edge in one (or however many you want - more seconds, more accuracy) second and multiply to get RPM. If your processor is fast, you could even measure the period of the waveform and from this determine the speed to a high degree of accuracy (1/t = f).
For most fans the 1 Hz represents one rotation, as it is more expensive to include multiple switches in the fan, but don't rely on this.

- 31,546
- 57
- 182
- 320
-
1Are you sure it 1 Hz = 1 RPS? I'm measuring frequency and I'm getting around 50 Hz when I run the fan at 10 V. It's a 92x92x25 fan and they are usually rated between 1800 and 2200 RPM, so 3000 seems a bit high, especially on 10 V. Also, I just found out on the Internet that max RPM for my fan is 2000, so could it be 1 Hz = 1/2 RPS? – AndrejaKo Dec 26 '10 at 02:21
-
-
-
@AndrejaKo, well that's rather odd then, because there's no sane multiple that would get you that speed. – Thomas O Dec 26 '10 at 02:52
-
1