单片机IO增强电流驱动能力的三极管几种接法

stm32等单片机的GPIO 最大可以输出8mA,灌入20mA,但要保证所有进入芯片VDD的电流不能超过150mA,同样所有从VSS流出的电流也不能超过150mA。参考:https://www.21ic.com/app/mcu/201809/783861.htm

1、负载 < 10ma电流

因此,灌电流 > 输出电流的。对于小功率led< 10ma电流),有两种直接驱动方式:

  • 高电平驱动(输出电流方式)(IO高电平亮灯)

IO串联限流电阻 -> led -> GND

  • 低电平驱动(灌电流方式)(IO低电平亮灯)

VCC -> led -> IO串联限流电阻 -> GND

无论哪种方式,对于驱动小型贴片led(大概两三毫安就能正常亮度了),倒是可以直接驱动(从上面可知优先选择低电平驱动方式,因为IO能接受更大的灌电流的)。

2、负载 10ma - 200ma 电流

但是,对于大一点功率的led等负载10ma - 200ma),就得通过外接三极管或者mos管(本人手头三极管多且便宜且易用,因此本文不讨论mos管的使用(虽然mos管特性 一个mos管就能轻松解决))驱动了。

三极管分为NPN型和PNP型,B基极,C集电极,E发射极

  • B→E 导通:VBE≈0.7V
  • C→E 饱和完全导通:VCE(sat)≈0.2V
  • E→B 反向:不导通、禁止长期加高压

三极管本身是一种电流放大型原理的器件,例如NPN三极管,CE = BE x β倍数,因此最开始是在模拟电路中用于放大电流的(例如音频功放模块)。如果 BE电流 x β倍数 (其中常见三极管β一般100左右) 远大于CE能提供的电流,那么该三极管就工作在了饱和区 。三极管用在数字电路中,往往就是当作开关用途,让其工作于饱和区,因此BE电流给的比较大即可,例如CE电流最大为200ma,此时B极用3.3v高电平输入,串联1K欧电阻,3.3ma电流,那么CE电流即可轻松达到最大200ma了,此时CE极就完全导通了,类似打开了一个开关效果(而且常见三极管的电流响应频率能达到百兆Hz以上,轻松实现各种高频开关场景)。

  • 高电平驱动(输出电流方式)(IO高电平亮灯)

SS8050 是 NPN 型硅三极管(中功率、通用开关 / 放大管),它的标准互补对管是 SS8550(PNP),大概500ma电流没问题。

  • 低电平驱动(灌电流方式)(IO低电平亮灯)

采用PNP管实现,但是有个使用限制:GPIO高电平电压得与发射极电压一致,否则EB电压大于0.7V,从而无法关断

3、负载 > 200ma 电流

(1)两级NPN三极管直接级连方式(达林顿管)

低电平关断led,高电平导通led

连接方式最为简单,原理非常容易理解,一级管的发射极电流直接输入给第二极管的基极进行进一步放大,使其非常容易进入饱和状态,参考 https://blog.csdn.net/m0_70691405/article/details/154956736

**核心:**第一级三极管电流直接灌入第二级三极管,直接进行放大倍数乘积模式,因此GPIO需求电流可以特别小 微安级别,电路简单

缺点:压降大一倍,功耗大一些,结电容叠加、存储电荷多所以开关速度较慢(PWM高频调光就会有拖影)

同理,两个PNP组成的达林顿管连接(同极性达林顿),低电平导通led,但是存在上面说的电压必须一致问题

如果是NPN+PNP级联形成的达林顿管,用于实现互补推挽输出(稍微难理解一点,因为电流值相互约束钳位不容易直观分析,网上了解了一下性能比同极性达林顿还要好一些,但是没有集成芯片需要自己搭建,具体就没有深究了),这样两对(即总共4个管子)就能实现高低电平都具有高驱动电流,例如电机正反转场景。

参考 https://blog.csdn.net/m0_70691405/article/details/154956736

(2)两级NPN三极管电阻连接方式 (不实用)

低电平导通led,高电平关断led

核心: 第二级三极管的B极 从第一级三极管的集电极取电压,即第一级三极管相当于电平转换功能

