NOBのArduino日記!

NOBのArduino日記!

趣味は車・バイク・自転車・ラジコン・電子工作です。

PNPトランジスタの使い方(2SA1015)

イメージ 1
PNPトランジスタ(2SA1015)
 

 Arduino UNO常時出力出来る電流は20mA程度と少ないです。LED(15mA程度)を光らせるくらいなら出来ますが、それ以上の電流を必要とする電子部品を動かすには力が足りません。そこで登場するのがトランジスタです。

 トランジスタは電流を増幅する作用が有りますのでマイコンの少ない電流を数百倍に増幅し大きな電流を制御する事が出来る様になります。

 今回は電子工作で良く使われるNPNトランジスタ2SC1815のコンプリメンタリ(complimentary、相互補完・互いに逆の性質を持った1対のセット)であるPNPトランジスタ2SA1015を使ってLEDを光らせてみました。
 

1.トランジスタとは?

 トランジスタは電流を増幅する部品です。
 ベース(図1参照)に入った電流を何倍に増幅出来るかの比率をhFE(hybrid forward emitter)と言い今回使うのは直流ですので①の式で表されます。
直流電流増幅率(hFE)=コレクタ電流(Ic) ÷ ベース電流(IB)・・・①式
交流電流増幅率(hfe)=コレクタ電流(⊿ic) ÷ ベース電流(⊿ib)・・・②式
 
イメージ 2イメージ 1
図1:中:凹んだ方を正面に見た状態、端子左~1,2,3 右:端子を手前に見た状態

1.1 2SA1015トランジスタの種類
 トランジスタのhFE値は、製造時にかなりバラつく為、作った後にhFEの値別に3種類(表1参照)に分類され販売されています。
 今回は一番電流増幅比が高い2SA1015GRを使用しました。
 
表1:2SA1015の種類
種類 電流増幅比(hFE)
2SA1015 O  70~140
2SA1015 Y  120~240
2SA1015 GR 200~400
 
1.2 NPN型とPNP型
 NPN型トランジスタ代表的な物が2SC1815で、PNP型トランジスタの代表的な物が2SA1015です。イメージとしてNPN型はマイコン出力HighでトランジスタがONし(LowはOFF)、PNP型はマイコン出力LowでトランジスタがON(HighはOFF)します。
 
1.3 PNP型トランジスタ接続方法
 PNP型トランジスタを使用する際の一般的な接続方法を図2に示します。

○電流制限抵抗の算出方法
 図2中の電流制限抵抗を選択する際には2SA1015ArduinoUNOの仕様書より、
 
V:Arduino出力がベースに与える電圧(Highを0Vと考えるのでLowは-5V)
VBE:ベースエミッタ間飽和電圧(-1.1V)
Ic:コレクタ電流(-0.15A)
hFE:直流電流増幅率(200)

 電流制限抵抗(Ω) = ( V - VBE ÷ ( Ic ÷ hFE ) = 5200Ω = 5.2kΩ

と計算できましたが、実際にはコレクタ電流の定格-150mAを超えない様に余裕を見て、2倍程度の抵抗(10kΩ)にしておきました。

イメージ 3
図2:PNP型トランジスタ一般的接続方法
 

2. プログラム

 ArduinoUNOからトランジスタを介してLEDを点滅するプログラムは下記の通りです。回路を接続する前にプログラムを書きこんでおきます。
 プログラムの内容としては、1秒周期で13ピンがHIGHとLOWを繰り返します。
 ArduinoUNOの13ピンには基板上にLED取り付けられており、13ピンの状態がHIGH(点灯)なのかLOW(消灯)なのかを目視で確認出来て便利です。
 PNPトランジスタを介したLEDは上記と逆に、13ピンの状態がHIGHで消灯しLOWで点灯します。
 
void setup() {            //一回だけ実行する
  pinMode(13, OUTPUT);    //LEDを接続した13番ピンを出力用に設定する
}
void loop() {             //{}内を無限ループで実行する
  digitalWrite(13, HIGH); //LEDが接続された13番ピンをHIGH(5V)にする
  delay(1000);            //1秒LEDを点灯した状態で止める
  digitalWrite(13, LOW);  //LEDが接続された13番ピンをLOW(0V)にする
  delay(1000);            //1秒LEDを消灯した状態で止める
}
イメージ 1
図1:プログラム例
 

3. つなげ方

 ArduinoUNOのデジタル出力をPNPトランジスタのベースに接続し、LEDマイコン出力HIGH時に消灯、LOW時に点灯するか確認してみます
 ※図3ではプルアップ抵抗は省略しておりますが、マイコンだけが故障して出力がLowとなった場合、PNP型トランジスタは通電しっぱなしになり危険ですので付けた方が良いです。

3.1 回路図
  fritzingでPNPトランジスタを介してLED5個を光らせる回路を以下の通り作りました
イメージ 4
図3:トランジスタを使ったLチカ回路図

3.2 実際に回路を組んでみた
 図3を元に実際に接続した回路です。
イメージ 5
図4:実際の回路

3.3 Lチカ!
 図4回路でArduinoUNOに電源を供給すると、無事ブレッドボード上のLED5個(図5左上)が13ピンLED(図5右下)消灯時に点灯し、13ピンLED灯時に消灯しました
イメージ 6
図5:PNPトランジスタでLチカ
 

4. まとめ

 トランジスタで一般的に良く使われるのは、マイコンHIGHでトランジスタがONになる分かり易いNPNトランジスタで、マイナスの電圧や電流が出てくるPNPトランジスタ嫌煙敬遠されがちですが、使ってみると意外と簡単で応用が効きそうです
 
イメージ 1 イメージ 3
励みになりますのでよければクリック下さい(^o^)/

↩【トランジスタ・FETの使い方!】目次に戻る