I'm using an MC25060V2 fan, and I'd like to switch it on and off through software occasionally (i.e. not PWM or anything fancy like that). My thought is to either put an NPN BJT or a N-channel MOSFET on the low side and control it's gate with a 5V microcontroller GPIO pin. Any reason I should choose one technology over the other (or another approach altogether)? Here are schematic representations of what I'm proposing (just logical, representing fan as an inductor and part numbers / values not important).
There are plenty of ways, Here's two: -
Note the diode across the motor - this is needed to protect the BJT (or MOSFET) when the transistor is switched-off - this circuit will be OK for low-power fans. Rate the transistor in accordance with the current the fan needs.
This circuit will run from 5V or a lot higher should your fan be (say) 24V or 12V. Not shown is the reverse connected diode which you must have.
Pick a P-channel MOSFET with low "Vgs(threshold)" to ensure it turns on properly
The spec for this fan is given in the question - click on 'this fan' = 5V, O.38W giving a current of 76mA. The 530 MOSFET is a great device but not really needed in this circuit and its turn on (G-S) is a bit too high. There are MOSFETs specifically designed for digital voltage levels rather than the 'normal' 10V input versions. Also you should pull down the gate to ground with a resistor (say 100k) to ensure the input capacitance of the MOSFET can be discharged and turn the thing off.
The 3904 is rated for 200mA so it should be ok with 80mA. Its gain is about 100 so base current should be min 1mA (Rb = 1K5 to 3k9 ), not 100R as shown. I would also put a (reverse) diode across the load just to prevent any back emf damaging the transistor.
Personally I would go with the NPN BJT transistor (with bigger input resistor value and a protection diode) as it makes life nice and easy.
you have not mentioned the power rating of the fan.if the current rating of the fan is above 1A then to drive it you have to NPN power transistor such as BD139 since you are using the microcontroller you cannot drive the transistor direclty you may have to use BC547 as pre-driver.
so i suggest you to use N-channel MOSFET but you cannt drive the MOSFET by giving 5V from the microcontroller Vgs should be above 10V.so use the below shown circuit