优点: 第一级三极管不导通情况下,第二级三极管就自动导通的,能减少静态功率消耗。适用于大部分时间都是负载需要上电情况。注:这里R23可以去掉的。

缺点: R25过小过大都不合适,因为需要为第二级三极管提供足够基极电流,同时又不能让第一级三极管导通电流太大导致功率浪费。同原理,两级PNP实现,存在同样问题

(3)其它两级NPN三极管连接方式(稍微难理解)

低电平关断led,高电平导通led

这个稍微难理解一点,但是也是可以的,流过R19为0.33ma,则流过R20约为33ma(100被放大),则R20电压为300V,当然是不可能,因为集电极总共只能提供3.3V,所以为3.3-0.7V=2.6V左右,所以R18输入相当于直接接到Q11集电极的3.3V,因此Q9也是能饱和导通了 。 参考 https://baijiahao.baidu.com/s?id=1608338008942258444&wfr=spider&for=pc

核心: 第二级三极管的B极 从第一级三极管的发射极取电压,即第一级三极管相当于电平转换功能

**缺点:**没有方案2缺点,R20较大即可,防止功率浪费

同理,依据此原理,两个PNP应该就能实现 低电平导通led,高电平关断led

(4)两级NPN+PNP三极管电阻连接方式(实用 低断高通)

低电平关断led,高电平导通led

核心: 第二级三极管的B极 从第一级三极管的集电极取电压,即第一级三极管相当于电平转换功能。这里也可以将R30移动到第一级管Q15的发射极,取电压给第二级管Q14的B极,这样实现上面方案2的第一级管不导通仍然第二级管处于导通状态,从而降低静态功耗,从而满足大部分时间都是负载需要上电情况的应用场景。

**缺点:**没有方案2缺点,R30较大即可,防止功率浪费

(5)两级PNP+NPN三极管电阻连接方式(实用 低通高断,优先选择)

低电平导通led,高电平关断led (因为单片机上电后默认电平一般是高电平,所以本方案5最好)

核心: 第二级三极管的B极 从第一级三极管的集电极取电压,即第一级三极管相当于电平转换功能。同理可以用上面方案4的电阻移动方法,实现降低静态功耗,从而满足大部分时间都是负载需要上电情况的应用场景。

**缺点:**和方案4同原理,没有方案2缺点,R32较大即可,防止功率浪费

4、总结

  • 小电流负载,直接一个三极管驱动即可,但是需低电平导通且电压不一致,则用方案5
  • 大电流负载,方案4和5即可(而且能适应高频开关,电压不一致都可以
  • 简单粗暴低频开关,方案1达林顿管方式即可
相关推荐
WIZnet9 分钟前
W55RP20-EVB-MKR MicroPython 实战(13):MQTT 协议与阿里云 IoT 平台对接
单片机·udp·wiznet
WIZnet33 分钟前
W55RP20-EVB-MKR MicroPython 实战(15):MQTT协议与ThingSpeak平台对接
单片机·嵌入式硬件·wiznet
LCG元15 小时前
STM32实战:基于STM32F103的家用新风系统智能控制器(空气质量监测+PID调速)
stm32·单片机·嵌入式硬件
LCG元15 小时前
STM32实战:基于STM32F103的多通道工业数据采集与监控系统(Modbus RTU+上位机)
stm32·单片机·嵌入式硬件
资深流水灯工程师16 小时前
STM32 单片机 USB 通讯原理与 HAL 库实战详解
stm32·单片机·嵌入式硬件
资深流水灯工程师16 小时前
STM32 I2C 通讯原理与三种实现模式详解
stm32·单片机·嵌入式硬件
zlinear数据采集卡16 小时前
电源纹波杀手:LDO线性稳压电路的“降噪哲学”——基于ZLinear数据采集卡的深度解析
单片机·嵌入式硬件·fpga开发·硬件架构
资深流水灯工程师16 小时前
STM32 USART 通讯原理与三种模式详解
stm32·单片机·嵌入式硬件
资深流水灯工程师16 小时前
STM32 单片机 SPI 通讯原理详解
stm32·单片机·嵌入式硬件
EMTime16 小时前
玲珑GUI-工程设置
单片机·mcu·ui·用户界面