0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于微控制器的二极管和双极结晶体管测试仪的说明

454398 来源:网络整理 作者:网络整理 2019-12-06 15:09 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

简介

如今,大多数数字万用表都具有用于测试二极管(有时是晶体管)的内置功能。该项目的目的是演示一种使用微控制器为二极管和双极结传输器(BJT)构建测试设备的简单方法。该测试算法基于一个简单的事实,即工作中的 PN结仅在一个方向上传导电流。此项目中使用了PIC16F688微控制器,该开关可切换二极管和晶体管PN结之间的偏置电压,并确定特定结是正常,开路还是短路。

理论

测试二极管的逻辑很简单。二极管是PN结,仅允许一个方向的电流传导。因此,好的二极管将仅在一个方向上传导电流。如果在两个方向上都工作,则表示二极管短路,而在两个方向上都工作时,则表示开路。该逻辑的电路实现如下所示。

基于微控制器的二极管和双极结晶体管测试仪的说明

通过意识到这一点,可以很容易地将此概念扩展为测试晶体管。晶体管由两个PN结组成:一个在基极和发射极之间(BE结),另一个在基极和集电极之间(BC结)。如果两个结仅在一个方向上传导,则晶体管正常,否则出现故障。我们还可以通过考虑电流传导的方向来确定晶体管的类型(PNP或NPN)。需要一个微控制器的三个I/O引脚来实现晶体管的测试算法。

晶体管的测试顺序如下。

将D2设置为高电平并读取D1和D3。如果D1为高电平,则BE结导通,否则不导通。如果D3为高电平,则BC结导通,否则不导通。

将D1设置为高电平并读取D2。如果D2为高电平,则EB结导通,否则为非。

将D3设置为高电平并读取D2。如果D2为高电平,则CB结导通,否则不导通。

现在,如果仅BE和BC结导通,则该晶体管为NPN型且工作正常。而且,如果仅EB和CB结导通,则该晶体管仍然正常,但晶体管类型为PNP。其他所有情况(例如EB和BE均导通,或BC和CB均不导通等)表明晶体管不佳。

电路图和说明

该项目的电路图非常简单。它具有两个用于输入的按钮开关,分别为选择和详细信息。按下“选择”按钮可以在二极管测试和晶体管测试之间进行选择,“详细信息”按钮仅在进行晶体管测试时才可用,并显示测试结果的详细信息,例如晶体管类型和结状态。测试晶体管的三个支路(E,B和C)通过1 K电阻接地,并且两个PN结将通过PIC16F688微控制器的RA0,RA1和RA2端口引脚进行测试。二极管的测试仅需要两个引脚,并且将使用E和C引脚。这就是为什么它们在电路图中具有备用标签D1和D2的原因。

电路在面包板上设置

软件

此项目的固件是使用MikroC编译器开发的。编程时,您必须非常小心三个测试引脚(RA0,RA1和RA2)的方向设置,因为它们在运行测试算法时会经常变化。在将任何测试引脚设置为高电平之前,必须确保将其他两个引脚定义为输入引脚,以免端口引脚之间出现任何电压冲突或短路。

/*

项目:二极管和晶体管测试仪

内部振荡器@ 4MHz,启用了MCLR,启用PWRT,关闭WDT

版权@ Rajendra Bhatt

2010年11月9日

*/

//LCD模块连接

sbit LCD_RS at RC4_bit;

位RC5_bit的LCD_EN;

位RC0_bit的LCD_D4;

位RC1_bit的LCD_D5;

sbit LCD_D6为RC2_bit;

sbit LCD_D7为RC3_bit;

sbit LCD_RS_Direction为TRISC4_bit;

sbit LCD_EN_Direction位于TRISC5_bit;

sbit LCD_D4_Direction位于TRISC0_bit;

sbit LCD_D5_Direction位于TRISC1_bit;

sbit LCD_D6_Direction at TRISC2_bit;

sbit LCD_D7_Direction at TRISC3_bit;

//结束LCD模块连接

sbit TestPin1 at RA0_bit;

sbit TestPin2 at RA1_bit;

sbit TestPin3 at RA2_bit;

sbit RA4_bit的详细信息;

sbit SelectButton在RA5_bit;

//定义消息

char message1 [] =“二极管测试仪”;

char message2 [] =“ BJT Tes ter”;

char message3 [] =“结果:”;

char message4 [] =“短”;

char message5 [] =“打开”;

char message6 [] =“良好”;

char message7 [] =“ BJT是”;

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;//所有I/O引脚都配置为数字

