Адаптер для программатора avr своими руками

Адаптеры для программирования микроконтроллеров АVR

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

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

Существует несколько видов подключения программатора к программируемому MK. Он (МК) либо вставляется в СОКЕТ (ZIP) адаптера, либо программирование осуществляется внутрисхемно, с помощью спец. разъёма устанавливаемого вблизи программируемого МК, либо шлейф программатора подпаивается проводниками непосредственно к ножкам микроконтроллера со стороны паек.



Безусловно, подключение непосредственно к МК на плате весьма удобны, и практически все микроконтроллеры фирмы Atmel поддерживают режим ISP, а при работе с ними вполне достаточно адаптера внутрисхемного программирования представляющего из себя плоский кабель с разъемами на концах, либо с одной стороны разъем, а другой он распущен и промаркированы проводники.

Так уж получилось, что не существует единого стандарта подключения адаптеров к программатору, 2 из них, самых популярных (от Атмел), приведены на следующей картинке:

Лично я использую в своих изделиях 10 пиновый коннектор. Обьяснение данному предпочтению простое, у нас всегда в запасе 3-4 свободных пина, посаженных на землю, которые можно не нарушая совместимости со стандартным интерфейсом задействовать в «мирных целях» для дополнительных сервисов, таких как дополнительное питание, внешний генератор тактирования и прочих.

Теперь перейдем ближе к микроконтроллерам. К нашему счастью здесь все более-менее стандартизировано по группам, по этому не надо на каждую микросхему паять свой сокет, достаточно 1 на группу со схожими распиновками. Вот таблица распиновки наиболее популярных микроконтроллеров фирмы Атмел:

Для наглядности можно привести еще такую вот удобную картинку соответствия

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

Файл с примерами можно посмотреть в архиве от автора с ником AHEIR, найденном на одном из форумов e-kit.su .

Второй адаптер для AVR — это коммерческий вариант адаптера, поэтому ни печатки ни подробной схемы не привожу.

Скажу по секрету, по этому фото была восстановлена схема и печатка, и даже сделан мною адаптер для себя. Очень он мне нравится, с помощью его даже кварцы проверяю. Печатной платы для раздачи нет, но есть фото и sprintlayout. Выводы делайте сами 🙂

Еще на форумах был найден такой вот похожий адаптер, тоже грамотно выполнен, но уже для МК в корпусах SOI и TQFP

печатная плата от автора plumber и еще одна в архиве .

Про адаптеры для Pic контроллеров и микросхем последовательной памяти читайте в последующей статье «PIC & SEEPROM Adapters». Это будет уже чисто моя разработка, так что печатку и схему обязательно предоставлю. При написании статьи были использованы фото и другие материалы, найденные в интернете на форумах. На авторство никак не претендую, материал использован исключительно в просветительных целях. По конкретным вопросам пишите в личку. С уважением, Oleg63m.

Внимание, в статье есть неточности! Один из внимательных читателей reis заметил их и любезно поделился с нами, за что скажем ему спасибо. В ATmega64 и ATmega128 выводы MOSI и MISO не применяют для ISP. Внимательно смотрите ДатаШит! Например для ATmega128 сигналы MISO подключают к ножке PE1, MOSI подключают к ножке PE0. В первоисточнике, автор в комментариях сам указывает, что 128 разведена не правильно. Кстати и в стате, плата которая в архиве имеет неточность. Посадочное место AtMega какое-то кривое. А исправить все легко — MOSI—> 2-я нога, MISO—> 3-я нога для 128.

Читайте также:  Акустика открытый ящик своими руками чертежи

Источник

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

В инете сказано, что USBasp — один из наиболее простых для повторения AVR USB программаторов. + требует минимум внешних компонентов, имеет несколько готовых вариантов разводки печатной платы и оболочек для программирования, а также может работать под Linux и MacOS.

То что нужно! Делаем )))

Процесс изготовления

1. Нашел схемку программатора на контроллере Mega8. Требуется минимум навестных элементов

