DC motor control using BJT - 2

Hi, I am a newbie of EE and Arduino. Recently, I have read a topic about selecting BJT to drive a motor. I know this is a old post, but I am really curious on how does it work, so I apologize for extending the the topic at DC motor control using BJT - General Electronics - Arduino Forum

According to @ReverseEMF post on #4, 5. I understand the working principle #4 (base on a transistor's max Vce & Pd to adjust the resistor Rb).

However, for #5 first 2 paragraphs, in order to let motor draws enough current (increase Ic), we would like to squeeze out some more available current for Ic. Therefore, we can increase the beta by upping the resistor in base (reduce Ib). In such case, seems that the beta has been increased, but the Ib has been reduced too! Isn't this mean that the total current available for Ic remain unchanged while Vce takes up more voltage (Pd increased, this is not good in our case)?

So... how come upping resistor in Ib is useful in providing more current in Ic.

Thanks in advance.

Many find BJTs challenging and confusing.

First, transistor beta can change depending on current it’s not something you can rely on from device to device even same batch and part number. It’s the ratio of Ic/Ib and can be found in datasheets usually as just minimum values. That out of the way once we know about what we can expect as a min we can drive the base current to make sure we hit saturation.

Base resistor will control the amount of current to the base. The calculation here is simplified. There’s an emitter diode which complicate but for switching an NPN this is usually tied to ground and we will just account for the diode drop of 0.7V. In actually theres a log relationship of exponential component that’s affected by thermal voltage represented by Kt/q.

So the circuit is
Arduino output with 5v
Base resistor which is dropping 4.3v ( because base emitter junction)
Therefore whatever base resistor is, use ohms law to calculate current

Example.: 4.3v/470 = 9.1 mA

Back to transistor - BJT are current amplifiers
If you base current is 9 mA and your transistor beta is 10, you will only get about 90 mA of current (reliably) switched through the transistor.
If your beta is 100 now you can switch 0.9 A!

While beta can’t be controlled you can pick your transistors and over drive your base current to ensure saturation.

There are many uses for transistors besides just turning them on and off so while beta is important it is not only quality that’s important or make one better than another.

There are entire courses taught about semiconductors and only so much we can write in a forum.

Hope this helps but I suggest reading about them as entire books are written on the subject or taking a class.

Why are you even considering to use a BJT to drive a motor, instead of a MOSFET?

Well it depends on what sort of control you need... positional or speed control with a brushed dc can be done very nicely with BJT. PWM switching not so much.

wvmarle:
Why are you even considering to use a BJT to drive a motor, instead of a MOSFET?

Hi wvmarle, I surely won't use BJT to drive my motor, but I hope I can at least get myself clear about all about BJT before I go for MOSFET...

wolframore:
Many find BJTs challenging and confusing.

First, transistor beta can change depending on current it’s not something you can rely on from device to device even same batch and part number. It’s the ratio of Ic/Ib and can be found in datasheets usually as just minimum values. That out of the way once we know about what we can expect as a min we can drive the base current to make sure we hit saturation.

Base resistor will control the amount of current to the base. The calculation here is simplified. There’s an emitter diode which complicate but for switching an NPN this is usually tied to ground and we will just account for the diode drop of 0.7V. In actually theres a log relationship of exponential component that’s affected by thermal voltage represented by Kt/q.

So the circuit is
Arduino output with 5v
Base resistor which is dropping 4.3v ( because base emitter junction)
Therefore whatever base resistor is, use ohms law to calculate current

Example.: 4.3v/470 = 9.1 mA

Back to transistor - BJT are current amplifiers
If you base current is 9 mA and your transistor beta is 10, you will only get about 90 mA of current (reliably) switched through the transistor.
If your beta is 100 now you can switch 0.9 A!

While beta can’t be controlled you can pick your transistors and over drive your base current to ensure saturation.

There are many uses for transistors besides just turning them on and off so while beta is important it is not only quality that’s important or make one better than another.

