是的,那是a句。(编辑:修复它...现在实际上是Haiku)
不,我不是在微笑。
我正在做一些标准测试;看看当我设计的PCB上的两个电源轨之一短路到GND时会发生什么。我们正在谈论的是由台式电源提供的12 V电源轨,以及一个单独的板载5 V降压转换器,该转换器为PCB上的另一个电源轨供电(我的ATmega328PB连接到该电源轨)。
12 V电源轨上有一堆DC桶形插孔,这些插孔将暴露给最终用户。因此,自然而然地,我决定将珠宝商的螺丝刀塞入其中的一个中,以进行短路测试。
瞧,我的ATmega328PB冒了点烟。
我认为这意味着发生以下事情之一:
示意图时间
这是与ATmega328PB的连接示意图:
以下是设计中所有与12 V电源轨(VBAT +电源轨)连接并控制GND电流返回路径的示意图:
这是桶形插孔和相关插孔检测引脚的示意图(请注意,这些引脚直接连接到ATmega328PB的某些引脚,没有串联电阻):
短路计划
解决12 V电源轨上的短路的计划只是简单地关闭LOAD_FET N沟道FET,因为固件满足了以下两个逻辑条件之一:
- ADC以1 Hz的速率采样将检测过流情况,并使FET_LOAD开关停止导通,从而切断短路电流
- 为ATmega供电的电压将进入欠压状态,MCU将复位并将FET_LOAD开关初始化为“关”,从而切断短路电流
大烟
这是一个示波器探头,说明通过使用珠宝商的螺丝刀将Vbat +与GND短路到CH1上的Vbat +导轨(黄色)和CH2上的+5导轨(蓝色)时发生的情况(插入蓝色电缆),示波器探针。桶式千斤顶电路(我没有将螺丝起子插入插座中)由台式电源供电,该电源设置为12V @ 5 Amps:
在那之后,只要我给开发板加电,ATmega就会变得非常热,并且实际上是+ 5V输入和信号地之间的短路。我用热风对ATmega进行了拆焊,并测试了FET_LOAD N沟道FET是否被油炸。实际上,它已经失败了,以至于在将栅极电压施加到+5或信号地时,它不再完全关闭或打开,而是在两者之间的暮光区域中的某个地方工作。当在桶形插座中插入负载时,无论是“导通”还是“关断”,它在传导约200 mA电流时都会下降约2.3伏。
直觉
有一种预感,即由于FET被损坏,对ATmega造成损害的矢量可能是由高电压通过FET漏极传输到其栅极再到MCU所引起的。在较低的电压下为12V电源轨进行了一些后续测试。请注意,前三个图像基本相同,但峰值电流不同。一旦ATmega关闭(由于Vbat +轨上的电压崩溃),MCU提供的LOAD_GND_ENABLE信号(下面的蓝色)又变为低电平,从而切断了FET_LOAD开关。
传说:
CH1 = Rshunt两端的电压(0.005 ohm) CH2 = LOAD_GND_ENABLE信号上的电压(连接到ATmega)
以6V供电的Vbat +:
以7V供电的Vbat +:
以8V供电的Vbat +:
以9V供电的Vbat +:
在那最后一个上,电流永不停止增加,并且LOAD_GND_ENABLE信号进行了时髦的跳动,但总而言之,似乎从未在LOAD_GND_ENABLE引脚上突破最大限制(至少我不认为这是...我只有一个2通道示波器,必须测量+ 5V电压才能知道LOAD_GND_ENABLE wrt Vcc 上的电压。
下一步
我只剩下1个可以牺牲的木板,因此我的计划是:
使用空白的ATmega328PB,以便在未配置/初始化任何外设的情况下将其所有引脚默认为高阻抗。重复短路测试以查看ATmega328PB是否仍然冒烟。如果没有问题,则说明MCU必须失败,因为在先前测试中运行固件时,它从配置为输出的引脚之一中汲取/吸收了过多电流。
使用通过飞线连接到PCB的分线板上安装的ATmega328PB进行测试(不幸的是,该芯片未采用DIP封装)。有选择地开始一次连接一条飞线,进行测试,看看哪条飞线最终成为负责油炸ATmega328PB的那条。
订购具有更改布局的新样品PCB,以使连接至ATmega328PB的所有走线均通过可在我测试时手工焊接的焊桥连接。这样,可以在将ATmega一次连接到有限数量的信号的情况下进行短路测试(以及任何其他测试),并且可以轻松地将所有其他外部电路连接到这些焊桥,从而独立于ATmega进行控制。
是的,这确实是一个问题!
问题是:
- 有人在这里看到我没看到的东西吗?明显吗?我希望它不明显...
- 您下一步将是什么?