• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

【原创】用51单片机做一台三极管测量仪[持续更新中。。]

  记得小时候睡觉前最快乐的事就是拿手电筒照着墙,和奶奶用手摆出各种手势在墙上映出各种动物打架。手电筒,第一次接触到的电器。

  小学时候寒暑假陪父母去缅甸,那边很偏僻,没有通电,晚上只能点煤油灯,还记得晚上蚊子和小虫特别多,不慎就会吸到嘴里。母亲在指挥部旁开了个小商店,指挥部里有一位老爷爷教我用烟包装盒里的锡纸做导线,一只电池,一个小灯泡,一张叠成条的锡纸,几根橡皮筋就造出了个小手电筒。我觉得特别神奇,拿母亲铺子里买的材料复制了好多个,晚上挂在床头特别有成就感,激动得一晚没睡着。

  后来小学里流行玩MINI四驱车,没钱不敢跟奶奶要,就每天省5毛的早点钱,半个月花5块钱买了一盒散件连夜来拼装,最后发现少了一根小铁棒,小车没能完工,半个月的挨饿也化作了泡影。

  所幸的是我第一次看到了比碾米机上小那么多的“小马达”,一通电就能“嗡嗡”地转,而且交换下电池方向马达就能反转。我像发现新大陆一样发现了又有一种让我着迷的东西。给它装个易拉罐剪的“小刀片”,兴致勃勃地跑到门外墙角消灭杂草,然后把手割破了好几次,但是依旧玩得不亦乐乎。

  。。。。。。

  原本是想通过本人的经历引出下文的,但由于作文功底太差,发现写了那么多废话还是引不出来。干脆直接讲了!

  晶体三极管,是最基础一种元器件。刚接触这东西时候搞不清楚它为什么要分NPN,PNP型。而且脚位有那么多种,EBC、ECB、BCE等等。。而且电流放大系数也各不相同,记得曾经花了好久来记怎样用万用表来分辨它的各个极,不过到今天我还是用 这个方法来分辨不明型号三极管的三个极,实在有些麻烦。

  想来学习单片机N久了,决定用STC的51单片机来做一个能快速分辨出三极管各个脚的机器;后期还打算测量出三极管的hEF值、漏电流Iceo、各结压降等基本参数。(今天已经完成到能分辨PNP和NPN型的任意脚位,通过LCD1602显示出来了)

  不过,万丈高楼平地起,还得从最基础的功能来,俺们搞DIY的,先不考虑成本和啥最优方案,脑子里冒出什么就照思路来!一切以完成功能为目的。

  先分析晶体三极管构造:

  首先是NPN型的晶体三极管                                      然后是PNP型晶体三极管

              |||                                                                       |||

               V                                                                         V

                                     

NPN内部相当于两个二极管阳极相连作为B极(基极),其他两极为C、E极。

  所以对于NPN型管子我最方便能确定的脚就是B极,STC单片机设为非标准IO口模式(默认模式),内部上拉作用相当于一个300K左右的上拉电阻,我就利用这个电阻来提供一个较小的B极电流Ib,而且能作为共射极放大电路的集电极电阻Rc。

  将三极管三个脚接到单片机的3个IO口,都输出高电平,按顺序每次置低一个脚,检测剩余两个脚电平情况,在所有情况中,只有拉低E极时会出现剩余两个脚都为低,因为E接地,Vcc通过内部上拉作用给B极一个Ib电流,这个电流比较小,大概只有15uA,有了Ib,就势必会有Ic从C极留下来,上拉电阻有300K多,哪怕Ib很小或hEF较小也能输出低电平,而且B极被钳制在Ube≈0.7V(普通硅管),单片机认为:1/2Vcc以下为低电平,所以当用单片机扫描各个脚时一个脚拉低,其他两个脚也为低时,说明被人为拉低的那个脚就是NPN型的E脚。

  然而在我们分析时却不能单独分析NPN型的特点而忽略PNP型的作用,否则就出麻烦了!

  你看,PNP内部正好和NPN的二极管方向相反,如果按刚说的方法判别,如果是PNP型的管子B极被拉低,它的C和E极也都会因为二极管的钳制作用钳制成低电平,此时就不能分辨所测管子是哪一种情况了。但可以确定的是,人为拉低这个脚要么是NPN的E,要么是PNP的B!

  为了将其区分开来,还需要找到一个条件,就像二元一次方程,两个条件才能确定两个未知数。

  到底怎样才能确定呢?。。。我们再看,在以上过程中,我们按顺序拉低某个脚,判断其他脚的电平情况,NPN型是不是拉低E或者C都会把B脚拉低,而PNP型只有拉低B极才会拉低其余两个脚。我们是不是只要记录每次变换拉低一个脚时把其余任何一个脚被拉低的情况记个数,三次变换后看这个计数值,如果有两次其余脚有拉低情况则说明这个为NPN型三极管,如果只有一次拉低就说明是PNP型。

  现在是不是就能判断到底是NPN还是PNP了。到此为止,我们已经用单片机确定出了所测管子的类型和一个脚(NPN的E 或者 PNP的B)。

