我有一个
- Arduino
- 微控制器
- 其他数字事物
当我连接一个
- 发动机
- 泵
- 加热器
- 其他大电流的东西
我体验
- 奇怪的 ADC 测量
- 重新启动
- 崩溃
- 数字通信中的错误
- 其他意外行为
我的电源尺寸合适,可以为所有这些设备供电。我没有示波器,所以我看不到电路中实际发生的事情。可能的原因是什么?
我有一个
当我连接一个
我体验
我的电源尺寸合适,可以为所有这些设备供电。我没有示波器,所以我看不到电路中实际发生的事情。可能的原因是什么?
没有细节是不可能给出具体答案的。仔细看看这些东西:
考虑这两个电路:
他们是一样的吗?在集总元件模型中它们是。然而,我们的模型忽略了一个相关的事实:真正的电线有电阻。让我们介绍几个模拟的示意图:
在右边的电路中考虑当电机吸收的电流发生变化时会发生什么。一会它关闭并绘制 0A,然后它打开并绘制 1A。这个 1A 必须流过 R1 和 R3。根据欧姆定律,这些电阻器上的电压降一定为 \$1A\cdot 1\Omega = 1V\$。在 R1 和 R3 各损失 1V 的电源电压时,从微控制器的角度来看,电源电压突然变为 10V,而不是 12V。
当电源电压快速变化时,许多数字电子设备不喜欢它。当多个设备试图通过数字总线相互通信时,还会出现其他问题,但电源轨中的高电流使每个设备对“接地”是什么有了不同的认识。查看 MCU 的“接地”以及本例中的电机。所有的电阻器中都有 1A,因此它们之间有 1V。MCU 的“地”与电机的“地”相差 1V!如果这些是通过使电压等于“地”来发出“0”信号的数字设备,那么当它们不能就“地”是什么达成一致时,它们就不会很好地通信。
对此的解决方案是将每个设备的两个电源连接一直运行到电池或稳压器,并在那里为每个设备建立所有电源连接。这是左侧电路中模拟的情况。在这里,当电机启动时,R5 和 R7 中会有大电流。这里会有一些电压降,但电机不会介意。同时,R6和R8中的电流不变,电压也不变。因此,微控制器看到的电源电压是恒定的。
对于每个设备,您不必一直这样做,但您确实需要考虑当您的电路包含此类设备时,大电流将在哪里运行。请记住,所有电线都有一定的电阻,因此当大电流流过它们时会出现电压降。然后规划您的电线或走线,以使高电流不会流过敏感组件的电源,从而导致噪声问题。
这只是一种可能的解释。其他答案无疑会提供额外的可能性。