無線電子工学および電気工学の百科事典 ダイオードとバイポーラトランジスタのテスター。 無線エレクトロニクスと電気工学の百科事典 最新のテスター(マルチメーター)のほとんどには、ダイオードや場合によってはトランジスタをテストするための機能が組み込まれています。 ただし、テスターにこれらの機能がない場合は、ダイオードとトランジスタのテスターを自分の手で組み立てることができます。 以下は、PIC16F688マイクロコントローラーに基づくテスタープロジェクトです。 ダイオードをテストするロジックは非常に単純です。 ダイオードは、一方向にのみ電流を流すことが知られている PN 接合です。 したがって、動作中のダイオードは一方向に電流を伝導します。 ダイオードが両方向に電流を流す場合、ダイオードは動作しません - 壊れています。 ダイオードがどちらの方向にも導通しない場合、ダイオードも機能していません。 このロジックの回路実装を以下に示します。 このロジックは、ベースとエミッタ間 (BE 接合) とベースとコレクタ間 (BC 接合) の 3 つの PN 接合を含むバイポーラ トランジスタ テストに簡単に適用できます。 両方の接合が一方向にのみ電流を流す場合、トランジスタは動作していますが、そうでない場合は動作していません。 電流の伝導方向を決定することで、pnp トランジスタまたは npn トランジスタのタイプを識別することもできます。 トランジスタをテストするために、マイクロコントローラーは XNUMX つの入力/出力を使用します トランジスタテストシーケンス: 1. 出力 D2 をオンにして (1 に設定)、D3 と D1 を読み取ります。 D3 に論理ユニットがある場合、BE 接合は電流を流し、そうでない場合は電流を流しません。 D1 が XNUMX の場合、BC は電流を流し、それ以外の場合は電流を流しません。
さらに、BE と BC が電流を導通する場合、トランジスタは npn 型で動作します。 ただし、EB と CB が電流を導通する場合は、pnp 型トランジスタも動作します。 それ以外のすべての場合 (たとえば、EB と BE が電流を導通する、または BC と CB の両方の遷移が導通しないなど)、トランジスタは非動作状態になります。 ダイオードおよびトランジスタテスターの回路図と説明 テスターの回路は非常にシンプルです。 デバイスには、Select (選択) と Detail (詳細) の 2 つのコントロール ボタンがあります。 [選択] ボタンを押すと、テスト タイプが選択されます: ダイオード テストまたはトランジスタ テスト。 詳細ボタンはトランジスタ テスト モードでのみ機能し、LCD 画面にはトランジスタのタイプ (npn または pnp) とトランジスタ接合の導通状態が表示されます。 テスト対象のトランジスタの1つのレッグ(エミッタ、コレクタ、ベース)は、0kΩの抵抗を介してグランドに接続されています。 テストには、PIC1F2マイクロコントローラのピンRA16、RA688、およびRA1が使用されます。 ダイオードをテストするために、EとKの2つの出力のみが使用されます(図でDXNUMXとDXNUMXとマークされています)。 プログラム このプロジェクトのソフトウェアは、MikroC コンパイラを使用して作成されています。 テストおよびプログラミング中は、MK の入力/出力 (RA0、RA1、および RA2) の設定に注意して従ってください。 操作中に頻繁に変更されます。 出力を 1 に設定する前に、MCU の他の XNUMX つの I/O が入力として定義されていることを確認してください。 そうしないと、MK の入力/出力の競合が発生する可能性があります。
/* Project: Diode and Transistor Tester Internal Oscillator @ 4MHz, MCLR Enabled, PWRT Enabled, WDT OFF Copyright @ Rajendra Bhatt November 9, 2010 */ // LCD module connections sbit LCD_RS at RC4_bit; sbit LCD_EN at RC5_bit; sbit LCD_D4 at RC0_bit; sbit LCD_D5 at RC1_bit; sbit LCD_D6 at RC2_bit; sbit LCD_D7 at RC3_bit; sbit LCD_RS_Direction at TRISC4_bit; sbit LCD_EN_Direction at TRISC5_bit; sbit LCD_D4_Direction at TRISC0_bit; sbit LCD_D5_Direction at TRISC1_bit; sbit LCD_D6_Direction at TRISC2_bit; sbit LCD_D7_Direction at TRISC3_bit; // End LCD module connections sbit TestPin1 at RA0_bit; sbit TestPin2 at RA1_bit; sbit TestPin3 at RA2_bit; sbit Detail at RA4_bit; sbit SelectButton at RA5_bit; // Define Messages char message1[] = "Diode Tester"; char message2[] = "BJT Tester"; char message3[] = "Result:"; char message4[] = "Short"; char message5[] = "Open "; char message6[] = "Good "; char message7[] = "BJT is"; char *type = "xxx"; char *BE_Info = "xxxxx"; char *BC_Info = "xxxxx"; unsigned int select, test1, test2, update_select, detail_select; unsigned int BE_Junc, BC_Junc, EB_Junc, CB_Junc; void debounce_delay(void){ Delay_ms(200); } void main() { ANSEL = 0b00000000; //All I/O pins are configured as digital CMCON0 = 0?07 ; // Disbale comparators PORTC = 0; PORTA = 0; TRISC = 0b00000000; // PORTC All Outputs TRISA = 0b00111000; // PORTA All Outputs, Except RA3 (I/P only) Lcd_Init(); // Initialize LCD Lcd_Cmd(_LCD_CLEAR); // CLEAR display Lcd_Cmd(_LCD_CURSOR_OFF); // Cursor off Lcd_Out(1,2,message1); // Write message1 in 1st row select = 0; test1 = 0; test2 = 0; update_select = 1; detail_select = 0; do { if(!SelectButton){ debounce_delay(); update_select = 1; switch (select) { case 0 : select=1; break; case 1 : select=0; break; } //case end } if(select == 0){ // Diode Tester if(update_select){ Lcd_Cmd(_LCD_CLEAR); Lcd_Out(1,2,message1); Lcd_Out(2,2,message3); update_select=0; } TRISA = 0b00110100; // RA0 O/P, RA2 I/P TestPin1 = 1; test1 = TestPin3 ; // Read I/P at RA2 TestPin1 = 0; TRISA = 0b00110001; // RA0 I/P, RA2 O/P TestPin3 = 1; test2 = TestPin1; TestPin3 = 0; if((test1==1) && (test2 ==1)){ Lcd_Out(2,10,message4); } if((test1==1) && (test2 ==0)){ Lcd_Out(2,10,message6); } if((test1==0) && (test2 ==1)){ Lcd_Out(2,10,message6); } if((test1==0) && (test2 ==0)){ Lcd_Out(2,10,message5); } } // End if(select == 0) if(select && !detail_select){ // Transistor Tester if(update_select){ Lcd_Cmd(_LCD_CLEAR); Lcd_Out(1,2,message2); update_select = 0; } // Test for BE and BC Junctions of n-p-n TRISA = 0b00110101; // RA0, RA2 I/P, RA1 O/P TestPin2 = 1; BE_Junc = TestPin1 ; // Read I/P at RA0 BC_Junc = TestPin3; // Read I/P at RA2 TestPin2 = 0; // Test for EB and CB Junctions of p-n-p TRISA = 0b00110110; // RA0 O/P, RA1/RA2 I/P TestPin1 = 1; EB_Junc = TestPin2; TestPin1 = 0; TRISA = 0b00110011; // RA0 O/P, RA1/RA2 I/P TestPin3 = 1; CB_Junc = TestPin2; TestPin3 = 0; if(BE_Junc && BC_Junc && !EB_Junc && !CB_Junc){ Lcd_Out(2,2,message3); Lcd_Out(2,10,message6); type = "n-p-n"; BE_info = "Good "; BC_info = "Good "; } else if(!BE_Junc && !BC_Junc && EB_Junc && CB_Junc){ Lcd_Out(2,2,message3); Lcd_Out(2,10,message6); type = "p-n-p"; BE_info = "Good "; BC_info = "Good "; } else { Lcd_Out(2,2,message3); Lcd_Out(2,10,"Bad "); type = "Bad"; } } if(select && !Detail){ debounce_delay(); switch (detail_select) { case 0 : detail_select=1; break; case 1 : detail_select=0; break; } //case end update_select = 1; } if(detail_select && update_select){ // Test for BE Junction open if(!BE_Junc && !EB_Junc){ BE_info = "Open "; } // Test for BC Junction open if(!BC_Junc && !CB_Junc){ BC_info = "Open "; } // Test for BE Junction short if(BE_Junc && EB_Junc){ BE_info = "Short"; } // Test for BC Junction short if(BC_Junc && CB_Junc){ BC_info = "Short"; } Lcd_Cmd(_LCD_CLEAR); Lcd_Out(1,1,"Type:"); Lcd_Out(1,7,type); Lcd_Out(2,1,"BE:"); Lcd_Out(2,4,BE_info); Lcd_Out(2,9,"BC:"); Lcd_Out(2,12,BC_info); update_select = 0; } // End if (detail_select) } while(1); } 著者:Koltykov A.V .; 出版物:cxem.net 他の記事も見る セクション 測定技術. 読み書き 有用な この記事へのコメント. 科学技術の最新ニュース、新しい電子機器: 昆虫用エアトラップ
01.05.2024 地球磁場に対するスペースデブリの脅威
01.05.2024 バルク物質の固化
30.04.2024
その他の興味深いニュース: ▪ ごみの移動発電所 ▪ Nvidia G-Syncを搭載したAsus ROG Swift PG278Qモニター ▪ 三つ目の労働者
無料の技術ライブラリの興味深い資料: ▪ 記事 チベット人は高地での生活を楽にする遺伝子を誰から受け継いだのでしょうか? 詳細な回答 ▪ 記事 ノイズノイズの争い、その下で夢を見るのは良いことです。 無線エレクトロニクスと電気工学の百科事典 ▪ 記事 KB および CB ラジオ局用の高調波フィルター。 無線エレクトロニクスと電気工学の百科事典 このページのすべての言語 ホームページ | 図書館 | 物品 | サイトマップ | サイトレビュー www.diagram.com.ua |