У Вас есть Arduino? Значит у Вас есть программатор!

Проекты и уроки по микроконтроллерам бюджетной ценовой категории.

Модератор: pinochet

У Вас есть Arduino? Значит у Вас есть программатор!

Непрочитанное сообщение admin » 27 фев 2016, 21:18

Все таки, поговорка «Век живи — век учись!» придумана неспроста! В свое время, начав интересоваться микроконтроллерами семейства AVR (и в частности, Arduino) я забеспокоился об инструменте для программирования оных. Т.е., программаторах. А ведь программатор (ну, может не в столь явном виде) у меня всегда был под рукой. Это плата Arduino.
ISP (In-system programming) — это способность микроконтроллера получать прошивку находясь уже непосредственно в собранной схеме. Программатором (устройством передающим прошивку от компьютера в контроллер) в нашем случае будет выступать Arduino.
Аргументы для сомневающихся (делать/не делать)
За:
1) этот шилд даст вторую жизнь «морально устаревшим» платам Arduino на Atmega8
2) У Вас появиться прекрасная возможность писать программы для микроконтроллеров серии Attiny в привычном Arduino IDE
3) это самый «копеечный» программатор (при условии наличия у Вас Arduino)
4) этот шилд ОЧЕНЬ прост в изготовлении, не содержит дефицитных деталей и не требует настройки
5) позволяет (в какой-то мере) сохранить порядок на Вашем рабочем месте :)
Против:
— я не нашел

Если готовы, то поехали.
Чтобы Arduino стала ISP программатором на нее необходимо залить специальную прошивку. Эта прошивка поставляется вместе с Arduino IDE. Напомню. Еще без какой-либо периферии Arduino подключаем к компьютеру и загружаем Arduino IDE. Выбираем [File] -> [Examples] -> [ArduinoISP]

Изображение
Ну и далее, люди делают что-то примерно такое:

Изображение
Изображение
Кстати, я тоже так делал :). Собственно, после чего и появилась эта задумка. Вариант «клубкового» соединения, естественно, имеет право на жизнь. Но, скажем так:
-> Неудобно
-> ненадежно
-> некрасиво и все такое :(
Логично было бы предположить, что умные люди смекнули «что к чему» и наладили выпуск готовых ARDUINO ISP Shield-ов. Вот парочка примеров:

Изображение

Я тоже хочу такую вещь! Но, "Это не наш метод! Мы все сделаем сами!!!"
Итак, я вспомнил все микроконтроллеры, с которыми мне приходилось сталкиваться. Это были Atmega8 (168/328), Atmega16, Attiny2313(4313), Attiny13(45/85). Итого, (для меня, по крайне мере) ограничимся корпусами DIP8, DIP20 и DIP28. Здоровенная Atmega16 — «пока нервно курит в сторонке». Поставим дополнительно стандартный ICSP разъем на 10 контактов, для возможности подключения внешнего адаптера. И для красоты установим светодиоды, отображающие текущее состояние программатора. Распиновку берем из скетча ArduinoISP:

Код: выделить все
// This sketch turns the Arduino into a AVRISP
// using the following arduino pins:
//
// pin name:    not-mega:         mega(1280 and 2560)
// slave reset: 10:               53
// MOSI:        11:               51
// MISO:        12:               50
// SCK:         13:               52
//
// Put an LED (with resistor) on the following pins:
// 9: Heartbeat   - shows the programmer is running
// 8: Error       - Lights up if something goes wrong (use red if that makes sense)
// 7: Programming - In communication with the slave


Схема. Хм, конечно сложно это назвать схемой, но все же:

Изображение
Разводка печатной платы много времени не заняла. Я фактически расположил нужные корпуса и разъемы на плату, подписал нужные выводы и тупо их соединял :) Вот, что получилось:
Изображение

Лут:

Изображение

После запайки:

Изображение

Изображение

Обращаю Ваше внимание, на наличие трех SMD перемычек (резисторы 0R).

Вот готовое изделие:

Изображение

!!! ВАЖНЫЙ МОМЕНТ!!! Очень рекомендую установить панельки с цанговыми контактами!
Изображение

Итак, все у нас готово для проведения «ходовых» испытаний. Подключаем наш шилд к ЗАРАНЕЕ «прошитую» Ардуино
Изображение

Проверяем работоспособность с помощью GUI оболочки для AVRDUDE:

Изображение

Для «гурманов», зеленой полоской я выделил соответствующие параметры для консольного варианта :)

Обращаю ваше внимание на правильный выбор типа программатора и типа соединения. Уточнить можно в IDE (выше приведен скриншот для самопальной COM-портовой платы).

Ниже картинки для варианта с CraftDuino (у меня CraftDuino общается через виртуальный COM N14. Естественно, у Вас может быть другой)

Изображение

Все хорошо!!! Радуемся и хлопаем в ладоши :) (честно говоря, получившаяся плата мне ОЧЕНЬ нравится. Я пишу эту статью и верчу ее в руках).
Пара полезных ссылок, о том, как подружить микроконтроллеры Attiny со средой программирования Arduino:

[url]http://bigbarrel.ru/прошиваем-attiny-c-помощью-arduino/[/url]
http://www.fibidi.com/arduino-programming-attiny2313/

Ну а дальше уже сами :) Как говорится, Google Вам в помощь!

Весь материал проекта забираем ТУТhttp://yadi.sk/d/dxEOR8jpLFcsp.
Все удачи и хорошего настроения!
Аватар пользователя
admin
Администратор
 
Сообщений: 701
Зарегистрирован: 20 фев 2016, 09:07

У Вас есть Arduino Значит у Вас есть программатор

Непрочитанное сообщение Willienams » 18 мар 2016, 11:21

Это благородный поступок, а у нас, что крестный, что крестная, так на отмахайся. мой крестник уже большой, но не забывает.
Аватар пользователя
Willienams
Новичок
 
Сообщений: 21
Зарегистрирован: 06 мар 2016, 12:54
Откуда: Россия


Вернуться в Arduino

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron