NOBのArduino日記!

NOBのArduino日記!

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

PNPダーリントントランジスタアレイの使い方(STA472A)

 
イメージ 5
 
 昨日の記事で使ったSTA302Aより1ch多い4ch持ったPNPトランジスタアレイを使ってみました!

1.PNP・ダーリントントランジスタ・アレイとは?

1.1 PNPとは?
 トランジスタにはNPN型とPNP型が有ります。
 NPN型トランジスタ代表的な物が2SC1815で、PNP型トランジスタの代表的な物が2SA1015です。
 イメージとしてNPN型はマイコン出力HighでトランジスタがONし(LowはOFF)、PNP型はマイコン出力LowでトランジスタがON(HighはOFF)します。

1.2 トランジスタとは?
 トランジスタは電流を増幅する部品です。
 ベース(図1のB)に入った電流を①式で表されるhFE(hybrid forward emitter)倍に増幅された電流がコレクタ(図1のC)からエミッタ(図1のE)間に流れます。

直流電流増幅率(hFE)=コレクタ電流(Ic) ÷ ベース電流(IB)・・・①式
交流電流増幅率(hfe)=コレクタ電流(⊿ic) ÷ ベース電流(⊿ib)・・・②式
 
図1:PNPトランジスタ模式図
 
1.3 ダーリントンとは?
 図2左のように複数のトランジスタを直結したものを「ダーリントン接続」と言い、このようなトランジスタを「ダーリントントランジスタ」と言います。
 トランジスタを複数繋ぐと、繋いだ分だけhFEが掛け算的に大きな値となる利点があります

例:Q1のhFE=63.2倍、Q2のhFE=63.2倍、
  Q1,Q2ダーリントン接続トランジスタのhFE=約4,000倍

 つまりダーリントン接続する事でトランジスタに求められる僅かな電流で大きな電流を制御するという性能があがります。
 
イメージ 3
図2:PNPトランジスタダーリントン接続(左)と、通常の接続(右)例
プルアップ抵抗は省略しています。

1.4 アレイとは?
 アレイとは、配列(する)、整列(させる)、大群などの意味を持つ英単語です。
 同種のものが整然と並んでいる様を表す事から、図3端子図の様に「STA472A」は同じダーリントントランジスタが4つ並んでいる事からダーリントントランジスタアレイと呼ばれます。 
イメージ 4
 
図3:STA472A外観(左上)、寸法()、端子図(左下)
※SIP10Pin:SIP(Single Inline Package)パッケージの片側一列に足を10本出したもの

1.5 STA472Aの使い方
 図3端子図より、2,3ピンと4,5ピンと6,7ピンと8,9ピンはそれぞれ独立したダーリントントランジスタで2つでセットです。
 4つのダーリントントランジスタのVCCは共通なので1,8ピンをVCCに接続します。
 また-側に接続した負荷(今回はLED)の+側を3,5,7,9ピンに接続します。
 最後に2,4,6,8ピンにArduino等の制御信号を入力しますが、そのまま繋ぐとLEDはほぼ光らないので、図4の様に電流制限抵抗を入れる必要が有ります。
 電流制限抵抗の値は以下の式で求める事が出来ます。
 
○電流制限抵抗の算出方法
 図2中の電流制限抵抗を選択する際にはSTA472AArduinoUNOの仕様書より、
 
V:Arduino出力がベースに与える電圧(Highを0Vと考えるのでLowは-5V)
VBE:ベースエミッタ間飽和電圧(-1.9V)
Ic:コレクタ電流(-2A)
hFE:直流電流増幅率(4000)

 電流制限抵抗(Ω) = ( V - VBE ÷ ( Ic ÷ hFE ) = 6,200Ω = 6.2kΩ

と計算できましたが、今回1つの制御信号から4つのトランジスタを駆動するので電流制限抵抗は1kΩを使用しました。

イメージ 3
図4: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の13ピンデジタル出力を3つのPNPトランジスタのベースに接続し、LEDマイコン出力HIGH時に消灯、LOW時に点灯するか確認してみます
 ※図5では図3端子図の通りプルアップ抵抗は内蔵されていますのでブレッドボード上に配線は不要で便利です。

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

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

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

4. まとめ

 4chでも助かりますが、本当は8chのPNPトランジスタアレイが欲しいです!けどなかなか見つかりません
 
イメージ 1 イメージ 3
励みになりますのでよければクリック下さい(^o^)/

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