在由 NPN 晶体管切换的电路中,电源和输入是否需要相同的接地?

电器工程 晶体管 中继 地面 npn
2022-01-16 02:12:25

我正在尝试制作一个电路,让我可以打开一个可以打开 LED 的继电器。但是,继电器的额定电压为 12 V,而我只有 5 V 的输入,所以我使用的是NPN 晶体管打开和关闭继电器的电源。这是示意图: 在此处输入图像描述

但是,我对一些事情感到困惑(注意 12 V 电源和 5 V 电源的接地均未指定):

  1. 如果我的 5 V 电源是 Arduino,我可以将地用于 12 V 电源的地吗?

  2. 基极和发射极在晶体管上有不同的接地可以吗?还是它们必须相同?

  3. 如果我的 12 V 电源是 8 节 AA 电池(不可持续,但我只是将其用于测试),我如何将其连接到与 arduino 相同的地线,而不是电池的负极?

  4. 根据晶体管,我如何确定 R1 和 R2 应该是什么?我在网上看了一些东西,但仍然很困惑。

  5. 还有其他我没有考虑到的事情吗?

我对此完全陌生,因此非常感谢任何帮助。

3个回答
  1. 是的,您需要在此电路中连接 5V 和 12V 接地,以便晶体管切换。请记住,基极电流必须有一个返回路径。您不能仅使用 1 根线发送信号。
  2. 见上文,发射器需要使用与信号源(Arduino)相同的接地,否则没有返回路径。

  3. 将底部电池的负极(假设您有 8 个串联)连接到 Arduino 地。
    “接地”只是用于测量电路中电压的参考点的术语,您可以选择任何点(尽管它通常是连接到电源负极端子的网络)。例如,您可以将正极端子连接到电路中的点称为“接地”,然后“原始接地”(电路中显示的接地)相对于它是-12V。负极并不意味着电压是负的,它只是告诉你电流的流动方式。

  4. (a) R1 用于限制流向晶体管基极的电流。要计算该值,我们需要知道我们正在切换多少电流(即继电器需要多少)以及晶体管的电流增益。假设我们使用电流增益为 200 的晶体管,继电器需要 20mA 来切换。由于通过基极的电流被电流增益放大,我们知道基极电流至少需要 20mA / 200 = 0.1mA。
    典型双极晶体管的基极电压约为 0.7V,因此串联电阻 (R1) 的最大值需要为:(5V - 0.7V) / 0.1mA = 43kΩ
    由于增益可能会有所不同(为了安全起见,从数据表中的最小值开始)我们可以选择一个 33kΩ 来留出一些基极电流。请注意,作为一个有效的开关,我们希望晶体管饱和,因为有效增益在线性和饱和模式之间的拐点处开始下降(如 Shokran 所述)。因此,我们选择了一个比计算值低的电阻器,以确保我们可以将集电极拉近地。在例如功率晶体管的情况下,最小化耗散很重要,明智的做法是选择比计算值小至少 5 倍的值(或假设增益约为 20),因此在上面的示例中我们可以低至 4.3k。

    (b) R2 用于确保在移除驱动电流时将基极接地。这是为了阻止泄漏电流使晶体管部分导通。该值不需要太精确,只要足以分流泄漏电流(数据表),也不需要太低以窃取过多的基极驱动电流。串联电阻的 5-10 倍(或 1kΩ 到 500kΩ)是一个粗略的范围。在大多数情况下,100k&Omega 是一个合理的值,尽管我会在这里选择 330k,因为泄漏电流应该是最小的。如果您需要降低很多,则必须调整串联电阻以进行补偿。
    请注意,如果 Arduino 引脚被驱动为 0V(即设置为输出和逻辑 0),则 R2 并不是真正需要的,只有当引脚设置为高阻抗(即输入)时
    注 2 - 对于 BJT,这很少需要担心(MOSFET 是另一回事,绝对不希望悬空)如果您有一个非常高增益的晶体管(尤其是达林顿)、嘈杂的环境和/或非常高温(泄漏随温度增加)和非常高的集电极电阻可能会导致问题,但通常泄漏电流会很小。

  5. 不是我现在可以发现(但是这里是早上 4 点 48 分,所以我的大脑可能早就退休了,所以我保留错过明显的东西的权利 ;-))

1)、2) 和 3)
如果您在电路中使用不同的电源,则必须以某种方式连接它们,以便它们具有共同的参考。您几乎总是会连接接地,因为它们是您的参考。电压是相对的:如果您将电池的正极作为参考,则负极将处于 -12 V,如果您将负极作为参考,正极将处于 +12 V。很少有电路会使用正极作为参考,我们喜欢正电压更好。所以电池的负号是 Arduino 的。

