- Простейший программатор для ATmega8
- Схема первая
- Прошивка с помощью PonyProg
- Схема вторая
- Алгоритм прошивки с помощью программатора Громова
- USBasp программатор микроконтроллеров AVR на Atmega8 своими руками
- Основные характеристики программатора USBasp
- Строительство USBasp программатора
- Список элементов используемых в USBasp программаторе:
- Первый запуск USBasp программатора
- Установка драйверов USBasp программатора
- Программы для работы программатора USBasp
- Схема USB программатора на Atmega8 своими руками
- Похожие записи:
- 64 комментария
Простейший программатор для 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, затем подаем питание на микроконтроллер. И первым делом проверяем, читаются ли фьюз-биты.
Если все ок, выбираем файл с нужной прошивкой и жмем запись.
Будьте предельно внимательны и осторожны, потому что если глюканет при записи фьюзов, то МК либо на выброс, либо паять схему доктора (а она сложная). Если поменяете бит SPIEN на противоположный — результат будет тот же (к доктору).
Источник
USBasp программатор микроконтроллеров AVR на Atmega8 своими руками
В данной статье мы опишем „шаг за шагом” этапы изготовления USBasp программатора для микроконтроллеров AVR. В отдельных статьях приведем описание установки драйверов для операционных систем Windows XP и Windows 7 (x64/x86). В конце поста размещена ссылка с необходимой документацией для изготовления программатора USBasp своими руками.
Программатор USBasp, благодаря своей простоте в изготовлении и использовании недорогих и широкодоступных элементов, стал очень популярным среди радиолюбителей. Его параметры работы не уступают профессиональным и дорогим программаторам микроконтроллеров AVR.
Основные характеристики программатора USBasp
- Работает с несколькими операционными системами – Linux, Mac OS X и Windows – включая Windows 8!
- Не требует внешнего питания.
- Умеет программировать со скоростью вплоть до 5kB/s
- Есть вариант (Switch 2) снижения скорость программирования – для процессоров с кварцем меньше 1,5 Мгц
- Обеспечивает напряжение для программирования (Switch 1) 5 вольт
- Указание работы программатора с помощью светодиода
Перед началом работы, стоит ознакомиться с последовательностью всех выполняемых действий, а именно:
- Выбор схемы/рисунка печатной платы
- Перенос рисунка печатной платы на фольгированный стеклотекстолит
- Травление печатной платы в растворе хлорного железа
- Сверление отверстий
- Монтаж элементов (пайка)
- Программирование Atmaga8 программатора
- Подключение программатора к компьютеру
- Установка драйверов – Windows XP, Windows 7
- Выбор программы с поддержкой USBasp
Существует много версий USBasp программатора, но все они основаны на главной схеме, автором которой является Thomas Fischl. Прошивка микроконтроллера программатора также является его авторством.
Оригинальная схема программатора:
В данном случае за основу была выбрана оригинальная схема. Поскольку использование перемычек в оригинальной схеме не совсем удобно, было принято решение использовать DIP переключатели. Так же были изменены некоторые значения резисторов.
Более того, в оригинальной схеме линии TxD и RxD выведены на разъем ISP, хотя это не нужно (точнее не используются на практике).
Ниже приведена схема с внесенными изменениями:
Строительство USBasp программатора
Существует много версий печатной платы данного программатора, некоторые можно найти на официальном сайте USBasp. Однако, была сделана своя на основе выше представленной схемы.
К сожалению, из-за применения DIP переключателей, рисунок платы стал немного сложнее, что привело к применению 2 коротких перемычек, с целью чтобы печатная плата была по-прежнему односторонней.
Ниже результат печатной платы:
Как видно на рисунке, в программаторе не применялись SMD элементы. Пустое пространство на плате „залито” полем массы, главным образом для того, чтобы не вытравливать большое количество меди, а также снизить влияние помех на программатор.
Список элементов используемых в USBasp программаторе:
- R1: 10к
- R2: 180
- R3: 100
- R5, R6: 68
- R7: 2к2
- C1, C2: 22п
- C3: 10мк
- C4: 100н
- LED1: Красный светодиод на 20мА
- LED2: Зеленый светодиод на 20мА
- D2, D3: стабилитроны на 3,6В
- X1: Разъем USB, тип B
- SV1: Гнездо под разъем IDC-10
- Q1: Кварц 12МГц, корпус HC49-S
- SW1: Dip переключатель трехпозиционный
- IC1: Atmega8 ( ПРИМЕЧАНИЕ: Не следует использовать микроконтроллер Atmega8 — PU из-за его ограничение максимальной тактовой частотой до 8 МГц!)
Перенос рисунка печатной платы USBasp программатора на стеклотекстолит выполнен с помощью метода ЛУТ (лазерно-утюжной технологии). Как это делать описывать не будем, поскольку данной информации в сети много.
Вкратце скажем, что сначала рисунок в масштабе 1:1 печатается на глянцевой бумаге, затем он накладывается на очищенную и обезжиренную медную сторону стеклотекстолита и фиксируется с помощью бумажного скотча. Далее бумажная сторона тщательно разглаживается утюгом на 3-ке. После все это дело вымачивается в воде и аккуратно очищается от бумаги.
Следующий этап – вытравливание платы в растворе хлорного железа. Во время травления желательно поддерживать температуру раствора не ниже 40 C, поэтому банку с раствором погружаем в горячую воду:
После завершения процесса травления необходимо удалить тонер ацетоном.
Остается теперь только просверлить отверстия. После завершения процесса изготовления платы можно приступать к пайке элементов USBasp программатора, начиная с перемычек.
Готовые к печати (в формате PDF) рисунок печатной платы находится в конце статьи. Вы также можете найти несколько вариантов на официальном сайте проекта.
Первый запуск USBasp программатора
Теперь, когда все детали спаяны, остается только «прошить» микроконтроллер Atmegę8 самого программатора. Для этого нужен отдельный программатор, это может быть, например, STK 200 (LPT порт), STK500 и т. д. LPT программатор подключается к USBasp через разъем IDC-10.
Обратите внимание, что распределение пинов в разъеме оригинального программатора (USBasp) находится справа, в то время как в версии, описываемой в этой статье – слева:
Распределение, показанное на рисунке справа, соответствует тем, которые применяет компания Atmel в своих оригинальных программаторах. Такое распределение уменьшает риск возникновения помех во время программирования в случае применения длинных проводов от программатора к контроллеру, так как каждая сигнальная линия экранирована массой, кроме MOSI.
На время программирования включите режим SELF путем переключения DIP переключателя № 3 в положение ON. Благодаря этому появляется возможность запрограммировать Atmega8. После завершения программирования, положение переключателя (3) должна быть переведено в состоянии OFF.
Последнюю версию прошивки можно скачать с официального сайта. Рекомендуем версию для Atmega8, которая находится в архиве: usbasp.2011-05-28.tar.gz.
Обратите внимание, чтобы перед программированием Atmega8 необходимо выставить фьюзы которые имеют следующие значения:
- # для Atmega8: HFUSE=0xC9 LFUSE=0xEF
- # для Atmega48: HFUSE=0xDD LFUSE=0xFF
В случае успешного программирования, подключаем программатор к USB разъему компьютера, при этом должен загореться красный светодиод, а компьютер должен оповестить об обнаружении нового оборудования.
Установка драйверов USBasp программатора
Способ установки драйверов программатора описан в отдельных статьях, там же имеются и сами драйвера. Ниже приведены прямые ссылки на эти статьи:
- Установка драйверов для программатора USBasp под Windows XP
- Установка драйверов для программатора USBasp Windows 7 x64/x86
Программы для работы программатора USBasp
Самой популярной программой, поддерживающей программатор USBasp, это консольная программа AVRdude. Так же существует множество производных программ, использование которых намного удобнее. Они представлены в статье Сравнение программ для поддержки программатора USBasp.
Скачать прошивку, рисунок печатной платы и драйвер USBasp программатора (unknown, скачано: 2 688)
Источник
Схема USB программатора на Atmega8 своими руками
Данная схема USB программатора, построенного на микроконтроллере Atmega8, довольно проста в изготовлении, ее можно собрать своими руками буквально за один вечер.
Фактически это AVR-910 популярной схемы Prottoss-a. USB программатор надежен и имеет в своем арсенале функцию, позволяющая восстанавливать микроконтроллеры с неверно установленными фьюзами.
Следует отметить, что для прошивки самого микроконтроллера Atmega8 программатора понадобится простой LPT-программатор.
Печатную плату можно сделать своими руками по известной технологии ЛУТ. Поэтому на описании изготовления платы останавливаться не будем, а перейдем сразу к описанию.
Итак, у нас все детали схемы припаяны без ошибок и коротких замыканий, плата очищена от остатков флюса. Теперь переводим переключатель SA2 в положение «МОД», подсоединяем наше устройство к простому LPT-программатору и включаем питание.
Теперь необходимо занести программу в память Atmega8. В качестве программного обеспечения можно применить Uniprof или Code Vision AVR. Перед программированием необходимо выставить следующие фьюзы (для Uniprof):
По завершению прошивки Atmega8, переводим переключатель SA2 в положение «НОРМ», подсоединяем программатора к USB разъему компьютера. Если все шаги выполнены верно, то компьютер должен без проблем обнаружить новое подключенное устройство.
Система предложит найти драйвер — отказываемся и указываем драйвер из нашего архива. По завершению установки драйвера для программатора, он полностью готов к работе.
Поговорим о программном обеспечении которое необходимо для работы с данным программатором. Он поддерживает такие оболочки как: AVR Prog, AVR Studio, ChipBlasterAVR и, конечно же, Code Vision AVR.
Достаточно удобной программой, я считаю, является Code Vision AVR, пример работы, которой подробно написано здесь.
Для справки, приведем типовую распиновку USB:
Список необходимых деталей:
- Atmega8 — 1 шт.
- Кварц 12МГц — 1 шт.
- Диод 1N4007 – 2 шт.
- Светодиод — 3 шт.
- Резисторы: 68 Ом — 2 шт., 330 Ом — 8 шт., 1,5 Ом — 1 шт., 100 Ом -1 шт., 1,5 кОм -1 шт., 10 кОм -1 шт., 1 мОм -1 шт.
- Конденсаторы: 0,1мк — 3 шт., 22мк х 10В — 1 шт., 22p — 2 шт.
Скачать прошивку, драйвера и печатную плату (853,5 KiB, скачано: 20 252)
Похожие записи:
64 комментария
Обработал протокол USB на обычтном AVR через внешние прерывания?! Браво!
На программе Code Vision AVR какие фюзи поставит
Здравствует админ я собрал программатор и у меня в запасе есть ltp программатор чтобы прошить мк провода от ltp на собранную программатор под соединять или просто к мк надо соединять
LPT программатор подключите к ISP разъему. Не забудьте переключатель SA2 перевести в положение МОД
Можно изменить резисторы R3, R6, R9-R15 330Ом на другую?
И конденсаторов С1, С4, С6 0,1Мкф?
у меня вопрос. как будет работать атмега 8-16пу от напруги 3.3в если ее рабочее напряжение от 4.5 до 5.5в ? возможно ли запитать шину от стаба на 3.3 и саму мегу от усб 5в?
Доброго времени суток! Автор, спасибо за статью, программатор спаял — работает штатно. К делу подошел с размахом и сделал сразу три платы: программатор, плату переходников и еще одну. Вопрос, для чего третья плата? И если, есть, принципиальная схема.
Извиняюсь за драйвера не ту папку глянул. Всё равно не обновляются.
Здравствуйте! Уважаемый admin, после подключения прог-ра к пк в дисп-ре задач надпись Unknown Device пытаюсь установить драйвера из папки пишет «Наиболее подходящее программное обеспечение для данного устройства уже установленно» «Система Windows определила, что драйверы для этого устройства не нуждаются в обновлении.» Могли ли установиться драй вера во время программирования самого мк и в папке драйвера нет драйверов для 7-ки. Подскажите как быть? Спасибо!
Всем доброе время суток. Собрал я этот программатор и решил поделиться впечатлениями.
Собираеться он буквально за вечер (только не повторяйте моих ошибок. Сперва соберите (купите, выпаяйте) все нужные запчасти а уж потом начинайте паять. А то у меня больше времени уходило на поиск компонентов чем на их впайку 🙁 ). Атмегу я взял Atmega8 А PU . Прошивал на COM программаторе, Юнипрофом. Камень прошивал отдельно (сперва прошил а уж потом впаивал).
После сборки, очистки от флюса, проверки на КЗ, подключил к компьютеру. После установки драйверов обнаружился первый минус. Windows Vista и Windows 7 хочет цифровой подписи драйверов. А у AVR — 910 такой подписи нет 🙁 . Пришлось отключать проверку цифровой подписи и запускать ОС в тестовом режиме. После чего мой ящичек перестал материться и принял драйвера программатора. Тестировал программатор в Code Vision AVR. И тут обнаружился второй Бальшоооой минус. Скорость :(. Больше 5 мин читать прошивку меньше 1 Кб. ЖЖЖЖЖуть. После привычных 8-10 сек в Юнипрофе. Пофиг ему (програматору ) как там
стоит джампер . Быстрей работать не хочет. Посему решил чуток переделать программатор. Переделка сводилась только к перепрошивке камня. Скачал прошивку под программатор USBasp . (схемы этих программаторов идентичные разница только в прошивке) Прошивал уже на плате. Обнаружилась интересная вещь — Унипроф увидел камень даже без подключения генератора. (Видимо из-за впаяного кварца). После установки драйверов (драйвера имеют цифровую подпись) начал тестить
новоиспеченый программатор. Сперва в avrdude-5.8 и графической оболочке avrdudeprog33. Чтение 43 сек.))) (при больше 5 в АVR 910) запись чуть больше мин. ( AVR DUDE есть еще один плюс. Тут можна програмно менять скорость прошивки и не заморачиваться с джампером.) Дальше тестил в Khazama AVR Programmer . Тут у меня чет не пошло 🙁 (при чтении выкидывало ошибку). Но у всех этих программ есть один недостаток (на мой субъективный взгляд). тут не возможно просмотреть программный код. Как в Юнипроф или Понипрог. И тут я наткнулся в необятных просторах инета на небольшую программку гениального индуса — eXtreme Burner — AVR. Интересная программка . Простой , интуитивно понятный интерфейс. Быстрая скорость прошивки. Правда есть два минуса. Большой — не все авиэрки поддерживаються. И второй минус — фьюзы нужно проставлять Битами. (хоть можна выбирать из выпадающего списка). Правда если что — то перемудрили с фьюзами есть возможность сбросить по умолчанию.
На етой оптимистической ноте закончу. Выводы делайте сами.
Добрый вечер.
Объясните почему после прошивки атмеги 8 и установки Fuse как показано на фотке, программатор перестает видеть контроллер вообще, все проги выдают ошибку, что не могут связаться с контроллером, что я сделал не так.
Все дело в том, что после прошивки, микроконтроллер начинает работать от внешнего задающего генератора (кварца). Подключите кварц (можно на 8МГц) на выводы 9 и 10.
Спасибо, заработало)) Подскажите с какими программами avr910 работает?
Я использую Khazama AVR Programmer
В Usbasp (китайский) применен кварц 12 мгц, можно его заменить на кварц 8мгц?
Здравствуйте!
В программаторе ATmega8A-PU, будет работать?
Программатор поддерживает ATmega328P-PU ?
Подскажите, как в Proteus поставить ISP.
А,что же так медленно работает?Половину»Атмеги-32″ читает 15 минут.Светодиод»Чтение» еле видно-скважность импульсов,очевидно,очень большая.На выходе «Led»1 Мгц.Система»Windows-7» 32 бит.
спасибо большой уважаемый админ
день добрый ребят размер печатной платы какой
ширина 80мм, высота 55мм
При подключении программатора к ноуту с Windows 8.1 пишет устройство неопознано и в диспетчере устройств «контроллере USB» пишет «Неизвестное USB-устройство(недопустимый дескриптор конфигурации»
На Windows 7 опознается как AVR-910
Добрый вечер, спасибо за статью.
Подскажите можно ли в место Atmega8
использовать Atmega328p-pu
можно ли вместо LTP программатора прошить COM-программатором Громова?
Можно ли им прошить Pic 18f 2685?
Подскажите, в чем может быть проблема, все сделал правильно, перепроверил раз 10. При подключении 3 раза мигают лампочки чтения и записи и на компе определяется как неизвестное устройство с ошибкой дескриптора. Кстати, я так понял нужна Атмега8 16pu, у меня Atmega8A-pu, это ни на что не влияет?
Скажите люди,зачем в списке деталей присутствует резистор 1.5 Ом,если в схеме его нет? И Рез. 330 Ом там 9 а не 8 судя по схеме.
Вроде все на месте:
Резистор 330 Ом (R3,R5,R8,R9,R11,R12,R13,R14,R15).
Резистор на плате указан 1,5к (R4).
В списке деталей и 1,5 Ом, и 1,5кОм. Как раз 1,5 Ом на схеме нет, а вот 330 Ом на схеме 9 штук, а в списке 8. Детали покупал по списку — как раз 1,5 Ом лишний, а 330 не хватило (
В архиве есть схемка переходника,на ней есть кондеры и кварц. Но какие?? Кто подскажет?
Кварц поставьте на 8 Мгц, конденсаторы 15…22 пФ (хотя можно и без них)
Добрый вечер.
Объясните почему после прошивки атмеги 8 и установки Fuse как показано на фотке, программатор перестает видеть контроллер вообще, все проги выдают ошибку, что не могут связаться с контроллером, что я сделал не так.
А какие меги он может шить, конкретного списка нет?Буду очень признателен.
Какой тип программатора выбирать в Codevision, com порт порт смотреть в системе?
ПРОШИВАЙТЕ ПРОШИВКУ АВРДОПЕР ДЛЯ АВР 910, (перезагруска)
собрал данный программатор на SMD компонентах(ток микруха в DIP-e),как и полагается фьюзы в первой микрухе не так выставил-в итоге залочил ее,вторую прошил корректно,ничего не греется,светодиоды горят только в момент прошивки,на LED-меандр 1MHz…теперь еще один программатор в коллекции….в общем все мучения того стоили.
Рекомендую к повторению.
подскажите новичку!! тока без умничания) куда подключается разъем ISP? и зачем его подключили к простому LPT-программатору.
Источник