デジタル

【マイコン出力増強】トランジスターで「スイッチング」回路を作る

前記事では、トランジスターの増幅作用を簡単な実験で確かめました

せっかくなので、その知識と、オームの法則で設計できる、実用的な電子回路、「トランジスターのスイッチング回路」作ってみたいと思います

オームの法則は、こちらのページで詳しく解説しています

オームの法則「公式」と「計算法」を、わかりやすく解説 オームの法則は、電気を学ぶ上で、避けては通れない公式です 「とにかく苦手」、「計算や使い方がよくわからない」 「いやあ~こ...

トランジスターの構造や「hFE」などは、こちらのページが詳しいです

トランジスターとは何だろう?仕組みを解説します 電子回路のパーツ「トランジスター」 基本的な半導体ですが、いざ勉強しようと思うと、実はなかなか難解です 「いつかは攻略して...

トランジスターのスイッチング回路とは

「増幅作用を持った電子スイッチ」です

「スイッチ」の名前の通り、マイコン出力などでON/OFFするわけですね

スイッチング回路は

①:トランジスターの増幅作用で、入力電圧/電流をより大きくすることができる

②:電子スイッチなので、メカスイッチに比べ、高速動作、高寿命

トランジスターやMOS-FETなど個別素子を使った「スイッチング回路」は

Arduinoなどの「マイコン」、74シリーズなど「デジタルIC」の出力増強に使われます

マイコンなどのデジタル回路は、3.3Vあるいは5V

マイコンやデジタルICの出力は、多くの場合3.3Vあるいは5Vです、電流も多く流せません

直接「モーター」や「リレー」といった負荷を駆動するには、全く力不足です

Arduinoや74シリーズICが、実際に流せる電流はどのくらい?

Arduino Unoに現在使われているマイコン

Atmel ATmega328P では・・・

データシートの絶対最大定格:入出力ピンDC電流

I/O ピンあたりの DC 電流 .. 40 mA

※電源にも電流制限があり、同時に全I/O PINに40mA流せるわけではない

VCC および GND ピン…… 100 mA

74シリーズ、CMOSタイプでは・・・

74HCシリーズ・・・4mA

74ACシリーズ・・・24mA

マイコンやデジタルICの出力電圧は、5Vまたは3.3Vです

もっと高い電圧や、大きな電流を扱う場合は、何らかの工夫が必要です

その一つが、スイッチング回路というわけです

一部のIC製品には、出力ピンが

「オープンコレクタ」や「オープンドレイン」

タイプもあります

(クリックで拡大):オープンコレクタ出力例

オープンコレクタ(ドレイン)出力は、最終段のコレクタ(ドレイン)端子がそのまま出力されています

最終段のトランジスター(MOS-FET)は、マイコン、デジタルICの電源より「高い電圧・大きな電流」を扱えるようになっています

使い方は、「スイッチング回路」と同じです(ベース側の抵抗は不要)

スイッチング回路を作る

それでは、実際にトランジスターのスイッチング回路を作ります

今回は、よく使われる「コレクタ側」に負荷を接続する回路にします

※スイッチング回路は、増幅回路などと比べ

ベース電流を多めに流しますので、

トランジスターのVbeは0.7Vで計算しました

(Vbe=0.6Vとして計算しても動作に問題はありません)

目的・仕様を決める

まず最初に、何をさせたいのかを決めます

目的は

74HCシリーズICの出力で、24Vリレーを駆動したい

目的が決まったら、具体的に電気的な仕様を決めます

74HCシリーズの出力は(5V・4mA)です

24Vリレーは、駆動に(24V・21mA)必要です

設計するスイッチング回路の仕様は

入力:5V・4mA未満で(電流は少ない程良い)

出力:24V・21mA以上(出力電流は大きいほど良い)

※そのための回路構成と、耐圧がある素子が必要

回路を選ぶ

仕様が決まったら、それを実現するための「回路」と「素子」を選びます

全体の回路イメージはこんな感じです

(クリックで拡大)