为什么它们必须连接?您的晶体管将看到两个电流:基极电流,进入基极并通过发射极返回到 5V 电源,以及集电极电流进入集电极并通过发射极返回电池。由于电流具有共同的发射极(称为共发射极电路),这将是连接两个电源的地方。

当基极电流通过发射极离开晶体管时,它如何知道要走哪条路?电流只能在闭合回路中流动,从电源的正极到负极。基极电流从 +5 V 开始,因此当它通过电池接地时不会闭合环路。

4)
我们暂时不考虑 R2。因为基极发射极充当二极管,所以基极电压约为 0.7 V。施加 5 V 电压来激活晶体管,根据欧姆定律,通过 R1 的电流(即基极电流)为 \$\frac{5V- 0.7V}{R1}\$。晶体管将该电流放大到足够高的集电极电流以驱动继电器。什么足够高?因此,您必须检查继电器的数据表。它会告诉您所需的电流或线圈的电阻,然后您可以再次使用欧姆定律计算电流。继电器通常需要大约 400 mW 才能激活,因此对于 12 V 继电器,电流为 400 mW/12 V = 35 mA。那是最小的集电极电流。

要找出我们需要多少基极电流,我们必须查看晶体管的数据表。假设我周围有 100 000个 BC547B(我订购它们时忘记了小数点),我需要一个目的。当前增益由 \$h_{FE}\$ 参数给出,我们可以在数据表的第 2 页找到该参数。对于 BC547B,最小值为 200。(始终使用最坏情况值,对于 \$h_{FE}\$,这是最小值。如果您使用典型值,则某些部件的电流可能太小。)

因此,要获得 35 mA 集电极电流,我们需要 35 mA/200 = 0.175 mA 基极电流。那么 R1 必须是 \$\frac{4.3 V}{0.175 mA}\$ = 24600 Ω。这是一个你找不到的值,所以我们应该选择更高或更低的值。如果我们选择更高的值,电流会更低,集电极电流也会更小,我们的继电器可能不会激活。所以它必须更低,24600 Ω是上限。现在提供过多的基极电流(在合理范围内)并没有错;集电极电流将尝试跟随,但线圈的电阻会限制它。如果线圈的电阻为 360 Ω,则欧姆定律表明,无论您如何努力,在 12 V 时您都无法获得超过 35 mA 的电流。

让我们选择一个 10 kΩ 的电阻。这比我们需要的值低得多,但我们会没事的。基极电流将在 0.5 mA 左右,Arduino 会很高兴地提供,晶体管会尝试达到 100 mA,但同样,它将被限制在我们的 35 mA。一般来说,留有一些余量是个好主意,以防 5 V 会少一点,或者参数中可能存在其他任何变化。我们有一个三倍的安全边际,应该没问题。

R2呢?我们没有使用它,一切似乎都很好。没错,而且在大多数情况下都会如此。我们什么时候需要它?如果 Arduino 的输出低电压不会低于 0.7 V,那么晶体管在关闭时也会获得电流。情况并非如此,但假设输出低电压将保持在 1 V。R1 和 R2 形成一个电阻分压器,如果我们选择 R1 = R2,则 1 V 输入将变为 0.5 V 基极电压,而晶体管不会得到任何电流。

开启时我们有 0.5 mA 的基极电流,但 R2 与基极发射极并联时,我们会在那里损失一些电流。如果 R2 为 10 kΩ,它将消耗 0.7 V/10 kΩ = 70 µA。所以我们的 500 µA 基极电流变为 430 µA。我们有很大的余量,所以这仍然会给我们足够的电流来激活继电器。

R2 的另一个用途是排出漏电流。假设晶体管由电流源驱动,例如光耦合器的光电晶体管。如果光耦合器提供电流,它将全部进入基极。如果光耦合器关闭,光电晶体管仍会产生很小的泄漏电流,即所谓的“暗电流”。通常不超过 1 µA,但如果我们不采取任何措施,它将流入基极并产生 200 µA 的集电极电流。虽然它应该为零。所以我们引入R2,并为其选择68 kΩ。然后 R2 将产生 68 mV/µA 的电压降。只要电压降小于 0.7 V,所有电流都将通过 R2,而不会流入基极。那是 10 µA。如果电流更高,R2 的电流将被限制在 10 µA,其余部分通过基极。所以我们可以使用 R2 来创建一个阈值。暗电流不会激活晶体管,因为太低了。

除了这种电流驱动的情况,R2 很少需要。你在这里不需要它。

似乎值得一提的是,如果您真的需要 2 个单独的接地,那么您可以选择光耦 AKA 固态继电器。但是它们比晶体管大几倍且价格昂贵(对于小型项目来说仍然不错),因此仅在真正需要时才使用。