注:本文章转载自《手把手教你学习51单片机》!因转载需要原文链接,故无法选择转载!
如若侵权,请联系我进行删除!上传至网络博客目的为了记录自己学习的过程的同时,能够帮助其他一同学习的小伙伴!
三极管在数字电路中的应用
三极管在我们数字电路和模拟电路中都有大量应用,在单片机开发板上也用了多个三极管。51单片机板子上LED小灯部分也有着三极管的应用。下图的LED电路中Q16就是一个PNP型的三极管。
三极管的初步认识
三极管是一种很常用的控制和驱动器件。
常用的三极管根据材料分有硅管和锗管两种,原理相同,压降略有不同,硅管用的较为普遍,而锗管应用较少。于是本篇将用硅管的参数来进行阐述。三极管有两种类型,分别是PNP型和NPN型,先来认识一下,如图2所示
三极管一共有三个极,从图2来看,横向左侧的引脚叫做基极,中间有一个箭头,一头连着基极,另一条连着发射极e(emitter),那么剩下的一个引脚就是集电极c(collector) 了。这是必须要记住的内容,死记硬背即可,后面慢慢用的多了便会深入脑海。
三极管的原理
三极管有截至,放大,饱和三种工作状态。放大状态主要应用于模拟电路中,且用法和计算方法也比较复杂,我们暂时用不到。而数字电路主要使用的是三极管的开关特性,只用到了截至和饱和两种状态,所以本篇也只用来讲解这两种方法。三极管的类型和用法为大家总结了一句口诀:箭头朝内PNP,导通电压顺箭头过,电压导通,电流控制。
箭头朝内是PNP型三极管,反之则是NPN型三极管。
我们可以通过观察图2,可以轻松的验证以上结论!在实际应用中,还是要根据实际电路的需求来选择到底用那种类型。
三极管的用法特点,关键在于b极(基极)和e级(发射极)之间的电压情况,对于PNP而言,e级电压只要高于b级0.7V以上,这个三极管e级和c级之间就可以顺利导通。也就是说,控制端在b和e之间,被控制端是e和c之间。同理,NPN型三极管的导通电压是b级比e级高0.7V。总而言之是箭头的始端比终端高0.7V就可以导通三极管的e级和c级。
我们以图3为例,三极管基极通过一个10K的电阻接到了单片机的一个IO口上,假定是P1^0,发射级直接接到5V的电源上,集电极接了一个LED小灯,并且串联了一个1K的限流电阻最终接到了电源负极GND上。
如果P1.0由我们的程序给一个高电平1,那么基极b和发射极e都是5v,也就是说e到b不会产生一个0.7V的压降,这个时候发射极和集电极也就不会导通,那么这个电路在三极管处是断开的,没有电流通过,LED2小灯也不会亮。如果程序给P1.0一个低电平,这时e极还是5V,于是e和b之间产生了压差,三极管e和b之间也就导通了,三极管e和b之间大概有0.7V的压降,那么还有(5-0.7)V的电压会在电阻R47上。这个时候e和c之间也就导通了,那么LED小灯本身有2V的压降,三极管本身e和c之间大概有0.2V的压降,我们忽略不计。那么在R41上就会有大概3V的压降,可以计算出来。这条支路的电流大概是3mA,可以成功点亮LED灯。
接下来介绍最后一个概念:电流控制
前面讲过,三极管有截至,放大,饱和三个状态,截至就不用说了,只要e和b之间不导通即可。我们要让这个三极管处于饱和状态,就是我们所谓的开关特性,必须要满足一个条件:
三极管都有一个放大倍数β,要想处于饱和状态,b极电流就必须大于e和c之间电流值除以β。
这个β,对于常用的三极管大概可以认为是100.那么上面的R47的阻值我们必须要来计算一下了。
刚才我们算过了,e和c之间的电流是3mA,那么b极电流最小就是3mA除以100等于30uA,大概有4.3V电压会落在基极电阻上,那么基极电阻最大值就是4.3V/30uA = 143K。
电阻值只要比这个小就可以了,当然也不能太小,太小会导致单片机的IO口电流过大烧坏三极管或者单片机,STC89C52的IO口输入电流最大理论值是25mA,我推荐不要超过6mA,我们用电压和电流算一下,就可以算出来最小电阻值,我们图3取得是经验值。
三极管的应用
三极管在数字电路里的开关特性,最常见的应用有两个:一个是控制应用,一个是驱动应用。
所谓的控制就是如图3里所介绍的,我们可以通过单片机来控制三极管的基极来间接控制后边的小灯的亮灭,用法大家基本熟悉了。还有一个控制就是进行不同电压之间的转换控制,比如我们的单片机是5V系统,它现在要跟1个12V的系统对接,如果IO直接接12V电压就会烧坏单片机,所以我们加1个三极管,三极管的工作电压高于单片机的IO口电压,用5V的IO口来控制12V的电路,如图4所示。
图4中,当IO口输出高电平为5V时,三极管导通,OUT输出低电平0V,当IO口输出低电平时,三极管截至,OUT则由上拉电阻R2的作用而输出12V的高电平,这样就实现了低电压控制高电压的工作原理。
所谓的驱动,主要是指电流输出能力。我们来看一下图5中两个电路之间的对比:
图5中上边的LED灯,和我们之前讲过的LED灯时一样的,当IO口是高电平时,小灯熄灭,IO口是低电平时,小灯点亮。那么下边的电路呢?按照这种推理,IO是高电平的时候,应该有电流流过并点亮小灯,但实际上并非这么简单。
单片机主要是个控制器件,具备四两拨千斤的特点。
就如同杠杆必须有一个支点一样,想要撑起整个地球必须有力量承受的支点。单片机的IO口可以输出一个高电平,但是它的输出电流却很有限,普通IO口输出高电平的时候,大概只有几十到几百uA的电流,达不到1mA,也就点不亮这个LED小灯或者是亮度很低,这个时候如果我们想用高电平点亮LED,就可以用上三极管来处理了,我们板上这种三极管型号可以通过500mA的电流,有的三极管通过的电流还更大一些,如图6所示:
图6中,当IO口是高电平,三极管导通,因为三极管的电流放大作用,c极电流就可以达到mA以上了,就可以成功点亮LED小灯。
虽然我们用了IO口的低电平可以直接点亮LED灯,但是单片机的IO口作为低电平,输入的电流就可以很大吗?这个我想大家都可以猜出来,当然不可以。单片机IO口电流承受能力,不同型号不完全一样,就STC89C52来说,官方手册的81页有对电气特性的介绍,整个单片机的工作电流不要超过50mA,整个IO口总电流不要超过6mA。即使一些新增型51的IO口承受电流大一点,可以达到25mA,但是还要收到总电流50mA的限制。那么我们来看电路图的8个LED小灯这部分电路,如图7所示:
这里我们要学会看电路图的一个知识点,电路图右侧所有的LED下侧的线最终都连接到一根黑色的粗线上去了,大家注意,这个地方不是实际的完全连接到一起,而是一种总线的画法,花了这种线以后,表示这是个总线结构。而所有的名字一样的节点是一一对应连接到一起,其他名字不一样的,是不连在一起。比如左侧的DB0和右侧的最右边的LED2小灯下边的DB0是连在一起的,而和DB1等其他线是不连在一起的。
那么我们把图7中需要讲解的这部分单独摘出来看,如图8所示:
现在我们通过图8的电路图来计算一下,5V的电压减去LED本身的压降,减掉三极管e和c之间的压降,限流电阻用的是330欧姆,那么每条支路的电流大概是8mA,那么8路LED如果全部同时点亮的话,电流总和就是64mA。这样如果直接接到单片机的IO口,那单片机肯定是承受不了的,即使短时间可以承受,长时间工作就会不稳定,甚至导致单片机烧毁。
有的同学会提出来可以加大限流电阻的方式来降低电流。比如改到1K,那么电流不到3mA,8路总电流就是20mA左右。首先,降低电流会导致LED小灯亮度变暗,小灯的亮度可能关系还不大,但因为我们同样的电路接到了数码管,后面我们要讲数码管还有动态显示,如果数码管亮度不够的话,那么视觉效果就会很差,所以降低电流的方法并不可取。其次,对于单片机来说,它主要是起到控制作用,电流输入输出能力相对较弱,P0的8个口总电流也有一定限制,所以如果接一两个LED小灯观察,可以勉强直接用单片机IO口来接,但是接多个小灯,从实际工程的角度去考虑,就不推荐直接接IO口了。那么我们如果要用单片机控制多个LED小灯该怎么办呢?
除了三极管以外,其实还有一些驱动IC,这些驱动IC可以作为单片机的缓冲器,仅仅是电流驱动缓冲,不起到任何逻辑控制的效果,比如我们板子上用的74HC245这个芯片,这个芯片在逻辑上起不到别的什么作用,就是当作电流缓冲器的,我们通过查看其他数据手册,74HC245稳定工作在70mA是没有问题的,比如单片机的8个IO口太多了,所以我们可以把它接在小灯和IO口之间做缓冲!如图9所示:
从图9我们来分析,其中VCC和GND就不必说了,细心的同学会发现这里有个0.1uF的去耦电容哦!
74HC245是一个双向缓冲器,1引脚DIR是个方向引脚,当这个引脚接高电平的时候,右侧所有的B编号都等于左侧A编号对应的电压。比如A1是高电平,那么B1就是高电平,A2是低电平,B2就是低电平等。如果DIR引脚接低电平,得到的效果就是左侧A编号的电压都会等于右侧B编号的电压。因为我们这个地方控制端是左侧接的是P0口,我们要求B等于A的状态,所以1脚我们直接接的5V电源,即高电平。图9中还有一排电阻R10~R17是上拉电阻,这个电阻的用法我们在后边介绍!
还有最后一个使能引脚19OE,叫做输出使能,这个引脚上边有一横,标明是低电平有效,当接了低电平后,74HC245就会按照刚才上面说的起到双向缓冲器的作用,如果OE接了高电平,那么无论DIR怎么接,A和B的引脚是没有关系的,也就是74HC245功能不能实现。
从下面的图10可以看出,单片机的P0口和74HC245的A端是直接接起来的。
这个地方,有个别同学有个疑问,就是我们明明在电源VCC那个地方加了一个三极管驱动了,为何还要加245驱动芯片呢?这里大家要理解一个道理,电路上从正极接过器件到地,首先必须有电流才能正常工作,电路中任何一个地方断开,都不会有电流,器件也就不会参与工作了。其次和水流一个道理,从电源正极到负极的电流水管的粗细要满足要求,任何一个位置的管子过细,都会出现瓶颈效应,电流在整个通路中细管处会受到限制而降低,所以在电路通路的每个位置上,都要保证通道足够畅通,这个74HC245的作用就是消除单片机IO这一环节的瓶颈。