手酸了。。。休息会儿会陆续更新!

 

  

全部回复(38)
正序查看
倒序查看
eason
LV.4
2
2014-05-04 15:27
看楼主小时候的经历,正入迷呢,楼主就进正题了,哈哈。
0
回复
2014-05-04 16:21

  设计思路讲起来太繁琐,之后再慢慢跟大家分享了,先展示下今天为止的效果,希望大家帮顶哦 ~呵呵

  整个主电路设计使用了3片4051,1片4066,三个继电器。

这是整个电路的鸟瞰图:

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

这杜邦线如果哪根有问题我一定会疯的。。

下面是1602液晶开机显示:

英语是体育老师教的。。。中式英文。。。

下面是9014三极管的测试照片:

NPN型三极管测试程序最简单,可以很快测试出来,程序设计比较人性化,即插即显示,拔出即显示错误,不用任何按键,不过现在是测试阶段,没有焊接专门的ZIP座,直接插上杜邦线里。液晶第二行显示晶体三极管类型 、从左到右管脚名称,很明显,液晶显示 : NPN   E B C 

然后我把9014反个方向来插,会显示什么呢?请看图:

是不是照样能显示出正确的管脚名称! ~呵呵~ 

再看,测量下PNP型的三极管吧,这是一个9015型号的:

再换个方向:

照片没拍好,液晶有点拍不清楚。。。。大家见谅啦。

还测量了一些其他封装的低β值三极管,都能够完全无误的测量出来!

不过手头没有锗管等漏电流大的三极管来测试,不知道效果如何?

0
回复
2014-05-04 16:29

这是照片里最乱那一团,也就是三片4051的电路图,本来想画PCB来做的,可是后来放弃了,浪费时间。。。

0
回复
zeer
LV.2
5
2014-05-04 18:32
@wwpwwp20088
这是照片里最乱那一团,也就是三片4051的电路图,本来想画PCB来做的,可是后来放弃了,浪费时间。。。[图片]
顶楼主,争取那大奖。哈哈!
0
回复
wsnsyy
LV.2
6
2014-05-05 11:05
@wwpwwp20088
这是照片里最乱那一团,也就是三片4051的电路图,本来想画PCB来做的,可是后来放弃了,浪费时间。。。[图片]
程序呢,也貼來看看啊
0
回复
2014-05-05 14:32
@wsnsyy
程序呢,也貼來看看啊
还在优化中,最后都会贴出来的!、、、
0
回复
lq3698
LV.4
8
2014-05-05 19:57
@wwpwwp20088
还在优化中,最后都会贴出来的!、、、
很多人用avr单片机做这个!51还是第一次见!
0
回复
挑战者
LV.5
9
2014-05-05 19:58
@wwpwwp20088
还在优化中,最后都会贴出来的!、、、
期待啊,楼主。
0
回复
cltwolf
LV.5
10
2014-05-05 21:39

强大的wwpwwp20088

期待更新

