Transistor issue

The problem is your are using the npn transistor improperly to switch the motor, both the collector and base current flow thru the emitter, so the base drive current is apparently powering your small motor, what you need to do to properly switvh the motor is to connect the motor + to the battery positive, the motor - to the transistor collector, and the transistor emitter to the battery -
then connect the battery - to your arduino ground, and wire a resistor between the transistor base and the arduino pin, now when you output high it will turn on fully, and turn off fully when outputtting low

For more information on using the transistor just google transistor as switch and you will find various schematics on the proper wiring
just remember your transistor is npn(switches negative), which is different from pnp (switches positive)
also because you are driving a dc motor you should have a flyback diode(google that too for examples) to prevent damage to your transistor

Do as winner says, but you also need to connect a diode in parallel with the motor to catch the back emf when you turn it off. And use a transistor with a greater current carrying capacity.

Okay,

First, those transistors have typical gain ranging from 150 - 270. This means almost any EMI in the area will cause the transistor to turn on, at least a little. The base needs to be connected to something, so the first circuit is a no go. 2nd, the next circuit you show is also a common collector circuit, which is probably not ideal for your needs, and it would need to have a base resistor to limit the base current. Setting it up as a common emitter would allow you get a little more potential across the motor too. Finally, the transistor is not up to the task of running even a tiny motor. You almost certainly need a bigger transistor and I would recommend a Darlington arrangement which is basically 2 transistors, althogh you can buy power Dalingtons in a single device.

See the attached schematic. It will handle a motor that draws up to 10A and is pretty cheap.

Circuit here: Imgur: The magic of the Internet

You want the motor / load to be on the collector of your switch.

Emitter switching is OK in some cases but you switch mostly via the collector.

@Patduino, dhenry: I thought it was some kind of interference, could you please elaborate more, or perhaps link me to a page where it explains what is going on? I'm not exactly sure what voltage floating is. Also, advice on how to stop this would be appreciated.

Connect a 10k resistor from the base to ground. That'll keep the base voltage 0 when not connected to the Arduino. It's a good idea to keep it there even when it is connected. Voltage floating just means that the base isn't tied directly to any voltage source, so the voltage fluctuates in value, sometimes it has enough to trigger your transistor. The 10k pull-down resistor will tie it to ground so it won't do that. Google pull-down resistor for more. This is a very common problem.

Also, when you connect the Arduino GPIO pin to the base, put a 1k resistor in between them.

BillO:
... I would recommend a Darlington arrangement which is basically 2 transistors, althogh you can buy power Dalingtons in a single device.

See the attached schematic. It will handle a motor that draws up to 10A and is pretty cheap.

  1. The flyback diode is on the wrong place in that schematic, it doesn't protect the transistor when the motor switches off. For that, you need a flyback diode connected in parallel with the motor.

  2. IMO darlingtons should almost never be used, because they have high saturation voltage. If the motor draws a substantial current, this results in a lot of power being dissipated in the darlington, so it will get hot and need a heatsink. A power mosfet is a much better solution in such a case. If the current is not so high (say 500mA or less), then a single transistor will do the job more efficiently and with less heat generation than a darlington, especially if the transistor is a high gain low saturation type such as the ZTX851.

dc42:

  1. The flyback diode is on the wrong place in that schematic, it doesn't protect the transistor when the motor switches off. For that, you need a flyback diode connected in parallel with the motor.

Agreed. Thanks for catching this, maybe a bit too early on Sunday for me. Updated schematic attached.

  1. IMO darlingtons should almost never be used, because they have high saturation voltage. If the motor draws a substantial current, this results in a lot of power being dissipated in the darlington, so it will get hot and need a heatsink.

Not sure I agree it would be a factor in this particular case but generally, I do agree.

A power mosfet is a much better solution in such a case.

I agree. The MOSFET would be my first choice as a switch like this. We were talking about transistors though.

If the current is not so high (say 500mA or less), then a single transistor will do the job more efficiently and with less heat generation than a darlington, especially if the transistor is a high gain low saturation type such as the ZTX851.

Yes, very true. The ZTX851 looks like a pretty good choice.

For what it's worth, the updated schematic now shows the ZTX851.

I agree. The MOSFET would be my first choice as a switch like this. We were talking about transistors though.

When did a MOSFET stop being classified as being a transistor? That's what the T in MOSFET is all about! :smiley:

Lefty

Another thing you should learn about is the proper way to figure out the transistor base current, comes in handy when designing something
You take the switching current and divide it by the minimum hfe(gain) of the transistor and maybe add 5/10percent
thhen you take your base voltage(5v from arduino) minus .7v(the voltage drop acrosss the transistor) and divide that by the number figured out from the current, that will be your resistor to fully saturate the transistor with that load to minimize losses and without wasting extra saturation current or even worse not fully saturating the transistor and creating extra heat

divide it by the minimum hfe(gain) of the transistor

hFE is a concept for linear amplification and has very little meaning for switching applications. Typically, you design a circuit assuming the switcher is driven to saturation: Ic / Ib < 10.

retrolefty:

I agree. The MOSFET would be my first choice as a switch like this. We were talking about transistors though.

