Не удается синхронизировать с программатором Arduino Uno
У меня странная проблема, и это, вероятно, потому, что я делаю что-то не так. Я совсем новичок в Arduino.
Мой Uno R3 (Elegoo) работает нормально в течение месяца. Он сидел на скамейке в течение последней недели, хотя и не использовался. Вчера вечером я попытался нажать скетч из IDE: v1.8.14 на Windows 10 Pro (полностью обновлен), плата: Arduino Uno, Com-порт 5. Я получил эту ошибку:
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0xe6
Поэтому я погуглил его и попытался исправить. Не повезло. И, код часто меняется (прямо сейчас это 0x3a). Итак, я попробовал
- Использование скетча мигания
- Перезагрузка ноутбука
- Использование другого порта USB
- Использование другого кабеля USB
- Использование различных настроек в IDE (Mega 2560 с процессором ATmega2560)
- Использование другой операционной системы (Ubuntu) на другом ноутбуке с другой версией IDE (1.8.13)
- Использование другого Arduino (Freenove Uno r3 из комплекта робота)
Использование другой платы на Windows работает! Так, может быть, моя оригинальная плата закирпичена?
Я получил тот же результат, более или менее. Единственное отличие состояло в том, что код ответа изменился. На Ubuntu код ответа всегда 0x00, поэтому я подозреваю, что изменение кода сводится к какой-то проблеме в Windows (я доверяю Linux намного больше, чем Windows). Я использовал скетч моргания по умолчанию для всех этих попыток.
Примечание: У меня есть зеленый светодиод "on", а L оранжевый и делает 3xflash при включении и сбросе. Это единственный USB - порт в использовании, так что есть только один, чтобы выбрать в IDE (случается, com5), и он четко показан как Arduino. Когда я нажимаю скетч, оранжевый светодиод L остается сплошным оранжевым, и нет мигания светодиодов rx или tx.
Обновление: Я читал, с интересом: Неужели я закирпичил свой Arduino Uno? Проблемы с загрузкой на борт
Из-за этого я теперь проверил силовую шину мультиметром и нашел 5 В и 3,3 В соответственно на USB, а с батареей 9 В у меня есть 3,3 В и 7,8 В соответственно. Светодиод L мигает 3 раза, как и ожидалось, при включении питания и сбросе.
Кроме того, у меня вообще ничего не привязано к плате.
Когда я попробовал провести тест обратной связи, плата не включилась при сбросе, подключенном к земле, так что я не знаю, как это сделать.
Я только что попробовал протестировать чип ATmega16U2, и он потерпел неудачу. Я почти уверен, что проводка правильная (хотя трудно сказать наверняка-я не могу найти точку, указывающую контакт 1 на хорошей плате, так что предполагаю, что она близка к букве " n "в слове "вкл", как упоминалось в посте).
Как я мог повредить это? Что я мог сделать, чтобы нарушить это? Я вел только светодиоды.
2 ответа
Несколько вещей, в которых нужно убедиться:
- Отсоедините ваш Arduino от любого датчика или модуля
- Внимательно посмотрите на Arduino, чтобы увидеть любые признаки изношенного припоя или повреждений
- Убедитесь, что кабель USB для программирования полностью подключен к Arduino и компьютеру
- Проверьте температуру чипа ATMEGA, а также регулятор напряжения
Если там все выглядит нормально, вы можете попробовать перепрошить загрузчик на нем. Вы можете сделать это только в том случае, если у вас есть еще один Arduino Uno. Вот хорошее руководство: https://www.instructables.com/How-to-Upload-Bootloader-to-Any-Arduino -/. Попробуйте это, а затем прокомментируйте, что сработало, а что нет.
Иногда платы могут давать сбои в зависимости от износа или от того, насколько хорошо они были изготовлены. Лично я всегда покупаю платы прямо из магазина Arduino, и у меня никогда не было этой проблемы. Одна вещь, которая может помочь, - это размещение конденсатора 0,1 мкФ между контактом +5 В и землей, а другая-между AVcc и землей. Некоторые из них уже будут на печатной плате, но в некоторых случаях это может помочь. Еще одна вещь, которая может помочь, - это нажатие кнопки сброса сразу после нажатия кнопки загрузки на ваш компьютер.
К сожалению, когда происходят ошибки синхронизации, это может быть большая удача, основанная на том, что работает и сколько времени это занимает. Надеюсь, один из этих трюков сработает! Но, как вы говорите, если другие платы работают нормально, то его можно просто закирпичить
- Что означает avrdude: Device signature = 0x000000? Неисправная проводка? Проблема с программным обеспечением? Неправильная инструкция?
- Невозможно загрузить исходный код на Arduino UNO (Windows 11)
- avrdude ser_open() can't set com-state
- Не удается снова загрузиться после смены платы
- Arduino UNO для получения подписи чипа ATmega328P-PU
- Поддерживают ли чипы ATMega 328/2560 JTAG-программатор и аппаратный отладчик?
- Arduino не реагирует на macbook pro
- Ошибка переменной does not name a type!
Видите ли, я замуровал свой Arduino Uno? Проблемы с загрузкой в board](https://arduinoprosto.ru/q/13292/have-i-bricked-my-arduino-uno-problems-with-uploading-to-board/13293#13293) и сообщить (редактировать в свой вопрос), каковы результаты попыток моих различных предложений., @Nick Gammon
*Использование различных настроек в IDE (Mega 2560 с процессором ATmega2560)* - выбор неправильного типа процессора. Вы хотите Uno., @Nick Gammon
Ваш предыдущий скетч использовал таймер сторожевого пса?, @Nick Gammon
Это ответ на ваш вопрос? "avrdude: stk500\_getsync(): not in sync: resp=0x00," aka Какой-То Чувак По Имени Avr Не Позволит Мне Загрузить Мой Program, @Juraj
@NickGammon - Arduino Uno была первой платой, которую я попробовал. Я только попробовал Мега в отчаянии. Я не запускал сторожевого пса в предыдущем скетче - мой предыдущий скетч приводил некоторые неопиксели. Я еще не читал вашу первую ссылку (сделаю сейчас), но я попробовал 2-й arduino (новый) и имел ту же проблему., @Software Engineer
@NickGammon Я просмотрел ваш подробный ответ, связанный выше, и прокомментировал свой прогресс в этом вопросе., @Software Engineer
Кажется, это 16U2. Тот самый https://arduinoprosto.ru/q/13292/have-i-bricked-my-arduino-uno-problems-with-uploading-to-board/13293#13293 сообщение действительно помогло диагностировать это. На это следует ссылаться на сайте arduino. Спасибо за помощь @NickGammon, @Software Engineer
Кстати: Теперь я понимаю, что это дубликат https://arduinoprosto.ru/q/13292/have-i-bricked-my-arduino-uno-problems-with-uploading-to-board/13293#13293, @Software Engineer
*Я только управлял светодиодами.* - как именно? Светодиоды нуждаются в токоограничивающем резисторе. Однако я не вижу, как это может сломать ATmega16U2., @Nick Gammon
Это были светодиоды типа neopixel 'jewel' (7 на плате, в круге-рисунок х 3 платы). Я использовал конденсатор между силовыми рельсами и резистором в соответствии с инструкциями. Я сделал это видео (https://youtu.be/g4enns1v0Ys) когда я первоначально включил его неправильно (я исправил это, хотя)., @Software Engineer