14
\$\begingroup\$

In quite a few Arduino examples, you see people using junction transistors to power a motor. In this case, for example, he's using a Darlington transistor: http://www.instructables.com/id/Use-Arduino-with-TIP120-transistor-to-control-moto/

Is there any reason to use anything other than a MOSFET (unless you simply don't have one, and you do have another type?) Is there any advantage to either junction or Darlington transistors for this application?

\$\endgroup\$

7 Answers 7

20
\$\begingroup\$

A Darlington transistor gives you two devices cascaded together, which gives you more power handling. Absolutely speaking, the advantage of a BJT structure over a MOSFET is that you do not have a gate with oxide isolation, and thereby you do not need to worry about a latch-up from the inductive fly-back. Any inductor, as in motors and relays, will store a flux across the coil, and a change in operation will cause a large voltage flyback. That flyback voltage can reverse the junction on the MOSFET or possibly damage the gate.

If you are just playing around, the advantage of the BJT is robustness. If you are worried about current, the advantage of the MOSFET is the capacitive input does not draw current after charging.

That is the short, short answer.

\$\endgroup\$
3
  • 3
    \$\begingroup\$ Why woldn't the BJT require protection when driving an inductive load? \$\endgroup\$ Commented May 22, 2016 at 16:08
  • 2
    \$\begingroup\$ The MOSFET is particularly susceptible to damage due to the gate oxide; however, BJTs can be damaged by a voltage spike, but you need a relatively large one, and the failure is the metal interface that connects the lead to the doped region. It's good policy to have a flyback diode on an inductive load to keep your power supply from bouncing, but strictly speaking, BJTs fail due to over current damaging the depletion region. A little extra charge across the device will just speed up recombination, but you are more likely to ruin the SnN "glue" that holds the wires on. \$\endgroup\$
    – b degnan
    Commented May 22, 2016 at 20:47
  • \$\begingroup\$ Late answer but I hope it helps: any switch requires protection (flywheel). Be it a BJT or a relay. That's not the point. Thumb rule: BJT for linear applications, MOSFET for switching. A darlington will still need a base resistor as its VBE is still around 1.4. Another thing that they don't tell you: Vce-Sat of a darlington is often well above 2V, which is a heartache if your VCC is 5v and a hot headache if you apply 5A on it. Yet, for linear applications - MOSFETS are a pain. They switch nicely but they are not my choice for a class A/B amp. \$\endgroup\$
    – Meymann
    Commented Jun 14, 2023 at 19:47
26
\$\begingroup\$

1) Power FET's and Darlingtons are two different animals. A BJT functions best as a linear device which is precisely CURRENT controlled. BJT's inherently have higher bandwidths than FET's and are generally cheaper for identical current carrying. In addition BJT's can make excellent and cheap constant current sources, making a simple but precise constant current source for sensitive current controlled devices like LED's. BJT's and particularly the Darlington configurations allow you to control precisely an output current in the 0-10A+ range with typically less than 2mA from an MCU with a simple current set resistor to the base connected to a microcontroller pin.

2) For precision using a PNP Darlington, the base current is referenced to ground, a microcontroller pin can still be used, the output is just turned low to ground the base resistor. If the main supply voltage varies, a current sense resistor needs to be used for feedback to compensate. Microcontroller pin currents do vary with sourcing/sinking ability and different MCU families will have different capabilities. A typical 5V AVR can source/sink up to 20-30mA/pin being TTL, and the SAM based arduino's like the DUE have two kinds of pin capabilities low and high current pins, high current pins which can only source 15mA/sink 9mA(low power CMOS) so keep this in mind if you're not using an op-amp as a buffer.

3) While BJT's are great at amplifying small signals with low distortion, and precisely controlling high currents, BJT's make for poor switches however because even if saturated, they still have Vce voltage drops over 2V, this means significant power dissipation at high currents, which means significant heat production. Even if you have a Darlington that can handle 20A before gain rolls off, having as little as 0.96A and ambient temp of 30C, you'll be at a junction temperature of 150C with no heat sink.

