首页 理论教育单片机电路中三极管的应用实例

单片机电路中三极管的应用实例

【摘要】:晶体管又称为“双极型晶体管”,是电子电路中极其重要的半导体器件,它主要具有电流放大和开关的作用。图3-16 三极管应用电压、电流Proteus仿真结果3.3.2 三极管的应用三极管在数字电路里的开关特性,最常见的应用有两个:一个是控制应用,一个是驱动应用。

1947年,三位物理学家在美国贝尔实验室发现了举世闻名的晶体管效应,从而使晶体管得以问世,这也是人类电学史上又一伟大的发现。晶体管又称为“双极型晶体管”,是电子电路中极其重要的半导体器件,它主要具有电流放大和开关的作用。本书我们重点学习其开关作用。

3.3.1 三极管的工作原理

晶体管具有三个电极,二极管由一个PN结构成,而晶体管则是由两个PN结背对背地连接在一起构成类似于三明治的结构,如图3-10所示。图中两个PN结共用的一个电极是晶体管的基极,用字母“b”表示,其余的两个电极一个为集电极,用字母“c”表示,另一个为发射极,用字母“e”表示。PN结的不同排列组合方式构成了两种不同类型的晶体管,即NPN型和PNP型晶体管。由于制造晶体管所用半导体材料不同,晶体管有硅管和锗管的区别,但目前大多数晶体管都是用硅材料制成的。

图3-10 晶体管的内部结构

晶体管在电路中的表示符号如图3-11所示,其中标有箭头的电极是发射极,箭头朝向晶体管外部的是NPN型晶体管,箭头朝向晶体管内部的是PNP型晶体管,箭头所指的方向也代表着电流的方向。

图3-11 晶体管在电路中的表示符号

晶体管的型号众多,常用的晶体管有9013(NPN)、9014(NPN)、1815(NPN)、1015(PNP)、8050(NPN)、8550(PNP)等。不同的晶体管有着不同的封装形式,小功率直插式晶体管大多采用TO-92封装,贴片式晶体管大多采用SOT-23封装,其型号或代号一般都直接标注在外壳上。TO-92封装和SOT-23封装的晶体管如图3-12和图3-13所示。

图3-12 TO-92封装

图3-13 SOT-23封装

三极管有截止、放大、饱和三种工作状态。放大状态主要应用于模拟电路中,且用法和计算方法也比较复杂,我们暂时用不到。而数字电路主要使用的是三极管的开关特性,只用到了截止与饱和两种状态,所以我们这里只讲解这两种用法。三极管的类型和用法有一句口诀,同学们可以把这句口诀记牢了:箭头朝内PNP,导通电压顺箭头过,电压导通,电流控制。

下面我们一句一句来解析口诀。大家可以看图3-11,三极管有两种类型,箭头朝内就是PNP,那箭头朝外的自然就是NPN,在实际应用中,要根据实际电路的需求来选择到底用哪种类型,多用几次也就会了。

三极管的用法特点,关键点在于b极(基极)和e级(发射极)之间的电压情况,对于PNP而言,e极电压只要高于b级0.7 V以上,这个三极管e级和c级之间就可以顺利导通。

也就是说,控制端在b和e之间,被控制端是e和c之间。同理,NPN型三极管的导通电压是b极比e极高0.7 V,总之是箭头的始端比末端高0.7 V就可以导通三极管的e极和c极。这就是关于“导通电压顺箭头过,电压导通”的解释,我们来看图3-14和图3-15。

图3-14 三极管的用法

图3-15 三极管用法仿真

三极管基极通过一个10 kΩ的电阻接到单片机的一个I/O口上(这里为方便仿真用接地表示0),发射极直接接到5 V的电源上,集电极接了一个LED小灯,并且串联了一个1 kΩ的限流电阻,最终接到了电源负极GND上。

如果P1.0由程序给一个高电平1,那么基极b和发射极e都是5 V,也就是说e到b不会产生一个0.7 V的压降,这个时候,发射极和集电极也就不会导通,那么竖着看这个电路在三极管处是断开的,没有电流通过,LED小灯也就不会亮。如果程序给P1.0一个低电平0,这时e极还是5 V,于是e和b之间产生了压差,三极管e和b之间也就导通了,三极管e和b之间大概有0.7 V的压降,那还有(5-0.7)V的电压会在电阻R1上。这个时候,e和c之间也会导通了,那么LED小灯本身有2 V的压降,三极管本身e和c之间大概有0.2 V的压降,可以忽略不计。那么在R4上就会有大概3 V的压降,可以计算出来,这条支路的电流大概是2.77 mA,约3 mA,可以成功点亮LED灯。

最后一个概念,电流控制。前边讲过,三极管有截止、放大、饱和三个状态,截止就不用说了,只要e和b之间不导通即可。我们要让这个三极管处于饱和状态,就是我们所谓的开关特性,必须要满足一个条件。三极管都有一个放大倍数β,要想处于饱和状态,b极电流就必须大于e和c之间电流值除以β。对于常用的三极管,β大概可以认为是100。那么上边R1的阻值必须要计算。