回路は、前述したコレクタ側に負荷を接続する「スイッチング回路」です

74HC00(NANDゲート)から出力を受けて

24Vリレーを駆動させます

※リレーコイルに「並列」にダイオードを入れます

これは、還流ダイオード(フライホイール・ダイオード)と呼ばれます

誘導性負荷の逆起電力から、半導体を守るために必要です

ダイオードの向きに注意

通常では電流が流れない向きにつなぎます

抵抗:R1・R2の役割

下図のスイッチング回路で、R1・R2について考えてみましょう

(クリックで拡大)

R2の役割

「IN」に0.6V前後より、高い電圧がかかると

トランジスターQ1が「ON」になり、コレクタ電流が流れます

この時、抵抗R2が無いと、ベース電流が多量に流れ、トランジスターが破損します

これを防ぐたため、ベース電流を制限する役割がR2です

R1の役割

「IN」がオープン時でも、確実にOFFするようにR1を入れます

トランジスターは、わずか0.6V近くでONしますので、

R1でベースを「確実にGND電位」に引張っておくわけです

また、トランジスターがON→OFF時

コレクタ側PN接合に溜まった「電荷」を放電させる役目もあります

少しですが、OFFスピードが早くなります

R1は10KΩ~22KΩ位が一般的です

まとめると、こんな感じです

(クリックで拡大)

トランジスターを選ぶ

トランジスターは、負荷(リレー)の24V、21mA以上を十分満たすものが必要です

今回は2SC1815を選びました

2SC1815の絶対最大定格

  • コレクタ・エミッタ間電圧 :50V
  • コレクタ電流 :150mA
  • ベース電流 :50mA
  • コレクタ損失 :400mW(25℃)

hFEは100以上あれば十分でしょう

最低のhFEを限定するため、Yランク以上にします

コレクタ損失=VcexIc

トランジスターの「コレクタ(C)ーエミッタ(E)」電圧(Vce)

とコレクタ電流(Ic)の積で、これは全て熱になります

2SC1815は、十分ベース電流を流せば

Ic=20mA前後では、Vce≒0.1V位です

仮にVce=0.5Vとしても

0.5Vx21mA ≒ 10mWです

コレクタ損失は400mWですから、十分余裕があります

回路の定数を計算

まず、わかる部分から計算してみましょう

(クリックで拡大)

2SC1815(Y)のhFEは最低120ですが、100として・・・

①hFE100で、IC=21mAを流すには

21mA/100 =210μA 

(IBは最低210μA必要です)

R1は一般的に「22kΩ~10kΩ」位です

今回は、22KΩにします

②R1に流れる電流I1は・・・

Vbe≒0.7、R1=22KΩとすれば

I1=0.7V/22KΩ ≒ 32μA

また、実際の回路では「IBを多め」に流します

③通常、最低必要なIBの1.5~2倍以上流します(オーバードライブ)

IB= 315~420μA以上

オーバードライブは、hFEのバラツキや温度変化などに対し

トランジスターを安定動作させるためです

上記のIBとI1を合計した電流を、74HC00から流せればよいので

④R2に流れる電流I2は・・・

420μA+32μA=452μA

ざっくり500μA(0.5mA)として・・・

0.5mA << 4mA (74HC出力電流)

十分満たしていますので、OKです

そして、R2を計算します

⑤R2を計算します

R2両端の電圧は5Vと0.7Vですから

(5-0.7)=4.3V

R2は4.3V印加で0.5mA流れる抵抗ですから

4.3V/0.5mA=8.6KΩ

抵抗のラインナップで近い値は・・・8.2KΩ

※8.2KΩ時の電流は、約524μA(0.524mA)

これで抵抗値が

R1=22KΩ

R2=8.2KΩ

と求められました

実験してみましょう

それでは、設計した回路をブレッドボードで組んでみます

今回使った半導体、74HC00と2SC1815です

ブレッドボード全面写真

(クリックで拡大)

上の電源ラインが5V(安定化電源から供給)