4) Power MOSFET's are nearly the opposite of BJT's in operation, they are great at being switches, but if not designed carefully, make for poor linear current control and amplifying devices. This has to do with the relatively large gate capacitances which limit the power FET's ability to have high bandwidths. Special gate driver IC's can handle the large charge/discharge currents when energizing a mosfet's gate capacitance at high frequencies but also increase project cost/complexity.

5) Mosfets typically have much smaller "linear" regions than BJT's and have virtually zero "on" resistance as long as the Vgs conditions are met to drive the MOSFET into saturation. With "on" voltage drops Vds in the mV region, the only considerable power being dissipated is when the MOSFET is in transition from off to on and back. A typical power MOSFET can have continuous Id of 40A or more and not need a heatsink until you near half of that rating because the resistance of the MOSFET when on is usually in the milliohms region. With an ambient temp of 30C, a TO-220 case Mosfet with 0.01 Ohms RDSon (10 milliohms), would be able to dissipate the same 2.4W as a TO-220 based BJT with no heat sink but would be passing 15.49A without a heatsink at the same 150C junction temp!

6) Using a Darlington in a TO-220 case with an adequately sized heatsink can linearly control large currents precisely with just a few mA going/coming (NPN/PNP) to/from their bases. A Darlington can also be used to amplify small currents/signals accurately with very low distortion due to their larger "linear" regions (great for DC-RF precision power applications). Darlingtons are particularly well suited as a constant current source where output ripple from a switching supply would be a concern for your design. However this comes at a price with large voltage drops of 2V or more across the collector and emitter, leading to high power dissipations. BJT's are also prone to thermal runaway without considerate design being positive temperature coefficient devices.

7) With careful design, a mosfet can be made to work in it's smaller "linear" region, but will dissipate similar power losses as a BJT while operating inside this "linear" region. However, MOSFETs are usually negative temperature coefficient devices (they are somewhat overcurrent protected). They are quite static sensitive devices (like all CMOS), so precautions should be taken and ESD equipment should be in place when handling FETs.

BJT PROs:

  • relatively straightforward in usage, easy to control
  • cheap
  • require little support circuitry
  • DC to Radio frequency operation
  • not ESD sensitive, no ESD precautionary equipment needed to work with

BJT CONS:

  • Inefficient
  • have relatively high power dissipations (heatsinks are almost necessity)
  • Positive tempco could lead to thermal runaway and destroy the transistor
  • Need high wattage low value "ballast" resistors in order to parallel


Power MOSFET PROS:

  • Very low RDSon allows high current low power dissipation designs
  • gate current only occurs during gate capacitance charging/discharging
  • Suitable for high current density switching designs with small/no heatsinks
  • can be paralleled without "ballast" resistors (only for switching)
  • Logic level gate power MOSFETs with integrated gate charge pump drivers available
  • Most are negative temco devices

Power MOSFET CONS:

  • Relatively large gate capacitance limits frequency from DC to ~10MHz
  • Require special gate drive IC's for high frequency/high power FETs
  • Highly ESD sensitive devices, requiring ESD precautionary equipment purchase
  • Logic level gate MOSFETs have fairly slow transition times Ton+Toff = avg ~44nS (22.7MHz near upper limit) - not really a con unless MCU freq > ~44MHz

Hopefully this can better clarify the suitability of BJT vs MOSFET choice for a given task.

\$\endgroup\$
1
  • 3
    \$\begingroup\$ +1 for excellent answer. However I partitioned your huge paragraphs into smaller numbered paragraphs which are much easier to read and comment on. I left in your existing partitions, and added some where you had a slight change of context. \$\endgroup\$
    – user105652
    Commented Jun 26, 2016 at 21:22
6
\$\begingroup\$

