In the following circuit, the BJT is used as a switch, controlled by in
. The load is a motor. I've added a few diodes for safety, as recommended here; you can safely ignore them.
simulate this circuit – Schematic created using CircuitLab
in
is connected to a digital pin of Arduino, so the voltage is 5V when high, and the current should not exceed 40mA.
My motor's input voltage is 12V, and its rated current is 0.45A. I think it yields a maximum resistance of 26.67Ω. I'm using this figure to model the load resistance.
Based on these, I'm explaining my approach, to show what have and haven't I considered. When in
is high as 5V, the BJT should be saturated. The spec. of 2N2222 says \$\rm V_{be(sat)}\$ is:
- 1.3V at \$\rm I_C\$=150 mA, \$\rm I_B\$=15 mA
- 2.6V at \$\rm I_C\$=500 mA, \$\rm I_B\$=50 mA
Since I'm looking for about 450mA, I'll just take \$\rm V_B\$=2.6V. Now the volt. diff. across the base resistor becomes 2.4V. By Arduino's 40 mA limit, I see the resistance must be ≥ 60Ω.
By deciding \$\rm I_B\$, I would be able to decide the appropriate resistance. But I'm perfectly stuck here. I've seen some articles saying "take β≒10 for saturation", but I'm confused since \$\rm I_C\$ does not increase while \$\rm I_B\$ increase there, so doesn't β vary?
As Vcc is fixed to 12V, the equation \$\rm V_C+I_C \cdot R_{load} = 12\:V\$ draws a line in Ic vs. Vce plot. Does it help?