Безкоштовна технічна бібліотека ЕНЦИКЛОПЕДІЯ РАДІОЕЛЕКТРОНІКИ ТА ЕЛЕКТРОТЕХНІКИ Тестер діодів та біполярних транзисторів. Енциклопедія радіоелектроніки та електротехніки Енциклопедія радіоелектроніки та електротехніки / Вимірювальна техніка Більшість сучасних тестерів (мультиметрів) мають вбудовані функції тестування діодів та іноді транзисторів. Але якщо ваш тестер не має цих функцій, ви можете зібрати тестер діодів і транзисторів своїми руками. Нижче наведено проект тестера на мікроконтролері PIC16F688. Логіка тестування діодів дуже проста. Діод - це PN-перехід, який, як відомо, проводить струм лише в одному напрямку. Отже, робочий діод проводитиме струм в одному напрямку. Якщо діод проводить струм в обох напрямках, то діод неробочий - пробитий. Якщо діод в жодному з напрямів не проводить, то діод також не робочий. Схемна реалізація цієї логіки показана нижче. Дану логіку легко можна адаптувати для тесту біполярних транзисторів, який містить два PN-переходи: один між базою та емітером (БЕ-перехід) та другий між базою та колектором (БК-перехід). Якщо обидва переходи проводять струм лише одному напрямку, транзистор - робочий, інакше - не робочий. Також ми можемо ідентифікувати тип транзистора pnp або npn, визначивши напрямок провідності струму. Для тестування транзисторів, в мікроконтролері використовується 3 входи/виходи Послідовність для тестування транзистора: 1. Включити вихід (встановити в одиницю) D2 і рахувати D1 та D3. Якщо на D1 логічна одиниця, перехід БЕ проводить струм, інакше – ні. Якщо D3 в 1, то БК проводить струм, інакше – ні.
Далі, якщо БЕ та БК проводять струм, то транзистор npn-типу та робочий. Якщо ж, ЕБ і КБ проводять струм, то транзистор типу pnp і також робочий. У всіх інших випадках (наприклад ЕБ і БЕ проводять струм або обидва переходи БК і КБ не проводять і т.п.) транзистор перебуває в робочому стані. Принципова схема тестеру діодів і транзисторів та опис Схема тестера дуже проста. У приладі передбачено 2 кнопки керування: Select (вибір) та Detail (докладніше). Після натискання кнопки Select відбувається вибір типу тесту: тест діода чи транзистора. Кнопка Detail працює тільки при режимі тесту транзистора, на екрані LCD відображається тип транзистора (npn або pnp) і статуси провідності переходів транзистора. Три ніжки тестованого транзистора (емітер, колектор та база) приєднуються до "землі" через резистор 1 кОм. Для тестування використовуються висновки RA0, RA1 та RA2 мікроконтролера PIC16F688. Для тестування діода використовується лише два висновки: Е та К (на схемі позначені D1 та D2). Програма Програмне забезпечення для цього проекту написано за допомогою компілятора MikroC. Під час тестування та програмування будьте уважні та слідкуйте за установками входів/виходів МК (RA0, RA1 та RA2) т.к. вони часто змінюються під час роботи. Перед тим, як встановити будь-який вихід в 1, переконайтеся, що два інших входу/виходу МК визначено як вход. Інакше можливі конфлікти входів/виходів МК.
/* 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); } Автор: Колтиков А.В.; Публікація: cxem.net Дивіться інші статті розділу Вимірювальна техніка. Читайте та пишіть корисні коментарі до цієї статті. Останні новини науки та техніки, новинки електроніки: Штучна шкіра для емуляції дотиків
15.04.2024 Котячий унітаз Petgugu Global
15.04.2024 Привабливість дбайливих чоловіків
14.04.2024
Інші цікаві новини: ▪ Перший у світі поїзд на магнітній подушці ▪ Найкраще місце на борту літака ▪ У трудоголіків більш вгодовані діти ▪ Нову Зеландію вразили 66 тисяч блискавок Стрічка новин науки та техніки, новинок електроніки
Цікаві матеріали Безкоштовної технічної бібліотеки: ▪ розділ сайту Побутові електроприлади. Добірка статей ▪ стаття Розхльобувати кашу. Крилатий вислів ▪ стаття Скільки влучень блискавки пережив світовий рекордсмен за цим показником? Детальна відповідь ▪ стаття Смородина звичайна. Легенди, вирощування, способи застосування ▪ стаття Пригода на ескалаторі. Фізичний експеримент
Залишіть свій коментар до цієї статті: All languages of this page Головна сторінка | Бібліотека | Статті | Карта сайту | Відгуки про сайт www.diagram.com.ua |