No, a darlington doesn't give you more "power handling" than a single BJT (bipolar junction transistor, these are the ones that come in NPN and PNP types). In fact, a darlington is bad for power handling due to its large voltage drop when on. This causes much more dissipation at the same current as a single BJT.

The only advantage of a darlington is that its current gain is much higher than a single BJT. It is effectively the gain of the two BJTs making up the darlington multiplied together. This can be useful when switching low currents controlled by high impedance signals, and you don't need high speed.

There are other ways to start with a high impedance signal and provide enough current to drive a single BJT switching element.

As for the distinction between MOSFETs and BJTs, each have their advantages and disadvantages. BJT are controlled with current at a low voltage. Any BJT can be driven with logic-level voltages. FETs are voltage controlled, and all but some relatively low voltage FETs (up to 30 V or so), need 10-12 V gate drive. That requires a special FET driver chip or circuit to control the FET from a typical logic level signal.

Both BJTs and FETs can handle significant power in the right cases. BJTs look more like a voltage source when on, and FETs more like a resistor. Which one dissipates less power depends on the current and the Rdson of the FET. At a few amps and 10s of volts, FETs are more efficient since the current times the Rdson is less than the 200 mV or so of even a well-satured BJT. The FET voltage drop goes up linearly with current. The voltage drop of a BJT starts out higher but goes up less than linearly with current. At high currents a BJT can drop less voltage. Also, FETs that have to withstand higher voltages have higher Rdson, so BJTs look like a better deal at higher currents and voltages. When dissipation and a few 100 mV drop isn't a big issue, it comes down to price, which BJTs are usually better at for equivalent voltage and current capability.

\$\endgroup\$
4
\$\begingroup\$

FETs are also (in general) harder for a low-voltage circuit to drive than BJTs (in general.)

It's not atypical to need 5 or 10 volts Vgs to reach a specified "turn-on" voltage for a FET - which requires some hanky-panky if you're driving it from a 3.3V device. Or, some FETs require Vgs being pulled negative to turn off.

A BJT needs some current, at ~0.7V, or ~1.4V for a Darlington - and no extra driver circuit to generate control voltages out of the micro's operating range.

This does not apply to all cases - but it applies to enough cases to be the answer some of the time.

\$\endgroup\$
2
  • 2
    \$\begingroup\$ This was more of an issue historically than it is at present, when fairly robust logic level FETs with a low RDSon at typical MCU output voltage are widely available. Particularly in the case of Arduino projects, you see a lot of things based on "I saw this somewhere and borrowed it" rather than actual design consideration. Pretty much anything on Instructables should be viewed with skepticism as it likely represents little more than one person's casual experience. \$\endgroup\$ Commented May 22, 2016 at 20:08
  • 2
    \$\begingroup\$ Hardly limited to Arduino projects, judging by how many 741 op amps are in questions... \$\endgroup\$
    – Ecnerwal
    Commented May 22, 2016 at 20:11
2
\$\begingroup\$

In addition to b degnan's points, if both a FET and a BJT are biased in saturation in order to drive very high-current loads, a BJT may be more efficient. Recall that power loss from drain to source in a saturated FET is given by I^2 * Rdson, where power loss in a saturated BJT from colletor to emitter is given by I * Vjunction; the latter scales linearly with current, where the former scales quadratically. When currents are low, the FET is typically more efficient, particularly since Rdson is typically lower than Vjunction at low currents, but depending on the individual devices in question, and the bias conditions, that may well change as load current increases.

It's also possible the reason is not about what's best for this circuit, but what's best for all of the circuits the engineer expects to need. BJTs allow for a bit more flexibility and re-use; if you find a case where you want a class A amplifier instead of a class D, a BJT will probably work better than a FET. This may not matter much if you're not designing a lot of circuits, or if competition for your product is so fierce that any little edge in specifications or cost is critical, but otherwise, being able to re-use parts, and thus having fewer parts you need to stock/source/keep datasheets for, can save time, effort, and money compared to having unique best parts for each case.

