0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

エレキ素人が何か考える(その21):今さらながらトランジスタ

Posted at

トランジスタの初歩

今さらながら、トランジスタ(ここではNPN型)のスイッチング機能を確認。

確認内容

トランジスタがONになると(ある程度の電流をベースに流すと)、コレクタに電流が流れ始める(エミッタへ)。回路的には次のようなもので、コレクタ部にLEDが接続されている。
スクリーンショット 2023-03-11 18.01.47.png
一般的に、「ベース」と「エミッタ」の間の電圧が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
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)を測定してみた。

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を並列にコレクタ部に接続し、コレクタ電流を測定。

IMG_6591_2.jpg

この時の、抵抗値は10KΩ、電圧は4.97Vである。単純計算すると、

  • ベース電流:4.97V/10KΩ = 497μA
  • 増幅率(hFE):39.4mA/497μA = 79

となった。おそらく、hFEの実力値はもっとありそう。

まずは、機能を確認。

EOF

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?