0
回复
挑战者
LV.5
11
2014-05-06 08:50
@cltwolf
强大的wwpwwp20088期待更新
继续排队,坐等更新。
0
回复
wwpwwp20088
LV.5
12
2014-05-06 13:25
@wwpwwp20088
 设计思路讲起来太繁琐,之后再慢慢跟大家分享了,先展示下今天为止的效果,希望大家帮顶哦~呵呵 整个主电路设计使用了3片4051,1片4066,三个继电器。这是整个电路的鸟瞰图:[图片]。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。[图片]这杜邦线如果哪根有问题我一定会疯的。。下面是1602液晶开机显示:[图片]英语是体育老师教的。。。中式英文。。。下面是9014三极管的测试照片:[图片]NPN型三极管测试程序最简单,可以很快测试出来,程序设计比较人性化,即插即显示,拔出即显示错误,不用任何按键,不过现在是测试阶段,没有焊接专门的ZIP座,直接插上杜邦线里。液晶第二行显示晶体三极管类型、从左到右管脚名称,很明显,液晶显示:NPN EBC 然后我把9014反个方向来插,会显示什么呢?请看图:[图片]是不是照样能显示出正确的管脚名称!~呵呵~ 再看,测量下PNP型的三极管吧,这是一个9015型号的:[图片]再换个方向:[图片]照片没拍好,液晶有点拍不清楚。。。。大家见谅啦。还测量了一些其他封装的低β值三极管,都能够完全无误的测量出来!不过手头没有锗管等漏电流大的三极管来测试,不知道效果如何?

  吐槽下,眼镜掉到翠湖了,配了副新的等了3天还拿不到,学校眼镜店太坑了!。小米官网没抢到红米NOTE,淘宝买倒是挺多,竟然买了个超高仿回来,要不是我火眼金睛还差点就被懵了,以假乱真呐。话说以后真不能再淘宝上买手机了,再话说我天朝山寨已经到了变态的地步了。。。。

  话说没戴眼镜实在不行,眼睛都快贴到屏幕上了。。。

特来更新!

  

  昨天无意中淘宝上看到了有商家卖的类似功能的仪器,已经可谓是一骑绝尘而去,神马三极管、可控硅、MOS管、还相当于一台电桥的功能,而且显示效果也特别强大,我突然发现我OUT了!都有种想放弃的冲动了。。

  不过本着DIY的坚定信念和好好学习的心态,我决定继续我的蜗牛之旅,大家感兴趣的就跟我慢慢来吧。。。呵呵。。

  之前修改到整机能够分辨出NPN,PNP这两种类型的任意脚位三极管了,但是还不能测量其电流放大系数,也就是俗称的β值,我是这样想的:

  先弄两个恒流源,一个正方向的供NPN型测量,一个负方向的供PNP测量,当完成鉴别类型和管脚序列后我把4051组成的阵列达到相应的档位,然后接通后面的共射极测量电路(这里考虑到STC12单片机内部AD只能测量正极性的电压,必须要有切换方向的操作),将之前的三个IO置成高阻输出状态防止影响各电流,如果三极管是NPN型(大多数情况下),则默认继电器绕组不供电时电路接通为NPN共射放大电路,如果是PNP型,则三个继电器吸合接通为对应的PNP共射放大电路;K2实现了Ib电流的切换,只要测量C端口的电压经过计算就能计算出该晶体三极管的电流放大系数β值。如图:

