I have a circuit that controls a fan linearly. I have a PWM output going through a low pass filter and into an NPN transistor for low side control. PWM->linear, no cap.

It worked well with at first, however when I switched to a different fan there was a lot of pulsing a lower PWM. The fan starts spinning, and then a some point it turns off and then starts spinning right away. When I look at the collector voltage (Node A) with a scope it looks like the signal in image 2.

Collector voltage. Because I don't want the fan at full speed I expect the voltage across the transistor to be high, and get to 0 when the fan is fully on. What is happening instead though, as the fan starts spinning the voltage across the transistor gradually increases (and so does fan speed) and then when it hits the peak it turns off and starts again. The higher the PWM the slower the pulsing interval. At some point though when the PWM is high enough the fans spins normally, but I would like it to spin at a lower PWM than that as well.

The solution that I have for this at the moment is kind of ugly. I added a capacitor across the fan and it seems to fix the problem. Not exactly, but it allows me to get to low enough PWM that I can use it. PWM->linear, with capacitor

It only masks the issue and it's also a massive capacitor. The capacitor stops the pulsing and keeps the voltage across the transistor constant. I have tried adding a diode instead of the capacitor but the issue still persists. This is what the signal looks with the capacitor added.

Collector voltage with cap

My primary goal is to understand what exactly is happening, and then obviously how to fix it.

The fan itself is a 12V, 3 wire, brushless fan, 0.33A rated current. It has auto restart and polarity protection. I tested with a power supply by ramping up the voltage to make sure it's not the fan and it works fine.

  • \$\begingroup\$ What is the PWM frequency? Can you increase it? \$\endgroup\$
    – Dampmaskin
    Feb 22, 2018 at 23:36
  • \$\begingroup\$ Your PWM frequency should be in the KHZ region. If too slow it can interact with the time constant set up by R15 and C19. Also normally you do not put a large value capacitor on a transistor base, as it acts as a diode clamp. C19 cannot behave as it should. \$\endgroup\$
    – user105652
    Feb 23, 2018 at 2:44
  • \$\begingroup\$ PWM frequency is about 30 KHz \$\endgroup\$
    – rigs
    Feb 23, 2018 at 14:36

1 Answer 1


You’ve built a current source for the fan, not a voltage source. The inductance of the fan makes this unstable.

As wired, the collector current, i.e. the fan current, is h_fe times the resistor current, which in turn is the PWM averaged by the base capacitor. But that only works in the proper V_ce range.

I think the answer is to switch to a voltage driver.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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