Go Down

Topic: Transistor Controlled Fan (Read 529 times) previous topic - next topic


Dec 12, 2017, 06:55 pm Last Edit: Dec 12, 2017, 07:01 pm by Jaeka2

Im trying to use a transistor controlled by an arduino to regulate the power supply to a 12V fan. I copied an existing diagram however my results are a little unusual. Regardless of the signal from the arduino the fan is always spinning, receiving ~5V of the 12V input, i.e. whether the purple wire in the attached images is connected or not makes no difference.

The fan is an f14 Arctic, and the transistor is a BD681 TO126.

Im not an electrical expert as this is part of my CompSci post grad so any thoughts on A) getting the fan 12V of power with the transistor in the circuit. and B) Why the arduino signal is making no difference - would be appreciated.



whether the purple wire in the attached images ...
... don't see an attached image :(

Meanwhile, check again that you have it wired to the pin you are controlling.



Dec 12, 2017, 07:13 pm Last Edit: Dec 12, 2017, 07:17 pm by DVDdoug
It's hard to tell from your pictures.

Here is a schematic for a transistor driver circuit.  (It shows a solenoid but it will also work with a motor.)

The diode protects the transistor from back-EMF and the resistor prevents excess current flow from the Arduino.

Check the datasheet for your transistor to identify the physical base, emitter, and collector pins, and make sure the transistor is connected properly.   If the transistor is connected properly and the motor runs with no connection (or no voltage) to the base, the transistor is blown (internally shorted).


Thanks the help so far, I think it is relating to the specification of the equipment im using. The fan generates significant resistance and consequently the voltage of the circuit is lowered too much with the transistor I have been using in place. With a 12V supply (transformed from mains), and a 12V fan, what specification transistor would I need for the fan to use up to ~12V?


Dec 13, 2017, 05:15 pm Last Edit: Dec 13, 2017, 05:21 pm by pwillard Reason: clarification
This is exactly the same problem as here:


When you want to properly switch High Side, you need 2 transistors to do it correctly with arduino.  1 transistor is driven by the PIN to control the other transistor with its base voltage running close to 12V or pulled to GND by the 1st transistor.

High side switching is as a result... more complicated so you often see examples of switching the LOW side with one transistor.  

Note: NPN transistors make GREAT low side  switches but poor high side switches, as you have experienced.  With PNP, the reverse is true.  So when you merge a PNP as a High Side switch, driven by a NPN lowside switch attached to a pin... you have better success.

If you are not required to switch the HIGH side... then avoid it to keep things simpler.

I've not gone into more detail because you said "Im not an electrical expert "


Awesome response, thanks for keeping it understandable too! I'll pick up some PNP transistors tonight and try in the morning.


Kind of what I was describing.


Dec 13, 2017, 07:05 pm Last Edit: Dec 13, 2017, 07:05 pm by TomGeorge
Welcome to the forum.

Please read the first post in any forum entitled how to use this forum.
http://forum.arduino.cc/index.php/topic,148850.0.html then look down to item #7 about how to post your code.
It will be formatted in a scrolling window that makes it easier to read.

Can you please post a copy of your circuit, in CAD or a picture of a hand drawn circuit in jpg, png?

Just looking at your picture you have no gnd connection between the Arduino and the fan 12V neg/gnd.

Thanks.. Tom.. :)

Everything runs on smoke, let the smoke out, it stops running....


Your F14 fan looks like a BLDC device, it may not like being having its power supply PWM modulated.
The transistor is an NPN Darlington.

@DVDdoug's circuit should work fine with the BD681, no need to go to high side switching.
NOTE: the gnd connections.

But we need to see a schematic of how you have connected your components.

Tom... :)
Everything runs on smoke, let the smoke out, it stops running....

Go Up