0
回复
wwpwwp20088
LV.5
13
2014-05-06 13:43
@wwpwwp20088
 吐槽下,眼镜掉到翠湖了,配了副新的等了3天还拿不到,学校眼镜店太坑了!。小米官网没抢到红米NOTE,淘宝买倒是挺多,竟然买了个超高仿回来,要不是我火眼金睛还差点就被懵了,以假乱真呐。话说以后真不能再淘宝上买手机了,再话说我天朝山寨已经到了变态的地步了。。。。 话说没戴眼镜实在不行,眼睛都快贴到屏幕上了。。。特来更新!   昨天无意中淘宝上看到了有商家卖的类似功能的仪器,已经可谓是一骑绝尘而去,神马三极管、可控硅、MOS管、还相当于一台电桥的功能,而且显示效果也特别强大,我突然发现我OUT了!都有种想放弃的冲动了。。 不过本着DIY的坚定信念和好好学习的心态,我决定继续我的蜗牛之旅,大家感兴趣的就跟我慢慢来吧。。。呵呵。。 之前修改到整机能够分辨出NPN,PNP这两种类型的任意脚位三极管了,但是还不能测量其电流放大系数,也就是俗称的β值,我是这样想的: 先弄两个恒流源,一个正方向的供NPN型测量,一个负方向的供PNP测量,当完成鉴别类型和管脚序列后我把4051组成的阵列达到相应的档位,然后接通后面的共射极测量电路(这里考虑到STC12单片机内部AD只能测量正极性的电压,必须要有切换方向的操作),将之前的三个IO置成高阻输出状态防止影响各电流,如果三极管是NPN型(大多数情况下),则默认继电器绕组不供电时电路接通为NPN共射放大电路,如果是PNP型,则三个继电器吸合接通为对应的PNP共射放大电路;K2实现了Ib电流的切换,只要测量C端口的电压经过计算就能计算出该晶体三极管的电流放大系数β值。如图:[图片]

再来!

  下面说说这恒流源该怎么弄?我手头上最多的就是LM358这款运放,里面两个单元的运放刚刚好,虽然精度有限,但在我这个粗制滥造的DIY里已经足够了。

  我用运放和三极管搞定它!如图:

  正的Ib产生靠这个电路,Ib=(Vcc-Uref)/R1

这个电路产生负方向的Ib。Ib=Uref/R2

因为我Rc取的是1.5K的电阻,Vcc=5V,按可测最大hEF值为400,而且考虑到三极管Uce饱和管压降,初步打算采用Ib=8uA,虽然计算很粗糙,但就先这样设定吧,之后有问题再来调整了。

0
回复
wwpwwp20088
LV.5
14
2014-05-06 14:20
@wwpwwp20088
再来! 下面说说这恒流源该怎么弄?我手头上最多的就是LM358这款运放,里面两个单元的运放刚刚好,虽然精度有限,但在我这个粗制滥造的DIY里已经足够了。 我用运放和三极管搞定它!如图: 正的Ib产生靠这个电路,Ib=(Vcc-Uref)/R1[图片]。。。这个电路产生负方向的Ib。Ib=Uref/R2[图片]因为我Rc取的是1.5K的电阻,Vcc=5V,按可测最大hEF值为400,而且考虑到三极管Uce饱和管压降,初步打算采用Ib=8uA,虽然计算很粗糙,但就先这样设定吧,之后有问题再来调整了。

  程序和硬件还有很多地方要修改,为了让感兴趣的大家也能跟着我一起,先给大家分享个只能测量NPN型的程序,这个程序只要有最最普通的51单片机,AT89系列的或者STC的都行,而且除了基本最小系统电路和1602,完全不需要其他电路,因为三个接三极管的IO口我程序里是写在P0口的,所以如果使用AT89系列的朋友要改下端口,因为AT89的单片机P0口为OD输出,不具备上拉作用!!!!

下面是源代码(1602头文件):三极管测试(仅能分辨NPN).zip

0
回复
2014-05-08 20:03
@挑战者
继续排队,坐等更新。

很强大,学习中!

0
回复
Schoolchild
LV.5
16
2014-05-11 13:44
@wwpwwp20088
 设计思路讲起来太繁琐,之后再慢慢跟大家分享了,先展示下今天为止的效果,希望大家帮顶哦~呵呵 整个主电路设计使用了3片4051,1片4066,三个继电器。这是整个电路的鸟瞰图:[图片]。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。[图片]这杜邦线如果哪根有问题我一定会疯的。。下面是1602液晶开机显示:[图片]英语是体育老师教的。。。中式英文。。。下面是9014三极管的测试照片:[图片]NPN型三极管测试程序最简单,可以很快测试出来,程序设计比较人性化,即插即显示,拔出即显示错误,不用任何按键,不过现在是测试阶段,没有焊接专门的ZIP座,直接插上杜邦线里。液晶第二行显示晶体三极管类型、从左到右管脚名称,很明显,液晶显示:NPN EBC 然后我把9014反个方向来插,会显示什么呢?请看图:[图片]是不是照样能显示出正确的管脚名称!~呵呵~ 再看,测量下PNP型的三极管吧,这是一个9015型号的:[图片]再换个方向:[图片]照片没拍好,液晶有点拍不清楚。。。。大家见谅啦。还测量了一些其他封装的低β值三极管,都能够完全无误的测量出来!不过手头没有锗管等漏电流大的三极管来测试,不知道效果如何?
