トランジスタの初歩
今さらながら、トランジスタ(ここではNPN型)のスイッチング機能を確認。
確認内容
トランジスタがONになると(ある程度の電流をベースに流すと)、コレクタに電流が流れ始める(エミッタへ)。回路的には次のようなもので、コレクタ部にLEDが接続されている。
一般的に、「ベース」と「エミッタ」の間の電圧が0.7V以上になると、ONになるらしい。下記サイトなど数多くのサイトで、そういった記載がある。
そこで、電子ポテンショメーターを用いて、ベースに掛かる電圧を変化させ、LEDのON状況、コレクタ電流を観察する。また、ベース抵抗も変化させる(10KΩと1KΩ)。
電子ポテンショメーターを操作するソースコード
こちらの回「エレキ素人が何か考える(その6:ツェナーダイオード;失敗?)」のコードと全く同じ。Arduino互換機で制御。
#include <SPI.h>
#define W_ADDR 0x00
#define R_ADDR 0x0c
#define CS 10
void setup() {
pinMode(CS, OUTPUT);
SPI.begin();
Serial.begin(9600);
digitalPotWrite(127); // 0: Vwb=0V;Vaw=Max 127: Vwb=Max;Vaw=0V
delay(10);
int r_val = digitalPotRead();
Serial.print("Read "); Serial.println(r_val);
}
void loop() {
while (Serial.available()) { // Waiting for writing data (0-127)
String data = Serial.readStringUntil('\n');
int w_val = data.toInt();
Serial.print("Write "); Serial.println(w_val);
digitalPotWrite(w_val);
delay(10);
int r_val = digitalPotRead();
Serial.print("Read "); Serial.println(r_val);
}
delay(10);
}
int digitalPotWrite(int value) {
digitalWrite(CS, LOW);
SPI.transfer(W_ADDR);
SPI.transfer(value);
digitalWrite(CS, HIGH);
}
int digitalPotRead() {
int val;
digitalWrite(CS, LOW);
SPI.transfer(R_ADDR);
val = SPI.transfer(255); // Must be 255, instead of 127
digitalWrite(CS, HIGH);
return val;
}
シリアルコンソールから入力された数値(0-127)により、ポテンショメーターの出力電圧(ベース電圧)をコントロールするもの。
実際の状況
ブレッドボード右にあるものがトランジスタ、左にあるものが電子ポテンショメーターである。
検証
まず、PCからの入力値と測定したベース電圧(V)は下記となる。
値 | 10 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 25 | 26 | 27 | 30 | 40 | 50 | 127 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
V | 0.42 | 0.57 | 0.61 | 0.64 | 0.68 | 0.71 | 0.75 | 0.79 | 0.95 | 0.98 | 1.02 | 1.11 | 1.42 | 1.72 | 4.97 |
LEDの点灯開始
LEDの点灯が開始される電圧は下記となった。
ベースに接続される抵抗値 | ベース電圧(V) |
---|---|
1KΩ | 0.64 |
10KΩ | 0.68 |
おおよそ、0.7V程度から、トランジスタがONになることを確認。
コレクタ電流測定
ベース電圧とベースに接続される抵抗値をパラメータとして、コレクタ電流(mA)を測定してみた。
V | 0.42 | 0.57 | 0.61 | 0.64 | 0.68 | 0.71 | 0.75 | 0.79 | 0.95 | 0.98 | 1.02 | 1.11 | 1.42 | 1.72 | 4.97 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1KΩ | 0 | 0 | 0 | 0.00 | 2.45 | 5.01 | 7.91 | 9.50 | 9.94 | 9.89 | 9.81 | 9.93 | 9.85 | 9.88 | 9.98 |
10KΩ | 0 | 0 | 0 | 0 | 0.00 | 1.08 | 2.64 | 3.47 | 7.79 | 8.56 | 9.08 | 9.54 | 9.74 | 9.84 | 9.88 |
上記の”0.00”は、それぞれの抵抗値においてLEDが点灯開始した時のデータである。
- ある程度の電圧以上では、コレクタ電流値は一定値となっている。これは、今回用いたLED(最大10mA程度)の特性であろう。
- 10KΩでLEDが点灯を開始したときの次の電圧は0.71Vである。ここから単純計算。ベース電流は0.71V/10KΩ=71μA、この時のコレクタ電流は1.08mA、1.08mA/71μA=15.21が増幅率(hFE)となる。
利用したNPNトランジスタ2N3904のデータシートによると、状況により、もっと高いhFEが期待できるようである(100以上の3桁の数値も見える)。そこで、4個のLEDを並列にコレクタ部に接続し、コレクタ電流を測定。
この時の、抵抗値は10KΩ、電圧は4.97Vである。単純計算すると、
- ベース電流:4.97V/10KΩ = 497μA
- 増幅率(hFE):39.4mA/497μA = 79
となった。おそらく、hFEの実力値はもっとありそう。
まずは、機能を確認。
EOF