トランジスタをマイコン出力のスイッチとして使う方法(1/2)

(2/2)   〔ブラウザーの戻るを使用して戻って下さい〕


ここの記述は、トランジスタを使用して単純にスイッチの様にON/OFFをさせる場合の記事です、
FET使用はこちらを参照下さい。

マイコン(Arduino,PIC)のデジタル出力はMAX25mA(常時20mA位)までなので、
LEDぐらいしか直接接続できません。
トランジスタで一旦受けてから出力すれば15A位までは電流を流す事が出来る様になります。

トランジスタの役割は、
小さい信号(電流)を大きな信号に変換する増幅と言う働きがあり、約100〜700倍に電流を増幅する能力があります。
また、電気的なスイッチ作用もあり、小さい電流で、大きな電流の部品をON/OFFできます。
今回はこの[スイッチ作用]を利用した説明です。

トランジスタは、「BJT」と「FET」の2種類に分かれています、それでBJTがトランジスタの事です。
そのトランジスタは「PNP」と「NPN」の2種類が有ります。また、電気回路の略語は「Tr」と書きます。

トランジスタ1 この図は、2SC1815(NPN)のデータシートから一部抜粋したものです。

マイコンからのスイッチング用はこの2SC1815GRで大丈夫でしょう、安いし。
GRは、電流増幅率(hFE)が200倍〜400倍と言う事です。
(O:70-140 Y:120-240 GR:200-400 BL:350-700)

また、写真の様にトランジスタの表記は2Sが省いて有ります。



データシートの見るポイントは(数値は2SC1815GRの場合です)

何倍まで増幅できるか?
 直流電流増幅率[DC current gain](hFE = 200〜400)
負荷は最大何ボルトまで接続できるか?
 コレクタ・エミッタ間電圧[Collector-emitter voltage](Vceo = 50V)
 半分の25V位で使うようにしましょう。
負荷は最大何アンペアまで流せるか?
 コレクタ電流[Collector current](Ic = 150mA)
 コレクタ損失(Pc)が400mWで、回路電圧5Vなら、(400/5=80mA)の計算で80mA位までとしましょう。
 (もっと流したい場合は他のトランジスタを使いましょう!)
マイコン側の電流は最大何アンペアまで流せるか?
 ベース電流[Base current](Ib = 50mA)
 負荷に80mAまで流すとなるとベースに流す電流は0.4mA以下となります。(下記計算を参照)

マイコンの出力ピン電圧
マイコンの出力ピンを1(HIGH:ON)とした場合、電源電圧(VDD)が5Vとすると。
PICは、VDD-0.7Vです、なら5V-0.7V=4.3V出力されます。
Arduinoは5Vなら4.2Vとデータシートに書いてありました。
マイコンの出力ピンを0(LOW:OFF)とした場合は、
PICは0Vでなく0.6V程出力されます。
Arduinoは0.9Vと書いてありました、ちょっとぉ高くないかい?

トランジスタ2 NPNトランジスタの接続回路
マイコンの出力をHIGH(ON:5V)にすると負荷に電流(C-E間)が流れます。
この時の、マイコンからトランジスタ(B)に流れる電流を「ソース電流」と言います。
また、2SC1815のベース・エミッタ間飽和電圧[Base-emitter saturation voltage](Vbe)は、 1.0Vなのでこれより低い電圧だと負荷に電流は流れなくなります。
PICのLOW(OFF)時は0.6Vより低い電圧が出力されるらしい。

通常はこの接続方法でOKでしょう。


トランジスタ3 PNPトランジスタの接続回路
マイコンの出力をLOW(OFF)にすると負荷に電流(E-C間)が流れます。
この時の、トランジスタ(B)からマイコンに流れる電流を「シンク電流」と言います。

B・C・Eの足向きがNPN型と異なるので注意です。
2SC1815がNPNなら2SA1015等がPNPとなります。


抵抗R1の計算方法(2SC1815GRの場合での計算例です)

@ ベースに流す電流 = 負荷の電流 ÷ 直流電流増幅率
A 抵抗R1 = (マイコンの出力電圧 − ベース・エミッタ間飽和電圧)÷ ベースに流す電流