这个动手能力太强大了,赞一个!
0
回复
2014-05-13 13:02
很有意思,通过轮流给脚低电平,测量其它2个脚的电平,然后统计低电平的个数判断是NPN,还是PNP,很好的想法,楼主观察力和分析了很强大啊。佩服
0
回复
wwpwwp20088
LV.5
18
2014-05-13 13:47
@马小俊2012
很有意思,通过轮流给脚低电平,测量其它2个脚的电平,然后统计低电平的个数判断是NPN,还是PNP,很好的想法,楼主观察力和分析了很强大啊。佩服
呵呵~~过奖了
0
回复
新月GG
LV.10
19
2014-05-16 16:11
@wwpwwp20088
 设计思路讲起来太繁琐,之后再慢慢跟大家分享了,先展示下今天为止的效果,希望大家帮顶哦~呵呵 整个主电路设计使用了3片4051,1片4066,三个继电器。这是整个电路的鸟瞰图:[图片]。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。[图片]这杜邦线如果哪根有问题我一定会疯的。。下面是1602液晶开机显示:[图片]英语是体育老师教的。。。中式英文。。。下面是9014三极管的测试照片:[图片]NPN型三极管测试程序最简单,可以很快测试出来,程序设计比较人性化,即插即显示,拔出即显示错误,不用任何按键,不过现在是测试阶段,没有焊接专门的ZIP座,直接插上杜邦线里。液晶第二行显示晶体三极管类型、从左到右管脚名称,很明显,液晶显示:NPN EBC 然后我把9014反个方向来插,会显示什么呢?请看图:[图片]是不是照样能显示出正确的管脚名称!~呵呵~ 再看,测量下PNP型的三极管吧,这是一个9015型号的:[图片]再换个方向:[图片]照片没拍好,液晶有点拍不清楚。。。。大家见谅啦。还测量了一些其他封装的低β值三极管,都能够完全无误的测量出来!不过手头没有锗管等漏电流大的三极管来测试,不知道效果如何?

图片蛮漂亮的

0
回复
2014-05-23 15:26
@wwpwwp20088
这是照片里最乱那一团,也就是三片4051的电路图,本来想画PCB来做的,可是后来放弃了,浪费时间。。。[图片]
楼主继续 很不错的帖子,我会推广下~~
0
回复
新月GG
LV.10
21
2014-05-27 10:15
@wwpwwp20088
还在优化中,最后都会贴出来的!、、、

边优化边贴呗,有进展就能贴了。

0
回复
小毛猴
LV.3
22
2014-05-30 11:41
@新月GG
边优化边贴呗,有进展就能贴了。
是啊,楼主继续分享下吧。
0
回复
新月GG
LV.10
23
2014-05-30 11:43
@eason
看楼主小时候的经历,正入迷呢,楼主就进正题了,哈哈。

我也是。

0
回复
szmuic
LV.2
24
2014-05-30 16:28

学习来了,赞一个

