Компьютер не может распознать плату Arduino Mega2560 R2

Я использую Arduino mega2560 R3 Мой порт Arduino не распознается компьютером.светодиод горит зеленым цветом,светодиоды Tx и Rx-желтым, а светодиод L постоянно мигает(согласно рисунку).Я использовал Arduino Uno для обновления загрузчика Arduino Mega(согласно рисунку), но проблема с платой Arduino Mega не была решена.Как вы думаете, что это за решение? Сгорела ли мега-плата?my mega2560

Я проверил кабель связи, никаких проблем не было.Я также протестировал плату UNO, которая не имела никаких проблем и была запрограммирована компьютером.

, 👍0

Обсуждение

Если ПК не распознает его, то проблема находится где-то между ПК и чипом USB-интерфейса ATmega16U2 (маленький квадратный рядом со светодиодами)., @Majenko

Я проверил кабель связи, никаких проблем не было.Я также протестировал плату UNO, которая не имела никаких проблем и была запрограммирована компьютером., @ali

Вы тестировали другой компьютер?, @chrisl

Затем вам следует подумать о повторном сжигании прошивки на USB-чипе., @Majenko


1 ответ


2

Светодиод "L" управляется основным микроконтроллером. Это мигает, потому что загрузчик работает нормально. Нет ничего (внешне) плохого в главном MCU.

Светодиоды TX и RX управляются микросхемой ATmega16U2 (или 8U2, или 32U2, в зависимости от версии платы), которая образует интерфейсный мост USB. То, что они прочно сидят, - плохой знак. Обычно они отключаются до тех пор, пока не произойдет какая-то форма связи между ПК и основным MCU (через 16U2). Этого не происходит. Если бы это был неисправный кабель, то светодиоды были бы выключены. Если бы КОМПЬЮТЕР не настраивал порт, светодиоды были бы выключены. Но они включены. Поэтому вина, скорее всего, лежит на самом 16U2.

Либо чип был физически поврежден (возможно, из-за перенапряжения или другого неправильного использования), либо он "забыл" свою прошивку, либо снова из-за неправильного использования, либо из-за перезаписи прошивки чем-то другим (что может произойти только в том случае, если вы специально выполните такое действие через программный заголовок для этого чипа).

Первый шаг диагностики - попытаться связаться с этим чипом через 6 - контактный заголовок, примыкающий к нему. Вы можете сделать это так же, как и для программирования загрузчика на главном MCU, но вместо программирования загрузчика вы программируете прошивку 16U2 (IIRC она где-то входит в состав IDE или ядра AVR).

Если это успешно, и светодиоды начинают работать правильно, и плата снова начинает функционировать, то она вылечена. Если нет, то, скорее всего, чип мертв.

Если чип мертв, значит ли это, что плата мертва? Не обязательно, нет. Все зависит от того, как сломалась плата. Если только 16U2 мертв, а основной MCU в порядке, вы все равно можете использовать его, только не через USB - соединение. Вы можете либо использовать контакты TX/RX и свой собственный внешний интерфейс USB-UART для замены 16U2, либо запрограммировать его через заголовок ICSP (SPI) с помощью другого Arduino или специального ключа программирования USB. Это менее удобно, но означает, что вы все еще можете использовать плату.

,

Проницательный ответ, отличный пример решения проблем по крупицам. Спасибо, что нашли время., @Zhelyazko Grudov

Спасибо за ваше полное объяснение, @ali