CMCON0 = 0x07;//散售比较器

PORTC = 0;

PORTA = 0;

TRISC = 0b00000000;//PORTC所有输出

TRISA = 0b00111000;//PORTA的所有输出,RA3除外(仅I/P)

Lcd_Init();//初始化LCD

Lcd_Cmd(_LCD_CLEAR);//清除显示

Lcd_Cmd(_LCD_CURSOR_OFF);//光标关闭

Lcd_Out(1,2,message1);//在第1行中写message1

select = 0;

test1 = 0;

test2 = 0;

update_select = 1;

detail_select = 0;

做{

if(!SelectButton){

debounce_delay() ;

update_select = 1;

开关(选择){

case 0:select = 1;

break;

case 1:select = 0;

break;

}//案例结束

}

if(select == 0){//二极管测试仪

if(update_select){

Lcd_Cmd(_LCD_CLEAR);

Lcd_Out(1,2,message1);

Lcd_Out(2,2,message3);

update_select = 0;

}

TRISA = 0b0 0110100;//RA0 O/P,RA2 I/P

TestPin1 = 1;

test1 = TestPin3;//读取RA2上的I/P

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);

}

}//结束if(select == 0)

if(select &&!detail_select){//晶体管测试仪

if(update_select){

Lcd_Cmd(_LCD_CLEAR);

Lcd_Out(1,2 ,message2);

update_select = 0;

}

//测试BE NPN

的BC和BC交界处TRISA = 0b00110101;//RA0,RA2 I/P,RA1 O/P

TestPin2 = 1;

BE_Junc = TestPin1;//读取RA0处的I/P

BC_Junc = TestPin3;//在RA2处读取I/P

TestPin2 = 0;

//测试PNP的EB和CB结点

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 =“ NPN”;

BE_info =“ Good”;

BC_info =“好”;

}

else

if(!BE_Junc &&!BC_Junc && EB_Junc && CB_Junc){

Lcd_Out(2,2,message3);

Lcd_Out(2,10,message6);

type =“ PNP”;

BE_info =“良好”;

BC_info =“良好”;

}

其他{

Lcd_Out(2,2,message3);

Lcd_Out( 2,10,“ Bad”);

type =“ Bad”;

}

}

if(select &&!Detail){

debounce_delay();

开关(detail_select){

情况0:detail_select = 1;

break;

情况1:detail_select = 0;

break;

}//案例结束

update_select = 1;

}

if(detail_select && update_select){

//测试BE结是否打开

if(!BE_Junc &&!EB_Junc){

BE_info =“打开”;

}

//测试BC结是否打开

if(!BC_Junc &&!CB_Junc ){

BC_info =“打开“;

}

//测试BE Junction short

if(BE_Junc && EB_Junc){

BE_info =“ Short”;

}

//测试BC结短路

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;

}////如果(detail_select)

}结束,则while(1);

}

下载源代码和十六进制文件

输出

下面是我在测试各种输入条件时为二极管和BJT测试仪拍摄的照片。

其余图片

