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

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

3天内不再提示

三极管是怎样提高单片机IO口驱动LED的能力

零是起源 来源:零是起源 作者:零是起源 2022-02-22 09:23 次阅读

学过单片机应该都知道。单片机的IO口可以输出三种状态:高电平、低电平、高阻。一般不同封装和颜色的驱动电压和电流都有些许差异,具体要参照使用LED规格书。这里演示为2V/20mA就可额定工作条件的LED。

那么利用IO口的低电平状态可以设计如图方式1的驱动LED方法(这个也是不用三极管情况下常用的方式),利用IO口的高电平状态可以设计如图方式2的驱动LED方式。

poYBAGITeaKATyWeAAEdnaYrxgg550.png

那么大家实际搭好电路和载入驱动程序后,方式1可以完美运行,但是方式2的灯却不能亮。为什么呢?这就要引入灌电流和拉电流的概念来解释了。

1、灌电流:图中第(1)个连接方式中,单片机输出低电平时,电流方向由外部进入单片机,称为灌电流,电流由外部电源提供。

2、拉电流:图中第(2)个连接方式中,单片机输出高电平时,电流方向由单片机输出到外部,称为拉电流,电流由单片机提供,可理解为“外部元件从单片机取电”。

如果你查看单片机的规格书,你会发现IO口允许外部灌入电流可以达到几十mA,但是对所有IO口合计的总灌入电流是有限制的,所以你需要同时驱动几个LED亮,可能是行不通的。而再来看单片机的拉电流是uA级别的,根本无法驱动外部LED。那么为什么高电平状态,驱动能力这么弱呢?原因是IO口内部集成了较大的上拉电阻,而到GND是有一个开关管(阻抗非常低、可以忽略)控制的。

pYYBAGITebqALdMbAABHsmF6xAM198.png

上面仅仅讲述了单片机IO口的情况,那么举一反三,很多IC的GPIO口都会有灌入电流和拉电流的限制,所以在使用的时候要注意这个电流的限制。

可以知道使用方式1驱动LED对LED数量是有限制的。另外如果LED发生损坏短路,也会有电流直接流入IO口,可能造成单片机损坏。就有人引入了三极管来解决这些问题,IO口只负责控制三极管通断即可。应尽可能选三极管饱和后Vce压降小的。这里饱和后Vce=0.1V。LED 2V/20mA驱动,那么三极管Ic=20mA。限流电阻R1=(5-2-0.1)V/20mA=145Ω,145不是标称值,那么实际选择150Ω的电阻,实际Ic=(5-2-0.1)V/20mA=19mA。

poYBAGITeciAdow0AAB4tH-aJWU282.png

然后确认三极管的放大倍数Hfe,假设是100,那么三极管B极电流是19mA/100=0.19mA。

poYBAGITeeaARwA9AAAj4qRPXuI702.png

也就是说如果IO口需要驱动这个LED,必须支持的最小输出电流至少为0.19mA。这个电流非常小,多个串口同时驱动多个LED,压力也没那么大。

但是假如你用的这个ICIO口最大输出电流只有0.1mA,还是无法满足怎么办,那么就需要NPN+PNP两个三极管组合来解决了。

pYYBAGITefaACVe0AACKgMm8kUs541.png

参照上图,如果只用一个NPN管来驱动LED,那么Ic电流=25mA,那么KRC103S 基极电流Ib=Ic/Hfe=25mA/150=0.167mA,很明显驱动不了。那么再加入一个PNP管KRA102S,PNP管基极电流Ib=Ic/Hfe=25mA/100=0.25mA,然后NPN管导通其Ic=0.25mA,那么IO口的电流就只有0.25mA/150=0.002mA。这样一来控制IC就能驱动LED了。

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

    关注

    237

    文章

    22608

    浏览量

    647420
  • 三极管
    +关注

    关注

    142

    文章

    3526

    浏览量

    119803
  • 单片机
    +关注

    关注

    6011

    文章

    44153

    浏览量

    624384
  • NPN
    NPN
    +关注

    关注

    11

    文章

    2614

    浏览量

    46483
  • GPIO
    +关注

    关注

    16

    文章

    1151

    浏览量

    50871
收藏 人收藏

    评论

    相关推荐

    三极管驱动电磁阀,如何实现短路检测呢?

    请教,我现在用单片机io驱动三极管三极管集电极开路接法接电磁阀。 客户提出需要能检测输出开路
    发表于 04-23 08:27

    一个PNP三极管的问题

    IO  p1.0,E接5V电源,单片机p1.0拉低后怎么三极管C
    发表于 01-30 20:28

    如何用三极管来设计一个放大单片机io电流的电路?

    最近用51单片机模拟pwm信号做了一个呼吸灯,但是因为使用p1输出信号,所以led灯不是很亮,查了一些资料还是不太明白,特来求助各位帮我设计一个用到三极管的电流放大电路,谢谢各位!
    发表于 06-10 21:52

    三极管驱动固态继电器

    `单片机IO输出PWM波,通过三极管8050驱动图片中的继电器。电路图该怎么设计,参数怎么确定?`
    发表于 04-21 18:03

    三极管和图腾柱

    /30uA = 143K。电阻值只要比这个值小就可以,当然也不能太小,太小会导致单片机IO 电流过大烧坏三极管或者单片机,STC89C
    发表于 07-27 19:40

    单片机IO引脚驱动能力提升篇

    负载继续说明驱动方法。继电器线圈的驱动电流往往要有40mA以上,单片机的引脚肯定是不能承受了,必须用三极管来扩充输出能力。+5V的大电流负载
    发表于 10-20 22:39

    三极管做开关电路用法分析

    小型负载例如LED、继电器等设备的驱动电路中由于单片机IO驱动能力有限,不能直接对这些负载
    发表于 12-19 18:01

    单片机控制三极管让12V电路通断

    `这是proteus仿真用的电路,仿真正常今天用实物试了一下咋不行了呢,三极管用的S8050一个12V电源给灯条供电,一个5V的电源当作单片机IO输出高电平,两个电源的负极接在
    发表于 11-07 16:49

    8050NPN三极管IO有上拉电阻时基极电压的电平问题

    图中三极管为8050三极管,是电流控制型的。如果单片机io有个200K的上拉,基极的电压是高电平还是低电平?
    发表于 01-09 11:09

    51单片机I/O不能检测到光敏三极管信号

    电路图如下!~想用光敏三极管的信号来使用单片机的外部中断,但是单片机I/O一直保持初始值高电平,不能被光敏三极管的信号改变。同样的管脚,用
    发表于 10-15 21:57

    三极管单片机中担任的“角色”,不可小看

    推荐直接接 IO 了。那么我们如果要用单片机控制多个 LED 小灯该怎么办呢?除了三极管之外,其实还有一些
    发表于 08-07 18:30

    51单片机IO引脚的电流驱动能力比较

    首先,针对于51单片机有以下概念51单片机IO每个引脚的电流驱动能力比较弱:①拉电流:即
    发表于 02-22 06:35

    使用三极管提高单片机IO驱动LED能力的设计

    LED。那么利用IO的低电平状态可以设计如图方式1的驱动LED方法(这个也是不用三极管情况下
    发表于 03-04 07:00

    单片机系统中三极管的妙用

    要跟一个 12V 的系统对接,如果 IO 直接接 12V电压就会烧坏单片机,所以我们加一个三极管三极管的工作电压高于单片机
    发表于 11-29 19:27

    怎样单片机IO来控制三极管的开关特性使共阳极的LED点亮?

    怎样单片机IO来控制三极管的开关特性使共阳极的LED点亮
    发表于 10-15 06:02