ПЛАТА ДЛЯ ПРОШИВКИ ATMEGA8
Простейший программатор для ATmega8
В современных электронных схемах все чаще и чаще применяются микроконтроллеры. Да что там говорить, если сегодня не найти даже обыкновенную елочную гирлянду без микроконтроллера внутри – он задает различные программы иллюминации.
Я впервые столкнулся с микроконтроллерами, когда собирал свой первый импульсный металлоискатель Клон. Вот тогда-то и выяснилось, что контроллер без прошивки – это просто кусок пластмассы с ножками.
А чтобы залить нужную прошивку в АТМЕГу, никак не обойтись без программатора. Далее мы рассмотрим две самые простые и проверенные временем схемы программаторов.
Схема первая
С помощью этого программатора можно прошивать практически любой AVR-контроллер от ATMEL, надо только свериться с распиновкой микросхемы.
СОМ-разъем на схеме – это “мама”.
На всякий случай привожу разводку печатной платы для атмеги8 (скачать), хотя такую примитивную схему проще нарисовать от руки. Плату перед печатью нужно отзеркалить.
Файл печатной платы открывать с помощью популярной программы Sprint Layout (если она у вас еще не установлена, то качайте 5-ую версию или лучше сразу 6-ую).
Как понятно из схемы, для сборки программатора потребуется ничтожно малое количество деталек:Вместо КТ315 я воткнул SMD-транзистор BFR93A, которые у меня остались после сборки микромощных радиомикрофонов.
А вот весь программатор в сборе:
Питание (+5В) я решил брать с USB-порта.
Если у вас новый микроконтроллер (и до этого никто не пытался его прошивать), то кварц с сопутствующими конденсаторами можно не ставить. Работа без кварцевого резонатора возможна благодаря тому, что камень с завода идет с битом на встроенный генератор и схема, соответственно, тактуется от него.
Если же ваша микросхема б/у-шная, то без внешнего кварца она может и не запуститься. Тогда лучше ставьте кварц на 4 МГц, а конденсаторы лучше на 33 пФ.
Как видите, я кварц с конденсаторами не ставил, но на всякий случай предусмотрел под них места на плате.
Заливать прошивку лучше всего с помощью программы PonyProg (скачать).
Прошивка с помощью PonyProg
Заходим в меню Setup -> Calibration -> Yes. Должно появиться окошко “Calibration OK”.
Далее Setup -> Interface Setup. Выбираем “SI Prog API” и нужный порт, внизу нажимаем “Probe”, должно появиться окно “Test OK”. Далее выбираем микроконтроллер “Device -> AVR micro ATmega8”.
Теперь втыкаем микроконтроллер в панельку программатора, и подаем питание 5 вольт (можно, например, от отдельного источника питания или порта ЮСБ). Затем жмем Command -> Read All.
После чтения появляется окно “Read successful”. Если все ок, то выбираем файл с нужной прошивкой для заливки: File -> Open Device File. Жмем “Открыть”.
Теперь жмем Command -> Security and Configuration Bits и выставляем фьюзы, какие нужно.Тщательно все проверяем и жмем “OK”. Далее нажимаем Command -> Write All -> Yes. Идет прошивка и проверка. По окончании проверки появляется окно “Write Successful”.
Вот и все, МК прошит и готов к использованию!
Имейте в виду, что при прошивке с помощью других программ (не PonyProg) биты могут быть инверсными! Тогда их надо выставлять с точностью до наоборот. Определить это можно, считав фьюзы и посмотрев на галку “SPIEN”.
Схема вторая
Еще одна версия программатора, с помощью которого можно залить прошивку в микроконтроллер АТМЕГа (так называемый программатор Геннадия Громова). Схема состоит всего из 10 детатей:Диоды можно взять любые импульсные (например, наши КД510, КД522). Разъем – “мама”. Питание на МК (+5В) нужно подавать отдельно, например, от того же компьютера с выхода USB.
Все это можно собрать навесным монтажом прямо на разъеме, но если вы крутой паяльник и знаете, что такое smd-монтаж, то можете сделать красиво:
Программировать только программой Uniprof. Тут хорошее описание программы: http://www.getchip.net/posts/025-uniprof-universalnyjj-programmator-dlya-avr/
Алгоритм прошивки с помощью программатора Громова
Программатор с установленной микросхемой подключаем к СОМ-порту компьютера, затем запускаем Uniprof, затем подаем питание на микроконтроллер. И первым делом проверяем, читаются ли фьюз-биты.
Если все ок, выбираем файл с нужной прошивкой и жмем запись.
Будьте предельно внимательны и осторожны, потому что если глюканет при записи фьюзов, то МК либо на выброс, либо паять схему доктора (а она сложная). Если поменяете бит SPIEN на противоположный – результат будет тот же (к доктору).
Источник: http://electro-shema.ru/handmade/programmator-atmega8.html
Отладочная плата для Atmega 8
Когда-то я написал эту статью для we.easyelectronics.ru. Так что сейчас, в рамках “собирания в кучу” всей своей писанины, я просто скопировал её сюда, слегка подредактировав.
Оригинал статьи с обсуждением доступен здесь.(Файлы, прилагаемые к статье: mega8-devboard.zip, usbasp-isp-programmer.
zip)
Итак: ещё одна отладочная плата, на этот раз на основе AVR ATMega8, с навесным экраном и заодно собранным программатором.
Начало
Началось всё с программатора на FT232RL, показанного здесь DI (за что ему спасибо!). До этого я как-то не связывался с контроллерами. Вставала проблема курицы и яйца, нерешаемая по причине полного отсутствия COM и LPT портов. Но интерес сохранялся.Увидев ftbb программатор решил таки попробовать:
Первые опыты я ставил на обычном breadboard’е. Там, на схемках, собранных кусочками витой пары я поморгал диодиком и даже освоил ШИМ, руля всё тем же диодиком через мощный MOSFET )) Но, конечно, со временем захотелось и экранчик, и USB, а поскольку на макетке творить такое, мягко говоря неудобно, решил развести свою простенькую платку.
Первой в бой пошла tiny2313. Для неё была быстро придумана и разведёна отладочная платка, имеющая на борту V-USB, MOSFET и некоторое количество кнопок со светодиодами. Платка получилась не сказать что сильно удобная, поэтому проект не выкладываю.
На этой плате я обнаружил, что в tiny2313 помещается V-USB, и, что после V-USB туда уже почти ничего не помещается )
Продолжение
Естественно, было принято решение переехать на контроллер побольше. Так и появилась на свет вторая отладочная плата, на основе mega8.
На борту плата имеет: выходы всех портов на PLS’ках; пара +5V/GND у каждого порта; кучка PLS’ок, с выведенными землёй и +5V; разъём USB, с обвесом для V-USB; кварц на 16 МГц; 8 светодиодов; 5 кнопок, замыкаемых на землю; подстроечный резистор; индикацию питания; 7805 для питания от адаптера; ну и выбор питания (USB, 7805 или ISP).Разводили плату вдвоём с орлом, сначала он, а потом я, там где он меня не устроил. А потом я накосячил (см. ниже) и переделал кое-что по другому. Так что разводка местами страшненькая. Тем не менее, даже мой не сильно прокачанный ЛУТ с ней справился с первого раза. Детали выбирались из имеющихся в наличии.
Пояснения к проекту EagleCad
Плата выполнена в двух слоях, но на верхнем слое только три перемычки, так что их при желании можно заменить на проволочные.
Все конденсаторы (кроме электролита) и резисторы smd (0603). Но три конденсатора на 100nF — 1206. Это важно, поскольку на плате между их выводами проходят дорожки, и меньшие детали означают меньшие зазоры.На схеме все кнопки показаны как пары PAD’ов. Это оттого, что я не нашёл в библиотеке именно этих кнопочек, с двумя контактами. Может прозевал, а может их там и нету вовсе.
Моя плата (та, что на фото) немножко не соответствует проекту. На ней нет монтажных отверстий. Забыл. На ней неправильно промаркированы светодиоды, что в общем-то никак на их функциональности не сказывается. На ней широко расставлены отверстия для кнопки Reset.
На ней нету резистора 1M в обвязке USB, и без него всё пашет. Впрочем, как только я вспомню его купить, так сразу впаяю.И самое главное, на ней я зачем-то посадил кнопки последовательно с резисторами, а подтяжку забыл ) Последствия этого косяка видны на плате, как перемычки на верхней стороне из жилок витой пары. Снизу эти перемычки подпаяны к резисторам.
Само собой, в проекте всё это поправлено.
Навесное оборудование
В ящике стола вот уже полгода лежал дисплей 2×16, на всем известном hd44780. Был он куплен на ebay, уже и не помню зачем, да так и не пригодился.
И тут такой случай! Под этот прибор я изготовил специальную платку, посредством которой он навешивается на PORTB отладочной платы, заслоняя своим телом ненужные уже светодиоды ) Питание подаётся оттуда же, не зря рядом с портом растут две ноги с питанием. Распаян дисплей под четырёхбитный режим, чтобы поместиться на один порт.
Минус его в том, что на две ножки PORTB вешается кварц, поэтому приходится выбирать между высокой скоростью, и красивыми буквами. Но для опытов и так пойдёт, а при необходимости можно подключить экран проводами как душе угодно.
Бесплатное приложение
Как раз, когда я заканчивал плату, начал помаленьку глючить ftbb программатор. Начал шить через раз, особенно, если надо шить мегу с кварцем… В природу этого явления я не вникал, хотя есть большое подозрение, что виноват просто кривой кабель USB. Но, так или иначе, напугал он меня изрядно, и я быстренько выточил ещё один программатор, на этот раз usbasp.
И успешно его прошил, раза с третьего )) Программатор удобный, сам шевелит ресет (на ftbb надо кнопку давить). Шьёт стабильно. С точки зрения творчества тут ничего интересного, схема и прошивка с родного сайта, sinaprog с дудкой отсюда (снова спасибо DI!). Разводил на этот раз руками, детали smd, кроме стабилитронов.
На плате две перемычки по верхнему слою, которые при желании можно выполнить проволочками.
update: Сам контроллер для этой схемы взят из библиотеки avr-7.lbr, которая есть на сайте Eagle Cad. В этой либе есть нектороые контроллеры, отсутствующие в atmel.lbr.)
Источник: https://uncleeugene.net/page/otladochnaja-plata-dlja-atmega-8