2. Модифицировал печатную плату под свой корпус. Пришлось немного попотеть, чтоб впихнуть в корпус от сплиттера в одну линейку и МК, и USB-разъем и IDC-10. Результат превзошел мои ожидания )

3. Переносим рисунок с чудо-бумаги на плату. Дорожки немного расплылись — не беда. Исправим это с помощью иголки (булавки, или еще чего острого).

4. Процесс травления уже позади. Плата промыта и просушена.

5. Стираем растворителем тонер — получаем готовые дорожки для будущего устройства

6. Далее слесарно-монтажные работы — пилим, сверлим, точим, лудим (последовательность выбирайте сами)

7. Получилась компактная плата, пока еще без элементов.

8. Пичкаем плату нужными элементами. Пока без светодиодов и разъем IDC-10 слишком длинный (торчит из корпуса)

9. Выпаиваем Г-образный IDC-10 разъем. Вместо оплетки для лужения (и прочих премудростей) использовал обычный многожильный провод. Получилось аккуратно и быстро )))

10. Припаиваем SMD-компоненты. Вид со стороны дорожек. Все делалось паяльником на 60Вт с жалом 5мм в диаметре. Таким нужно еще наловчиться…

11. Не все резисторы получилось перевести на SMD. Вид со стороны компонентов.
Как видно, контроллер — USB — IDC-10 плотно расположены… Кварц взял обычный, благо высота корпуса позволяет.

12. А вот и корпус, куда будет помещен программатор. Очень полезная штука )

13. Устройство благополучно внедрено в “шкурку сплиттера”. Компактно вышло.

14. Размер платы по сравнению с 5 рубленными “монетками”

16. Конечный итог…

1. Прошиваем микроконтроллер с помощью этого программатора:
Простой LPT программатор AVR микроконтроллеров (5-ть проводков)
Заливаем файл прошивки под названием “usbasp.atmega8.2007-10-23.hex” из архива в конце статьи…

Подключаем к программатору адаптер для программирования микроконтроллеров.

Данные для самостоятельного изготовления можно взять здесь…

При подключении USB будет постоянно светиться зеленый (красный) светодиод

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

1. Можно было запрограммировать и в самом USBasp программаторе, подключив к нему простой программатор согласно распиновке. Если все собрано и запрограммировано верно, то устройство при подключении к ПК определится и “попросит” установить двайвер.

2. На что ему вежливо ответим выбрав папку со скаченными и разархивированными двайверами.

3. Драйвера успешно установятся, если схема собранна верно и МК тоже прошит верно.

4. В диспетчере устройств определится программатор как: LibUSB-Win32 Device.
Радуемся, и тестируем )

Проверка работоспособности программатора

1. В качестве програмки использовал avrdude в оболочке Sinaprog1.5.5.10.
Можно использовать и приложенное к архиву оболочкуUSBASP_AVRDUDE_PROG
Для проверки доступа к Attiny13A привожу пошагово такую инструкцию. Контроллер опознан, можно заливать прошивку в Attiny13A .

Необходимые данные для повторения устройства находятся в этом архиве:

Источник

Адаптер для usbasp своими руками

Volkswagen Golf Black Panther › Бортжурнал › ATMEL AVR DIP Programmer — адаптер для программирования микроконтроллеров AVR

Недавно купил USBasp AVR Programmer. Мне нужно было адаптер для программирования микроконтроллеров AVR. В интернете-магазине нашел хороший вариант.

НО это устройство стоит 1450 руб. Для меня дорого. На другом сайте нашел схема и файл платой. Я собираюсь сделать плату для моего AVR программатора.

