Проблема с загрузкой Arduino Sketch - avrdude: stk500_recv(): программатор не отвечает

У меня Arduino Duemilanove с Atmega 328. Я работаю над Ubuntu 12.04, и версия Arduino IDE - 1.0. Недавно я попытался загрузить на него несколько образцов эскизов, например Blink. Тем не менее, ни одна из моих попыток не работает, и они приводят к одной и той же ошибке при каждой попытке:

avrdude: stk500_recv(): programmer is not responding.

Я включил /dev/ttyUSB0 в Сервис → Последовательный порт. Я также выбрал правильную доску (Duemilanove с Atmega 328) из списка. Тем не менее, я не могу решить эту проблему. Я также искал в Интернете, и никакие другие ответы на эту проблему, кажется, не работают для меня. Почему я сталкиваюсь с этой проблемой и как ее решить?

Я также попытался повернуть бортовую Atmega и установить ее в другом направлении. Теперь у меня нет проблем с загрузкой, но потом ничего не происходит. Индикатор на борту также, кажется, не мигает.

Ответ 1

У меня была эта проблема с Crowduino, которая запускала IDE Arduino на OSX. Решение для меня заключалось в том, чтобы включить подробный вывод во время загрузки (в панели настроек среды IDE arduino).

Затем при загрузке вы можете увидеть avrdude, отправив три пакета avrdude: Send: 0 [30] [20] (с соответствующими вспышками RX на плате) непосредственно перед ошибкой avrdude: ser_recv(): programmer is not responding.

Хитрость заключается в том, чтобы нажать кнопку reset на плате непосредственно перед отправкой этих трех пакетов. Затем программа будет загружена успешно.

Ответ 2

Убедитесь, что на выводах Tx/Rx нет входа, и он будет работать.

Ответ 3

У меня была такая же проблема - вот почему я нашел этот вопрос.

Мне только нужно было поменять процессор с "ATmego328P" на "ATmego328P (старый загрузчик)"

Проблема решена - по крайней мере, для меня.

enter image description here

Ответ 4

Я знаю, что это старый пост, но в ответах вокруг этих идей есть несколько разговоров о вуду, давайте попытаться быть немного более реальными в отношении того, что происходит, и подвести итог хорошим материалам для проверки:

В принципе, когда это происходит, рекомендуется включить подробный режим для avrdude, чтобы лучше понять, что происходит. Для этого вам нужно только пойти в настройках и проверить окно подробного режима. Также неплохо отойти от IDE arduino и запустить консоль, чтобы быть более комфортным при чтении вывода avrdude, который вы нажмете на кнопку upload.

Что важно для ввода 3 или 4 -v в командный вызов. Вот как выглядит такая команда avrdude с составленными параметрами, поскольку они полностью зависят от того, как был установлен Arduino:

avrdude -v -v -v -v -C /path/to/avrdude.conf -patmega328 -P/dev/usbport -U flash:w:/path/to/firmware.hex

Хороший способ получить правильную командную строку для использования - это скопировать ее из подробного вывода журнала вывода IDE Arduino, когда многословие включено.

Когда вы получаете avrdude: stk500_recv(): programmer is not responding, это в основном означает, что происходит что-то неправильное, прежде чем начнется мигание. В основном вам нужно проверить (от аппаратного обеспечения до программного обеспечения, низкий уровень до высокого уровня):

  • если кабель и/или разъемы не имеют микрокоманд;
  • если никакие точки пайки не замыкаются (т.е. касаются чего-то металлического), это означает:
    • если на печатной плате нет короткого замыкания между Rx и Tx (обычно контакты 1 и 0);
    • если нет контакта с металлическим элементом под доской или маленькими битами между ногами компонентов (например, FTDI, чипом atmega или любым другим);
  • если чип atmega не вышел из строя (GND/VCC ярлык или вырезание или вход VCC мертв...);
  • если контакты 1 и 0 Arduino не используются каким-либо экраном или пользовательским дизайном (/!\ не применяется к leonardo, поскольку он имеет независимую обработку USB);
  • если преобразователь USB в UART не имеет проблемы (FTDI для более старого duemilanove или Atmega16U2 для новых Unos);
  • если чип Atmega328 обжарен или неправильно установлен;
  • если загрузчик был перезаписан или не работает;
  • если для входа в загрузчик применяется правая скорость передачи;
  • если для целевого MCU и Board установлены правильные настройки;

