вторник, 31 июля 2012 г.

Программатор AVR

Делюсь опытом по выбору программатора для начинающего электронщика. Собрал и опробовал несколько вариантов, под катом результат и впечатления.

И так приступим.
Первым делом лезем в поисковики за опытом старших товарищей и тут выясняется, что как правило, программатор для контроллеров включает в себя тот самый контроллер, который нужно запрограммировать. Приехали... Копаем дальше и узнаем о существовании программаторов, в схеме которых контроллера нет или же он есть, но его можно зашить штатными средствами Atmel через USB непосредственно в схеме программатора. Отлично! Вникаем дальше. Тут у нас возникают следующие критерии выбора:

  • Простота повторения (поскольку за паяльник не брался лет 10, а многие и никогда)
  • Доступность элементов
  • Интерфейс программатора должен быть USB (пойди ка найди сейчас LPT или COM)
Выбрать схему удовлетворяющую всем условиям сразу не удалось, поэтому было принято решение идти в обход:
  • Собрать простейший программатор типа "пять проводов"(благо есть машина с LPT)
  • Собрать программатор USBAsp и прошить его программатором из предыдущего пункта.
Поскольку подключаться контроллером на LPT порт напрямую показалось затеей стремной, был слеплен вот этот вариант STK200/300, а уже с его помощью вот такой вот USBAsp.
Тут бы и делу конец, однако USBAsp оказался штукой весьма капризной и работал весьма непредсказуемо, на разных ПК вел себя по разному и вообще мог то шить то не находить вообще один и тот же контроллер, в общем засада.
Ищем дальше. Вообще, я склонялся в вот такому варианту , однако у меня возникали жуткие сомнения в том что я смогу запаять безболезненно этакую вот хрень да еще и цена... В общем отказался от этой идеи в пользу клона AVRIsp MkII. Вероятно статься на этом бы и кончилась, если бы я был повнимательней при сборке. Готовый программатор без проблем прошился, определялся в AVRStudio и вел себя во всем хорошо, кроме одной мелочи - напрочь отказывался что либо делать с подключаемыми к нему МК. Уже потом, когда я его разбомбил, выяснилось, что при сборке была повреждена дорожка MISO на плате, но было уже поздно...

И тут мне на глаза попалась статься про USBTiny, он мне понравился сразу, копеечный набор деталей, простота конструкции, а главное, что вся нужная комплектуха была под рукой.


Развел под себя плату, собрал, прошил, опробовал и остался жутко доволен.


Fuse-биты для прошивки:


Спокойно определяет любые контроллеры которые у меня есть в наличии, работает на всех ПК которые есть подрукой. Единственный недостаток - не очень высокая скорость, ну да мне не в промышленных масштабах МК шить... Вот что получилось в итоге:


Зеленый светодиод - готовность, красный - активность, выключатель - подача питания на МК от программатора (JP3 по схеме), JP5 - подключает вывод Reset к разъему программирования, дабы тиньку прошить прямо в программаторе, его я наружу выводить не стал, поскольку не часто нужен будет.
В качестве управляющего софта используется avrdude 5.1, оболочка SinaProg 2.0
Все необходимое(прошивка, плата, драйвер, софт) берем тут.
Успехов всем!
P.S.
Спасибо всем авторам статей, использованных в моих экзерсисах.
При подготовке статьи использованы материалы с сайтов easyelectronics.ru, getchip.net  и многих других, которые уже и не помню.

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

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