三极管拥有3个引脚,分别对应3个级:基极(Base)、发射极(Emitter)、集电极(Collector),如下图所示;下图横向左侧的是基极,带箭头的那个引脚就是发射极,另一个就是集电极。
箭头从发射极指向基极的三极管是PNP型三极管,也就是箭头指向内部的三极管;
箭头从基极指向发射极的三极管就是NPN型三极管,也就是箭头指向外部的三极管;
三极管有饱和、截止、放大 3 种工作状态,放大主要用于模拟电路,用于电路放大,有点复杂,在单片机这种数字电路的应用就没必要深究了,不然搞不明白容易走火入魔。数字电路主要使用到三极管的开关特性,即饱和状态与截止状态。
三极管使用的关键在于基极B
和发射极E
之间的电压情况,对于 PNP 型三极管,发射极E
的
电压高于基极B
的
电压0.7V
以上,发射极E
与集电极C
之间就可以导通,也就是说,起控制作用的是基极B和发射极E之间的电压差,被控制的是发射极E
和集电极C是否导通
。同理,对于NPN 型三极管,基极B
端比发射极E
端高0.7V
以上,就可以使发射极E
与集电极C
导通
。
如上图所示,
通过单片机引脚P2_0与三极管配合一起来控制LED19的亮灭;
三极管Q13的基极通过电阻10k的电阻R33,连接至单片机 IO 引脚P2_0;
发射极E
直接接5V的
电源;
集电极C接LED19和一个1k的限流电阻R34,
并最终连接到电源负极GND。
如果单片机 引脚P2_0输出高电平1
,也就是输出5V的电压,三极管Q13的基极B
和发射极E
都是5V
,此时不会产生任何压降,
发射极E
和集电极C
之间不会导通,发光二极管LED19是无法点亮。
当单片机 P2_0引脚输出低电平0,也就是0V
,由于此时发射极E
依然是5V
,集电极B
与发射极E
之间产生压差,发射极E
与集电极C
被导通。
三极管集电极B
与发射极E
之间,其自身会产生0.7V
左右压降,
此时电阻R33上承受的电压为 5V - 0.7V = 4.3V
。
三极管发射极E
与集电极C
之间,其自带的0.2V
压降可以忽略不计,而后面的发光二极管LED19回产生一定的压降,不同的发光二极管是不一样的,比如某个发光二极管的压降是2V
,此时限流电阻R34上的压降应为 5V - 2V = 3V
,
LED中流过的电流与R34上流过的电流是一样的,可以这样算 3V/1000Ω = 0.003A = 3mA
,可以满足LED34的工作电流并且正常点亮。
三极管有截止、放大、饱和三种状态,其中截止是指集电极B
与发射极E
之间不导通,这里枝讨论导通的情况;
要想让三极管处于饱和状态必须要满足一个条件:集电极B
的电流必须大于发射极E
与集电极C
之间的电流值除以三极管放大倍数,
常用三极管放大倍数约为100,比如下面的一款三极管放大倍数是120到400之间,我们计算还是按100的放大倍数来计算。
接下来计算一下R33的阻值。
发射极E
与集电极C
之间的电流为3mA
,那么基极B
的电流最小就是3mA / 100 = 30uA
。由于基极电阻承受的电压为4.3V
,那么基极电阻最大取值应为 4.3V / 30uA ≈ 143千欧
,电阻取值只需要比这个值更小即可,但是也不能太小,否则电流通过电流过大会烧坏单片机或三极管。
STC单片机的引脚的理论最大输入电流在25mA
左右,实际最好不要超过10mA,那么基极的R33电阻取值必须大于4.3V / 10mA ≈ 430Ω
,即R33的阻值应该介于430欧
与14.3千欧
之间,所以选择10千欧是可以的。