обычно avrdude -v -v -v -v может помочь найти много, на каком этапе он терпит неудачу. Не может ли он вообще подключиться к USB-порту (сбой кабеля, USB/UART, PCB...) или проблема с загрузчиком.

Обновление: я попытался включить бортовой Atmega и установить его в другом направлении. Теперь у меня нет проблем с загрузкой, но потом ничего не происходит. Светодиодный индикатор также не мигает.

Я боюсь, что если вы измените положение atmega, а затем это не сработает, то факт, что вы поставили источник питания на цифровые контакты, возможно, сожгли ваш чип.

Ответ 5

Попробуйте проверить правильность выбранной платы. Нажмите на меню Инструменты → Совет и проверьте правильность выбора платы.

Ответ 6

Вы можете проверить, подключены ли какие-либо провода перемычек к контактам 0 и 1. Штыри для тонов используются для последовательной связи, а подключенные провода могут предотвратить загрузку кода на плате.

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

Надеюсь, это поможет!:)

Ответ 8

Выше ошибка возникает в 3 этапа

  • Если загрузочный загрузчик был разбит
  • Если вы не выбрали правильный порт и правильную плату из IDE
  • Если вы связываетесь с другим последовательным портом, подключены. Ячейки GND и Tx подключены к другому коммуникационному устройству.

Ответ 9

Я решил проблему в OS X Yosemite 10.10, следуя этим инструкциям:

http://www.mommosoft.com/blog/2014/10/24/ftdi-chip-and-os-x-10-10/

Однако трюк, предложенный hoipolloi, был временным временным решением, также на этой версии.

Ответ 10

У меня было то же самое. С моей первой попытки Arduino UNO. Мое решение было довольно простым. Просто подключите, затем подключите USB-кабель. Надеюсь, это сработает для вас.

Ответ 11

В Windows 7 у меня была эта проблема несколько раз, каждый раз с различными сообщениями об ошибках. В основном, IDE отправляет в неправильный порт. Чтобы исправить это, просто перейдите в "Инструменты" → "Порты" → [выберите COM-порт, на котором установлена ​​ваша плата].

Убедитесь, что вы дважды проверьте свой порт:

1) Запустите диспетчер устройств

Start Menu

2) Убедитесь, что ваш драйвер Arduino указан в порту, соответствующем настройкам порта IDE (см. выше)

Device Manager

3) Моя плата указана в порту COM1. Если вы хотите, вы можете просто изменить порт в дополнительных настройках драйвера:

enter image description here

Ответ 12

У меня есть эта проблема и на моем Arduino, работающем на Mac. Это происходит на двух моих Arduinos (Arduino Uno и Arduino Pro, связанных с FTDI).

Для Uno я подключаю кабель к компьютеру и загружаю его, а затем начинаю отсчет до тех пор, пока не загорится светодиод "TX". Затем повторите загрузку, но перед тем, как светодиод TX мигает, нажмите кнопку reset, и загрузка будет успешной.

Позже я решил, что изменение USB-кабеля исправило эту проблему.

Ответ 13

Я отправляю это, потому что я не нашел этот ответ в другом месте. Все мои клоны Arduino nano китайские (CH340) имели эту проблему после обновления до Arduino IDE до 1.8.9. То, что мне помогло, - это использовать запасную официальную Arduino Uno, для которой мне нужно записать загрузчик на неисправных нано, используя заголовки ICSP на нано. Для этого все, что я сделал, это следовал инструкциям здесь: китайский клон-ардуино-нано-с-чипом-ch340g-как-исправить-это. Единственное, что я сделал по-другому, - это всегда устанавливал опцию "Старый загрузчик", как было сказано ранее в этой теме. Кроме этого, я полностью следовал инструкциям по этой ссылке и избавил своих нано от этой надоедливой проблемы. Я надеюсь, что это поможет кому-то там.

Ответ 14

Во-первых, убедитесь, что /dev/ttyUSB 0 работает. Например. подключите мышь и проверьте, работает ли она. Во-вторых, попробуйте выбрать другую плату. Часто их оригинальные доски не распознаются правильно под их именами. В-третьих, нажмите кнопку reset вручную при загрузке эскиза. Вероятно, автоматический reset сломан.