There are entire courses taught about semiconductors and only so much we can write in a forum.

Hope this helps but I suggest reading about them as entire books are written on the subject or taking a class.

@wolframore, thank you so much for giving me explanation. I took some times to absorb your words several time. I really want to get it clear. And Yes, I get your point. Can I interpret part of your word as "If I want to use it as BJT, I should try to maximize the base current at anytime so that I can keep it saturated hardly and keep Vce low"?

If my interpretation is correct, I wonder why @ReverseEMF have mentioned "try upping the base resistor. For instance, let's see what value of base resistor would need to be to drive the motor at a 300mW transistor dissipation level." at 1st paragraph in #5 of https://forum.arduino.cc/index.php?topic=540188.0 How come upping a base resistor can drive more current at Collector? From my understanding at the moment, upping the Base Resistor may indeed increase Beta, but it doesn't increase Ic at all... :frowning:

he may have meant base current, it's a lot to explain and I often have to edit my comments, sometimes we think faster than we type...

mannok:
Can I interpret part of your word as "If I want to use it as BJT, I should try to maximize the base current at anytime so that I can keep it saturated hardly and keep Vce low"?

by hardly - i think you meant "hard" as in more - you see how it gets confusing ... lol.

In saturation mode: maximum current would give you maximum collector current but be careful. The base to emitter is a diode so without a base resistor you can pass as much current as it can stand until blowing up. Also then it's not really amplifying and waste of power. Wear eye protection and try it. See if you can figure out what makes it tick and why.

So we try to utilize beta to efficiently switch them.

Again BJT's are useful in many more ways than as a light switch... this is one of the simplest uses.

wolframore:
he may have meant base current, it's a lot to explain and I often have to edit my comments, sometimes we think faster than we type...

wolframore:
he may have meant base current, it's a lot to explain and I often have to edit my comments, sometimes we think faster than we type...

Yes, agree. Just like me, I have a typo in #5 too, hahaha. Should be "If I want to use it as a switch,".

Many thanks @wolframore, You saved me a week. I was stuck and it is a suffer...

wolframore:
by hardly - i think you meant "hard" as in more - you see how it gets confusing ... lol.

In saturation mode: maximum current would give you maximum collector current but be careful. The base to emitter is a diode so without a base resistor you can pass as much current as it can stand until blowing up. Also then it's not really amplifying and waste of power. Wear eye protection and try it. See if you can figure out what makes it tick and why.

So we try to utilize beta to efficiently switch them.

Again BJT's are useful in many more ways than as a light switch... this is one of the simplest uses.

HaHa, sorry for my English. hardly mean "more saturated".

