0
\$\begingroup\$

I have a Noctua 4-pin PWM fan (PWM datasheet) from which I'm attempting to calculate RPM using the open collector tachometer output. I'm producing the PWM waveform using a Raspberry Pi Pico.

Here's the schematic I'm using to test: Schematic

I don't have a proper oscilloscope, but given it's <100Hz my Bitscope should be sufficient.

Here's a tachometer waveform at 70% duty cycle. Looks alright to me. Similar at 80% and 90%.

regular square waves

At 60% or so, it becomes irregular, some high levels are 2 or more pulses long:

square waves with irregular high

Here's 50% duty cycle overlaid with the PWM input:

same image but with regular pwm duty cycle

An identical model fan exhibits the same issue. A different fan I had on hand (a Ryzen CPU cooler) seems to work fine at 50% duty cycle:

regular pwm and tacho signals

I get similar results if I pull up to 5V instead of 3V3, or if I connect the tachometer to a GPIO pin and pull up using the internal resistor.

The datasheet recommends Vtacho be 5V. It specifies a maximum of 13V but no minimum. It also says the PWM voltage should be 5V. With the fan powered but the other pins disconnected, I measure 3.2V between Tach and GND. The PWM spec does not define behavior below 20% duty cycle but 60% should be fine.

Based on another answer I also tried raising the PWM signal using a 2N2222 transistor which did not really help:

using transistor

Would the likely problem be:

  • a flaw with the fan
  • a problem with my measurement or circuit
  • some additional circuitry I need to compensate for something?
\$\endgroup\$
2
  • \$\begingroup\$ What happens if you send a much faster PWM ? \$\endgroup\$
    – tobalt
    Oct 20 '21 at 8:34
  • \$\begingroup\$ @tobalt For some reason I had it in my head that setting "25" would correspond to 25kHz, but apparently not. Maybe that was a different piece of software. I will try that tonight, thanks for the tip! \$\endgroup\$
    – steveh7
    Oct 20 '21 at 19:52

Your Answer

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

Browse other questions tagged or ask your own question.