1
\$\begingroup\$

The datasheet for a transistor (said 2N2222) give us the hfe assuming a Vcc in the 30V range.

For uses like Arduino projects, the Vcc is usually 5 V, and under that condition, the actual hfe is lower. Instead of hfe = 100, we get hfe = 12, like in this example (Ib = 4.1 mA, Ic = 49 mA in my tests):

enter image description here

No problem here; otherwise, with a hfe = 100, the voltage drop across relay would be greater than Vcc, which is impossible.

My question is how to calculate the actual hfe from the datasheet when application's Vcc (5 V in this case) is much lower than the Vcc used by the manufacturer (30 V)?

\$\endgroup\$
3
  • \$\begingroup\$ Just a little note: your calculation of Ib is wrong, because you ignore voltage drop across base-emitter (Vbe) \$\endgroup\$ Commented Aug 4, 2016 at 9:55
  • \$\begingroup\$ That are actual values taken from a physical test circuit. Not calculated, but readed. \$\endgroup\$
    – user83628
    Commented Aug 4, 2016 at 10:03
  • \$\begingroup\$ How is it possible to have 5V input, 1.2kΩ resistor at base, voltage drop Vbe from 0.6V to 1.2V (according to datasheet), and have Ib=4.1mA at the same time? \$\endgroup\$ Commented Aug 4, 2016 at 11:27

2 Answers 2

2
\$\begingroup\$

The problem here is not the low Vcc (which does affect hfe to some extent) but the fact that you want to saturate the transistor, i.e. turn it fully on, to switch on a relay.

And one common definition of saturation is "the point where hfe is assumed to fall to 10". At which point, up to some current limit, Vce <= some voltage like 0.2V, leaving 4.8V across the relay coil.

Look at the Vce(sat) specification (page 3 of the datasheet, linked in Lorenzo's answer) and notice the Ic and Ib values : For Ic=150mA, Ib=15mA.
For Ic=500mA, Ib=50mA.
In both cases, Ic/Ib = hFE = 10.

So there's your answer. To a reasonable approximation, in this application (switching a load), independent of temperature, Vcc supply voltage, and transistor type

hFE = 10.

\$\endgroup\$
2
  • \$\begingroup\$ I will appreciate some links to further study the subject. \$\endgroup\$
    – user83628
    Commented Aug 4, 2016 at 10:26
  • 1
    \$\begingroup\$ I suggest "The Art of Electronics" by Horowitz and Hill. \$\endgroup\$
    – user16324
    Commented Aug 4, 2016 at 10:32
2
\$\begingroup\$

Any design that requires the exact value of the \$h_{FE}\$ of a BJT is a faulty design, since that parameter is subject to wild production spread.

Since in your case you only need the \$h_{FE}\$ to calculate the base current required to turn the BJT on, assume the worst possible case reported in the datasheet.

In this case worst possible case means lowest possible value of \$h_{FE}\$ in your working conditions. For any small signal BJT assuming \$h_{FE}\$ to be at least 10 (for the purpose of turning it on) is almost sure-fire. In other words, use a base current that is ten times smaller than the maximum collector current you need to drive and you'll be safe.

If the current you must provide to the base turns out to be too big for your driver circuit, you can use a Darlington transistor (or another BJT connected as a Darlington pair). In which case the minimum \$h_{FE}\$ (without even looking at the datasheet) can be assumed as 100 (VERY conservative estimate for a Darlington BJT, it's likely higher; it is OK for two 2N2222 connected as a Darlington pair).

If you want to be more fussy, the \$h_{FE}\$ depends essentially on both \$I_C\$ and temperature. If you want a tighter estimate take the lowest value you find in the datasheet, as you can see in an excerpt of a Fairchild PN2222 datasheet, a more modern and cheaper equivalent of the now obsolete 2N2222 (yellow emphasis mine):

enter image description here

In this case it is generally safe to assume a min \$h_{FE}\$ value of 35.

EDIT (prompted by a comment)

Computing the \$h_{FE}\$ when the BJT is saturated is not meaningful. \$h_{FE}\$ is a parameter which has some meaning when the BJT operates as a linear device, i.e. as an amplifier. When you turn the BJT on you are actually overdriving the BJT out of its linear region (a.k.a. active region).

When you perform your calculations to determine how to bias the BJT to get the level of overdrive needed to turn it on, you are simply using \$h_{FE}\$ as a gross indicator of where the device will stop behaving linearly. In other words you drive it with a base current that cannot be amplified linearly by the device, so it is forced into saturation (i.e. it is turned on).

To be more explicit, let's say that the min \$h_{FE}\$ is 10. This means that if the device is driven with 1mA Ib it will have a 10mA Ic if the output circuit allows it. If, for a given level of Ic, say 10mA, you drive the base with much more than Ic/10=1mA, you are forcing the BJT out of the linear region (where "there is no \$h_{FE}\$").

EDIT

Sometimes even on technical literature there is some ambiguities as what \$h_{FE}\$ is. Technically \$h_{FE}\$ is defined as:

$$ h_{FE} = \frac{I_C}{I_B} $$

It is sometimes conflated with the β found in the Ebers-Moll model, but that is only an approximation valid in the active region. Out of the active region you can still measure \$h_{FE}\$, but it will no longer be approximately equal to β. In this case some texts talk about a parameter called βforced which is always less than β in the same conditions (bar a different Ib).

The point here is that \$h_{FE}\$ is a somewhat useful parameter only in the linear region because it is fairly constant (if the temperature is held constant and Ic doesn't vary too much) and it expresses the (approximately) linear relationship between Ib and Ic that is valid in the linear region.

This is also related to the similarly meaning \$h_{fe}\$ small-signal parameter (note the lowercase subscript). Which is defined as:

$$ h_{fe} = \frac{\partial I_C}{\partial I_B} $$

that is it is the slope of the curve \$I_C=I_C(I_B,V_{CE})\$ when holding \$V_{CE}\$ constant. In the linear region that curve is well approximated by a straight line, hence \$h_{fe}\approx h_{FE} \approx \beta\$.

\$\endgroup\$
3
  • \$\begingroup\$ Worst case for 2N2222 is hfe=35. Actual hfe for the test circuits is hfe=12. There is something missing here ... \$\endgroup\$
    – user83628
    Commented Aug 4, 2016 at 10:08
  • \$\begingroup\$ Worst case is hfe=35 for Vcc=10V. Test circuits is hfe=12 for Vcc=5V. It looks like actual hfe = (actual Vcc / datasheet Vcc) * datasheet hfe. Is that relation right? \$\endgroup\$
    – user83628
    Commented Aug 4, 2016 at 10:18
  • \$\begingroup\$ @LookAlterno No; the datasheet lists possible hfe values; your circuit forces it lower to ensure saturation. \$\endgroup\$
    – CL.
    Commented Aug 4, 2016 at 10:37

Your Answer

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