I'm working on a circuit to control a 12V 4-pin PWM fan from an Arduino (that bit is working), and from a source of up to 42V.

Turning the fan off is what I'm having a problem with. I know some 4-pin PWM fans turn off when there's no PWM signal (type B & type C) but the fans I have must be type A as they run at minimum speed when there's no PWM. Given that I might only be able to get Type A fans, I'd like to have an option to turn the fan off via mosfet or similar.

The best 12V step-down that I can find seems to be the Pololu D24V10F12 but that is only rated up to 36V (and 1A), but it does also have an enable pin which solves the turning-off problem.

Although that will probably be fine, ideally I'd also like to have a footprint on the board for something that will work up to 42V (from solar PV), and it looks like Pololu have/are going to discontinue their older model D24V6F12 which goes up to 42V/600mA.

The Traco TSRN 1-2450 step down looks like a good but expensive option as it's rated to 42V, but it doesn't have an enable pin like the Pololu does, so I presume I need to add a MOSFET too unless there's a better option?

I've done some reading and am happy adding an N-channel MOSFET to the Traco's ground line (e.g. stp55nf06), controlled directly from the 5V Arduino, but I'm not sure that ground line what I should be cutting. I guess my questions are:

Is that Traco and MOSFET combo a good option or is it overkill? If it is a good option, can I use an N-channel on the ground line or do I need a P-channel on the input, or can I use an N-Channel on the fan's ground line instead? I'm not sure whether that would mean the Traco still consumes some power.

Thanks and apologies for the long post! Danny



simulate this circuit – Schematic created using CircuitLab

The fan power is controlled by the NFET, active-high.

  • 1
    \$\begingroup\$ That may not be a good idea. If the "Fan Power Control" is switched off, the box labelled "FAN" will have its VCC = GND. That will surely bring the PWM input to GND = VCC as well, which the Arduino output will probably not tolerate. Either a P MOSFET should be used to switch the VCC instead of the GND, or some kind of voltage level translation or galvanic isolation should be used between the Aruduino output and the PWM input (the simplest solution would be an opto-coupler). \$\endgroup\$ – Laszlo Valko Mar 8 '16 at 0:22
  • \$\begingroup\$ @LaszloValko uh, what? Low side switching with an NFET is not exactly a new concept. The box labeled "fan" is simply a placeholder device representing the fan, which has a power, ground, and pwm pins. When FPC=5V, the fan will be enabled. When FPC=0V, the fan will be disabled. \$\endgroup\$ – Brendan Simpson Mar 8 '16 at 0:25
  • \$\begingroup\$ The problem is that you may have problem when the switch is off, and you still have the PWM input connected to the Arduino output, as their GNDs are not connected then. \$\endgroup\$ – Laszlo Valko Mar 8 '16 at 0:32
  • \$\begingroup\$ Are you concerned that the ground node in this circuit isn't connected to the ground on the Arduino? Because it was implied that they would be wired together, and even if they weren't, the circuit would work so long as all the input threshold requirements were met (i.e. Vgs>=vth, etc.) \$\endgroup\$ – Brendan Simpson Mar 8 '16 at 0:39
  • \$\begingroup\$ No, I'm afraid that the GND of the FAN will be above the VCC of the Arduino. Therefore there will be no legitimate voltage value for the PWM input, which should always be >= GND of the FAN AND <= VCC of the Arduino. \$\endgroup\$ – Laszlo Valko Mar 8 '16 at 0:43

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.