Прошивка плат Arduino через Arduino nano и другие

Прошивка плат Arduino

Эта инструкция объясняет, как использовать будь какую плату Arduino в качестве ISP (внутрисистемного программатора). Что позволит вам использовать любую плату как UART переходник для загрузки скетча в контроллеры AVR, такие как ATmega168 или ATmega328, устанавливаемые на Arduino. Способ, описанный в этом примере, основан на программном обеспечении mega-isp от Randall Bohn.

 

Инструкция

 

Чтобы использовать свою Arduino плату в качестве загрузчика в AVR контроллер другой платы, вам нужно следовать нескольким простым пунктам.

 

Подготовка в программном обеспечении Arduino IDE.

  1. Откройте программную утилиту Arduino ISP, что находится в Файл > Примеры (Образцы).
  2. Заметьте, для Arduino IDE версии 1.0 нужно сделать небольшое изменение в коде Arduino ISP. Найти строчку в функции heartbeat(), в которой есть запись «delay(40);» и заменить её на «delay(20);».
  3. Во вкладке Инструмены > Плата и Серийный порт, выберите соответствующую плату, которую вы используете в качестве программатора (не ту плату, которую нужно перепрошить).

 

Загрузка скетча через Arduino ISP.

  1. Соедините Arduino платы, как показано на схеме подключений внизу.
    Примечание: для платы-программатора Arduino типа Uno, и других, нужно добавлять конденсатор на 10 мкФ между сбросом Reset и землей GND, чтобы не возникало никаких ошибок «not in sync».
  2. Во вкладке Инструмены > Платы, теперь уже выберите соответствующую плату, в которую вы будете загружать прошивку (не ту плату, которую используете как программатор). Почитайте о работе с программным обеспечением Arduino Software IDE, чтобы узнать больше.
  3. Во вкладке Инструмены > Программатор укажите тип программатора Arduino as ISP (Arduino как внутрисистемный программатор).
  4. Выбрав скетч прошивки, воспользуйтесь командой Файл > Загрузить с помощью программатора. Кнопку на плате нажимать не нужно.

 

Схема подключений
Arduino Uno, Duemilanove или Diecimila

 

Примечание: приведенная схема подключений работает с платами, у которых снимается сигнал RST с указанных пинов. Что касается плат, для которых это невыполнимо (платы с контроллером ATmega32U4, такие как Leonardo или YUN), то сигнал сброса RST должен быть взят с разъема ICSP (внутрисхемного программирования) согласно распиновке, приведенной внизу.

Схема подключений

Замкнув на ICSP разъеме пины RST и GND, можно любую плату Arduino сделать программатором вне зависимости от зашитого в ней кода.
Arduino сделать программатором

Одна плата Arduino служит программатором IPS для ATmega на другой плате.

 

Не забудьте для Arduino Uno, Duemilanove, Diecimila или любой другой подсоединить конденсатор на 10 мкФ между сбросом Reset и землей GND, после того, как сделаете эту плату программатором (после загрузки скетча Arduino ISP).

 

Схема подключений
Arduino
NG или более старой платы

 

На платах Arduino NG или более старых выход Reset разъема не активен, поэтому вам понадобиться найти его на микроконтроллере.
Схема подключений Arduino NG

На Arduino NG или более старой прошиваемой плате нужно подключиться проводом Reset к 1 пину ATmega, как показано на схеме.

 

Схемы подключений
на макетной плате к контроллерам
AVR

 

Использование платы Arduino для программирования ATmega без кварцевого резонатора.

Схемы подключений на макетной плате

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

 

Использование платы Arduino для программирования ATmega, с внешним кварцевым резонатором.

с внешним кварцевым резонатором

Сглаживающие конденсаторы следует выбрать по 18 или 22 пФ.

Если всё было собранно верно и не забыли поставить фильтрующий конденсатор на 10 мкФ, то выбранный ATmega прошьется с первого раза.

 

Автор: Виталий Петрович. Украина, Лисичанск.


 


Понравилась статья? Поделиться с друзьями:
Комментариев: 1
  1. Василий

    Для начала рекомендую собрать схему тестера на макетной плате для заливки прошивки и проверки работоспособности.

Добавить комментарий

тринадцать − 3 =