我正在做一个项目,我将从 Arduino 控制各种负载(继电器、螺线管、电机),我想确保为微控制器和其他组件建立足够的保护。我见过各种使用晶体管并添加去耦电容器、反激二极管和齐纳二极管的解决方案。我想知道如何在这些选项中的一个或组合之间进行选择?

我正在做一个项目,我将从 Arduino 控制各种负载(继电器、螺线管、电机),我想确保为微控制器和其他组件建立足够的保护。我见过各种使用晶体管并添加去耦电容器、反激二极管和齐纳二极管的解决方案。我想知道如何在这些选项中的一个或组合之间进行选择?

我想知道如何在这些选项中的一个或组合之间进行选择?
如果您了解电感器的工作原理,这很容易。
我认为大多数人遇到的问题是他们听到诸如“感应电压尖峰”或“反电动势”之类的词并合理地得出类似的结论
所以,当一个电感器被切换时,它就像一个 1000V 的电池一样。

实际上,在这种特殊情况下,或多或少会发生这种情况。但问题是它缺少关键步骤。电感器不仅会产生非常高的电压来骚扰我们。看电感的定义:
$$ v(t) = L\frac{\mathrm di}{\mathrm dt} $$
在哪里:
这就像电感器的欧姆定律,除了我们用电感代替电阻,用电流变化率代替电流。
用简单的英语来说,这意味着通过电感器的电流变化率与其两端的电压成正比。如果电感两端没有电压,则电流保持恒定。如果电压为正,则电流变得更正。如果电压为负,则电流会减小(或变为负-电流可以朝任一方向流动!)。
这样做的结果是电感器中的电流不能立即停止,因为这需要无限高的电压。如果我们不想要高电压,那么我们必须慢慢改变电流。
因此,最好立即将电感器视为电流源。当开关打开时,电感器中流动的任何电流都希望继续流动。电压将是发生这种情况所需的一切。

现在我们有一个 20mA 电流源,而不是 1000V 电压源。我只是随意选择了 20mA 作为一个合理的值,实际上这是开关打开时的电流,在继电器的情况下,它由继电器线圈的电阻定义。
现在在这种情况下,超过 20mA 的电流必须发生什么?我们用开关打开了电路,所以没有闭合电路,所以电流不能流动。但实际上它可以:电压只需要足够高就可以在开关触点上产生电弧。如果我们用晶体管代替开关,那么电压需要足够高以破坏晶体管。所以这就是发生的事情,你有一个糟糕的时间。
现在看看你的例子:

在情况 A 中,电感器将对电容器充电。电容器就像电流和电压切换的电感器:\$i(t) = C\:\mathrm dv/\mathrm dt\$,因此通过电容器的恒定电流将以恒定速率改变其电压。好在电感中的能量是有限的,所以不能永远给电容充电;最终电感电流达到零。当然,电容上会有一些电压,这会增加电感电流。
这是一个LC电路。在理想系统中,能量将永远在电容器和电感器之间振荡。然而,继电器线圈具有相当大的电阻(是一根非常长的细线),并且系统中其他组件的损耗也较小。因此,能量最终会从该系统中移除,并因热或电磁辐射而损失。考虑到这一点的简化模型是RLC 电路。
情况 B 要简单得多:任何硅二极管的正向电压都在 0.65V 左右,或多或少与电流无关。因此电感电流减小,存储在电感中的能量在继电器线圈和二极管中因热量而损失。
情况 C 类似:当开关打开时,反电动势必须足以反向偏置齐纳二极管。我们必须确保选择反向电压高于电源电压的齐纳二极管,否则即使开关打开,电源也会驱动线圈。我们还必须选择能够承受发射极和集电极之间最大电压大于齐纳反向电压的晶体管。齐纳二极管优于案例 B 的一个优点是电感电流下降得更快,因为电感两端的电压更高。
还有另一种变体用于尽快减少电感负载中存储的能量。我已经看到在需要快速关闭时间的继电器电路中使用它。二极管的问题在于继电器线圈中的能量需要时间消散(因为电流再循环并缓慢减少),而如果将电阻器与线圈并联,反电动势会更大,但会消耗能量更快速。
例如,50mA 的线圈电流会在二极管上产生 0.7 伏的峰值反电动势,但在 1k 电阻上会产生 50 伏的峰值反电动势。如果晶体管的额定电压为 100 伏,这不是问题。
这个想法的一个修改是使用一个与电阻串联的二极管。现在电阻器不会正常通电;它只处理反向电压情况。
电阻越大,能量消耗得越快,继电器(或螺线管或其他任何东西)机械关闭的速度就越快。
电容版本也值得考虑。当晶体管打开时,存储在线圈中的能量被释放,并扫入电容器,形成与存储能量相关的峰值电压;电感器存储的能量为:-
\$\dfrac{Li^2}{2}\$ 电容公式为储能 = \$\dfrac{Cv^2}{2}\$
当您将这两个方程式等同起来时,您可以计算出晶体管开路时的峰值反电动势。然后你会发现,电流在线圈和电容器之间来回流动,振荡降至零。花费的时间可能很长(以微秒和毫秒计),但是在第一个振荡周期后继电器线圈电流反转的动作会迅速关闭继电器。通常继电器的线圈电阻足够高,以确保振荡的第 3 个半周期没有足够的电流来重新激活继电器线圈。
因此,有时(很少)使用电容器的想法。有时它与电阻串联使用以加快速度。
齐纳二极管的想法也很有用,因为与二极管在 0.7 伏时正向传导不同,齐纳二极管在(例如)12 伏时传导,因此比单独的二极管更快地加速存储能量的耗散。此外,使用齐纳二极管,最大电压点比使用电阻器和电容器更容易定义,因此使用它具有一定的吸引力。
通常的方法是使用上面的案例 B。它被称为反电动势二极管或反激二极管。A 中的电容器不太可能工作。情况 C 有时出现在 H 桥中,并且在负载被驱动为负和正的情况下,在这种情况下不能使用简单的并联二极管。