スポンサーリンク
ものづくり・DIY

トランジスタのスイッチ回路|Arduinoでモーターや多くのLEDを動かす、ベース抵抗の決め方

データシートで確かめる数字

部品を選ぶときは、販売ページの説明だけでなく、データシートも確かめます。英語でも、見るところは決まっています。

スポンサーリンク
項目 記号の例 意味 確かめること
コレクタ・エミッタ間電圧 VCEO オフのときに耐えられる電圧 負荷の電源より十分に大きい
コレクタ電流 IC 流せる電流の最大 負荷の電流より余裕がある
コレクタ損失 PC、Pd 発熱の上限 計算した発熱より十分に小さい
電流増幅率 hFE 増幅のときの倍率 スイッチでは倍率に頼らない
飽和電圧 VCE(sat) 飽和時のCE間の電圧 発熱の計算に使う
ベース飽和電圧 VBE(sat) 飽和時のBE間の電圧 ベース抵抗の計算に使う

いずれも絶対最大定格の値ぎりぎりで使わないことが大切です。電流は定格の半分ほどまでを目安にすると、余裕が持てます。

足の並びを確かめる

同じ形のパッケージでも、足の並びは品番によって違います。E・C・Bの順のものもあれば、C・B・Eの順のものもあります。「文字の面を正面にして左から」など、データシートの図で必ず確かめます。テスターのダイオードの測定で確かめる方法もあります。使い方はテスターの基本を参考にしてください。

電流増幅率に頼らない

hFEは、同じ品番でも個体差が大きく、数倍の幅があることも珍しくありません。温度や電流によっても変わります。データシートに「hFE 200」とあっても、スイッチとして使うときは、その値をそのまま使いません。飽和を確実にするため、あとで説明するようにベース電流を多めに流します。

発熱を計算する

飽和したトランジスタの発熱は、コレクタ電流に飽和電圧を掛けて求められます。100mAの負荷で飽和電圧が0.2Vなら、0.1A × 0.2V = 0.02W、つまり20mWです。小型のトランジスタでも余裕のある値です。飽和せずに2Vの電圧が残れば、発熱は200mWと10倍になります。飽和させることがいかに大切か分かります。

ベース抵抗の決め方

ここが回路設計の中心です。手順は次の四つです。

手順

  1. 負荷の電流 IC を調べる。データシートの値、または実測値を使う。
  2. 目標のベース電流 IB を決める。スイッチでは IC ÷ 10 が基本で、負荷が軽いときは ÷ 20 も使う。
  3. ベース抵抗にかかる電圧を求める。ピンの電圧 − 0.7V。
  4. 抵抗値を計算する。R = (ピンの電圧 − 0.7V) ÷ IB。

「IC ÷ 10」というのは、飽和を確実にするためによく使われる目安です。データシートの飽和電圧も、この比率で測った値が載っていることが多くあります。hFEが100以上あるトランジスタでも、あえて倍率を10と考えてベース電流を多めに流します。ピンの負担を減らしたいときは、飽和電圧を実測で確かめる前提で20で割ることもあります。

スポンサーリンク

計算の例

5VのArduinoで、100mAの負荷を動かす場合を考えます。

  • 抵抗にかかる電圧は 5V − 0.7V = 4.3V。
  • 基本の10分の1なら、IB = 10mA で、R = 4.3V ÷ 0.01A = 430Ω。標準の値から470Ωを選ぶと、IB は約9.1mAです。
  • ピンの負担を抑える20分の1なら、IB = 5mA で、R = 860Ω。近い820Ωを選ぶと、IB は約5.2mAです。

どちらもピンの目安である20mAに収まります。迷ったら470Ωで作り、余裕があれば820Ωに替えて、飽和電圧が大きくならないかを測ると確実です。

なお、ピンの出力電圧は電流が増えると少し下がるので、計算は「おおよその目安」と考えます。大事なのは、ベース電流が足りて飽和していること、そしてピンに無理をさせないことです。

負荷の電流別の目安

ピンの電圧ごとの目安をまとめると、次のようになります。計算しやすいよう、hFEを10〜20として考えています。

負荷の電流 目標のベース電流 5Vのピン 3.3Vのピン
20mA 約1〜2mA 2.2kΩ〜4.7kΩ 1.5kΩ〜2.2kΩ
50mA 約3〜5mA 1kΩ前後 560Ω前後
100mA 約5〜10mA 470Ω〜820Ω 270Ω〜510Ω
200mA 約10〜20mA 220Ω〜470Ω ピンの負担が大きい

200mAを超える負荷では、ベース電流が大きくなり、ピンの負担が無視できません。このくらいの電流からは、後述するMOSFETを検討します。

抵抗が大きすぎるとき、小さすぎるとき

抵抗が大きすぎると、ベース電流が足りず、飽和しません。負荷が暗い、モーターが弱い、トランジスタが熱い、といった症状が出ます。

抵抗が小さすぎると、ベース電流が流れすぎ、ピンに負担がかかります。トランジスタ自体は飽和しているので症状が出にくく、気づきにくいところです。計算でベース電流の値を確かめておきましょう。

ベース抵抗の求め方(1. 負荷の電流を知る、2. ベース電流を決める、3. 抵抗値を計算する、4. ピンの負担を確認)
電流を決めてから抵抗を計算する。

LEDをまとめて点ける例

5VでLEDを6本並列に

5V電源で、赤いLED(順方向電圧2.0V)を10mAずつ、6本同時に点ける場合を考えます。LEDは1本ずつ抵抗を付けて並列にします。

各LEDの抵抗は、トランジスタの飽和電圧を0.2Vとして、(5V − 2.0V − 0.2V) ÷ 0.01A = 280Ω です。近い値の300Ωを選ぶと、1本あたり約9.3mA、6本で約56mAになります。

ベース抵抗は、56mA ÷ 10 = 5.6mA を目標にして、4.3V ÷ 0.0056A = 約770Ω。820Ωを選ぶと、IB は約5.2mAで、倍率は11ほどです。飽和には十分な値と考えられます。

スポンサーリンク

12VでLEDを直列につなぐ

12Vの電源が使えるなら、LEDを直列につなぐ方法があります。赤いLEDを4本直列にすれば、順方向電圧は合計8Vです。抵抗は (12V − 8V − 0.2V) ÷ 0.01A = 380Ω で、390Ωを選ぶと約9.7mAになります。

直列なら電流は10mAで済むので、並列より熱や電源の負担が小さくなります。ただしこの場合は、コレクタ側に12Vがかかることを忘れないでください。ピンに触れる配線を間違えると、Arduinoが壊れます。配線を確かめてから、電源を入れます。

計算の詳しい手順はLEDに付ける抵抗の計算を参照してください。

明るさを変える

トランジスタのスイッチは、後述するPWMと組み合わせると、LEDの明るさを変えられます。Arduinoで可変抵抗を読むの回路と組み合わせれば、つまみで複数のLEDの明るさを一度に変えることもできます。

次のページへモーターを動かす例とダイオード
スポンサーリンク
  1. 秋の戸口に並ぶかぼちゃの明かりとかぶ、麦束
  2. 資料を手に落ち着いて話し合う二人
  3. ノートパソコンと資料、外付け記憶装置がある机
  4. 冬の木で越冬する卵のうやミノムシ、テントウムシ
  5. 青い折り鶴と三角に折った紙、無地の折り紙