下の電源ラインが24Vです(左端のACアダプタジャックから供給)

左の黒い箱がリレーです

5Vと24Vのマイナス側は、配線をつなぎ「共通GND」とします

今回は中央のLEDをリレーで制御します

(クリックで拡大)

74HC00周辺

右の黄色線が機械スイッチにつながっています

74HC00は(PIN1・2・3)のゲートだけを使っています

未使用のゲートは

  • 入力ピン=GND
  • 出力PIN=オープン

として、誤動作を防ぎます

(クリックで拡大)

リレー周辺です

右からの抵抗がR2(8.2KΩ)

下(GND)へ繋がっている抵抗がR1(22KΩ)です

別角度から

(クリックで拡大)

今回はリレーでLEDを点灯させました

リレーは、AC100Vや、信号(スピーカー出力など)をON/OFFすることができます

原始的な手法ですが、簡単で実用的な回路です

トランジスターのVceを実測

トランジスターOFF

トランジスターがOFF時:Vceにはリレー側の電源電圧(24V)が印加されます

トランジスターON

トランジスターがON時:Vce=116mV(0.116V)です

この時、トランジスターに触れても、発熱はないです

つまり、リレーコイルには、ほぼ24Vの電圧がかかります

もし、LEDなどをスイッチング回路で直接点灯させる場合

LEDの電流を制限する抵抗などが必要です

3.3Vでも使える回路にする

(クリックで拡大)

Arduino MKRシリーズなど「3.3V出力」でも使用できるよう

3.3V/5Vどちらでも使用可能な回路にしてみました

3.3Vで、I2を500μA(0.5mA)流すため

R2を4.7KΩにしました

I2は・・・

  • 3.3V時:I2≒553μA
  • 5V時 :I2≒915μA

となります

もっと大きな電流を制御するには

トランジスターの「ダーリントン接続」です

(クリックで拡大)

ダーリントン接続にすると、トータルhFEは「各トランジスターの積」になります

Q1:hFE100 Q2:hFE50として

トータルのhFEは:100x50=5000

つまり、小さな電流で、さらに大きな電流をコントロールできるわけです

パッケージ内でトランジスターを「ダーリントン接続」した

ダーリントントランジスター

もあります

上図は「LTSpice」でシュミュレーションしたものです

5V・約700μA(0.7mA)の入力で、24V・1Aもの電流を制御しています!

※ただ、注意点もあります※

(クリックで拡大)

※Vbeは、トランジスターの段数分増える

  • 2段ダーリントンでは、Vbeも2倍分(およそ1.2~1.4V位)になります

※2段目トランジスターのVceは、0.6V以下にならない

  • Q2の「Vbe2」>0.6V (Q2がONするため必要)
  • Q2のベースは、Q1のエミッタにつながっている(Q1のエミッタ電位>0.6V
  • Q1のVce≒0.1V(Q1のコレクタ電位は>0.7V)
  • そして、「Q1のコレクタ電位=Q2のコレクタ電位」です

もし、Q1のVce=0Vだとしても、Q2のVceは「0.6V以下」になりません

問題なのは、ダーリントン接続は、Q2のコレクタ損失(PC)が大きくなりやすい

つまり、Q2が発熱しやすいことです

  • Q1がわずか1~2mWなのに対し
  • Q2はなんと、744mWです

コレクタ損失(PC)の大きなトランジスターを選ぶことも必要ですし、

場合によっては、Q2に放熱対策(ヒートシンク)が必要になります

おまけ(抵抗内蔵トランジスタ)

R1・R2を内蔵したトランジスターがあります

DTCシリーズという製品から、DTC114を使ってみました

通称デジトラと呼ばれていて、DTCシリーズ以外に他メーカーの製品もあります

(クリックで拡大)

今回のように、比較的少ない電流をドライブする用途では、部品削減になり重宝します

ただ、もっと大きな電圧/電流を扱う場合は、自分で設計する必要がありますので

基礎を知っておくことは大切なことですね