elechobby:picdic:pic16f88:80

hFEテスターV2

以前にも、hFEの測定の実験をしたことがあります。
今回は、もう少し実用的になるようにしてみました。

基本的な原理は、hFEの測定の実験と同様です。
改良のポイントは、

  • PNPトランジスタ(例えば、2SA1015等)の測定も可能とする。
  • ベース電流の微調整(FineTune)が出来るようにする。

SW1がOFFでNPN、ONでPNPが測定できます。

EasyHfeMeter.c
//********************************************************************** 
 
void	main()
{
	float	v1, v2, v3, v4, ib, ic;
	char	buf[10];
	//
	OSCCON = 0b01110000;	// クロックは8Mhz 
	CMCON  = 0b00000111;		// コンパレータは使用しない。
	ANSEL  = 0b11000011;		// A/D変換を使用する。 
	TRISA  = 0b11100011;
	TRISB  = 0b11110000;
	OPTION_REG.F7 = 0;
	//
	Lcd_Custom_Config(&PORTB, 3, 2, 1, 0, &PORTA, 2, 3, 4);
	Lcd_Custom_Cmd(LCD_CLEAR);
	Lcd_Custom_Cmd(LCD_CURSOR_OFF);
	//
	while (1) {
		if (PORTA.F5 == 1) {
			Lcd_Custom_Out(1, 12, "(NPN)");
			v1 = Adc_Read(1) *  4.8828125;
			v2 = Adc_Read(0) *  4.8828125;
			v3 = Adc_Read(5) *  4.8828125;
			//
			ic = (5000.0 - v3) * 10;	//μAに換算する。 
			ib = v1 - v2;				//μAに換算する。
		} else {
			Lcd_Custom_Out(1, 12, "(PNP)");
			v1 = Adc_Read(1) *  4.8828125;
			v2 = Adc_Read(0) *  4.8828125;
			v4 = Adc_Read(6) *  4.8828125;
			//
			ic = V4 * 10;				//μAに換算する。 
			ib = V2 - v1;				//μAに換算する。
		}
		//
		WordToStr(ib, buf);
		Lcd_Custom_Out(2, 1, "Ib=");
		Lcd_Custom_Out(2, 4, &buf[1]);
		//
		WordToStr(ic, buf);
		Lcd_Custom_Out(2, 9, "Ic=");
		Lcd_Custom_Out(2, 12, buf);
		//
		WordToStr(ic / ib, buf);
		Lcd_Custom_Out(1, 1, "hFE=");
		Lcd_Custom_Out(1, 5, &buf[1]);
		//
		Delay_ms(500);
	}
}
 
//**********************************************************************

いつものブレッドボードで確認しました。

ベース電流調整用の半固定ボリュームです。

左側:2SC1815
右側:2SA1015


左側:2SC4408
右側:2SA1680


流石にコンプリペア(極性が逆でほぼ同じ特性のトランジスタ)は、ほぼ同じ値になりますね。

著作権表示 copyright notice

このページは稲崎様の閉鎖したHPのコピーで、著作権は稲崎様にあります。詳細
This page is a copy of Mr. Inasaki's closed website, and the copyright is held by him.Details
  • elechobby/picdic/pic16f88/80.txt
  • 最終更新: 2025/10/17 14:29
  • by 127.0.0.1