Я случайно замкнул контакты 10 и 11 с 10, установленными на выход HIGH, и 11, настроенными на вход. Контакт 11 не работает. Как мне выяснить, какой компонент я сжег?
Определение схемы Arduino поможет определить компоненты, которые могут быть скомпрометированы, из схемы.
Аниндо Гош
@AnindoGhosh Я отметил это uno ^
asheeshr
Ответы:
21
Предположение: Поскольку конкретная модель Arduino не была указана, используйте Arduino Uno для иллюстрации этого ответа. Обоснование применимо аналогично к другим Arduinos, для их соответствующих выводов и рабочих напряжений микроконтроллера.
Как видно, контакты 10 и 11 являются стандартными контактами GPIO.
Любой GPIO не может выдавать напряжение выше, чем напряжение питания микроконтроллера (V CC ) , в Arduino. Для Uno V CC это 5 Вольт.
Любой вывод GPIO может выдержать входное напряжение до V CC и немного выше (стандартно допускается 5,5 Вольт)
Кроме того, когда любой Arduino GPIO настроен на вход, он находится в состоянии высокого импеданса, что делает невозможным пропускание в него достаточного тока для соответствующих напряжений для любого повреждения.
Таким образом, замыкающие штырьки 10 и 11 не могут повредить ни один штифт при обстоятельствах, указанных в вопросе.
Теперь давайте рассмотрим альтернативные возможности:
Если Uno запитывается от разъема постоянного тока, а не от 5 вольт от USB-соединения или другого регулируемого источника питания, вывод Vin выводит на 1 диод ниже, чем это входное напряжение: это будет около 8,3 Вольт. если питания составляет 9 В батарея прикреплена к стволу домкрата.
Замыкание этого VIN-контакта на любой из аналоговых или цифровых выводов Arduino ( кроме определенных выводов, которые защищены резисторами ) очень вероятно разрушит внутреннюю схему диода / защиты от электростатического разряда для этого вывода в микроконтроллере или разрушит микроконтроллер. сам. Это может быть причиной проблемы.
Другая гипотеза состоит в том, что контакт 11 подвергался воздействию другого источника высокого напряжения, помимо Vcc платы. Это может произойти из-за обратной ЭДС от двигателя или из-за высокого напряжения (может быть более 10 вольт ), генерируемого пьезоэлектрическим изгибающим устройством (пьезодинамиком), если оно ударяется о что-либо. Это может привести к повреждению ESD-диодов / схем защиты, как указано выше.
Кроме того, электростатический разряд от статического электричества может повредить любой контакт GPIO, даже если устройство не включено. Например, вам приходилось расчесывать волосы, а затем когда-нибудь дотрагиваться до доски Arduino? Проблема будет обнаружена только позже, когда вы попытаетесь использовать этот штифт на плате, поэтому причинно-следственную связь часто трудно определить.
Наконец, если два вывода установлены на вывод , один установлен на высоком, а другой на низком уровне, и они закорочены, то вывод «High» видит замыкание на массу через вывод «Low». Это может привести к нагреву микроконтроллера, и хотя микроконтроллеры AVR обычно имеют выходную защиту на GPIO, это может привести к прекращению работы одного или другого контакта, хотя в этом случае вероятность отказа всего микроконтроллера ,
Сказав все это, если по какой-либо причине контакт 11 больше не выполняет ввод или вывод, соответствующая схема внутренней защиты MCU безвозвратно повреждена. Нет способа починить это. Это хорошо освещено в ответе Манишарта .
Считайте, что вам повезло, что весь микроконтроллер не был разрушен, и перекодируйте ваши приложения, чтобы больше не использовать Pin 11.
Персональный совет: я давно заблокировал гнезда VIN на своих платах Arduino, вставив в них некоторую зачищенную изоляцию, чтобы избежать случайного воздействия любой перемычки на это напряжение. Если мне когда-нибудь действительно понадобится использовать VIN, я потрачу восхитительный час, пытаясь вытащить этот кусок изоляции, застрявший там.
Не должно быть возможности уничтожить ваш пин, закорачивая входной сигнал на выходной. Входные контакты могут обрабатывать напряжение уровня Vcc, поэтому они должны быть в состоянии обрабатывать более низкое выходное напряжение от другого контакта. Также они имеют высокий импеданс, поэтому должны защищать их от большинства вещей. (См. Ответ Anindo на этот же вопрос для более подробной информации). В вашем конкретном случае, я думаю, произошло одно из следующих событий:
Оба вывода были настроены на вывод
Вы что-то замкнули и не заметили
(Так как вы упомянули в чате, что булавка снова заработала) скопилась пыль или влага.
Тем не менее, вы можете уничтожить контакты с помощью следующих соединений (взятых из этого превосходного поста , есть много других способов уничтожить Arduino):
ВЫСОКИЙ выходной контакт на GND
ВЫСОКИЙ выходной контакт на НИЗКИЙ выходной контакт
Подайте любое высокое напряжение выше 5,5 В на контакт (это может разрушить не только контакт)
Относительно того, что делать в целом, когда вы уничтожаете булавку:
В таких случаях контакт микроконтроллера перегорел и не может быть исправлен. Единственный способ исправить это - заменить микроконтроллер (если это DIP-пакет, это относительно дешево и легко) или купить новую плату. При замене микроконтроллера, вам придется записать загрузчик на новый микроконтроллер (если вы не получили его с загрузчиком), если вы хотите запрограммировать Arduino через USB.
Взглянув на схемы, на следующих платах есть контакты, напрямую подключенные к микроконтроллеру.
Организация Объединенных Наций
Мега
Duemilanove
LilyPad
Fio
Nuova Generazione
Diecimila
На следующих платах есть некоторые контакты, которые защищены и трудно выгорают:
Еще одна довольно дешевая вещь, которую стоит попробовать, - это купить еще один atmega328, выгрузить подозреваемый поврежденный чип, загрузить новый в гнездо, записать загрузчик и посмотреть, поможет ли это. Предполагая, что на вашей плате есть сокет DIP atmega328.
Ответы:
Предположение: Поскольку конкретная модель Arduino не была указана, используйте Arduino Uno для иллюстрации этого ответа. Обоснование применимо аналогично к другим Arduinos, для их соответствующих выводов и рабочих напряжений микроконтроллера.
Пожалуйста, обратитесь к этой схеме контактов для Arduino Uno : ( источник )
Теперь давайте рассмотрим альтернативные возможности:
Сказав все это, если по какой-либо причине контакт 11 больше не выполняет ввод или вывод, соответствующая схема внутренней защиты MCU безвозвратно повреждена. Нет способа починить это. Это хорошо освещено в ответе Манишарта .
Считайте, что вам повезло, что весь микроконтроллер не был разрушен, и перекодируйте ваши приложения, чтобы больше не использовать Pin 11.
Персональный совет: я давно заблокировал гнезда VIN на своих платах Arduino, вставив в них некоторую зачищенную изоляцию, чтобы избежать случайного воздействия любой перемычки на это напряжение. Если мне когда-нибудь действительно понадобится использовать VIN, я потрачу восхитительный час, пытаясь вытащить этот кусок изоляции, застрявший там.
источник
Не должно быть возможности уничтожить ваш пин, закорачивая входной сигнал на выходной. Входные контакты могут обрабатывать напряжение уровня Vcc, поэтому они должны быть в состоянии обрабатывать более низкое выходное напряжение от другого контакта. Также они имеют высокий импеданс, поэтому должны защищать их от большинства вещей. (См. Ответ Anindo на этот же вопрос для более подробной информации). В вашем конкретном случае, я думаю, произошло одно из следующих событий:
Тем не менее, вы можете уничтожить контакты с помощью следующих соединений (взятых из этого превосходного поста , есть много других способов уничтожить Arduino):
Относительно того, что делать в целом, когда вы уничтожаете булавку:
В таких случаях контакт микроконтроллера перегорел и не может быть исправлен. Единственный способ исправить это - заменить микроконтроллер (если это DIP-пакет, это относительно дешево и легко) или купить новую плату. При замене микроконтроллера, вам придется записать загрузчик на новый микроконтроллер (если вы не получили его с загрузчиком), если вы хотите запрограммировать Arduino через USB.
Взглянув на схемы, на следующих платах есть контакты, напрямую подключенные к микроконтроллеру.
На следующих платах есть некоторые контакты, которые защищены и трудно выгорают:
Однако, если вы сожжете на них булавку, вы ничего не сможете сделать, кроме как заменить микроконтроллер.
Если вы, кажется, склонны к сжиганию булавок, вы можете попробовать ruggedduino .
источник
Еще одна довольно дешевая вещь, которую стоит попробовать, - это купить еще один atmega328, выгрузить подозреваемый поврежденный чип, загрузить новый в гнездо, записать загрузчик и посмотреть, поможет ли это. Предполагая, что на вашей плате есть сокет DIP atmega328.
источник