I am trying to drive a 3 pin fan using my MCU.

The 3 pins of the fan are 1- Gnd, 2- Vdd, 3- Open drain RPM output

The fan can draw up to 0.5 Amp.

My initial idea was to use a Darlington transistor, something like the circuit below.

The problem was however that this would mess up the RPM output.

Net idea was to use a RC low pass filter and a Power Op Amp, but I think an Op Amp rated 0.5+A would be too expensive.

Any better ideas/suggestions?


simulate this circuit – Schematic created using CircuitLab

  • \$\begingroup\$ Do you have any expectations for loss of voltage? RPM vs temp control? RPM accuracy. \$\endgroup\$ – Tony Stewart Sunnyskyguy EE75 Mar 13 '20 at 3:53
  • \$\begingroup\$ Only loss of voltage is a no no, as it is highly desirable to be able to run the fan in max performance, i.e. 12V. The rest don't matter as much. \$\endgroup\$ – LD1117 Mar 13 '20 at 3:56
  • \$\begingroup\$ If you have no detailed specs, your question is poorly worded and ng suggestions \$\endgroup\$ – Tony Stewart Sunnyskyguy EE75 Mar 13 '20 at 4:51
  • \$\begingroup\$ @JimFischer RPM is open drain. The MCU is pulling it up using a weak pull up resistor. Every time PWM "turns off" the fan, the RPM goes to ground, hence we have the wrong reading. The RPM is only supposed to go to ground every half rotation: noctua.at/media/wysiwyg/… \$\endgroup\$ – LD1117 Mar 13 '20 at 6:27
  • \$\begingroup\$ <face palm> I deleted my previous comment because I evidently had a "senior moment" or something and forgot everything I've learned about three pin DC fans. Sorry about that. \$\endgroup\$ – Jim Fischer Mar 13 '20 at 7:08

Various companies make fan controller ICs for 3-wire DC fans. I quickly found some of these ICs via an Internet search using the keywords "fan controller IC" and "3 wire fan controller".

For what it's worth, Mary Burke published an article titled "Why and How to Control Fan Speed for Cooling Electronic Equipment" on of Analog Devices's Analog Dialog website, and in the section titled "Fan Types" she states exactly what you've mentioned, that the TACH output on a 3-wire DC fan is only valid when power is applied to the fan. According to Burke, a solution that is used by some of Analog's fan controller ICs is to momentarily turn OFF the PWM signal, and then momentarily apply continuous DC power to the fan to obtain a complete TACH pulse, and then to resume the PWM signal, adjusting the PWM duty cycle as needed based upon the measured TACH pulse data. In my opinion, this strategy should be doable with a suitable microcontroller and a few lines of code.

  • \$\begingroup\$ Ah... I see. That's a smart solution :) Thanks very interesting! \$\endgroup\$ – LD1117 Mar 13 '20 at 19:23
  • \$\begingroup\$ BTW, figure 6 is exactly what I am seeing on the osciloscope \$\endgroup\$ – LD1117 Mar 13 '20 at 20:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.