Для изготовления платы адаптера нам нужно:
1. Односторонняя плата
2. Цанговые панели DIP8,14,20 2шт, 28 и 40 2шт
3. Гнездо на плату, 1х8 прямое
4. Переключатель DIP, 4 контактных групп
5. Кварцевый резонатор 8.000 МГц
6. Гнездо питания на плату
7. Светодиод зеленый D=5мм
8. Клеммник винтовой, 2-контактный
9. Конденсатор электролитический 10 мкФ 2шт
10. Кнопка миниатюрная
11. Cтабилизатор напряжения 78L05 TO92
12. Вилка прямая, контактов 10
13. Резисторы SMD 0 Ом 10шт, 10 кОм 2шт, 470 Ом 2шт
14. Конденсаторы SMD 18пФ 2шт, 100пФ, 0,1мкФ

В редакторе печатных плат убрал ненужные отверстия, исправил дорожки, добавил переключатель тактирования и гнездо на плату для специального адаптера SOIC8 (пока не делаю, попозже).

В прошедшем бортовом журнале изготовил плату. Теперь продолжаю собирать детали в плату.

Вот что получилось у меня. Теперь пользуюсь. Может пригодиться многим.

Модуль «ATMEL AVR DIP PROGRAMMER» является дополнительным расширением к широко известным программаторам STK200, AVR ISP и другим, и позволяет программировать ATMEL AVR микроконтроллеры в DIP корпусе.
Модуль предназначен для разработчик, в устройствах которых на плате отсутствует разъем ISP, не остается свободных выводов контроллера для подключения интерфейса внутрисхемного программирования, либо эти выводы не могут быть использованы по какой либо другой причине.
Модуль поддерживает все ATMEL AVR микроконтроллеры, имеющие интерфейс ISP (в том числе новые 14-выводные ATTiny24, 44, 84).
Для программирования контроллеров необходим внешний программатор (STK200, AVR ISP или другой). Программатор подключается к модулю «ATMEL AVR DIP PROGRAMMER» с помощью стандартного 10-контактного разъема (IDC10 – BH10).

Читайте также:  Баба яга своими руками для детского сада

Назначение выводов 10-и контактного разъема
1. MOSI
2. Питание +5В
3. Вход внешней тактовой частоты (при использовании в качестве внешнего программатора AVR ISP) – используется в случае программирования контроллера с установленными FUSE битами внешнего тактового сигнала
4. GND
5. RESET
6. GND
7. SCK
8. GND
9. MISO
10. GND

Тактирование
«ATMEL AVR DIP PROGRAMMER» позволяет выбирать тип тактирования контроллера (внешнее тактирование, внешняя RC цепь или кварцевый генератор 8 МГц), что дает возможность программировать любой контроллер независимо от конфигурации его fuse битов.
Выбор осуществляется путем установки перемычек на соответствующие места.
При использовании STK200 программатора и необходимости внешнего тактирования внешняя тактовая частота подается на правый контакт джампера «Ext.»]

Источник питания
При использовании программатора AVR ISP внешнее питание подавать не нужно — +5В подается через кабель внутрисхемного программирования от программатора.

Однако при использовании какого либо другого программатора существует необходимость подачи внешнего питания. Для этого на плате модуля «ATMEL AVR DIP PROGRAMMER» предусмотрены 2 типа разъемов питания: стандартное JACK гнездо с диаметром центрального контакта 2,1мм (+ питания на центральный контакт, — питания на внешний контакт) и терминал-блок с 2-мя контактами (полярность подключаемого напряжения указана на плате). Модуль «ATMEL AVR DIP PROGRAMMER» имеет встроенный стабилизатор напряжения +5В. Диапазон подаваемого напряжения на входы питания +6В.+15В

Для более комфортной работы с модулем «ATMEL AVR DIP PROGRAMMER» предусмотрена кнопка, отключающая питание, и светодиод зеленого цвета статуса включения (“PWR ON”)

Изготовление и настройка программатора USBASP

Здравствуйте, уважаемые коллеги SW19 и просто те, кому интересна электроника.
Эта статья будет посвящена изготовлению программатора USBASP своими руками. Собрать его решил просто из спортивного интереса, так как детали давно лежали и заняться было не чем. Он предназначен для прошивки микроконтроллеров фирмы Atmel. Схема проста, как 3 копейки и требует только внимательности и аккуратности. Я не стал мудрствовать и нашёл схему в интернете:

По ней и будем собирать наш программатор.
Там же брал и все файлы для изготовления программатора. Продолжим дальше. Использовать будем микроконтроллер (далее МК) Atmega8 – 16PU, можно Atmega8A.

Печатную плату я переделал под корпус, который был в наличии у меня. Заказывал его на Али.
Вот ссылка, где брал: http://ru.aliexpress.com/item/New-Plastic-Electronic-Project-Box-100x60x.
Изготавливать печатную плату будем по технологии ЛУТ. Что это такое описывать тут не буду, так как в интернете полно статей на эту тему. Переносим рисунок печатной платы на текстолит.
У меня получилось как- то так:

Травим наше творение в хлорном железе:

Тогда я ещё не знал про перекись водорода, лимонную кислоту и соль, ну да ладно. Делаем так, как знаем.

Получаем такой результат:

Сверлим отверстия. Я сверлил моторчиком с латунной цангой. Тоже брал с Али. Кому интересно, вот ссылка на сей девайс:
http://ru.aliexpress.com/item/12V-Motor-0-5-3mm-Small-Electric-Drill-Bit.

Потом лудим обычным паяльником, предварительно покрыв нашу плату ЛТИ-120.

Список деталей для нашего программатора:

Далее собираем наш программатор. Первым делом впаиваем перемычки, джампера, резисторы.

Далее по возрастающей. Последними запаиваем разъёмы, панельку под МК, светодиоды, кварцевый резонатор.

В итоге получаем вот такой вот вид:

Теперь прошьём наш МК. Мой компьютер не имеет LPT и COM портов, поэтому будем прошивать USB программатором. В моём случае это TL866CS, брат-близнец нашего WizardProg 87. Брал его тоже на Али, но ссылка, к сожалению не сохранилась.

Подключаем программатор к компьютеру. Запускаем программу для работы с программатором.
Она от WizardProg 87, полностью русифицирована и полностью дружит с нашим китайским девайсом.

Выбираем наш МК из списка. В данном случае это Atmega8A.

Нажимаем на кнопочку «Размещение ИМС», для того, чтобы посмотреть, как установить наш МК в панель программатора:

И устанавливаем наш микроконтроллер:

Выбираем прошивку, которую будем записывать в память МК:

Выставляем фьюзы так, чтобы получилось как у меня на фото, смотрим, где обведено красным маркером:

Будьте внимательны при настройке фьюзов! В разных программаторах они могут быть инверсными! Это значит, что там где у меня стоит галочка, в Вашем может её и не быть! Это важно! Неправильная настройка фьюзов может привести к полному залочиванию МК!
Далее прошиваем нашу Atmega8 – 16PU.

Проверяем наш МК программатором на наличие ошибок после записи прошивки, так называемая варификация:

Всё успешно прошилось.

Теперь собираем наш программатор и проверяем. Подключаем его к ПК через кабель USB.
Ставим драйвера.

У меня всё получилось с первого раза. Далее собираем всё в корпус. Где его взять – написано в самом начале статьи. И оформляем, чтобы было понятно, что куда подключать.

Вид готового программатора, подключённого к ПК.

Ну вот и всё на сегодня, надеюсь было интересно и полезно. Желаю всем удачи в ремонтах и спасибо за внимание.

Переходник/адаптер 10-6 pin для внутрисхемного программирования микроконтроллеров AVR