e和c之间的电流是3 mA,那么b 极电流最小就是3 mA,除以100等于30 µA,大概有4.3 V电压会落在基极电阻上,那么基极电阻最大值就是4.3 V/30 µA=143 kΩ。电阻值只要比这个值小就可以,当然也不能太小,太小会导致单片机的I/O口电流过大烧坏三极管或者单片机,STC89C52的I/O口输入电流最大理论值是25 mA,推荐不要超过6 mA,用电压和电流进行计算,就可以算出来最小电阻值。图3-16取的是经验值,R2的取值是10 kΩ。

图3-16是图3-14在Proteus中的仿真结果,用电压探针和电流探针能清楚地看到前面讲述的结果,R2(2)处的V=4.3594,说明e和b之间的电压降约为0.7 V,按图3-14给定的R1和R4的值,通过b极的电流I=0.43 mA,通过c极的电流I=2.77 mA,从仿真结果看到LED灯不是很亮,如果调整R3为330 Ω,亮度会好一些。

(www.chuimin.cn)

图3-16 三极管应用电压、电流Proteus仿真结果

3.3.2 三极管的应用

三极管在数字电路里的开关特性,最常见的应用有两个:一个是控制应用,一个是驱动应用。所谓的控制就是可以通过单片机控制三极管的基极来间接控制后边的小灯的亮灭。还有一个控制就是进行不同电压之间的转换控制,比如单片机是5 V系统,它现在要跟一个12 V的系统对接,如果I/O口直接接12 V电压就会烧坏单片机,所以我们加一个三极管,三极管的工作电压高于单片机的I/O口电压。用5 V的I/O口来控制12 V的电路,如图3-17所示。

图3-17中,当I/O口输出高电平5 V时,三极管导通,OUT输出低电平为0.026 V,约为0 V,如图3-18所示。当I/O口输出低电平时,B极电流I=3.70774×10-12,电流很小,实际不导通,三极管截止,OUT则由于上拉电阻R2的作用而输出12 V的高电平,如图3-19所示。这样就实现了低电压控制高电压的工作原理。

图3-17 三极管实现电压转换原理图

图3-18 I/O为5 V时的Proteus仿真图

图3-19 I/O为0 V时的Proteus仿真图

所谓的驱动,主要是指电流的输出能力。我们再来看如图3-20所示的两个电路之间的对比。

图3-20(a)所示的LED灯和项目1中的LED灯是一样的,当I/O口是高电平时,小灯熄灭,当I/O口是低电平时,小灯点亮。那么如图3-20(b)所示的电路呢,按照这种推理,I/O口是高电平的时候,应该有电流流过并且点亮小灯,但实际上却并非这么简单。

图3-20 小灯控制方式对比

单片机主要是个控制器件,其I/O口可以输出一个高电平,但是输出电流却很有限,普通I/O口输出高电平的时候,大概只有几十到几百微安的电流,达不到1 mA,也就点不亮这个LED小灯或者是亮度很低,这个时候如果我们想用高电平点亮LED,就可以用三极管来处理,多数小功率型号的三极管可以通过500 mA的电流,有的三极管通过的电流还更大一些,如图3-21所示。当I/O口是高电平,三极管导通,因为三极管的电流放大作用,c极电流就可以达到毫安以上,就能够成功点亮LED小灯。

图3-21 三极管驱动LED 小灯

有同学在Proteus中设计出直接用单片机I/O来驱动LED灯发光,好像是不用三极管来驱动也是可以的,如图3-22所示。在这里要强调的仿真和实物之间的差别,学习单片机,这些仿真软件确实可以带来许多帮助,但要学会单片机,还是要制作出实际作品来,这个案例算是同学们学习单片机入门的实际案例,可以通过软件仿真和真实作品的对比来理解硬件知识在单片机设计中的重要性。

图3-22 单片机I/O直接驱动LED的Proteus仿真图

虽然我们用了I/O口的低电平可以直接点亮LED,但是单片机的I/O口作为低电平,输入电流就可以很大吗?这个我想大家都能猜出来,当然不可以。单片机的I/O口电流承受能力,不同型号不完全一样,就拿STC89C52来说,官方手册有对电气特性的介绍,整个单片机的工作电流,不要超过50 mA,单个I/O口总电流不要超过6 mA。即使一些增强型51的I/O口承受电流大一点,可以到25 mA,但是还要受到总电流50 mA的限制。

从图3-23中可以看出,流入单片机的总电流是68.75 mA,流过单个I/O的电流是8.6 mA,这个已经超过了总电流为50 mA的要求,在实际电路中是要烧毁单片机的。

图3-23 任务3.1的Proteus仿真图,指示注入单片机的总电流和单个I/O电流

有的同学会提出来,可以加大限流电阻的方式来降低这个电流。比如将限流电阻改到1kΩ,那么电流不到3 mA,8路总的电流就是 20 mA左右。首先,降低电流会导致LED小灯亮度变暗(同学们可以修改限流电阻值观察),小灯的亮度可能关系还不大,但如果这个电路在后续的学习中再接数码管,如果数码管亮度不够的话,那视觉效果就会很差,所以降低电流的方法并不可取。其次,对于单片机来说,它主要是起到控制作用,电流输入和输出的能力相对较弱,P0的8个口总电流也有一定限制,如果接一两个LED小灯观察,可以勉强直接用单片机的I/O口来接,但是接多个小灯,从实际工程的角度去考虑,就不推荐直接接I/O口。那么我们如果要用单片机控制多个LED小灯该怎么办呢?