When did a MOSFET stop being classified as being a transistor? That's what the T in MOSFET is all about! :smiley:

Lefty

Touche!

BillO:
I agree. The MOSFET would be my first choice as a switch like this.

Mine too, if I was making a PCB for it and could use a mosfet in an SMD package, for example http://uk.farnell.com/diodes-inc/zxmn2f30fhta/mosfet-n-sot-23/dp/1583664RL. Unfortunately, there do not seem to be any medium-current mosfets available in non-SMD packages. It surely wouldn't be difficult to make a 1A or even 2A mosfet in a TO92 package, but all that seems to be available is the 2N7000, which has a continuous drain current limit of only 200mA. Mosfets in TO220 packages are a lot more expensive and physically too large in some applications.

dhenry:

divide it by the minimum hfe(gain) of the transistor

hFE is a concept for linear amplification and has very little meaning for switching applications. Typically, you design a circuit assuming the switcher is driven to saturation: Ic / Ib < 10.

IC/IB < 10 is a just rule of thumb that should work for any transistor, but may not always be practical or the right thing to do. It's not a bad rule for most cases, but you can certainly do a lot better if you take the specifications of the transistor being used into account.

While hFE is a variable quality and is only valid during linear operation, it can be used to help find a more reasonable saturation bias to get the most out of your transistor. A transistor is in saturation when both the BE and BC junctions are forward biased. This will occur when:

VBE>VCE, which beings to occur when IBE x hFEmin > IC. Where the value for hFEmin is minimum for the expected IC.

In other words, saturation occurs when an increase in base current will no longer significantly increase collector current.

To insure adequate saturation we include a factor of 1.5 so that all we need is:

IBsat > (1.5 x IC) / hFEmin

If we use the transistor quoted above, the ZTX851, and we need to drive a 1000ma motor, we can get the hFEmin from the spec sheet. Then we have:

IC = 1000ma
hFEmin=100 (between 10ma and 2A)

Therefore IBsat > (1.5 x 1000) / 100

Or, a base current of just over 15ma, which is a whole lot better for MCU use than the 100ma as prescribed by the rule of thumb. In many cases you can get away with even less current, but this would involve testing each transistor for actual hFE at the required collector current.

BTW, this is the method and assumptions by which I arrived at the 240 ohm base resistor in my second schematic which is a conservative selection. 270 ohms would still get the job done.

IC = 1000ma
hFEmin=100 (between 10ma and 2A)

What's the corresponding Vce?

What's the power dissipation?

What's the temperature rise?

Your transistor would have exploded at that point.

The Vce(sat) vs. Ic chart provides you with better information.

dc42:
Mine too, if I was making a PCB for it and could use a mosfet in an SMD package, for example http://uk.farnell.com/diodes-inc/zxmn2f30fhta/mosfet-n-sot-23/dp/1583664RL. Unfortunately, there do not seem to be any medium-current mosfets available in non-SMD packages. It surely wouldn't be difficult to make a 1A or even 2A mosfet in a TO92 package, but all that seems to be available is the 2N7000, which has a continuous drain current limit of only 200mA. Mosfets in TO220 packages are a lot more expensive and physically too large in some applications.

It seems the manufacturers do not take much notice of the amateur/hobbyist market anymore. Well, not that they ever used to, but at least back 20 years ago there were a lot more through-hole parts available. That being said, the sexier new parts just were not around then. I guess it's was hard to miss what didn't exist.

I have used the IRLU3410 quite a bit. Sure, it's over-kill for 90% of what I use it for, but is a decent MOSFET at a decent price (about $0.75) and is much more compact than a TO220.

dhenry:
Your transistor would have exploded at that point.

What are you on about?

VCE would be about 0.05v @ 1amp with a base drive of about about 18ma. That's about 0.05W in my book.

Are we looking at the same device???

Page 3, conditions for hFE include Vce = 1v, for Ic = 10ma - 2amp.

That's 1w dissipation for Ic = 1amp.

Thermal resistance for to92 is 100 - 200c/w (max 150c/w for this device) -> 150c temperature increase.

The Vce(sat) chart provides you with better indication (typical) of driving the chip into saturation: 10x - 50x. So your drive requirement is anywhere from 100ma - 20ma, typical.

No margin for error.

BillO:
I have used the IRLU3410 quite a bit. Sure, it's over-kill for 90% of what I use it for, but is a decent MOSFET at a decent price (about $0.75) and is much more compact than a TO220.

I have used the IRLU8726PBF, which comes in the same packages - as you say, much more compact than a TO220 - and very low Rds(on). But I've recently discovered the ZVN4306A N-channel mosfet (1.1A continuous Id, 0.45ohm max Rds(on) @ 5V) which is in the Zetec E-line "TO92-compatible" package. There are some P-channel mosfets in the same package, but with much higher Rds(on).

@dhenry

As I said hFE is only valid in linear mode. They are quoting linear conditions for the hFE. My example is in saturation mode. I only use the hFEmin as a guide to calculate a suitable base current to drive the device into saturation under the conditions I quoted.

Please, take your own advice and look at the VCEsat vs. IC plot. with the 240 ohm resistor we are driving at about 4.3V/240 = ~18ma, which would put VCEsat at bit over 0.05V.