0
回复
2014-06-01 22:50
学习了!
0
回复
2014-06-02 21:35
@wwpwwp20088
 吐槽下,眼镜掉到翠湖了,配了副新的等了3天还拿不到,学校眼镜店太坑了!。小米官网没抢到红米NOTE,淘宝买倒是挺多,竟然买了个超高仿回来,要不是我火眼金睛还差点就被懵了,以假乱真呐。话说以后真不能再淘宝上买手机了,再话说我天朝山寨已经到了变态的地步了。。。。 话说没戴眼镜实在不行,眼睛都快贴到屏幕上了。。。特来更新!   昨天无意中淘宝上看到了有商家卖的类似功能的仪器,已经可谓是一骑绝尘而去,神马三极管、可控硅、MOS管、还相当于一台电桥的功能,而且显示效果也特别强大,我突然发现我OUT了!都有种想放弃的冲动了。。 不过本着DIY的坚定信念和好好学习的心态,我决定继续我的蜗牛之旅,大家感兴趣的就跟我慢慢来吧。。。呵呵。。 之前修改到整机能够分辨出NPN,PNP这两种类型的任意脚位三极管了,但是还不能测量其电流放大系数,也就是俗称的β值,我是这样想的: 先弄两个恒流源,一个正方向的供NPN型测量,一个负方向的供PNP测量,当完成鉴别类型和管脚序列后我把4051组成的阵列达到相应的档位,然后接通后面的共射极测量电路(这里考虑到STC12单片机内部AD只能测量正极性的电压,必须要有切换方向的操作),将之前的三个IO置成高阻输出状态防止影响各电流,如果三极管是NPN型(大多数情况下),则默认继电器绕组不供电时电路接通为NPN共射放大电路,如果是PNP型,则三个继电器吸合接通为对应的PNP共射放大电路;K2实现了Ib电流的切换,只要测量C端口的电压经过计算就能计算出该晶体三极管的电流放大系数β值。如图:[图片]

测量C\E级如何实现的?不明白啊

0
回复
zoufeihu
LV.5
27
2014-06-08 12:34
@wwpwwp20088
 程序和硬件还有很多地方要修改,为了让感兴趣的大家也能跟着我一起,先给大家分享个只能测量NPN型的程序,这个程序只要有最最普通的51单片机,AT89系列的或者STC的都行,而且除了基本最小系统电路和1602,完全不需要其他电路,因为三个接三极管的IO口我程序里是写在P0口的,所以如果使用AT89系列的朋友要改下端口,因为AT89的单片机P0口为OD输出,不具备上拉作用!!!!下面是源代码(1602头文件):三极管测试(仅能分辨NPN).zip
好像不太实用吧,只能自已玩玩程序,还用单片机呢,成本高,而且只能测NPN ,呵呵,
0
回复
2014-06-19 10:55
@wwpwwp20088
 程序和硬件还有很多地方要修改,为了让感兴趣的大家也能跟着我一起,先给大家分享个只能测量NPN型的程序,这个程序只要有最最普通的51单片机,AT89系列的或者STC的都行,而且除了基本最小系统电路和1602,完全不需要其他电路,因为三个接三极管的IO口我程序里是写在P0口的,所以如果使用AT89系列的朋友要改下端口,因为AT89的单片机P0口为OD输出,不具备上拉作用!!!!下面是源代码(1602头文件):三极管测试(仅能分辨NPN).zip
 源代码更新了,wwpwwp20088
0
回复
dijijfcei
LV.1
29
2014-08-15 19:06
@电源网-娜娜姐
 源代码更新了,wwpwwp20088[图片]

代码在哪?

0
回复
dijijfcei
LV.1
30
2014-08-17 21:39
@wwpwwp20088
再来! 下面说说这恒流源该怎么弄?我手头上最多的就是LM358这款运放,里面两个单元的运放刚刚好,虽然精度有限,但在我这个粗制滥造的DIY里已经足够了。 我用运放和三极管搞定它!如图: 正的Ib产生靠这个电路,Ib=(Vcc-Uref)/R1[图片]。。。这个电路产生负方向的Ib。Ib=Uref/R2[图片]因为我Rc取的是1.5K的电阻,Vcc=5V,按可测最大hEF值为400,而且考虑到三极管Uce饱和管压降,初步打算采用Ib=8uA,虽然计算很粗糙,但就先这样设定吧,之后有问题再来调整了。
楼主,求完整代码啊
0
回复
getudi
LV.3
31
2015-03-30 22:46
@寂寞VS冷漠2012
学习了!
你这个太复杂了,我在家电维修论坛里看到一个ATEMG8单片机做的测试仪,很简单
0
回复