06 сентября, 2014

Прошивка bootloader в Arduino Uno при помощи Arduino Mega 2560

Заказал я из Китая несколько микросхем ATmega328P-PU для Uno (резерв, если сожгу чего-нибудь в ходе экспериментов). Они идут чистые, поэтому если их просто воткнуть в Arduino, загрузка скетчей работать не будет. Чтобы они работали с Arduino, необходимо залить в них загрузчик. Для этого нужен программатор ISP. Так как его у нас нет, будем использовать то, что есть. У меня, например, кроме Uno, имеется Mega 2560. Ее мы и будем использовать в качестве программатора. В качестве обвязки программируемого микроконтроллера (питание, кварц и т.п.) будет выступать Uno. Теперь пошаговая инструкция:
  • Устанавливаем на компьютер Arduino IDE и подключаем нашу Mega2560 к компьютеру кабелем USB.
  • Открываем скетч "Файл - Примеры - ArduinoISP", выбираем "Сервис - Плата - Arduino Mega 2560 or Mega ADK", выбираем нужный COM-порт и заливаем скетч в Mega 2560.
  • Аккуратно (плоской отверткой) вынимаем из Uno микроконтроллер, и ставим в панельку вместо него новый, который надо прошить.
  • Отключаем Mega 2560 от компьютера и подключаем ее соединительными проводами к Uno по следующей схеме:

Примечание: Для успешной прошивки на Uno требуется поставить конденсатор на 10 мкФ между RESET и GND, поэтому, для удобства, желательно чтобы была беспаечная макетная плата (solderless breadboard), как на картинке.
  • Подключаем Mega2560 к компьютеру, выбираем "Сервис - Плата - Arduino Uno" и "Сервис - Программатор - Arduino as ISP", и заливаем загрузчик командой "Сервис - Записать загрузчик".
Обратите внимание: К компьютеру подключена Mega 2560, а плату в настройках ставим Uno!

После примерно 30 секунд моргания светодиодами, загрузчик будет записан. Если выдало ошибку, отключите Mega 2560 от компьютера, проверьте схему (может где-то неправильно соединили, что-то пропустили, или где-то нет контакта), исправьте косяки (если нашли), подключите и попробуйте снова. У меня заработало с первого раза.
Если загрузчик прошился удачно, проверим, можно ли загрузить скетч напрямую в Uno с новым микроконтроллером. Для этого отключите Mega 2560 от компьютера, ОБЯЗАТЕЛЬНО отсоедините провод от RESET (иначе скетч не загрузится), и подключите к нему Uno (и поменяйте COM-порт). Попытайтесь загрузить в него скетч (например "Файл - Примеры - 01.Basics - Blink"). Если загрузчик прошит удачно, то после заливки скетча наша UNO с новым микроконтроллером будет весело мигать светодиодом. Вроде все.

Комментариев нет:

Отправить комментарий