Ответ 15

Я решил проблему в моем случае, загрузив и установив старые драйверы FDTM из здесь.

Попробуйте установить FTDIUSBSerialDriver_10_4_10_5_10_6_10_7.mpkg, а затем снова запустите Arduino.

Ответ 16

Просто подумал, что я бы сказал, что мой новый В плате Arduino Uno Rev3 используются следующие Драйвер LInux:

Device Drivers    
|-USB Drivers
  |-USB Modem (CDC ACM) support

Это известно как опция: CONFIG_USB_ACM: в самом последнем ядре LInux 3.x.

Это устройство затем появляется как: /dev/ttyACM0 или подобное.

Ответ 17

поэтому я нашел причину этого... Менял мой последовательный порт на /dev/tty.usbmodem2131. Оказывается, я все время использовал неправильный последовательный порт!

Ответ 18

Вы можете попробовать:

  • Проверьте настройки preferences.txt serial.debug_rate: serial.debug_rate=9600
  • Попробуйте нажать кнопку reset вашего arduino только при загрузке.
  • Попробуйте выбрать другую карту в меню инструментов arduino- > tools, а затем повторно выберите свою карту в списке.

Ответ 19

Эта комбинация из вышеперечисленных ответов решила проблему для меня:

  • выполнил обновление java:

    sudo apt-get install default-jdk

  • затем убил IDE arduino и перезапустил его

  • появилась моя правая доска (arduino Mega 2560, где до Mega 1280 был только вариант)

  • для драйверов я сделал это:

    sudo chmod a+rw /dev/serial/by-id/usb-Arduino__www.arduino.cc__(a bunch of numbers)

после этого, моя IDE arduino показывает /dev/ttyACM0 в меню инструментов/последовательного порта

Теперь все отлично работает!

Ответ 20

просто подумал, что добавлю в решение, которое работало для меня на Mac Pro (рабочий стол)

Я получал ту же ошибку, и это получается из-за того, что я подключил USB к периферийному устройству (моему монитору), а не к USB на самом ПК. Остановил все ошибки сразу и простое решение.

Ответ 21

Спасибо @hoipolloi за правильное направление поиска решения. Во всяком случае, мне пришлось сделать несколько разных шагов, чтобы исправить проблему.
В моем случае UNO работала нормально, но внезапно остановилась после некоторых игр с эскизами. Я все время получал stk500_recv(): programmer is not responding, и ничего не работало. Затем я обратил внимание, что светодиод 13 всегда включен на моей плате. Похоже, какой-то сложный петлевый эскиз продолжался много раз на доске и блокировал любой вход на доску. Не уверен, это просто мои слова.
Я попробовал щелкнуть по RESET в любой момент без каких-либо успехов и вдруг попробовал следующие шаги:

  • Отключите плату.
  • Нажмите и удерживайте RESET.
  • Подключите его снова.
  • Подождите пару секунд.
  • Отпустите кнопку RESET.

После этого я заметил, что встроенный 13 светодиод отключился на секунду, а затем снова включился. Похоже, что было короткое окно RESET, когда на доске фактически находится RESET. Затем, как и в решении @hoipolloi, я поймал момент "reset" до того, как будут отправлены 3 пакета и что сработало.
Надеюсь, это поможет вам разобраться в проблеме, если ни одно из других решений не работает.

Совет. Если вы не видите три строки Send: 0 [30] [20] при загрузке эскиза в консоли, выполните следующие действия:

  • Нажмите "Загрузить" в своей среде разработки Arduino.
  • Посмотрите на окно журнала. Вы сможете найти такую ​​строку:

E:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CE:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -carduino -PCOM3 -b115200 -D -Uflash:w:C:\Users\Sergey\AppData\Local\Temp\build44ca75bc60fd83cc8ef41e35d4d83388.tmp/sketch_sep07a.ino.hex:i

  1. Похоже, он проглатывает разрыв строки или пробелы, как здесь -CE:\Program Files.... Это должно быть -C E:\Program Files. Скопируйте это как в Блокнот, добавьте недостающие места, чтобы сделать строку этой:

E:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -v -v -v -v -C "E:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf" -patmega328p -carduino -PCOM3 -b115200 -D -U flash:w:C:\Users\Sergey\AppData\Local\Temp\build44ca75bc60fd83cc8ef41e35d4d83388.tmp/sketch_sep07a.ino.hex:i

  1. Добавьте 4 -v инструкции, как я сделал выше.
  2. Откройте командную строку, вставьте в нее команду и запустите.

Теперь вы увидите гораздо более многословную благодарность 4 аргументам -v. Первоначально Arduino Studio использует только один.

Ответ 22

У вас есть что-нибудь, связанное с выводом RESET на Arduino?

Я столкнулся с этой проблемой с графическим ЖК-дисплеем, который нуждался в подключении к контакту RESET. Отсоединение провода перемычки между ЖК-дисплеем и выводом RESET при загрузке кода, исправленного для меня, все, что вам нужно было бы сделать, это снова подключиться после завершения загрузки кода.

Ответ 23

Вы установили/обновили драйвер для кабеля FTDI? (Шаг третий на http://arduino.cc/en/Guide/Howto). Запуск IDE Arduino из моей малины Pi работал отлично, без явной установки драйверов (либо они были предварительно установлены, либо инсталлятор Arduino IDE позаботился об этом). На моем Mac это было не так, и мне пришлось установить драйверы кабелей в дополнение к IDE.

Ответ 24

Я только что провел последние несколько часов по этому же вопросу... Просто зайдите сюда http://www.ftdichip.com/Drivers/VCP.htm", загрузите последние версии драйверов и перезагружать. После этого нужно отлично работать. Я также загружаю новинку в программное обеспечение Arduino, но я не понимаю, что это имело значение.

Ответ 25

У меня была такая же проблема и она сама разрешила.

Во-первых: У меня есть (OSEPP UNO r3 PLUS). Это Ревизионная труба Arduino UNO 3, подготовленная OSEPP.

Я только что купил экран OSEPP Motor и Servo controller. У меня были только моторы, и я наткнулся на ту же ошибку. avrdude: stk500_recv(): программатор не отвечает.

Думаю, пока он был подключен, он сделал/назначил новый последовательный порт. Найдено в программе arduino в разделе "Инструменты > Последовательный порт". Я просто переизбрал тот, который связан с UNO и bam, проблема решена.

Надеюсь, это поможет кому-то.

Ответ 26

У меня была та же проблема с arduino Due, большая часть предлагаемого решения не работала. светодиод L постоянно включался. Моя проблема была решена путем unistalling IDE и выбора экспериментальной версии 1.5.8, а затем на плате я выбрал нижний вариант Arduino Due (порт программирования), конечно же, вам нужно также подключить USB к порту программирования.

Ответ 27

Это может затормозить, но это поразило меня. Убедитесь, что ваш USB-кабель (на стороне Arduino) подключен правильно (полностью подключен). Убедитесь, что устройство обнаружено, как описано здесь (для Windows): fooobar.com/questions/74695/...

Ответ 28

Я попытался подключить свой сервопривод к выходу arduino 5V, заколоть процессор, и именно поэтому я получил этот отказ

avrdude: stk500_recv(): программист не отвечает

Решение: купите новый ардуиновый и внешний источник питания 5 В для сервопривода.

Ответ 29

Попробуйте загрузить программу без -b (опция скорости передачи). В ~/.arduino15/preferences.txt устанавливается build.verbose = true, когда arduino.cc не работает. В подробном выводе вы найдете шестнадцатеричный файл, который вы должны загрузить с консоли:

avrdude -v -v -v -v -C/usr/share/arduino/hardware/tools/avr/etc/avrdude.conf -patmega328p -carduino -P/dev/ttyUSB2  -D -Uflash:w:/tmp/build2314497724350388190.tmp/sketch_nov13b.cpp.hex:i

Я просто заменяю чип 128 версией 328, а из Decimile имя моей доски было изменено на Uno или Ethernet из-за новой скорости передачи в бодах 115200.

Ответ 30

Если вы подключаете Arduino через USB-концентратор, попробуйте подключить его непосредственно к одному из портов USB на Mac. Это сработало для меня.