Electronic – BJT Analysis how to find collector current

bjtcircuit analysistransistors

enter image description here

This is a quick drawing of a circuit that I am trying to analyze. Basically, I want to know how to go about finding the collector current, to start. Is it possible to create a Thevenin equivalent circuit for the resistors in this model? If not, how do I start on finding the voltages?

Best Answer


There is a schematic editor and you should use it. It makes things a little easier for the rest of us. Here's your schematic:


simulate this circuit – Schematic created using CircuitLab

From your problem statement, you already know that \$V_\text{B}=500\:\text{mV}\$ and \$\beta=50\$. You also know all three resistor values and \$V_\text{CC}\$. So in this case there are only two unknowns to solve for.

From KCL, find:

$$\begin{align*} \frac{V_\text{B}}{R_2}+\frac{V_\text{B}}{R_3}+\frac{I_\text{C}}{\beta} &= \frac{V_\text{C}}{R_2}\\\\ \frac{V_\text{C}}{R_1}+\frac{V_\text{C}}{R_2}+I_\text{C} &=\frac{V_\text{CC}}{R_1}+\frac{V_\text{B}}{R_2} \end{align*}$$

Just solve those for \$V_\text{C}\$ and \$I_\text{C}\$.

An Answer to Even Numbered Problems For Self-Education ;)

Enough time has gone by and I'll provide some thoughts and an answer for those in future times just reading for self-education.

I highly recommend acquiring and becoming familiar with at least one, and maybe two, software tools to aid in simultaneous solutions. But not before learning how to solve both two- and three-equation simultaneous linear equations, by hand. There will be times when you have just two or three equations for which you want an answer and where computers and software just aren't handy. It's worth a little practice so that you can handle those with just a little bit of paper and a pen/pencil (or just some smooth area of sand or dirt, even.) Never let easy software availability stop you from educating yourself (for a few common situations, anyway.)

For just two equations and two unknowns, it's usually pretty simple to work out, by hand, if all you know is algebra manipulation. For three equations and three unknowns (or more), then for hand-work you will want to know how to use Cramer's Rule, as well. It's not efficient for a computer, but it is very easy to apply by hand (once you get the idea stuffed in mind.)

So I highly recommend feeling comfortable working two equations and two unknowns, as well as applying Cramer's Rule for three equations and three unknowns, by hand. Once that is mastered (or, at least, sufficiently practiced where, if forced to it, you could get by), then I think the use of software to solve these problems should be used every time, all the time, when a computer is available. It just saves a lot of time and avoids mistakes that all of us make. Computers are really good at not forgetting and not making basic mistakes like a wrong sign -- they get that stuff right every time.

For software, I recommend sympy and sage. They are free tools and very powerful. With that combination, you can solve things both numerically as well as symbolically. There is a learning hurdle involved, like with any software. But you don't need to know everything about them to make use of them for simultaneous equations.

Using sympy for a symbolic solution, I need declare some symbols for the above equations. So, I just write:

var('ic beta vcc vc vb r1 r2 r3')

That tells the software that I'll be using those names in what follows.

Then I write out the two equations:

eq1 = Eq( vb/r2 + vb/r3 + ic/beta , vc/r2 )
eq2 = Eq( vc/r1 + vc/r2 + ic , vcc/r1 + vb/r2 )

Simple inspection shows they match my earlier equations.

Then I just ask it to solve this for me:

ans = solve( [eq1, eq2] , [ic, vc] )

At this point, I could just print out ans and get the symbolic equations that resulted from the solution. But it's not necessary. I want the numerical results. Here, I will need to supply the values for those earlier variables. But that's easy:

for x in ans: x, ans[x].subs({r1:10e3, r2:100e3, r3:33e3, vcc:10, beta:50, vb:.5})
(ic, 0.000642076502732240)
(vc, 3.29930452061600)

Without sympy, but using SageMath instead, you don't get fully symbolic solutions. But you can get numeric ones. In this case, you'd just write out the equations with the known values filled in:

var('ic vc')
eq1 = .5/100e3 + .5/33e3 + ic/50 == vc/100e3
eq2 = vc/10e3 + vc/100e3 + ic == 10/10e3 + .5/100e3
solve( [eq1, eq2] , ic, vc )
[[ic == (47/73200), vc == (13283/4026)]]

In this case, you get the exact fraction result instead of a decimal value.

These software tools are easily worth their weight. You still need to know how to set up the equations, correctly. Nothing fixes ignorance. But if you can develop the equations properly, learning just the tiny bits required use these tools is well-worth the modest effort.