自作hFE測定器 第五回(終)ケーシング・完成 | さささっのブログ

さささっのブログ

さささっの日常を書いていきます


前回記事はこちら↓
第一回ブレッドボード
第二回LCD表示

第三回基板組立・ケース加工

第四回PNPトランジスタ対応

第五回(終)ケーシング・完成
           ←イマココ
------------------------------

Arduinoを利用したhFE測定器の製作、LCDの不調などにより少し遅れていましたが、ついに完成です。

パネルは第三回記事でつけ忘れたトランジスタの取り付けポートを設置しました。使用した部品は...分からないですごめんなさい。丸ピンフレームとかそんな名前だった気がするのですが秋月でヒットしません(だれかご存じの方コメント欄に。)


基板は完全に取り外しができるよう(メンテナンスの理由)、 すべてピンヘッダを利用しています。そのため、電源コネクタはこんな感じに。スイッチをもうけるためにプラス側電源を上に持って行きます。


動作試験とか


そして、パネル部と基板部に接続ができるよう専用のケーブルを自作します。使うモノはピンヘッダとピンソケットが主。LED類も基板側に抵抗をつけているので、単体で線をのばすだけです。LED本体を瞬間接着剤でフロントパネルのあなに固定し、周りを木工用ボンドで(グルーガンがあるとなお良いかと)で固めます。


マイコンに書き込むプログラムは以下の通りになりました。

<<条件>>
1. LCDは(RS, R/W, E, DB4, DB5, DB6, DB7)をそれぞれ(13, 12, 11, 10, 9, 7, 8)ピンに接続する
2. LEDは(NPN, PNP)表示をそれぞれ(2, 1)ピンに接続する
3. V1, V2, V3はそれぞれArduinoのAnalog In端子の0,1,2ピンに接続する
4. #define欄には抵抗および電圧値の実測値を入れる

-------------------

#define Vcc 5.01
#define R1 99100
#define R2 99.3
#include <LiquidCrystal.h>

LiquidCrystal lcd(13,12,11,10,9,7,8);

void setup()
{
  pinMode(2,OUTPUT);
  pinMode(3,OUTPUT);
  lcd.clear();
  lcd.begin(16,2);
}

void loop()
{
  float V1 = analogRead(0);
  float V2 = analogRead(1);
  float V3 = analogRead(2);
  float Vbe, Vce, Ib, Ic, hFE;
  char out_Ic[16];
  char out_hFE[16];
  char out_Vbe[16];
 
  V1 = Vcc * V1 / 1023;
  V2 = Vcc * V2 / 1023;
  V3 = Vcc * V3 / 1023;
 
  if(V1>V2){
    digitalWrite(2,HIGH);
    Vbe = V2;
    Vce = V3;
    Ib = (V1 - V2) / R1;
    Ib = Ib * 1000;
    Ic = (Vcc - V3) / R2;
    Ic = Ic * 1000;
  }
 
  else{
    digitalWrite(3,HIGH);
    Vbe = Vcc - V2;
    Vce = Vcc - V3;
    Ib = (V2 - V1) / R1;
    Ib = Ib * 1000;
    Ic = V3 / R2;
    Ic = Ic * 1000;
  }
 
  hFE = Ic / Ib;
 
  dtostrf(Ic,3,1,out_Ic);
  dtostrf(Vbe,3,2,out_Vbe);
  dtostrf(hFE,3,0,out_hFE);
 
  lcd.setCursor(0,0);
  lcd.print("Ic =");
  lcd.print(out_Ic);
  lcd.print("mA");
  lcd.setCursor(12,0);
  lcd.print("hFE");
  lcd.setCursor(0,1);
  lcd.print("Vbe=");
  lcd.print(out_Vbe);
  lcd.setCursor(8,1);
  lcd.print("V");
  lcd.setCursor(12,1);
  lcd.print("=");
  lcd.print(out_hFE);
 
  delay(2000);
  digitalWrite(2,LOW);
  digitalWrite(3,LOW);
  lcd.clear();
}


-------------------

以下のプログラムを書き込み(ATmega168Pに入ります)、動作させました。

NPNですので、左側の赤LEDが点灯しています。右側のボリュームを回すと、電流がかわり、Icをモニターすることができます。2SC1815GRの測定ですが、確かにGRランク内のhFEです。


PNP動作時

絶対値表示ですので、IcおよびVbe共に-はつきません(スペース取ってまでつける必要はないと判断)


2SA1015Yを測定ですが、たしかにYランク内のhFEです。


というわけで、完成となりました。回路図等は後日気が向いたらあげようかなと思います。コンプリメンタリペアを組みたい場合は同じ電流条件でのhFEを測定して取得したいので、今回のようなボリュームで電流調節をできるようにしたのは良かったです。アンプ製作等で役に立つ科と思います。


以上です。