Всем привет! В этой статье я расскажу, как собрать простой адаптер для подключения микроконтроллеров avr к программатору. Если вы собирали что-то на микроконтроллере, то наверняка столкнулись с проблемой подключения микросхемы к программатору. С данной проблемой столкнулся и я, когда решил собрать моё первое устройство на МК – металлоискатель Tracker PI-2. Первое, что приходит в голову, так это просто подпаять провода к панельке контроллера и к разъёму программатора. Так и сделал. Но как оказалось — не всё так просто. Чтобы прошить микросхему, нужно было подпаять кварц с двумя конденсаторами и это было сделать не совсем удобно, но я поленился сделать печатную плату – а зря. Как показала практика, навесной монтаж здесь не очень подходит — это очень не надежно. Поэтому при сборке моего второго металлоискателя – Clone PI-W, все-таки сделал плату для подключения микроконтроллеров к программатору.
Схема адаптера
Нажмите на схему для увеличения
Итак, нам понадобиться:
Небольшой кусок текстолита – 50 х 80 мм
Панельки под микросхемы
Несколько конденсаторов и резистор (номиналы смотрите на схеме)
Разъём для подключения программатора
Ну и в принципе всё. Если у вас это всё есть, можно приступать к сборке. Сначала нужно сделать печатную плату. У меня получилось не очень аккуратно, так как хотел сделать всё как можно быстрее, а когда спешишь — сами знаете что получается)
Когда плата готова, можно приступать к сборке. Не знаю как вам, а мне удобно когда все детали под рукой и сразу знаешь, куда какая деталь. Для этого делаю плату из картона и втыкаю все детали туда, а потом по одной детальке переношу на саму плату. Это особенно удобно когда много резисторов, ведь замерять их с паяльником в руках не совсем просто. Вот как это выглядит:
Лудим плату и впаиваем детали.
Перед пайкой панелек, нужно удалить лишние выводы, я их вытащил с помощью плоскогубцев. Если вы не будете использовать разъем для внешнего питания, то можно не припаивать стабилизатор и электролитические конденсаторы. Я их не припаивал. Вот сама плата уже с впаянными деталями:
Также сделал провод, который идет от программатора к плате.
Программатор, которым пользуюсь — AVR mkii
Главное, не перепутайте провода от программатора, иначе можно спалить микроконтроллер или даже сам программатор. Вот что получилось в итоге:
Схема и печатная плата в формате lay, прикрепляю в архиве. Всем удачи!
Кирилл — 03.03.2017 — Прочитали: 6772
LIPO АККУМУЛЯТОР 6F22 9V
Самодельный аккумулятор на 9 В, литий-полимерный, собранный под стандартный корпус типа Крона.
Волновое управление, двухфазное и способ регулирования тока в обмотках шаговых двигателей.
Справочная информация по микросхеме 555 — характеристики, схема подключения, распиновка и аналоги таймера.
Источник
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 .
Необходимые данные для повторения устройства находятся в этом архиве:
Источник
Миниатюрный USB программатор для AVR микроконтроллеров
Как театр начинается с вешалки, так программирование микроконтроллеров начинается с выбора хорошего программатора. Так как начинаю осваивать микроконтроллеры фирмы ATMEL, то досконально пришлось ознакомится с тем что предлагают производители. Предлагают они много всего интересного и вкусного, только совсем по заоблачным ценам. К примеру, платка с одним двадцатиногим микроконтроллером с парой резисторов и диодов в качестве обвязки, стоит как «самолет». Поэтому остро встал вопрос о самостоятельной сборке программатора. После долгого изучения наработок радиолюбителей со стажем, было решено собрать хорошо зарекомендовавший себя программатор USBASP, мозгом которого служит микроконтроллер Atmega8 (так же есть варианты прошивки под atmega88 и atmega48). Минимальная обвязка микроконтроллера позволяет собрать достаточно миниатюрный программатор, который всегда можно взять с собой, как флэшку.
Автором данного программатора является немец Thomas Fichl, страничка его разработки со схемами, файлами печатных плат и драйверами. Раз решено было собрать миниатюрный программатор, то перерисовал схему под микроконтроллер Atmega8 в корпусе TQFP32 (распиновка микроконтроллера отличается от распиновки в корпусе DIP):
Перемычка J1 применяется, в случае если необходимо прошить микроконтроллер с тактовой частотой ниже 1,5МГц. Кстати, эту перемычку вообще можно исключить, посадив 25 ногу МК на землю. Тогда программатор будет всегда работать на пониженной частоте. Лично для себя отметил, что программирование на пониженной скорости на доли секунды дольше, и поэтому теперь перемычку не дёргаю, а постоянно шью с ней. Стабилитроны D1 и D2 служат для согласования уровней между программатором и USB шиной, без них работать будет, но далеко не на всех компьютерах. Светодиод blue показывает наличие готовности к программированию схемы, red загорается во время программирования. Контакты для программирования выведены на разъем IDC-06, распиновка соответствует стандарту ATMEL для 6-ти пинового ISP разъема:
На этот разъем выведены контакты для питания программируемых устройств, здесь оно берется напрямую с USB порта компьютера, поэтому нужно быть внимательным и не допускать кз. Этот же разъем применяется и для программирования управляющего микроконтроллера, для этого достаточно соединить выводы Reset на разъеме и на мк (см. красный пунктир на схеме). В авторской схеме это делается джампером, но я не стал загромождать плату и убрал его. Для единичной прошивки хватит и простой проволочной перемычки. Плата получилась двухсторонняя, размерами 45х18 мм.
Разъем для программирования и перемычка для снижения скорости работы программатора вынесены на торец устройства, это очень удобно
Прошивка управляющего микроконтроллера
Итак, после сборки устройства осталось самое важное — прошить управляющий микроконтроллер. Для этих целей хорошо подходят друзья у которых остались компьютеры с LPT портом 🙂 Простейший программатор на пяти проводках для AVR Микроконтроллер можно прошивать с разъема программирования, соединив выводы Reset микроконтроллера (29 нога) и разъема. Прошивка существует для моделей Atmega48, Atmega8 и Atmega88. Желательно использовать один из двух последних камней, так как поддержка версии под Atmega48 прекращена и последняя версия прошивки датируется 2009 годом. А версии под 8-й и 88-й камни постоянно обновляются, и автор вроде как планирует добавить в функционал внутрисхемный отладчик. Прошивку берем на странице немца. Для заливки управляющей программы в микроконтроллер я использовал программу PonyProg. При программировании необходимо завести кристалл на работу от внешнего источника тактирования на 12 МГц. Скрин программы с настройками fuse перемычек в PonyProg:
После прошивки должен загореться светодиод подключенный к 23 ноге микроконтроллера. Это будет верный признак того, что программатор прошит удачно и готов к работе.
Установка драйвера
Установка велась на машину с системой Windows 7 и никаких проблем не возникло. При первом подключении к компьютеру выйдет сообщение об обнаружении нового устройства, с предложением установки драйвера. Выбираем установку из указанного места:
Выбираем папку где лежат дрова и жмем Далее
Мигом появится окно с предупреждением о том, что устанавливаемый драйвер не имеет цифровой подписи у мелкомягких:
Забиваем на предупреждение и продолжаем установку, после небольшой паузы появится окно, сообщающее об успешном окончании операции установки драйвера
Все, теперь программатор готов к работе.
Khazama AVR Programmer
Для работы c программатором я выбрал прошивальщик Khazama AVR Programmer. Замечательная программка, с минималистичным интерфейсом. Она работает со всеми ходовыми микроконтроллерами AVR, позволяет прошивать flash и eeprom, смотреть содержимое памяти, стирать чип, а также менять конфигурацию фьюз-битов. В общем, вполне стандартный набор. Настройка фьюзов осуществляется выбором источника тактирования из выпадающего списка, таким образом, вероятность залочить кристалл по ошибке резко снижается. Фьюзы можно менять и расстановкой галок в нижнем поле, при этом нельзя расставить галки на несуществующую конфигурацию, и это тоже большой плюс в плане безопасности.
Запись фьюзов в память мк, как можно догадаться, осуществляется при нажатии кнопки Write All. Кнопка Save сохраняет текущую конфигурацию, а Load возвращает сохраненную. Правда я так и не смог придумать практического применения этих кнопок. Кнопка Default предназначена для записи стандартной конфигурации фьюзов, такой, с какой микроконтроллеры идут с завода (обычно это 1МГц от внутреннего RC). В общем, за все время пользования этим программатором, он показал себя с наилучшей стороны в плане стабильности и скорости работы. Он без проблем заработал как на древнем стационарном пк так и на новом ноутбуке.
Скачать файл печатной платы в SprintLayout можно по этой ссылке
Ну вроде все, если возникнут вопросы, постараюсь ответить.