责任编辑:wv

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    49

    文章

    8878

    浏览量

    165731
  • 二极管
    +关注

    关注

    149

    文章

    10455

    浏览量

    179596
  • 测试仪
    +关注

    关注

    6

    文章

    4290

    浏览量

    61638
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    LTC4372/LTC4373:高效理想二极管控制器的深度解析

    LTC4372/LTC4373:高效理想二极管控制器的深度解析 在电子设计领域,电源管理是一个至关重要的环节。理想二极管控制器作为电源管理中的关键组件,能够有效提升系统的效率和稳定性。
    的头像 发表于 04-16 16:25 169次阅读

    光传感中的光电二极管和光电晶体管介绍

    利用光检测的传感种类繁多。此前介绍过的照度传感和接近传感以及利用光电容积脉搏波法的脉搏传感也属于光传感的范畴。本文将介绍光传感
    的头像 发表于 04-10 14:02 177次阅读
    光传感<b class='flag-5'>器</b>中的光电<b class='flag-5'>二极管</b>和光电<b class='flag-5'>晶体管</b>介绍

    理想二极管是什么二极管?深度解析内部实现逻辑

      大家好啊,想必大家一定见过下图的这个经典的电路图,这个图在树莓派3B的电路板上有使用,从原理图的注释也很容易猜到,这是电路是分立器件搭建的一个理想二极管电路,它实现的功能是单向导通,即防止电路板
    的头像 发表于 03-24 07:36 1.3w次阅读
    理想<b class='flag-5'>二极管</b>是什么<b class='flag-5'>二极管</b>?深度解析内部实现逻辑

    激光二极管的特性与LIV测试挑战

    的相干光,广泛应用于光通信、医疗设备、工业传感等领域。 典型的激光二极管模块通常由激光二极管(LD)和监测用光电探测(PD)组成。PD用于实时检测光输出功率,并通过反馈回路实现激光功率的稳定
    的头像 发表于 03-11 14:11 377次阅读
    激光<b class='flag-5'>二极管</b>的特性与LIV<b class='flag-5'>测试</b>挑战

    LTC4415:高性能路理想二极管控制器的深度解析

    LTC4415:高性能路理想二极管控制器的深度解析 引言 在电子设计领域,电源管理是一个至关重要的环节,而理想二极管控制器在其中扮演着关键
    的头像 发表于 02-09 15:05 634次阅读

    深入解析LTC4353:理想二极管控制器的卓越性能与应用

    保持应用中的诸多问题。今天,我们就来深入探讨Linear Technology公司的LTC4353低压理想二极管控制器。 文件下载: LTC4353.pdf 一、LTC4353的核心特性 1. 低损耗替代 LTC4353可以替
    的头像 发表于 02-09 11:55 392次阅读

    LT4320理想二极管控制器:高效电源设计的利器

    LT4320/LT4320 - 1理想二极管控制器:高效电源设计的利器 引言 在电子系统的电源设计中,整流电路是一个关键部分。传统的二极管桥整流存在效率低、发热严重等问题,而理想
    的头像 发表于 02-08 16:00 841次阅读

    MAX16173:理想二极管控制器的卓越之选

    MAX16173:理想二极管控制器的卓越之选 在电子设计领域,理想二极管控制器对于系统的稳定运行和保护起着至关重要的作用。今天,我们就来深入探讨一下Analog Devices公司的M
    的头像 发表于 02-06 16:05 291次阅读

    二极管的原理

    时,充当电池,当施加电压时,就是充当二极管。 一些二极管对可见光有响应,而对不可见光有响应的二极管则用于红外遥控
    发表于 12-22 13:15

    二极管的妙用

    ,也没有晶体管那样的“红毯待遇”。当人们惊叹于这个元件时,通常也是在谈论像耿氏二极管或隧道二极管这样的奇特发明,而这两者在现实生活中几乎都遇不到。今天,让我们向“
    的头像 发表于 11-26 07:35 1558次阅读
    <b class='flag-5'>二极管</b>的妙用

    如何用合科泰MOS做一个高性能理想二极管控制器

    损耗,影响系统效率。理想二极管控制器正是解决这一问题的创新方案,而MOS则是实现这一技术的核心器件。 理想二极管控制器的工作原理 理想
    的头像 发表于 09-29 10:05 3.6w次阅读
    如何用合科泰MOS<b class='flag-5'>管</b>做一个高性能理想<b class='flag-5'>二极管</b><b class='flag-5'>控制器</b>?

    肖特基二极管怎么用+原理

    肖特基二极管与普通硅二极管(PN结二极管)最核心的结构差异,就在于它没有P+外延层(或P型半导体层),取而代之的是金属-半导体结(肖特基结)。 图表1 肖特基二极管的结构差异 1.更低
    的头像 发表于 09-22 16:40 4870次阅读
    肖特基<b class='flag-5'>二极管</b>怎么用+原理

    洲光源红外发射二极管ZIR0342C概述

    红外发射二极管 ZIR0342C 是一种高辐射发光二极管,透明的封胶外形。该材料与光电晶体管、光电二极管和红外接收模块进行配对。
    的头像 发表于 08-20 17:21 1260次阅读
    洲光源红外发射<b class='flag-5'>二极管</b>ZIR0342C概述

    洲光源红外发射二极管ZIR053概述

    ZIR053 是一种高辐射发光二极管,蓝色透明的封胶外形。该材料与光电晶体管、光电二极管和红外接收模块进行配对。
    的头像 发表于 08-18 10:00 1157次阅读
    洲光源红外发射<b class='flag-5'>二极管</b>ZIR053概述

    德州仪器LM74930-Q1理想二极管控制器技术解析

    Texas Instruments LM74930-Q1理想二极管控制器是一款带断路的汽车类理想二极管浪涌抑制。 该集成电路驱动和
    的头像 发表于 08-11 13:42 1561次阅读
    德州仪器LM74930-Q1理想<b class='flag-5'>二极管</b><b class='flag-5'>控制器</b>技术解析