使用 NPN 晶体管和 Arduino 切换 9V

电器工程 Arduino 电压 晶体管
2022-01-10 11:02:32

首先,我想说我不是电气工程师,所以请多多包涵。我没有关于我想要实现的目标的草图,但希望我能解释清楚。

我有一个 NPN 晶体管(特别是 2n2222)并且正在执行以下操作。

  • 将 9V 电池连接到晶体管集电极
  • 将晶体管基极连接到 Arduino PWM 输出引脚(中间有 1k 晶体管)
  • 将 9V 电池的接地连接到 Arduino 接地
  • 编写一个for循环(i = 0-255),每100ms递增1并执行analogWrite(PWMOutputPin,i)

然后我用万用表测量地和发射器腿之间的电压,我得到的是 0-4.5 伏之间的值,而电池通过直接测量大约有 7.68 伏。

我认为晶体管的目的是在集电极和发射极之间发送全电压,前提是有足够的电压被发送到基极。它是否正确?难道我做错了什么?

2个回答

你正在做的是“高端开关”。基极和地之间的电压远低于集电极和地之间的电压,所以这就是您要切换的电压,减去晶体管上的压降。由于基极和发射极之间的电压降 (V BE ) 在饱和时通常为 0.6,因此您会看到来自 Arduino 的电压(约 5V)减去此电压降。

由于您使用的是 N 型设备,因此您希望执行“低侧开关”。发射极接地,测量高压电源和集电极之间的电压。

示意图

模拟此电路- 使用CircuitLab创建的原理图

R1 的大小应允许有足够的电流通过以使晶体管饱和,而不会使 V BE导致电源电压下降太多。

如果你还想进行更高电压的高边切换,那么你应该切换到P型设备,并在它前面放置一个N型设备来切换它。

示意图

模拟这个电路

您描述的电路是发射极跟随器 - 发射极电压跟随基极电压,并且始终为基极负约 0.7 伏。晶体管不在乎您认为“接地”在哪里,它的运行仅取决于其引脚之间的电压。

如果将发射极接地,并将负载放在集电极和正电源之间,则当 Arduino 输出为高时,您将能够非常接近负载两端的电源电压。你应该在 Arduino 输出引脚和晶体管底座之间有一个 1K 左右的电阻,以限制 Arduino 输出引脚的基极电流和负载。