例) 負荷の電流を100mAとして直流電流増幅率(hFE)は200〜400倍なので200倍とする。
   @ 100÷200=0.5だから、0.5mAがベースに流す電流です。
   ここで、周囲温度やトランジスタがON状態になるとhFEは低下するらしいです、
   だから、0.5mAを2倍〜3倍にして計算します。(0.5mA x 2 = 1mAで計算します)
   つぎに、
   A (5V−1.0V)÷0.001A=4000Ω(4kΩ)
   よって、抵抗R1=4kは無いので少し小さい方向で選び3.9kΩにする。

抵抗R2について

以下の理由で抵抗R2を入れた方が良いらしいです、抵抗値はR1と同じ値でOKですね。
・コレクタしゃ断電流(ICBO=0.6uA)の為にベースに漏れ電流が流れる、
 これにより(ICBO x hFE:0.6uA x 200)0.12mAの電流がコレクタに流れるのでその電流を逃がす必要
 が有る。
・ベースの入力に、トライステート出力やオープンコレクタ出力やスイッチなどを繋いだ場合に
 その信号がオープンになる可能性があり、オープンになるとICBOの漏れ電流の影響により
 コレクタ電流が不安定になります、よって確実にトランジスタをON/OFFさせる必要が有ります。
・また、抵抗R1が断線した時や、R1の値が非常に大きい時において、外来ノイズにより
 トランジスタがON してしまう可能性が有るのでこれを防ぐ役目も有ります。

実際の回路

トランジスタ5
PICのGP4(3番ピン)からHIGH(ON:5V)を出力すればLEDが点灯する回路です。
この使用している小型リレーはコイルに電流が30mA流れます、 PICは20mA程しか流せません、2SC1815は150mAまでOKなので トランジスタで一旦受けて動作させる必要が有ります。

抵抗R1の計算

トランジスターのC−E間に流す電流はリレーの30mAです。
2SC1815GRの直流電流増幅率(hFEは200-400)200倍なら、トランジスターのBに流す電流は、
上記載の@より、30÷200=0.15mAを2倍にして0.3mA流すとします。
そしてAから、 (5V−1.0V)÷0.3=13.3KΩですね。
よってぇ、13kΩ以下の抵抗ですがぁ、手持ちに10kΩしかないのでR1=10kΩとしました。
ちなみに、
トランジスターのC−E間に流す電流はMAX150mA、上に書いた様に80mAまでとすると
80÷200=0.4mAなら(5V−1.0V)÷0.4=10kΩ
10kΩこの辺りまでが2SC1815の使用可能抵抗値でしょうかね。
ああ、だからR1が10KΩってのが多いんですかね!

逆起電力

この回路のごとく負荷にリレーやモータ等のコイル負荷を接続する場合は、
コイルの入切り時に逆向きの高い電圧がコイルの両端に発生します、これを逆起電力と言います。
この逆起電力によりトランジスタが壊れるので、上図の様にダイオード(1N4007)を取付けて逆起電力を流します。
(でもぉ、モータを接続するならFETを使用した方が良いと思います)

スイッチング動作 *1)

スイッチング動作図1 左の様にトランジスタでON/OFFを行う際は入力信号に対して出力信号は遅れてしまします、 なので、数10KHz以上でON/OFFやPWMを出力する場合はデュティ比が変わってしまったりします。
高速でON/OFFをしないなら良いのですが、PWM制御を行う場合にはスピードアップコンデンサを 取り付けます。

スイッチング動作図2 コンデンサはこの様にR1抵抗と並列に入れます、 コンデンサの値は数100pF当たりから200pF・1000pFと段々にカット・アンド・トライするしかなさそうです。
オシロスコープが有れば分かりやすいのですがね、周波数やデュティ比等を測定できるテスター有れば良さそうな気もしますね。



次ページでは[スイッチ作用]をトランジスタアレイ(TD62004AP)を使った場合の記事です。
[次ページへ(2/2)]




追記(*1) 2012/6/19


【きむ茶工房ガレージハウス】
Copyright (C) 2006-2011 Shigehiro Kimura All Rights Reserved.