Когда-то все мои печатные платы были заточены под детали для установки в отверстия (through holes). В те славные времена для внутрисхемного программирования микроконтроллеров AVR я вовсю использовал 10-контактный разъем BH-10 (или штыри PLD-10) со стандартной Atmel-овской распиновкой (см. STK200/STK300). С учетом размеров прочих компонентов платы, данный разъем занимал не так уж и много места. Но времена изменились, и теперь в основном я использую детали SMD. Так что установка на плату разъема габаритами с два корпуса TQFP-32, мягко говоря, напрягает. Поэтому было принято эпохальное решение – впредь использовать для программирования камней другой стандарт (это который привязан к 6-ти пиновому разъему BH-6 или PLD-6). Однако, поскольку все мои программаторы были сделаны относительно давно, из них торчали именно 10-контактные разъемы BH-10. И для того, чтобы для программирования «по новому стандарту» использовать старый шлейф (да и чтобы их не валялось с десяток разных видов), смастерил я себе такой вот переходник, цепляющийся на один из концов 10-жильного провода:

Надо сказать, к такому решению я пришел далеко не сразу. Вернее, конечно, было понятно, что этот переходник нужен. Но я просто патологически ленив и для программирования первой платы с 6-ти контактным разъемом поступил просто и без затей – отрезал разъем IDC-10 с одного края шлейфа и тупо припаял провода к разъему PLD-6, торчащему из платы.

После этого сию плату мне приносили на перепрошивку раза три или четыре (расширялся функционал). И уже на второй раз я смекнул, что постоянно припаивать/отпаивать провода просто не смогу – скорее от бешенства расшибу плату. Ну, или головы тем затейникам, которые не могут даже со второго раза нормально озвучить ТЗ для простенького устройства. В башку опять закрались мысли о нормальном переходнике. Однако, и в этот раз здравый рассудок был коварно обманут – лень присоветовала припаять к жилам шлейфа гнёзда BLS-1. В принципе, этим был достигнут некий компромисс. Но только до поры до времени. Ведь взаимное положение гнёзд не зафиксировано жестко (ибо они просто болтаются на проводах), поэтому каждый раз приходилось заново собирать кубик-рубик. Ну и перепутав пару раз номера контактов, я призадумался.

С одной стороны, крайне не хотелось разводить и делать плату под «жесткий» переходник. С другой – однажды я бы точно доэкспериментировался и чего-нибудь сжег. Поэтому в итоге решил-таки побороть лень, сделать плату и навсегда забыть о вышеописанном геморрое.

Схема «устройства» очевидна. Надо перенаправить сигналы с контактов разъема BH-10R на нужные контакты PBD-6R:

«Чертеж» печатной платы (совмещенный вид со стороны деталей):

Плата односторонняя, вполне ЛУТ-опригодная. Дорожки 0,5мм (местами 0,25мм). В общем, ничего особо страшного. При установке деталей надо выковырять контакт №3 из разъема BH-10R. Габаритные размеры печатной платы – 13,0х14,6 мм.

Распиновка 6-ти контактного разъема со стороны морды:

Ну и фото переходника, насаженного на шлейф:

На сегодня всё. Желаю удачи при работе с микроконтроллерами AVR!

ISP_10-6_Hardware.zip:
ISP_10-6.pdf – схема переходника;
ISP_10-6_ЛУТ.lay – печатная плата переходника (вариант для «утюжников»);
ISP_10-6_ФР.lay – печатная плата переходника (вариант для «шаблонщиков»).

Плата нарисована в «САПР» «Sprint Layout 5.0» (бесплатная гляделка).

Источник

Читайте также:  Как сделать мини бассейн своими руками
Оцените статью
МК Atmega8 – 16PU 1шт.
Панелька под МК DIP 28 1шт.
Кварцевый резонатор на 12 Мгц 1шт.
Стабилитрон BZV85C3V6(1N4729A) 2шт.
Резистор 10 Ком 1шт.
Резистор 68 ом 2шт.
Резистор 390ом 2шт.
Резистор 270 Ком 1шт.
Резистор 1,5 Ком 1шт.
Конденсатор 18 пф 2шт.
Конденсатор 100 нф 1шт.
Конденсатор 10 мкф 16в 1шт.
USB разъём USBB-1J 1шт.
Разъём ISP 10 штырей 1шт.
Джампер 3шт.
Светодиод красный 1шт.
Светодиод зелёный 1шт.