Миниатюрный USB программатор для AVR микроконтроллеров

Как театр начинается с вешалки, так программирование микроконтроллеров начинается с выбора хорошего программатора. Так как начинаю осваивать микроконтроллеры фирмы ATMEL, то досконально пришлось ознакомится с тем что предлагают производители. Предлагают они много всего интересного и вкусного, только совсем по заоблачным ценам. К примеру, платка с одним двадцатиногим микроконтроллером с парой резисторов и диодов в качестве обвязки, стоит как «самолет». Поэтому остро встал вопрос о самостоятельной сборке программатора.

После долгого изучения наработок радиолюбителей со стажем, было решено собрать хорошо зарекомендовавший себя программатор USBASP, мозгом которого служит микроконтроллер Atmega8 (так же есть варианты прошивки под atmega88 и atmega48). Минимальная обвязка микроконтроллера позволяет собрать достаточно миниатюрный USB программатор для AVR микроконтроллеров, который всегда можно взять с собой, как флэшку.

Автором данного программатора является немец Thomas Fichl, страничка  его разработки со схемами, файлами печатных плат и драйверами.
Раз решено было собрать миниатюрный программатор, то перерисовал схему под микроконтроллер Atmega8 в корпусе TQFP32 (распиновка микроконтроллера отличается от распиновки в корпусе DIP):

Схема USB программатора для AVR микроконтроллеров

Перемычка J1 применяется, в случае если необходимо прошить микроконтроллер с тактовой частотой ниже 1,5МГц. Кстати, эту перемычку вообще можно исключить, посадив 25 ногу МК на землю. Тогда программатор будет всегда работать на пониженной частоте. Лично для себя отметил, что программирование на пониженной скорости на доли секунды дольше, и поэтому теперь перемычку не дёргаю, а постоянно шью с ней.
Стабилитроны D1 и D2 служат для согласования уровней между программатором и USB шиной, без них работать будет, но далеко не на всех компьютерах.
Светодиод blue показывает наличие готовности к программированию схемы, red загорается во время программирования. Контакты для программирования выведены на разъем IDC-06, распиновка соответствует стандарту ATMEL для 6-ти пинового ISP разъема:

ISP разъем

На этот разъем выведены контакты для питания программируемых устройств, здесь оно берется напрямую с USB порта компьютера, поэтому нужно быть внимательным и не допускать к.з. Этот же разъем применяется и для программирования управляющего микроконтроллера, для этого достаточно соединить выводы Reset на разъеме и на мк (см. красный пунктир на схеме). В авторской схеме это делается джампером, но я не стал загромождать плату и убрал его. Для единичной прошивки хватит и простой проволочной перемычки. Плата получилась двухсторонняя, размерами 45х18 мм.

USB программатор для AVR микроконтроллеров в сборе

Разъем для программирования и перемычка для снижения скорости работы программатора вынесены на торец устройства, это очень удобно

Разъем для программирования

Прошивка управляющего микроконтроллера

Итак, после сборки устройства осталось самое важное — прошить управляющий микроконтроллер. Для этих целей хорошо подходят друзья у которых остались компьютеры с LPT портом :)  Простейший программатор на пяти проводках для AVR 
Микроконтроллер можно прошивать с разъема программирования, соединив выводы Reset микроконтроллера (29 нога) и разъема. Прошивка существует для моделей Atmega48, Atmega8 и Atmega88. Желательно использовать один из двух последних камней, так как поддержка версии под Atmega48 прекращена и последняя версия прошивки датируется 2009 годом. А версии под 8-й и 88-й камни постоянно обновляются, и автор вроде как планирует добавить в функционал внутрисхемный отладчик. Прошивку берем на странице немца. Для заливки управляющей программы в микроконтроллер я использовал программу PonyProg. При программировании необходимо завести кристалл на работу от внешнего источника тактирования на 12 МГц. Скрин программы с настройками fuse перемычек в PonyProg:

Скрин программы с настройками fuse перемычек в PonyProg

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

Установка драйвера

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

Установка драйвера

Выбираем папку где лежат дрова и жмем Далее