So, did you mean that whenever I use BJT as a switch, as long as it stays below max-rated base current, I can keep base current as high as possible, right? (In case I don't care about power wasting.)

Within its limits, of course... as long as none of the other maximin values are exceeded.

Note that when a BJT is used as a switch, the datasheet value of beta doesn't apply at all.

You need about 5% to 10% of the collector current flowing in the base to saturate a transistor switch
properly, which means it wastes only a fraction of a volt (0.05 to 0.5V is typical). This means the transistor
will run much cooler, and be a better switch.

The datasheet beta is the current gain used as an analog amplifier, not as a switch. For instance a 2N2222
has a typical current gain of 300, but as a switch you'd treat this as about 15.

You'll often see that beta is quoted for Vce=10V or something like that. As a switch this is not relevant,
you want Vce = 0V when the switch is on, ideally!

When a BJT is in saturation the physics of the device changes completely, note - as well as beta dropping
dramatically, the speed and bandwidth can fall dramatically too, in particular switching off can be very slow
compared to what you might think from the datasheet parameters for the device - often the switch-off time
is given in the datasheet as its not really guessable from the other parameters.

MarkT:
Note that when a BJT is used as a switch, the datasheet value of beta doesn't apply at all.

You need about 5% to 10% of the collector current flowing in the base to saturate a transistor switch
properly, which means it wastes only a fraction of a volt (0.05 to 0.5V is typical). This means the transistor
will run much cooler, and be a better switch.

The datasheet beta is the current gain used as an analog amplifier, not as a switch. For instance a 2N2222
has a typical current gain of 300, but as a switch you'd treat this as about 15.

You'll often see that beta is quoted for Vce=10V or something like that. As a switch this is not relevant,
you want Vce = 0V when the switch is on, ideally!

When a BJT is in saturation the physics of the device changes completely, note - as well as beta dropping
dramatically, the speed and bandwidth can fall dramatically too, in particular switching off can be very slow
compared to what you might think from the datasheet parameters for the device - often the switch-off time
is given in the datasheet as its not really guessable from the other parameters.

Thank you for such precious informations!!

btw... I am just thinking of a situation... BJT is not suitable as a switch for a motor in many case. I think the reason is because motor usually consume a lot of current (with load).

However, when the motor is pulling too much current, the BJT will transit into active region, which means the BJT will take up more voltage and the voltage dropped at the motor will be reduced at the same time. As a result the current drawn by the motor will reduce as well. Therefore, the torque of the motor will reduce too!

In such case, it still works! Am I correct? Just the efficiency of the motor will not be that high. As a consequence, the motor won't work at heavy loading, but there is no harm for the BJT right?

There IS harm for the BJT. If a transistor is in the active region (either BJT or FET) it dissipates much more power if it conducts large current (i.e. driving motor, power LED). When it is for longer time it will probably burn. "Longer time" may be in order of seconds.

Smajdalf:
There IS harm for the BJT. If a transistor is in the active region (either BJT or FET) it dissipates much more power if it conducts large current (i.e. driving motor, power LED). When it is for longer time it will probably burn. "Longer time" may be in order of seconds.

The reason that it dissipates more power is because in active region Vce "takes" more voltage than in saturated region right? However, when Vce raise, motor takes less voltage and the current drawn will reduce, am I correct?

Depends on the transistor and situation.

This one can handle 15A @ 60V and has beta of 100 to 200 NTE2304

Nice thing is it’s current driven and will switch with as little as 0.7v.

Also things change rapidly once you get out of Arduino power and we are switching 100+ amps.

Hmm drop 0.1v at 100 A or deal with Rds of 0.1 Ohms at 100A? Do the math and calculate for power loss.

mannok:
The reason that it dissipates more power is because in active region Vce "takes" more voltage than in saturated region right? However, when Vce raise, motor takes less voltage and the current drawn will reduce, am I correct?

Power dissipation is I*V. So when Vce goes up the dissipation goes up too. Typically the current decreases less. Example with 10V supply voltage and 10 Ohm load:
Vce 0.1V, current 0.99A -> dissipation 99mW
Vce 1V, current 0.9A -> dissipation 900mW
Vce 2V, current 0.8A -> dissipation 1800mW
...
Vce 9.9V, current 0.01A -> dissipation 99mW.
A stalled motor may be considered resistive load (but with probably much lower resistance).

@wolframore: NO!
It can handle either 15A OR 60V, not both. 15A @ 60V is 900W!
The beta is 100-200 only for 1A and 2V Vce. With increasing current or decreasing Vce the beta drops. For saturation at considerable current they use beta 20 ("Collector–Emitter Saturation Voltage" test conditions).

wolframore:
Depends on the transistor and situation.

This one can handle 15A @ 60V and has beta of 100 to 200 NTE2304

No it can't. It will literally vaporize at those power levels, thats 750W. And because of secondary breakdown
it probably can't even handle 0.5A at 60V.

It's also completely obsolete these days, MOSFETs are used for power electronics.

There are some other tricks and devices...

The rating was written in a confusing way... thanks for catching.

Mark you are missing an important difference about them.. we are currently trying to create MOSFETs that can surpass transistors and hopefully we will get there. It also has some interesting characteristics that can be exploited.

Did you do the math?