我正在做一个项目,其中覆盆子通过 USB 控制 arduino,而 arduino 反过来通过 com 端口接收数据,控制 l298n 引擎驱动程序。最初,一切都很好,无论是在 arduino 由分布 pi 供电的情况下,还是在 arduino 单独供电的情况下,一切都正常工作。但是下次我们打开 USB 时,覆盆子端口就停止了工作(具体来说,在那个包含物上,arduino 是由覆盆子 pi 驱动的)。如何最好地为 arduino 供电以避免烧坏端口(来自覆盆子或单独)。原则上如何避免烧坏(不使用电流隔离)?
保护“堵嘴”的一般方案。我不假装是最好的答案,我会给出一般性的建议。
USB电路很可能已经被保护了(通常它们的保护中没有电容器,最好添加它们),但最好检查一下(然后你也可以烧掉PC端口)。发动机的链条需要放置保护链。
而不是电阻器 - 你可以跳线。R1 - 可能不存在。R1 和 R2 从 10 欧姆到 200 欧姆。
R2-V1 电路是“稳定器”。如果已知浪涌电压(例如,12 伏的电机会产生 12 伏的浪涌),那么根据欧姆定律,您可以获得通过电阻器的电流 - 分别是通过齐纳二极管的电流。根据这个电流,可以计算出稳压二极管和电阻的功率。当电压下降时,齐纳二极管打开 - 多余的电压“接地”。因为 齐纳二极管可能不会立即打开 - 然后可以通过其他元件(R1、C1、C2)补偿短期投掷。
由于 arduino 的电平为 0 到 3 伏,齐纳二极管为 3 伏,您可以使用电压表检查电压。如果该电路中还有其他电压,则需要另一个具有最大允许电压的齐纳二极管。
R1 和 R2 - 越多越好,但如果超过“必要”值,您将在信号中出现“中断”。对于 USB 电路 - R2 - 56 欧姆(下面的链接)。
放电电容器在齐纳二极管触发之前承受电压浪涌以进行充电。电容越大越好,但到一定值后,电路就不能正常工作了(信号去掉后电机运行时间过长,比如USB信号停止通过) C1-根据选择工作频率。如果频率较低,则选择大约 0.1 ... 5 微法,如果存在高频,则 C2 也设置为几皮法的数量级 - 以抑制信号的高频分量。对于高频,放几皮法。
如果你有高频投掷,那么最好不要有“悬垂”的腿。最好保护所有电路免受芯片的影响(接地或供电的腿除外)。
在电源电路中 - 必须有一个齐纳二极管或一个稳定芯片(通常它在 arduino 板上)。
我建议通过示例查看保护电路
https://habr.com/ru/post/128939/(D1 D2 R3 R4 - 保护)
http://old.symmetron.ru/suppliers/wurth/usb-protection.shtml USB 保护