\$\endgroup\$
2
\$\begingroup\$

In quite a few Arduino examples, you see people using junction transistors to power a motor. In this case, for example, he's using a Darlington transistor... Is there any reason to use anything other than a MOSFET (unless you simply don't have one, and you do have another type?)

He probably just doesn't know any better. Darlington transistors are an old technology that has been largely superseded. They have high voltage drop (typically 1.1V minimum, whereas a good FET should drop less than 0.2V), poor current carrying capacity, and slow switching speed. Unlike MOSFETs, bipolar transistors don't have built-in body diodes, so in a bridge circuit you need external flyback diodes to handle the inductive back-emf. I can't think of any good reason to use one with an Arduino.

But hobbyists still use them because they are just copying old circuits and don't know that better alternatives are available. Similarly you will see people trying use a ULN2003 or L298 to drive motors at several Amps, or ancient FETs like the IRF540 that need 10V Gate drive. Then they use a slow recovery 1N4004 rectifier as a flyback diode!

In short, don't assume that some amateur project you find on the Internet has been properly engineered, no matter how slick the web page appears...

\$\endgroup\$
1
\$\begingroup\$

Well, MOSFETs are better if compared to BJTs (you can search for pros and cons yourself).

In your specific case, no, a Darlington pair IC was not at all required. The motor size was pretty small, so it will never draw more than 100 mA top. A single BJT (BC547) would have produced the same effect.

To answer your question, it's actually a design decision, finding the balance between cost and efficiency.

BJTs are always way cheaper when compared to MOSFETs. So in small applications and small projects like in the link you mentioned, the load would never draw more than 100 mA so a cheap BC547 would be a better option than a MOSFET which is capable of handling more than couple of amperes (general case), but it is more costly.

\$\endgroup\$
5
  • 4
    \$\begingroup\$ " MOSFET's are always better choice if compared to BJT's " and "so a cheap BC547 would be better option than a MOSFET " ( your words, my emphasis) - Is totally contradictory - Please clarify your answer. \$\endgroup\$ Commented May 22, 2016 at 13:03
  • \$\begingroup\$ I can buy a 2n7000 MOSFET for 0.07 which can handle .2A, and the BC547C I found for 0.01 but it handles 0.1A. Not exactly apples to apples, but it does seem cheaper. In qty 1 that I actually could buy the difference shrinks, perhaps 0.027, but still substantial. Is the MOSFET more efficient? I can't find a maximum on-resistance and am trying to figure it out from the other specs. \$\endgroup\$
    – Dov
    Commented May 22, 2016 at 16:05
  • 1
    \$\begingroup\$ You generally won't find a "maximum on resistance" - you will find RDSon for specific conditions, as the "maximum RDSon" becomes a "where do you define on and off to be" exercise (and also extends into "dissipating way too much power in the MOSFET for its health" range of operation, which you want to avoid.) Fairchild says typical 1.2, max 5 ohm for Vgs 10V and Id 500 ma, 1.9 and 9 ohms for Junction temp at 125C. 1.8 and 5.3 for Vgs 4.5V at 75mA Id \$\endgroup\$
    – Ecnerwal
    Commented May 22, 2016 at 16:52
  • \$\begingroup\$ Wait, you are telling me the resistance is 1.2 ohms? That's huge and significant power would be dissipated as heat. The resistance of a power MOSFET is more like 0.04 ohms. How could 1.2 ohms possibly be right for a circuit with a 12V battery powering a motor? \$\endgroup\$
    – Dov
    Commented May 23, 2016 at 13:44
  • 1
    \$\begingroup\$ @Dov The 2n7000 is only rated for 200mA, which at 1.2Ω results in a 0.24V drop, or 0.05W dissipation in the transistor. I agree 1.2Ω is far from ideal, but it's not unreasonable. If you want a lower Rdson, you'll have to pay more. \$\endgroup\$
    – marcelm
    Commented Jun 26, 2016 at 19:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.