I've been looking at basic theory of Bipolar Junction Transistor.

In switching application design, in order to have a saturated transistor it is often required to find an appropriate value of the base current. By looking at the questions answered on the subject, people tend to use a ratio Ic/Ib much smaller than the parameter hFE,min found on the specific transistor datasheet. Some answer advise not to use a very low value of the raio Ic/Ib when dealing with fast switching applications, otherwise the transistor may not reach the fully on state in time.

After a quick look at wikipedia, there seems to be a lot of models for BJT. I was looking for some equations or charts relating the rise time and fall time of a transistor for a given Ic and Vbe; so far I found "nothing" (more like a lot of confusion in my head). This would be very helpful since I'd like to control the transistor with a PWM signal coming from a microcontroller (in my case a Raspberry, where the PWM signal is characterized by a frequency and dutycycle).


I've kept the question kind of general to get a basic understanding of the physique behind BJT, anyway as some of you pointed out, it would be helpful if I can provide more information.

I want to drive a 12V 0.4A fan with Raspberry Pi 3 (application: thermal control). By connecting the fan directly to the 12V power supply I've measured the maximum current drawn, which is (not surprisingly) 0.4A. So I assumed Ic=0.4A. I only have three transistor types: TIP120, BC517, BC337. The latter is definitely not a good choice because of the low gain. I hated the idea of using one TIP120 to control only 0.4A so I decided to use BC517 (I'm not worryed about the heat dissipated: the fan is directly blowing air over the circuit).

Then I looked at what resistor I could use as base resistor. Long story short, I was lazy and nearby me there were only 1k resistors. Let see if I end up in saturation. Assuming Rb = 1k, from datasheet I found Vbe(on) = 1.4V, Raspberry GPIO pin output is Vpin = 3.3V, then: Ib = (Vpin - Vbe(on))/ Rb = 1.9 mA (which is well below the maximum output current of GPIO pins, so I'm good). The ratio Ic/Ib = 210; from datasheet \$h_{FE,min} = 30000\$. I would say the BC517 is saturated.

Now to the practical part: this is the circuit I'm using.


simulate this circuit – Schematic created using CircuitLab

With a ductycycle = 100%, I don't have to worry about the frequency of the PWM signal. I'm not sure If I remeber correctly, but I think I measured Vce = 0.85V. Given that, I was expecting to see a flowing current of (12V - Vce)/12V*0.4A = 0.37A. Instead, the maximum current drawn by the fan is 0.355A. There must be some other dissipative factors.

With dutycycle < 100% the frequency of PWM signal is definitely going to affect the switching performance. After setting the dutycycle = 95% and testing a few frequencies, this is what I've got (I only tested 4 frequency, then my multimeter battery dropped below the safe level so I stopped taking measures):

Collector current vs frequency

As you can see, the collector current decreases a lot by increasing the frequency. My guess: by increasing the frequency, the period of Ib get smaller and smaller. Eventually the rise time of the transistor may be longer than the dutycycle, hence there will not be a \$t_{on}\$ time.

This is what triggered my original question. It would be nice if there was a mathematical way to relate the transistor rise time, fall time, t-on time with Vbe and the frequency of the switching signal.

  • 1
    \$\begingroup\$ Are you talking about an NPN low-side switch application? Because then rise time at the output might depend on the pull-up (load) on the collector as much as on the BJT characteristics. It would help to know exactly what circuit you're asking about and how much current you want to switch. \$\endgroup\$
    – The Photon
    Sep 25, 2017 at 16:21
  • \$\begingroup\$ Intrinsic rise and fall times are usually specified in the datasheet, but practical rise time is often limited by circuit impedance. What maximum frequency and duty cycle resolution do you want, and what load will the transistor be switching? \$\endgroup\$ Sep 25, 2017 at 16:23
  • \$\begingroup\$ Have you considered using a MOSFET instead? \$\endgroup\$
    – bobflux
    Sep 25, 2017 at 16:47
  • 1
    \$\begingroup\$ For switching application the charge control model is the most appropriate see: ecee.colorado.edu/~bart/book/book/chapter5/pdf/ch5_6_2.pdf, otherwise a FET is an easier path to take \$\endgroup\$
    – sstobbe
    Sep 25, 2017 at 17:57
  • \$\begingroup\$ The reason some suggest not to use low Ic/Ib ratios (i.e. they warn you against putting the BJT in deep saturation) is because the deeper the saturation, the larger the stored charge in the base, the longer the turn-off time (like a diode). That's why TTL-Schottky were so fast. A Schottky diode was in parallel to the base-collector junction, to prevent it from turning on. \$\endgroup\$
    – next-hack
    Sep 25, 2017 at 19:16

1 Answer 1


For predictable switching speeds, you must quickly inject currents into the base to turn on, and quickly remove current from the base to turn off.

Use speedup caps across the base resistor.

Often the base is pulled below the emitter, to quickly sweep the charge out of the base region and cause quick turn off. A speedup cap can momentarily cause that negative base voltage.


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.