Проблема загрузки в плату arduino uno

вот что он выдает:

Arduino: 1.8.0 (Windows 10), Плата:" Arduino/Genuino Uno"

Скетч использует 940 байт (2%) памяти устройства. Всего доступно 32256 байт.
Глобальные переменные используют 9 байт (0%) динамической памяти, оставляя 2039 байт для локальных переменных. Максимум: 2048 байт.
avrdude: ser_open(): can’t open device "\.COM1": Не удается найти указанный файл.

Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
"Показать подробный вывод во время компиляции"

Купил я в амперке плату arduino mega 2560 . До этого работал с netduino и arduino uno.

Вручную установил дрова для своей платы и убедился что она отображается.(использую 7 винду) Скачал последнюю версию программы с офф. сайта . И вот я настроившись на ̶з̶а̶х̶в̶а̶т̶ ̶м̶и̶р̶а̶ великие свершения решил проверить работоспособность платки с помощью скетча blinlk .

Но к сожалению скетч не захотел заливаться и вылетала одна и та же ошибка:Arduino: 1.6.7 (Windows 7), Плата:"Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"

Скетч использует 1 554 байт (0%) памяти устройства. Всего доступно 253 952 байт.

Глобальные переменные используют 9 байт (0%) динамической памяти, оставляя 8 183 байт для локальных переменных. Максимум: 8 192 байт.

avrdude: ser_open(): can’t open device "\.COM23": Отказано в доступе.

avrdude: ser_drain(): read error: Неверный дескриптор.

Это сообщение будет содержать больше информации чем

"Отображать вывод во время компиляции"

включено в Файл > Настройки

, перейдя на офф. сайт я не нашёл ответа на то почему я не могу загрузить скетч. Я посмотрел десятки(20-30 форумов и 10-15 видео) форумов и видео , но там тоже не было ответа на мою проблему.

Писал я амперке , но они задав несколько вопросов на которые я ответил , перестали отвечать. Я надеюсь что вы пикабушники мне поможете. Заранее спасибо и вот вам немного ̶т̶о̶в̶а̶р̶а̶ милоты.

Я не могу загрузить эскизы на Arduino Uno.

  • Я "кирпич" это?
  • Какие шаги я могу предпринять, чтобы понять, что не так?
  • Что я могу сделать, чтобы это исправить?

Комментарии

Всего ответов: 3

Вероятно, он не кирпичен

У меня есть довольно много Arduinos, и за последние несколько лет только когда-то "кирпичел" один, и я думаю, что это было сделано, если поразить его статическое электричество. К сожалению, этот конкретный чип имел поверхностный SMD-процессор, поэтому непросто попробовать заменить его другим чипом.

Сохраняйте спокойствие и попробуйте выполнить следующие шаги .

Пример платы

"Arduino Uno" — это не просто одна вещь , которая может дать сбой. Он имеет несколько основных компонентов, и, возможно, только один из них вышел из строя (если есть). Смотрите эту справочную фотографию:

  • Процессор Atmega16U2 — это интерфейс интерфейса с USB-соединением
  • Процессор Atmega328P — это "основной" процессор, который на нем есть эскиз
  • Регулятор напряжения — он преобразует входное питание от разъема питания в 5 В
  • Индикатор питания (зеленый) — с пометкой "Вкл"
  • Светодиодный индикатор (желтый) с маркировкой «L» — подключен через операционный усилитель к цифровому контакту 13
  • Светодиоды Rx и Tx (желтые) — они указывают, что USB-чип (Atmega16U2) получает или передача
Читайте также  Проверка системных файлов виндовс

Обратите внимание, что светодиоды Rx и Tx не подключены напрямую к цифровым контактам 0 и 1 на плате (помечены как Rx и Tx). Они загораются, только если вы осуществляете последовательную связь через USB , а не если у вас есть что-то (например, GPS), подключенное непосредственно к цифровым контактам 0 и 1.

