CraftDuino v2.0
  • - это CraftDuino - наш вариант полностью Arduino-совместимой платы.
  • CraftDuino - настоящий конструктор, для очень быстрого прототипирования и реализации идей.
  • Любая возможность автоматизировать что-то с лёгкостью реализуется с CraftDuino!
Просто добавьте CraftDuino!

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

Все таки, поговорка «Век живи — век учись!» придумана неспроста! В свое время, начав интересоваться микроконтроллерами семейства 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:
Attiny13
Attiny2313
Ну а дальше уже сами :) Как говорится, Google Вам в помощь!

Весь материал проекта забираем ТУТ.
Все удачи и хорошего настроения!
  • +1
  • 26 марта 2014, 16:11
  • Ghost_D

Комментарии (7)

RSS свернуть / развернуть
+
0
С учетом всего написанного для Вас непроблема было бы собрать устройство и чуть посерьезнее.
Я, например, собрал программатор вот от сюда: bascom.at.ua/publ/zif_avr_3_v_odnom_usb_asp_avrdoper_prottoss/1-1-0-68
А дуину использовал для первоначальной прошивки самого программатора. Теперь имею удобный программатор, независимый ни от чего. Доволен как слон!
avatar

dtvims

  • 27 марта 2014, 10:42
+
0
Совершенно с Вами согласен. Собрать такой — не проблема. Тут же вся «фишка» в том, что (я лично знаю нескольких таких) у людей УЖЕ есть плата Ардуино. Кто-то ей пользуется, кто-то шагнул дальше и пишет серьезные вещи для мк. А Ардуина пылиться в полочке стола. Так вот, эта плата, на изготовление которой я потратил часа два (и то, большую часть времени — на «красоту»), практически ничего не покупая — разве не решение вопроса насчет программатора?!?! Да и еще с тремя адаптерами для ходовых мк «на борту». Наверное дешевле только программатор Громова :)

Кстати, у меня валяется тоже купленная по принципу «хрен с ним, четыре бакса — не большие деньги» плата LaunchPad от Техас Инструмент. Ломаю голову, какое ей найти применение… Но есть наметки.
avatar

Ghost_D

  • 27 марта 2014, 17:17
+
0
А уменя она тоже пылится :(
Дело в том, что иногда нужно что-то быстро попробовать, тут ардуина в самый раз, но она используется как программатор, значит ее надо временно конфисковать. Вот тут и начинаются пляски, то программатором прошил, то под тесты конфисковал, то обратно. Потому, получается удобнее, есди дуинка берется, только когда нужна.
А в приведенном мной программаторе используется универсальная панелька, для смены контроллеров, что в разы удобнее.
Бесспорно у Вас качественный шилд получился.
Вот у меня пара лаунчпадов простаивают, даже для тестов каких ни разу не использовал, вот это обидно…
avatar

dtvims

  • 28 марта 2014, 05:36
+
0
О, клевая мысль. Было бы здорово, из ЛаунчПада сделать такой программатор. Я думаю, что у многих людей они валяются без дела. А тут и польза Огромная, и освоение другой платформы. Да и вроде, есть а-ля Ардуиновская среда разработки. (Я что-то про разработку шилдов для ЛаунчПадов пока не встречал ничего...)
avatar

Ghost_D

  • 28 марта 2014, 09:43
+
0
Америкосы по ходу активно на них что-то ваяют. У них полно всего, где-то были ссылки на их ресурсы вроде текущего, где все выкладывают проекты на лаунчпадах.
avatar

dtvims

  • 28 марта 2014, 10:09
+
0
Что-то типа www.instructables.com/id/msp430-Launchpad-Projects/?
Может где-то и поинтереснее и побогаче, но я пока не нашел. Единственное, что останавливает, так это распространенность этих МК. AVR и PIC- почти на каждом углу :)
avatar

Ghost_D

  • 28 марта 2014, 13:57
+
0
avatar

dtvims

  • 29 марта 2014, 08:33

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.