Да, это хайку. (РЕДАКТИРОВАТЬ: исправил это ... теперь это на самом деле Хайку)
Нет, я не улыбаюсь.
Я делаю стандартное тестирование; видя, что происходит, когда один из двух силовых шин замыкается на GND на разработанной мной плате. Мы говорим о шине 12 В, питаемой настольным источником питания, с отдельным встроенным понижающим преобразователем 5 В, который питает другую шину на печатной плате (к которой подключен мой ATmega328PB).
На 12-вольтовой рейке есть несколько цилиндрических домкратов, которые будут доступны конечным пользователям. Поэтому, естественно, я решил вкрутить ювелирную отвертку в одну из них, чтобы провести тест на короткое замыкание.
Смотри, клуб дыма от моего ATmega328PB.
Я думаю, что это означает, что произошло одно из следующих событий:
Схематическое время
Вот схема соединений с ATmega328PB:
Вот все схемы вещей в проекте, которые имеют соединение с шиной 12 В (шина VBAT +) и которые управляют путями возврата тока GND:
А вот схема стволовых разъемов и соответствующих выводов обнаружения разъема (обратите внимание, что они подключаются непосредственно к некоторым из выводов ATmega328PB без последовательного сопротивления):
План короткого замыкания
План устранения коротких замыканий на 12-вольтовой шине состоял в том, чтобы просто отключить N-канальный FET LOAD_FET из-за одного из двух логических условий, встречающихся в прошивке:
- Выборка АЦП с частотой 1 Гц выявила бы состояние перегрузки по току и заставила переключатель FET_LOAD прекратить проводку, тем самым отключив ток короткого замыкания
- Напряжение, подаваемое на ATmega, перейдет в состояние отключения, и MCU сбросит и инициализирует переключатель FET_LOAD в положение «выкл.», Таким образом отключая ток короткого замыкания
Большой дым
Вот осциллографический зонд того, что происходит с шиной Vbat + на канале CH1 (желтый) и шиной +5 на канале CH2 (синий) при замыкании Vbat + на GND посредством применения ювелирной отвертки к оголенным проводам кабеля, который подключен к Цепь с цилиндрическим гнездом (я не вставляла отвертку в розетку ), пока она питается от настольного источника питания, настроенного на 12 В при 5 А:
После того, как это произошло, ATmega просто очень сильно нагрелся, когда бы я ни включил плату, и фактически действовал как короткое замыкание между его входом + 5V и заземлением сигнала. Я распаял ATmega горячим воздухом и проверил FET_LOAD N-канальный FET, чтобы увидеть, был ли он зажарен. Действительно, он потерпел неудачу так, что больше не выключался и не включался полностью, когда напряжение затвора подавалось на +5 или на землю сигнала, а вместо этого работал где-то в сумеречной зоне между ними. При падении ~ 200 мА он падал примерно на 2,3 вольт, независимо от того, был ли он включен или выключен, когда нагрузка была подключена к гнезду ствола.
ломоть
Было предчувствие, что из-за повреждения полевого транзистора причина повреждения ATmega могла быть вызвана передачей высокого напряжения через сток полевого транзистора к его затвору и к MCU. Провел несколько последующих тестов с более низким напряжением, питающим 12В рельс. Обратите внимание, что первые три изображения в основном одинаковы, но с разными пиковыми токами. Как только ATmega отключается (из-за падения напряжения на шине Vbat +), сигнал LOAD_GND_ENABLE, подаваемый MCU (синий, ниже), в свою очередь становится низким, отключая переключатель FET_LOAD .
Условные обозначения:
CH1 = напряжение на Rshunt (0,005 Ом) CH2 = напряжение на сигнале LOAD_GND_ENABLE (подключено к ATmega)
Vbat + подается на 6V:
Vbat + подается на 7V:
Vbat + подается на 8В:
Vbat + подается на 9V:
На этом последнем, ток никогда не прекращал увеличиваться, и сигнал LOAD_GND_ENABLE исполнял фанк-танец, но в целом могло показаться, что максимальные пределы никогда не нарушались на выводе LOAD_GND_ENABLE (по крайней мере, я не думаю, что они были ... У меня есть только 2-канальный прицел, и мне пришлось бы измерять шину + 5 В, чтобы узнать, какое напряжение на LOAD_GND_ENABLE относительно Vcc).
Следующие шаги
У меня есть только 1 доска, которой можно пожертвовать, поэтому я планирую:
Используйте пустой ATmega328PB, чтобы все его контакты были по умолчанию настроены на высокую импеданс без периферийных устройств, настроенных / инициализированных. Повторите тест на короткое замыкание, чтобы убедиться, что ATmega328PB все еще остается в дыму. Если он не выходит из строя, то MCU, должно быть, вышел из строя, потому что он искал / пропускал слишком большой ток из одного из своих выводов, сконфигурированных как выход, когда он выполнял прошивку в предыдущих тестах.
Тест с ATmega328PB, установленным на коммутационной плате (к сожалению, этот чип не поставляется в DIP-пакетах), подключенной к печатной плате с помощью проводов. Выборочно начинайте подключать по одному муховику за раз, запустите тест и посмотрите, какой из них окажется тем, который отвечает за жарку ATmega328PB.
Закажите новую типовую печатную плату с измененной компоновкой, чтобы все дорожки, подключенные к ATmega328PB, были соединены паяными перемычками, которые можно паять вручную во время тестирования. Таким образом, тест на короткое замыкание (и любое другое тестирование) может проводиться с ATmega, подключенным к ограниченному количеству сигналов одновременно, и позволяет легко подключать все другие внешние схемы к этим мостам припоя для управления ими независимо от ATmega ,
Да, это действительно вопрос (ы)!
И вопрос (ы):
- Кто-нибудь видит здесь что-нибудь, чего не вижу я? Это очевидно? Я надеюсь, что это не очевидно ...
- Каким будет ваш следующий шаг?