Arduino、Raspberry Pi、TI MSP430 LaunchPad 和各种其他嵌入式开发平台的普及导致基于 NPN 双极结型晶体管的基本开关/驱动器电路的相应普及。这种配置允许微控制器输出引脚安全、方便地控制高电流负载。下图描述了两种标准应用——采用 LED 和继电器控制的高强度照明。
该电路当然有其优点:
它很简单并且使用现成的部件。
它很灵活——通过选择合适的晶体管可以适应各种电压和负载电流。
您可以使用
光耦合器而不是 BJT 轻松迁移到电流隔离实施。
然而,它也伴随着风险:自满。它简单且广泛使用,这可能会鼓励我们简单地插入我们在网上找到的电路并假设它会工作。
正如生活中通常的情况一样,一种尺寸并不适合所有情况。在终确定 BJT 开关/驱动器设计之前,您需要考虑以下重要因素:
BJT 基极电流 (I B ),也是 GPIO 引脚提供的电流
BJT 有源区直流电流增益 (β)
BJT 集电极电流 (I C ),也是负载电流 这是一个视觉表示:
I B不应超过驱动基极的引脚的输出电流规格。为了检查这一点,假设基极-发射极结的压降恒定为 0.7V。这将为您提供以下内容:
$$I_B=\frac{V_{IO}-0.7\ V}{R_B}$$
其中V IO是芯片输入/输出电路的电源电压(常用值为5 V 和3.3 V)。
接下来,我们需要确认集电极电流 1) 足够高以正确驱动负载,2) 不会高到导致负载发生故障。步是使用 BJT 有源区电流增益的值来计算近似的集电极电流。
$$ I_{Cmin}=I_B\times\beta_{min}$$
如果该电流小于可接受的负载电流,则无法确定电路能否正常工作。要解决此问题,请使用较小的基极电阻来增加基极电流或选择具有较高 β 的晶体管。
下一步是使用 β 的值计算近似的集电极电流。如果 I Cmax对于您的负载来说太高,您需要一个
电阻器来限制集电极电流。每当您强制 I C小于 β × I B时,您就会将 BJT 移至饱和区 - 额外的压降(由电阻器产生)会降低集电极电压并导致基极到集电极结变得不够充分。针对有源区操作的反向偏置。 (实际上,用 I C = β × I B来设置集电极电流是不切实际的,因为 β 变化很大;因此,您需要确保晶体管有足够的电流增益,然后添加电阻来限制 I C)。当处于饱和模式时,假设集电极到发射极结的电压固定,称为 V CEsat;检查 BJT 的数据表,或使用常见但不的 0.2 V 值。然后使用欧姆定律结合 V CC和 V CEsat来计算集电极电流并确认其在负载可接受的范围内。