我正在尝试使用来自 MCU 的信号切换 12 V(最大 30 mA),我希望该信号处于低电平有效(因此当控制信号为 0 V 时输出电压为 12 V,当控制信号为 0 V为 5 V)。
由于我手头有很多双极晶体管,我正在寻找使用双极晶体管的解决方案。对于高电平有效信号,我在此站点上找到了一个似乎工作得很好的答案,似乎可以通过添加另一个 PNP 晶体管来适应低电平有效信号:

然而,对于一个看似相当简单的问题,3 个晶体管似乎有点过分了。有更好的解决方案吗?
我正在尝试使用来自 MCU 的信号切换 12 V(最大 30 mA),我希望该信号处于低电平有效(因此当控制信号为 0 V 时输出电压为 12 V,当控制信号为 0 V为 5 V)。
由于我手头有很多双极晶体管,我正在寻找使用双极晶体管的解决方案。对于高电平有效信号,我在此站点上找到了一个似乎工作得很好的答案,似乎可以通过添加另一个 PNP 晶体管来适应低电平有效信号:

然而,对于一个看似相当简单的问题,3 个晶体管似乎有点过分了。有更好的解决方案吗?
这个想法怎么样。
输入为 5V 时,没有电流可以流过齐纳二极管 (5 + 9 > 12)。输出 PNP 晶体管由基极发射极电阻 (= 4k7 + 2k2) 保持关闭,输出为 0。当输入下拉至 0V 时,小电流将流过基极和 2k2 电阻。两个电阻的结点为 9V(齐纳电压),基极为 11.4V(假设 Vbe 压降为 0.6V)。将添加流过基极和齐纳二极管的总电流(灌电流)(基尔霍夫电流定律)。显示值时,基极电流为 0.5mA,电阻器电流为 1.4mA,灌电流略低于 2mA。

您可以使用两个 NPN 晶体管来实现这一点,如下所示。如您所见,只要0V给出信号,12V就会在输出中看到,而只要5V在输入中给出a,就会0V在输出中看到。
让我们看看它是如何工作的。首先,让我们从输入为 的场景开始5V,或者换句话说,HIGH。这将使 Q1 导通,并且 Q1 集电极上的电压将几乎等于其发射极上的电压,即 GND。Q2 的基极连接到Q1 的集电极,所以当0VQ1 的集电极有ON 时,即Q1 导通时,Q2 截止。这是因为 Q2 的基极会短路到地。
当输入为0V, 或LOW时,Q1 不会开启,可以想象为根本没有连接。因此,通过 R1 的电流将打开 Q2。
Q2 的电流受到其基极电流和 hFE 的限制,如下式所示;
\$I_{CQ2}=I_{BQ2}*hFE_{Q2} = \dfrac{12-0.6}{10*10^3}*300=350 mA \$
可以看出,可以通过 Q2 的最大电流约为 350mA。但这很大程度上取决于晶体管的 hFE,它可以在 50 到 300 之间变化。hFE 为 50 时,电流最大约为 60 mA,这足以满足您的规格要求。降低 R1 将增加 Q2 将通过的电流。

这是一个想法:-

两个 NPN 和一个用于输出级的 PNP。电阻器 R 是可选的,但有些人喜欢在那里看到一个。使其成为 4k7。
使用来自 MCU 的逻辑 1 驱动,中间晶体管的基极对地短路,因此集电极电流不会流动,因此输出晶体管将关闭。