Также обратите внимание, что Поскольку светодиод «L» подключен через операционный усилитель, он может загореться, если на вашем эскизе вывод 13 настроен на вход . Это нормально. Это не означает, что что-то ошибочно отправляет данные.

Проверьте питание

USB power

Подключите плату к компьютеру с помощью USB-кабеля и убедитесь, что зеленый светодиод «Вкл» горит.

Используйте мультиметр и пару перемычка приводит к проверке между выводом 5 В и выводом GND (показано стрелкой внизу). Вы должны получить около 5,0 В (у меня 5,04 В на моем).

(Вы можете купить дешевый мультиметр примерно за 10 долларов, если у вас его нет, но вам лучше получить лучший примерно за 50 долларов — проверьте все сайты и магазины электроники.)

  • Также проверяйте между 3,3 В контакт и GND — вы должны получить 3,3 В.

Если вы не получаете 5 В при подключенном USB-кабеле, убедитесь, что другой конец подключен к вашему компьютеру. Также попробуйте другой кабель.

Разъем питания

Если вы используете или планируете использовать разъем питания (с надписью "power" в «на фото» отсоедините USB и подключите источник питания — который должен быть от 7 до 12 В постоянного тока с положительным контактом на центральном выводе.

Измерьте выводы 5 В и 3,3 В, как указано выше. Вы по-прежнему должны видеть те же напряжения на них.

Если вы получаете 5 В с подключенным USB, но не с источником питания, то регулятор напряжения (отмечен на фото) вероятно поврежден. Или, возможно, произошел сбой источника питания. Попробуйте другой источник питания, чтобы подтвердить, какой это.

Проверьте светодиодную вспышку при включении питания

Если у вас есть загрузчик Optiboot (Uno обычно поставляется с этим), затем, если вы нажмете и отпустите кнопку сброса, или отсоедините и снова подключите USB или кабель питания, светодиод «L» должен быстро мигнуть 3 раза. Время «включения» и «выключения» составляет 50 мсек каждый, три вспышки должны закончиться в течение примерно 1/3 секунды.

Если это не так, у вас могут быть проблемы с загрузчик или чип основного процессора (Atmega328P).

Попробуйте загрузить эскиз

Важно: Если вы возникают проблемы с загрузкой эскизов, удаляйте все подключенные устройства (например, экраны). Также удалите соединительные провода, вставленные в разъемы платы. В частности, ничего не должно быть подключено к цифровым контактам 0 и 1 (Rx и Tx), потому что это будет мешать взаимодействию с загружающим компьютером.

Выберите один из Простой пример набросков (например, Blink) и попробуйте загрузить его. Вот что вы должны увидеть:

Светодиод "L" должен мигать 3 раза. Это связано с тем, что основной чип сбрасывается по команде из процесса загрузки.

Светодиод "Rx" должен быстро мигать. Это инструкции из процесса загрузки, пытающегося активировать загрузчик.

Светодиод "Tx" должен быстро мигать. Это процессор, подтверждающий загруженные данные.

Вы можете увидеть вышеупомянутое, даже если процесс загрузки не удался. Это может быть связано с тем, что выбран неправильный тип платы.

Если мигает только индикатор «Rx», это может быть связано с проблемой загрузчика или чипа основного процессора (Atmega328P). Кто-то стучит, но дома никого нет!

Проверьте тип платы

Если светодиоды мигают, но вы получаете сообщение, подобное этому:

Проверьте тип платы:

Если выбран неправильный тип платы, она, вероятно, отправит неправильные инструкции по загрузке, и тайм-аут или иным образом сбой. Если вы похожи на меня и у вас лежат разные доски, легко забыть, что последняя ваша загрузка была для другого типа платы.

Читайте также  Принтер hp deskjet 5570

Проверьте порт связи

Если светодиоды вообще не мигают, возможно, выбран неправильный порт связи.

Проверьте порт связи:

Если возможно, попробуйте другой ПК / Mac

Попробуйте Arduino на другом ПК / Mac, если он у вас есть. Это может сузить вопрос о том, есть ли у вас проблемы с конкретным компьютером, к которому вы его подключили, или с компьютерами в целом.

Выполните тест обратной связи

    Отключите все экраны и другие провода.

  • Отключите плату от источника питания.
  • Подключите перемычку от RESET к GND (оранжевый провод на фото) Подключите перемычку от Rx к Tx (белый провод на фото)
  • Подключите USB-кабель и запустите терминальную программу, такую ​​как Terminal Monitor в Arduino IDE. Напечатайте что-нибудь и отправьте это (например, нажмите Enter в мониторе терминала).
  • Все, что вы вводите, должно быть возвращено.

Если все возвращается назад: это подтверждает, что у вас правильный коммуникационный порт, USB-кабель в порядке, а чип интерфейса USB (Atmega16U2), вероятно, в порядке.

Если ничего не отображается, проверьте:

  • У вас правильный порт связи.
  • Попробуйте другой кабель. Некоторые дешевые USB-кабели имеют только провода питания, а не провода данных.
  • Проверьте, установлен ли драйвер устройства для Arduino. Вам, вероятно, не нужно делать это, если эта плата ранее работала на этом компьютере, но может быть целесообразно сделать это, если вы впервые подключаете эту плату к этому компьютеру.

Тестирование микросхемы Atmega16U2

Если ваша плата не прошла тест обратной петли, и вы уверены, что USB-кабель исправен, то вы можете протестировать сам чип Atmega16U2. На плате есть разъем ICSP (In Circuit Serial Programming), рядом с чипом Atmega16U2 и рядом с разъемом USB.

Сначала отключите питание (отсоедините кабель USB и любой кабель питания).

Затем вы можете подключить разъем ICSP через 6 проводов-перемычек к известному исправному Uno, как показано на фото:

Пин выходами для заголовка ICSP являются (сверху):

Контакт 1 на заголовке ICSP рядом с чипом Atmega16U2 отмечен маленькой белой точкой рядом с буквой «F» в «AREF». Контакт 1 на заголовке ICSP рядом с чипом ATmega328P помечен маленькой белой точкой под «N» в «ON».

Double- проверьте свою проводку.

Затем на плате "заведомо хорошо" установите эскиз "Atmega_Board_Detector", как описано в Страница программиста загрузчика Atmega . Код находится по адресу GitHub — nickgammon / arduino_sketches . Если вы нажмете кнопку «Загрузить» на этой странице, вы получите ряд полезных набросков. Тот, который вам нужен, называется «Atmega_Board_Detector».

После установки откройте последовательный монитор, установите его на 115200 бод, и вы должны увидеть что-то вроде этого:

Однако, если вы получаете сообщение, подобное этому:

Это может означать, что ваш ATmega16U2 не работает.

Протестируйте чип ATmega328P

Отключите питание от "известного хорошего" Arduino Uno и переподключите перемычки ICSP согласно этой фотографии, чтобы подключить их к "основному" процессору на вашем Uno:

Выводы для заголовка ICSP: (сверху):

Контакт 1 на разъеме ICSP рядом с чипом ATmega328P отмечен маленькой белой точкой под «N» в «ON».

Проводка такая же, как и раньше, за исключением того, что вы подключение к другому разъему ICSP — тот, что находится на конце платы, дальше всего от разъема USB.

Что можно исправить

Сбой регулятора напряжения

Это не легко заменить, но это необходимо, только если вы используете разъем питания. Если вы запускаете с USB, то это не требуется. В качестве альтернативы вы можете организовать питание от 4 до 5 В (например, 3 батарейки типа АА) и подключить их к разъему 5 В на плате напрямую.

Читайте также  Птицы клюют пену под окном

Неисправный чип ATmega16U2

Это требуется только для загрузки эскизов через порт USB и последовательной отладки. Его не так легко заменить, потому что это SMD (устройство для поверхностного монтажа). Однако вы можете обойтись без него.

Вы можете загружать эскизы через заголовок ICSP, если вы приобретаете устройство программирования ICSP.

Примеры таких устройств, подключенных к ICSP сокет:

(Эти фотографии были сделаны в Руггедуино, но концепция такая же).

Вы также можете получить кабель FTDI, например:

Подключите его к последовательным портам вашей платы следующим образом:

Введите "U" для загрузчика Uno (Optiboot).

Использование загрузчика Uno Optiboot 16 МГц. Адрес загрузчика = 0x7E00 Длина загрузчика = 512 байт. Введите «Q» для выхода, «V» для проверки или «G» для программирования микросхемы с загрузчиком. ..

Typ «G» для программирования чипа.

Вы должны увидеть:

Это займет около одну секунду. Теперь загрузчик установлен.

Проблемы со сторожевым таймером

Таймер сторожевого таймера (по умолчанию выключен) можно настроить на сброс процессора после определенного времени. время. Целью является восстановление после зависания процессора, развернутого в полевых условиях. Однако, если таймер установлен на короткий период (например, 16 мс), процессор может снова выполнить сброс, прежде чем загрузчик сможет что-либо предпринять.

Симптомы: вы не можете загружать новые эскизы , Некоторые современные загрузчики (например, Optiboot) предпринимают шаги, чтобы остановить эту проблему как одну из первых вещей, которые они делают. Однако другие этого не делают.

Это может быть трудно исправить, поскольку после запуска эскиза у вас возникает проблема его сброса, и если у вас есть проблема, вы не можете заменить эскиз. Люди часто сообщают, что для восстановления необходимо записать новый загрузчик. Однако это только потому, что, как побочный эффект, запись загрузчика стирает текущий эскиз.

Там есть способ восстановления. Выполните следующие действия:

  • Полностью отключите плату (отсоедините USB-кабель).
  • Удерживайте нажатой кнопку сброса и удерживайте ее нажатой. вниз (или проложите перемычку от контакта RESET к контакту GND). Это останавливает запуск эскиза проблемы и, таким образом, активирует сторожевой таймер.
  • Удерживая нажатой кнопку «Сброс», снова подключите USB-кабель.
  • Начните загрузку эскиза, у которого нет этой проблемы. (например, моргание)
  • Как только среда IDE сообщит о «выгрузке», отпустите кнопку сброса (или удалите перемычку).
  • Теперь она должна загрузить OK — как эскиз, который активированный сторожевой таймер никогда не запускался.

Проблемы с загрузкой Mega2560

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

Некоторые версии загрузчика Mega2560 ищут ". " во входящей загрузке с ПК, и если они это увидят, перейдите в режим отладки. Это приводит к сбою загрузки.

  • Установите более свежий загрузчик. Мой скетч "загрузчик загрузчика", упомянутый ранее в этом ответе, должен установить загрузчик, который не имеет такой проблемы.
  • Не используйте ". " в вашем эскизе.

Проблемы с загрузкой в ​​платы Leonardo / Micro / Esplora и т. д.

с ATmega32u4 в качестве основного (и только) процессор может быть сложнее загрузить. Это связано с тем, что один и тот же чип должен обрабатывать загрузки и запускать ваш код.

После перезагрузки платы появляется небольшое окно, когда она ищет новый эскиз для загрузки. Методика загрузки на эти доски:

  • Скомпилируйте эскиз без ошибок.
  • Начните загрузку
  • Как только IDE сообщает «Загрузка», нажмите и отпустите кнопку «Сброс».

У вас есть только секунда или около того, чтобы запустить старый эскиз. Не расстраивайтесь, если вам придется повторить этот процесс пару раз. Это нормально.

Ссылка на основную публикацию
Adblock
detector