Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
isp-programmator_na_osnove_arduino [2015/08/02 16:29]
ansealk [Порядок действий]
isp-programmator_na_osnove_arduino [2015/08/02 16:32] (текущий)
ansealk [Порядок действий]
Строка 1: Строка 1:
 +====== ISP-программатор на основе Arduino ======
 +
 +===== Описание =====
 +Регулярно заказываю платы Arduino и компоненты к ним на [[http://​aliexpress.com|известном всем китайском мегабазаре]]. Что бы там не говорили некоторые,​ качество плат ничем не отличается от оригинальных (те которые с "made in italy"​) - ибо все равно и те и другие делаются у "​дядюшки Ляо"​. Но периодически встречается плата без прошитого бутлоадера. То есть она как бы рабочая,​ а скетч не заливается. Открыть спор с поставщиком и вернуть деньги за плату конечно же можно, но нам ведь нужны не деньги,​ а сама плата, так? ​ Причем крайне желательно рабочая. Почему бы не пришить бутлоадер самим? В этом случае у нас есть несколько вариантов:​
 +  - Купить ISP-программатор и прошить бутлоадер с помощью него. Хороший вариант,​ тем более что такой программатор стоит совсем недорого. А как быть, если программатора просто нет под рукой? Тогда смотрим второй вариант.
 +  - Взять имеющуюся под рукой вторую рабочую плату Arduino и прошить лоадер с помощью нее. Вот этот случай мы и рассмотрим.
 +
 +===== Необходимые компоненты и навыки =====
 + ​Нам понадобится:​
 +  - Любая плата Arduino с рабочим загрузчиком. У меня была под рукой Arduino Mega 2560 - на ее примере и будем рассматривать;​
 +  - Конденсатор на 10мкФ;
 +  - Макетная плата Breadbone;
 +  - 8 cоединительных проводов male-male (для Arduino Nano - 10);
 +  - Установленный на компьютере Arduno IDE;
 +  - Умение читать и понимать прочитанное.
 +
 +===== Принцип работы =====
 +Каждая плата Arduino может загружаться со своего загрузчика,​ прошитого на микроконтроллере,​ а может и с внешнего загрузчика. Вот именно это мы и используем для прошивки отсутствующего бутлоадера. Нам достаточно просто подать загрузить на рабочую плату скетч программатора (он есть в примерах Arduino IDE), соединить рабочую плату с прошиваемой и запустить процесс прошивки. Все остальное выполняется автоматчиески.
 +
 +На платах соединяем контакты **5V**, **GND**, **MOSI**, **MISO** и **SCK**. Также нам понадобится поключить контакт **SS** на плате-программаторе к контакту **RESRT** на прошиваемой плате. Какие контакты куда подключать на наиболее известных платах можно увидеть в следующей таблице.
 +^        ^MOSI  ^MISO  ^SCK  ^SS  ^
 +|Mega    |    51|    50|   ​52| ​ 53|
 +|Nano    |    11|    12|   ​13| ​ 10|
 +|Uno     ​| ​   11|    12|   ​13| ​ 10|
 +|Leonardo|ICSP 11|ICSP 12|ICSP 13|ICSP 10|
 +
 +===== Порядок действий =====
 +Условимся,​ что в качестве программатора будем использовать плату Arduino Mega 2560(Возможно также пользоваться любой другой - для этого надо просто поменять используемые контакты). Итак:
 +  - Соберем схему для прошивки: ​
 +    - Для прошивки Arduino Mega \\ {{:​arduino_and_raspberrypi:​icsp:​isp-mega_to_mega_bb.jpg?​900|}}
 +    - Для прошивки Arduino Nano \\ {{:​arduino_and_raspberrypi:​icsp:​isp-mega_to_nano_bb.jpg?​900|}}
 +    - Для прошивки Arduino Uno \\ {{:​arduino_and_raspberrypi:​icsp:​isp-mega_to_uno_bb.jpg?​900|}}
 +    - Для прошивки Arduino Leonardo \\ {{:​arduino_and_raspberrypi:​icsp:​isp-mega_to_leonardo_bb.jpg?​900|}}
 +  - Подключим Arduino Mega, которая у нас выступает в рои программатора(на рисунках она справа) к компьютеру,​ запустим Arduino IDE;
 +  - Выберем порт (**Инструменты->​Порт->​COM-порт**) и тип платы (**Инструменты->​Плата->​Arduino Mega or Mega 2560**);
 +  - Откроем скетч с программатором (**Файл->​Образцы->​Arduino ISP**) и загрузим ее на плату (**Файл->​Выгрузить**);​
 +  - Выберем тип прошиваемой платы (**Сервис->​Плата->​Arduino Uno(или тот тип, с которым хотим работать)**) и тип программатора (**Сервис->​Программатор->​Arduino as ISP**);
 +  - Запишем загрузчик командой **Сервис->​Записать загрузчик**. Примерно в течение минуты загрузчик будет записан. Если выдало ошибку,​ отключите Mega2560 от компьютера,​ проверьте схему - вероятнее всего где-то закралась ошибка и попробуйте снова.
 +
 +
  
isp-programmator_na_osnove_arduino.txt · Последние изменения: 2015/08/02 16:32 — ansealk
GNU Free Documentation License 1.3
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0 Яндекс.Метрика