I want to operate a 12V automotive fan with a 3.3V uC signal. The (37-year-old) centrifugal fan draws 3.2A for about 100ms at startup and then a steady 1.2A while running for a maximum of 30 minutes. Originally, I used a Panasonic 12V, 25A automotive relay (www.farnell.com/datasheets/1809465.pdf) and 2N2222 NPN BJT. I also added a 100Ω resistor and 100nF cap across the contacts. The circuit works fine on the PCB I prototyped.

I assembled a second circuit and replaced the relay with a 27A P-channel power MOSFET (www.farnell.com/datasheets/1712479.pdf). Assuming I understand the data sheet correctly, there is already a diode present so that component was deleted as was the RC snubber. I can also operate the fan now at various speeds using PWM. This circuit also works fine on the breadboard.

There are similar threads but I haven’t noticed a consensus on whether a power MOSFET is considered a suitable replacement for a relay. I don’t need the PWM option and am unsure if it is even advisable to operate the fan at anything other than its designed parameters. The MOSFET is $1.50 but the relay is only $3.50, not a consideration for a one-off. Should I prefer one design over the other? Should I use a FET rather than the 2222 BJT if I want to use PWM? Is the RC snubber necessary for the relay? Is there anything else I haven’t considered like excessive heat when using the MOSFET?RelayMOSFET


If you have access to the ground (more accurately, negative) side of the load, you could probably use a smaller N-channel FET than the P-channel that you have because of the way that FETs work. Something like this:


simulate this circuit – Schematic created using CircuitLab

Don't forget D1, regardless of how you control it. It limits the voltage spike when turning off to a diode drop above the supply by providing a path for current to continue flowing through the inductive load for a (short) while.

If you must control the positive side, then your PFET circuit looks good, except that your R18 is 220 ohms with 12V across it when the motor is on, which comes out to 0.65 watts. With that value, I would not go any less than 1 watt, but you should probably look at a higher value instead.

  • \$\begingroup\$ The 12V positive lead runs from the controller to the fan in the engine bay. The fan is then grounded to the chassis. So I don't have practical access to the negative side. I need to read more on selecting an appropriate resistor for the MOSFET. I've not used one before. Thanks. \$\endgroup\$ – unix Jan 7 '16 at 2:57
  • \$\begingroup\$ Okay, so you do need to control the positive side. To select your R18, consider the RC circuit between it and the gate capacitance. You want a small time-constant to get through the linear region of the FET as quickly as possible (neither on nor off, thus really inefficient), but you have to balance that with the power dissipation when it's overridden by your Q3. \$\endgroup\$ – AaronD Jan 7 '16 at 3:02
  • \$\begingroup\$ I went back to the 10k resistor I originally had in the circuit. Similar examples with 12V have used resistors from 220Ω to 10kΩ without explanation. Though I understand what you're saying about the small time-constant, I don't understand how to get that from the data sheet and balance that with Q3. \$\endgroup\$ – unix Jan 8 '16 at 3:33
  • \$\begingroup\$ @unix: Look at your Q5's datasheet (the P-FET) and see what the gate capacitance is. That's the C in your RC circuit. The R is your R18. Calculate the time-constant from that, and also calculate the power dissipated in R18 when it's directly across the power supply. (as it is when Q3 is on) Adjust the value of R18 until you're happy with both results. \$\endgroup\$ – AaronD Jan 8 '16 at 4:50
  • \$\begingroup\$ When you refer to gate capacitance, I only see three items in Farads: input, output, and reverse capacitance. In the switching characteristics, there are gate charges that if divided by the voltage would yield nF. Which of these values should I use as the C value? I'm using a 2k2 R now because the next smaller value is 1k which results in about 1/8W. I understand the time constant but not which value in a data sheet to use for C. Good article here "Understanding Gate Charge and Using it to Assess Switching Performance" but still uncertain. \$\endgroup\$ – unix Jan 9 '16 at 20:09

Advantages of a relay are electrical isolation between the coil and contacts (important if you want to separate the control circuit from the motor power supply) immunity to static discharge, and ability to withstand short overloads without immediate damage. Disadvantages include limited lifespan, sensitivity to vibration, and reliability (contacts may sometimes get dirty and not close properly, or stick and not open). And of course you can't apply PWM at any reasonable frequency.

A snubber across the relay contacts suppresses arcing when they open. It is required when switching an inductive load. Without a snubber the contacts will pit excessively and might even stick together. It also suppresses rf interference, but doesn't completely eliminate the back-emf spike.

A FET should last almost forever so long as it is not overloaded or exposed to high voltage spikes. The FET's body diode will not suppress back-emf spikes because they are negative and go below Ground (so the diode won't conduct). To eliminate these spikes you need a diode across the motor leads.

Since your motor is wired to Ground and its negative lead is not accessible, you must wire the diode from the FET's Drain to Ground. If you want to apply PWM then you should use a Schottky type for high switching speed and efficiency.

The FET you have chosen has sufficiently low resistance that it won't heat up much at the expected continuous current draw (70mΩ*1.2A2 = 100mW) and shouldn't need a heatsink.

  • \$\begingroup\$ I added a Schottky diode from drain to ground and updated the image above. So both circuits are viable. The PCB footprints are about equal despite the added RC snubber for the relay. It seems that either is a suitable choice, each with its unique pros and cons. Thanks. \$\endgroup\$ – unix Jan 8 '16 at 3:22
  • \$\begingroup\$ That's good except that the Schottky diode is the wrong way around (arrow should point up, not down). Quick, edit it before anyone notices! \$\endgroup\$ – Bruce Abbott Jan 8 '16 at 3:27
  • \$\begingroup\$ I thought something didn't look quite right. \$\endgroup\$ – unix Jan 8 '16 at 3:50

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.