Установка драйвера

Мигом появится окно с предупреждением о том, что устанавливаемый драйвер не имеет цифровой подписи у мелкомягких:

Установка драйвера

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

Установка драйвера

Все, теперь программатор готов к работе.

Khazama AVR Programmer

Для работы c программатором я выбрал прошивальщик Khazama AVR Programmer . Замечательная программка, с минималистичным интерфейсом.

Khazama AVR Programmer
Она работает со всеми ходовыми микроконтроллерами AVR, позволяет прошивать flash и eeprom, смотреть содержимое памяти, стирать чип, а также менять конфигурацию фьюз-битов. В общем, вполне стандартный набор. Настройка фьюзов осуществляется выбором источника тактирования из выпадающего списка, таким образом, вероятность залочить кристалл по ошибке резко снижается. Фьюзы можно менять и расстановкой галок в нижнем поле, при этом нельзя расставить галки на несуществующую конфигурацию, и это тоже большой плюс в плане безопасности.

Khazama AVR Programmer

Запись фьюзов в память мк, как можно догадаться, осуществляется при нажатии кнопки Write All. Кнопка Save сохраняет текущую конфигурацию, а Load возвращает сохраненную. Правда я так и не смог придумать практического применения этих кнопок. Кнопка Default предназначена для записи стандартной конфигурации фьюзов, такой, с какой микроконтроллеры идут с завода (обычно это 1МГц от внутреннего RC).
В общем, за все время пользования этим программатором, он показал себя с наилучшей стороны в плане стабильности и скорости работы. Он без проблем заработал как на древнем стационарном пк так и на новом ноутбуке.

Скачать файл печатной платы в SprintLayout можно по этой  ссылке

Миниатюрный USB программатор для AVR микроконтроллеров

 Источник:  Хабрахабр     Автор: exersizze   Россия, Самарская обл., Самара


Рекомендую также:

Рубрики: Программаторы

7 комментариев.

  1. Вадим Каплунов:

    Видимо придется собирать на днях.

  2. Вадим:

    собрал работает только я вот собрал односторонний вариант на текстолите и разъёмом 6×1 правда намучился с протравкой и лужением платы а так всё норм

  3. Ruslan Nurimbetov:

    Можешь если не тяжело написать полный комплект деталей, некоторые детали не видно. За ранее спасибо.

  4. admin:

    Так картинка же кликабельна..Для увеличения просто кликните на нее один раз — изображение увеличится..

  5. Co6op13:

    Доброго времени суток. У вас в файле.печатной платы есть места под дополнительные конденсаторы. Не могли бы вы сообщить их номинал(а то на рисунке они отсутствуют). Заранее спасибо.

  6. Вадим:

    Перезалейте пожалуйсто файл разводки платы.

Фотографии с сайта: http://nskwood.com

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


Добавить изображение

Переходник для подключения к...

Как известно, возможности линии Vbus (+5 В) USB-порта по потребляемому […]

Индикатор стереобаланса

Если в стереофоническом УМЗЧ установлены раздельные регуляторы громкости левого и […]

Миллиомметр. Приставка к цифровому...

Этот миллиомметр изготовил Jaanus Kalde из Эстонии. Источником образцового тока […]

Робот «Пилигрим» своими руками

Эта игрушка является модернизированным вариантом «пограничного» робота  и имеет более […]

Похититель джоулей. Из 1,5...

Так что же это такое – «похититель джоулей»? Это небольшая схема, которая способна «зажечь», […]

Изготовление перемычек из провода...

Многие радиолюбители при изготовлении своих конструкций используют провод МГТФ (Монтажный […]

Настольный робот своими руками

Этот робот был спроектирован в 2011 году в Далласе в […]

Изготовление печатных плат своими...

Технология изготовления печатных плат «лазерно-утюжным методом» очень популярна среди радиолюбителей, […]

Однотактный УМЗЧ на полевых...

Однотактный УМЗЧ класса А на полевых транзисторах с каналом одного […]

Выбор спутниковой антенны

Такие «тарелки» или точнее — антенны системы спутникового телевидения ныне […]