NOBのArduino日記!

NOBのArduino日記!

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

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

 

 昨日の記事で使いましたNPNダーリントントランジスタアレイSTA301Aのコレクタベース間耐電圧は約「60V」ですが、こちらのSTA303Aは約「100V」となっています。そんな高性能なSTA303Aを使って無駄にLEDを3つ光らせてみました

※文章は前回の記事ほぼ使いまわしですが写真はしっかり取り直しています!

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

1.1 NPNとは?
 トランジスタには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:NPNトランジスタ模式図
 
1.3 ダーリントンとは?
 図2左のように複数のトランジスタを直結したものを「ダーリントン接続」と言い、このようなトランジスタを「ダーリントントランジスタ」と言います。
 トランジスタを複数繋ぐと、繋いだ分だけhFEが掛け算的に大きな値となる利点があります

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

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

1.4 アレイとは?
 アレイとは、配列(する)、整列(させる)、大群などの意味を持つ英単語です。
 同種のものが整然と並んでいる様を表す事から、図3端子図の様に「STA303A」は同じダーリントントランジスタが3つ並んでいる事からダーリントントランジスタアレイと呼ばれます。 

イメージ 1
図3:STA303A外観(左上)、寸法()、端子図(左下)
※SIP8Pin:SIP(Single Inline Package)パッケージの片側一列に足を8本出したもの

1.5 STA301Aの使い方
 図3端子図より、2,3ピンと4,5ピンと6,7ピンはそれぞれ独立したダーリントントランジスタで2つでセットです。
 3つのダーリントントランジスタのGNDは共通なので1,8ピンをGNDに接続します。
 また+側に接続した負荷(今回はLED)の-側を3,5,7ピンに接続します。
 最後に2,4,6ピンにArduino等の制御信号を入力しますが、そのまま繋ぐとLEDはほぼ光らないので、図4の様に電流制限抵抗を入れる必要が有ります。
 電流制限抵抗の値は以下の式で求める事が出来ます。

○電流制限抵抗の算出方法
 図2中の電流制限抵抗を選択する際にはSTA303AArduinoUNOの仕様書より、
V:Arduino出力がベースに与える電圧(Highで5V)
VBE:ベースエミッタ間飽和電圧(1.8V)※STA303AのSDSIC-VBE温度特性」より
Ic:コレクタ電流(4A)
hFE:直流電流増幅率(1000)
 電流制限抵抗(Ω) = ( V - VBE ÷ ( Ic ÷ hFE ) = 800Ω

 と計算できましたが、実際にはコレクタ電流の定格4Aを超えない程度に余裕を見て、1kΩにしておきました。

図4:電流制限抵抗の入れる場所
 

2. プログラム

 ArduinoUNOからSTA301Aを介してLEDを点滅するプログラムは下記の通りです。回路を接続する前にプログラムを書き込んでおきます。
 プログラムの内容としては、0.5秒周期で2~4番ピンが順番にHIGH(その他はLOW)となります

 

void setup() {
  for (int i = 2; i <= 4; i = i + 1) {
    pinMode(i, OUTPUT);
  }
}

void loop() {
  for (int i = 2; i <= 4; i = i + 1) {
    digitalWrite(i, HIGH);
    delay(500);
    digitalWrite(i, LOW);
  }
  digitalWrite(3, HIGH);
  delay(500);
  digitalWrite(3, LOW);
}
イメージ 1
図1:プログラム例

  

3. 実験!

 ArduinoUNO の2,3,4デジタル出力ピンをSTA303Aの2,4,6ベースピンに接続し、LEDが順番に点灯するか確認してみます
 ※STA303Aには図3端子図の通り、既に2つのプルダウン抵抗が内蔵されておりますので回路がシンプルに作れて便利です。

3.1 回路図
  fritzingでSTA303Aを介してLED3個を光らせる回路を以下の通り作りました
図5:STA303Aを使ったLチカ回路図

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

3.3 Lチカ!
 図6回路でArduinoUNOに電源を供給すると、無事ブレッドボード上のLED3個が順番に点灯しました!
イメージ 4
図5:STA303AでLチカ!
 

4. まとめ

 個人的には100Vを使うことは殆どないので、100V迄が扱えるSTA303Aよりも、60V迄が扱えるSTA301Aで大概何とかなりそうです
 在庫?で欲しかったので近所のマルツさんに買いに行ったところ2個580円でGET!ついでに買う予定のは無かったのですがラジコンを修理出来そうな部品を15個3千円位買って来ました。
 息子が壊れたラジコンをミニカーの様に押して遊んでいるので直そうかと思います。
 
イメージ 1 イメージ 3
励みになりますのでよければクリック下さい(^o^)/

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