检测电脑电源功率的软件

发布时间: 2023-10-17 16:45 阅读: 文章来源:3P11029IOPNY

使用微控制器检测主电源的最简单方法是使用光耦合器(光隔离器)。它允许您在两个电流隔离的电路之间发送信息。初级侧为高电压:230 AC,次级侧为低电压,例如 3.3 或 5 V。通过电阻器将 VAC 连接至输入,电阻器的总阻值约为 230 AC,200 – 300 kΩ 和至少 0.5 W。为了保护光耦合器 LED,最好放置一个二极管(如下图所示)。输出通常有集电极和发射极(就像经典的双极晶体管)。通过 4.7 – 10 kΩ 电阻器将 VCC 连接到集电极,并将发射极直接连接到 GND。就这样了!您可以使用 Arduino、ESP8266、ESP32 或任何其他微控制器安全地检测高交流电压。

下面的示意图说明了我上面写的内容。真的就是这么简单!

高电压检查电路

对于那些觉得这个简短的答案还不够的人,让我们深入探讨一下!

市电危害健康和生命!每当您使用它进行操作时,请断开电源。在重新插入电源之前,请三倍确保您、您的设备以及周围的每个人都安全。

让我们按照示意图一步步进行输入电路

示波器上的电源电压 (120 / 230 VAC) 如下所示:

国家电压是 230 AC / 50 Hz。例如,在美国,电压为 120 AC / 60 Hz。但除此之外,图表将是相同的。

为了安全地将如此高的电压连接到光耦合器,必须限制电流。这就是原理图中有一个 300 kΩ 电阻的原因。如果您居住在美国,则可以使用较低的电阻,例如 200 kΩ。

重要的!

由于电压很高,因此必须考虑电阻器发出的最大功率。您可以使用以下等式来计算:

就我而言,它是 0.35 W。最好有一些安全缓冲。这就是为什么在第一段中我写了 0.5 W。但仍然要注意这个电阻会很热。不要将其封闭在一个小的密封外壳中,确保一定的空气流通。

我强烈推荐给您的一个好主意是串联使用两个甚至三个电阻。通过这种方式,功率被分配到多个组件而不是一个组件上。其次,更重要的是电阻器可以承受的最大电压。对于小情况会很容易超出。

升级后的原理图如下所示:

输出电路

光耦合器的次级侧与主电源电隔离。您可以在那里安全地连接微控制器的 GPIO。

您必须意识到输出上没有“良好”的直流电压。相反,有一个方波。

在上图中,我显示了打开电源的时刻。黄色图表是 光耦合器的 输入,蓝色图表是其输出。正如您所看到的,当输入电压为零时,输出为高电平。在本例中为 5V。

当交流电开始流动时,电压从 +325 V 变为 -325 V(在我的例子中)。如果电压超过约+1.3V(光耦合器中LED的正向电压),LED就会亮起。您可以将其视为开始向 NPN 晶体管的基极施加电压。当使用足够的电压时,它起到短路的作用。输出下降至 GND 电平。类似地,当基极不施加电压时,晶体管工作在截止区,表现为开路。输出被上拉至 VCC。

这样的输出有什么优点和缺点?

这取决于您如何看待它以及您想如何使用它。如果您只想检查电流是否流动,则不能只时不时地检查引脚状态。您很可能会遇到“中间”情况,就好像没有市电一样。当然,软件中有很多方法可以解决。下面我将提出一种解决方案。我在之前的一个项目中使用过它,效果非常好。

另一方面,如果您关心“零交叉检测”,这种输出具有显着的优势。我将在另一篇文章中更详细地解释这一点。这里我就简单介绍一下。

过零检测

过零检测 (ZCD) 是一种流行的频率测量方法。例如,您可以使用它代替晶体振荡器来测量时间。从长远来看,频率非常稳定。正如您在上面看到的,频率正好是 50 Hz。

使用它的另一个重要原因是 EMC(电磁兼容性)。当您想要经常打开/关闭高负载(例如电加热器)时,这一点至关重要。您可以在Wikipedia上找到有关 EMC 的更多信息 。

我想要稳定平滑的直流输出!

如果您不关心过零检测,并且希望随时检查 GPIO 状态并确保主电源是否存在 – 以下原理图升级版适合您。

一如既往,在工程领域,每一个问题都有不止一种解决方案。我将向您介绍最简单的一种。我将此线程分为两个阶段:首先,我们将切断输入电压的负部分,然后将其平滑。

第一步:剪掉正弦波的负部分

更准确地说,我们不会完全切除负片部分。我们将把它转化为积极的一面。第一个电路的主要缺点是我们仅使用正弦波形的一半——仅正一半。当电压低于零时,光耦合器 LED 不亮。幸运的是,有一些简单的方法可以解决这个问题。

让我们在该方案中添加四个二极管(所谓的格雷茨桥)。这是一个两个半周期整流器。

在这种情况下,我们不再有负电压,即不再需要保护二极管(如第一个示例)。

通过这个小小的升级,我们改变了这一点:

进入这个:

另一种解决方案是使用双向光耦合器。它有两个相反方向导通的 LED。因此,次级侧的效果将与使用整流器非常相似。

这次输出信号如下所示:

第二步:平滑输出

让我们使图表更平滑。为此,我们将在发射极和 GND 之间添加一个电容器。它的容量并不重要。大多数情况下,2 到 10 uF 之间的值是正确的。

以下是原理图的最终版本。两者都会给您带来几乎相同的结果,因此请选择您更喜欢哪一个。

在示波器上,输出看起来并不完全平坦,但波动小于 0.5 V。对于每个微控制器,电压都会足够平滑。

软件

在最简单的电路版本(我一开始展示的那个)中,不时检查 GPIO 状态是一个坏主意。当状态显示“无电压”时,您很有可能会检查它。因此,更好的解决方案是使用外部中断。如今,所有微控制器都能够做到这一点。我不想详细讨论实现细节,因为这取决于您使用的 uC。您必须查看那里的数据表,以确保所有内容都会得到解释。

在我们使用整流器的版本中,事情要简单得多。您可以随时检查引脚状态并了解 VAC 是否存在。

概括

在本文中,您学习了如何使用简单的电路安全地检测主电源。正如您所看到的,您不需要任何复杂且昂贵的芯片或集成电路来了解您需要博士学位的内容。在电子领域 最普通的光耦合器、几个电阻器、一个二极管和一个电容器就可以做到这一点。

我只向您提供了一种可能的方法。与往常一样,这个问题还有许多其他解决方案。它们更好,更差,更简单,更困难,但我专注于我使用和配合的那个,我可以问心无愧地推荐给你。我希望它对你有用。

•••展开全文
相关文章