Прошивка arduino uno 16u2 через программатор k150

Переход контроллера в DFU-режим

Установка драйвера для контроллера ATmega16U2

Скачать Flip для Windows
Программа для прошивки контроллеров Atmel

Прошивка микроконтроллера ATmega16U2

Если в диспетчере устройств вы видите «ATmega16U2», значит контроллер, который отвечает за коммуникацию между USB-интерфейсом Arduino и контроллером Arduino не прошит.

Мы рассмотрим порядок действий по настройке контроллера для платы Arduino Uno. Для плат Arduino Mega2560 и Arduino ADK порядок действий аналогичен, необходимо только в использовать соответствующий платформе .hex -файл.

Скачать Flip для Windows
Программа для прошивки контроллеров Atmel

После всех манипуляций окно программы должно выглядеть так:

Всё получилось. Теперь можно смело переходить к продолжению «настройки платы» или к «экспериментам»

При замене чипа на arduino или при изготовлении самодельной Arduino часто возникает необходимость в прошивке чистого чипа Atmega328/168. У многих возникают с этим проблемы, опишу процесс по пунктам.

Для прошивки нам понадобится сама Arduino с распаянным / установленным чипом и программатор USBASP.

Из софта нужны будут следующие файлы:

Загрузчик (Bootloader) ATmegaBOOT_168_atmega328 (скачать)

Программа для прошивки и установки правильных fuse битов , я использую AVRDUDE_PROG, это таже AVRDUDE только с GUI интерфейсом. (скачать)

Теперь подключаемся к Arduino по IСSP.

Замыкаем JP3 на USBASP, так как частота нового контроллера слишком мала.

Открываем AVRDUDE_PROG, и сразу переключаемся на вкладку FUSES выставляем все как на картинке

В примере на картинке FUSES установленны для ARDUINO NANO 328!

Вот список для остальных контроллеров:

Фьюзы установленные по умолчанию в Arduino (только с ATmega328)
Arduino Uno
Low Fuse 0xFF
High Fuse 0xDE
Extended Fuse 0x05

Читайте также  Серийный номер самсунг галакси s8

Arduino Duemilanove or Nano w/ ATmega328
Low Fuse 0xFF
High Fuse 0xDA
Extended Fuse 0x05

Arduino BT w/ ATmega328
Low Fuse 0xFF
High Fuse 0xD8
Extended Fuse 0x05

LilyPad Arduino w/ ATmega328
Low Fuse 0xFF
High Fuse 0xDA
Extended Fuse 0x05

Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATmega328
Low Fuse 0xFF
High Fuse 0xDA
Extended Fuse 0x05

После прошивки FUSES прошиваем загрузчик.

Прошиваем Arduino программатором USBASP : 3 комментария

Спасибо! Я не знал про перемычку.

Считал фьюзы с помощью AVRDUDESHELL с Arduino UNO и NANO, они оказались одинаковые вот такого типа: LOW — 0xF7, HIGH — 0xDE, EXTENDED — 0xFD, LOCK — 0x3F. Хочу перешить загрузчики на Optiboot, какие фьюзы мне лучше поставить, какие были или которые указаны у Вас?

Как помитрить «рассорившихся» Arduino и компьютер – когда компьютер не «видит» Arduino Mega2560 R3.
Технология в принципе применима и другим Arduino, но там есть свои особенности (см. ссылки в конце).
Имеем Arduino Mega2560 R3 как на фото ниже:

1. Скачиваем и устанавливаем программу «FLIP» – можно отсюда: www.atmel.com/tools/flip.aspx

2. Скачиваем прошивку «Arduino-usbserial-atmega16u2-Mega2560-Rev3.hex» – можно отсюда: github.com/arduino/Arduin…egaxxu2/arduino-usbserial
Разместить ее необходимо на компьютере, так чтобы в пути к файлу прошивки не было русских символов.
Можно на диске C:.

3. Подключаем Arduino через USB кабель к компьютеру.

4. На несколько секунд замыкаем два контакта RESET (5) и GND (6), находящихся над Atmega16U2, для сброса контроллера (см. рисунок – для примера UNO).
ПРИМЕЧАНИЕ: Соединять больше ничего не надо. На плате Mega 2560 версии R3 добавлен резистор, подтягивающий к земле линию HWB микроконтроллера 16U2. Это упрощает процесс обновления прошивки и переход устройства в режим DFU.

Читайте также  Почему стрелка мышки на компьютере сама бегает

5. После RESET компьютер найдет новое устройство, для которого требуется драйверы. Устанавливаем драйвер из папки, в которую вы установили «FLIP»:
C:Program FilesAtmelFlip 3.4.2usb
В системе появляется устройство («16U2»).

6. Запускаем «FLIP»:
Выбираем загружаемый файл:
— выбираем пункт меню «File->Load HEX File»,
— выбираем скачанную прошивку «Arduino-usbserial-atmega16u2-Mega2560-Rev3.hex»,

Выбираем устройство:
— выбираем пункт меню «Device->Select»,
— выбираем из списка «16U2»,
Выбираем соединение:
— выбираем пункт меню «Settings->Communication->Usb»,
— в появившемся окошке щелкаем кнопку «Open».
Проверяем, чтобы стояли галочки:
— нажимаем кнопку «Run».
Должен начаться процесс перепрошивки…

Это в идеале!
У меня процесс заканчивался сообщением об ошибке:
«verify device fail at 0x00000».
Начался «метод проб и ошибок».
Пробовал различные «режимы» «FLIP», различные сочетания «галочек»…
Точно не могу сказать, что помогло…
При очередном подключении платы к компьютеру, компьютер неожиданно нашел новое устройство Arduino Mega2560 – началась загрузка драйвера.
Думаю, помогла снятая галочка с «verify».
Программа «FLIP» перестала соединятся с «16U2» по USB…
А Arduino Mega2560 появился на COM14.
Не научно, но возможно кому то поможет.

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