Оглавление
- Схема программатора Громова
- Особенности программирования микроконтроллеров AVR
- Первый запуск USBasp программатора
- Универсальный программатор AVR
- Запуск гостевой системы.
- Первый запуск USBasp программатора
- Прошивка из под виртуальной машины
- Схема первая
- Строительство USBasp программатора
- Программа для USBAsp V2.0
- Переделываем AVR 910 в USB ASP для штатной работы драйвера в x64 Windows : 20 комментариев
- AVR ISP Prorgammer
- Файлы для сборки
- Переделываем AVR 910 в USB ASP для штатной работы драйвера в x64 Windows
- USBasp программатор AVR микроконтроллеров делаем сами
- Список поддерживаемых AVR микроконтроллеров
- Устройство программатора USBasp
- Строительство USBasp программатора
- Программатор Громова
- Установка драйвера для USBASP в Windows 10
- Рекомундуемая модель программатора для микроконтроллеров AVR
Схема программатора Громова
Давайте рассмотрим принципиальную схему программатора:
Что же мы видим на этой схеме ? Разъем СОМ порта, по другому называемый DB9, 7 резисторов одинакового номинала сопротивлением в 1 кОм и мощностью 0.25 Ватт и 3 импульсных диода. Из диодов подойдут, либо отечественные, КД522, КД510, либо импортные 1N4148.
Давайте разберем, как выглядят данные радиодетали.
На фото ниже представлен разъем DB9:
Как мы видим, пины (выводы) этого разъема обозначены цифрами на нем. Если будут какие-то затруднения с определением какой штырек соответствует какому отверстию разъема, рекомендую вставить проволочку в отверстие пина разъема, перевести мультиметр в режим звуковой прозвонки и прикоснувшись одновременно щупами мультиметра к проволочке по очереди к каждому из штырьков на разъеме, вызвонить соответствие штырьков отверстиям. Это может потребоваться в случае, если вы подключаете разъем проводками к плате. Если разъем будет впаян непосредственно в плату, то эти действия не требуются.
У кого на панели разъемов материнской платы, находящейся в задней части компьютера, нет COM разъема, можно купить планки с таким разъемом. Но нужно убедиться что производители распаяли контроллер СОМ порта на материнской плате, и предусмотрели подключение шлейфа данной планки, непосредственно к плате. Иначе такой вариант вам не поможет. В качестве альтернативного варианта, могу предложить приобрести контроллер СОМ порта, размещенный на специальной плате расширения, которую устанавливают в PCI слот ПК
Также при желании, если вы захотите, чтобы кабель, подключаемый к СОМ порту, у вас отключался от программатора, можно открутив винты крепления, снять разъем с планки, и закрепить его в корпусе программатора. Но будьте внимательны, и после покупки прозвоните все жилы, на соответствие номерам, с обоих концов кабеля, потому что часто в продаже встречаются похожие внешне кабеля, имеющие перекрещенные жилы. Кабель для подключения к данному разъему, должен быть обязательно полной распайки, DB9F – DB9F, прямой, не перекрещенный, с другими кабелями разъем работать не будет.
Если же возникают проблемы с приобретением данного кабеля, можно взять и перекрещенный кабель или удлинитель 9M-9F, но в таком случае может потребоваться обрезать разъем с другого конца, и вызвонив жилки по пинам разъема подпаяться непосредственно к плате программатора. У меня, кстати, был как раз такой кабель – удлинитель, и мне пришлось обрезать разъем со второго конца. Не покупайте кабеля для прошивки телефонов через СОМ порт, они не годятся для наших целей, так как там неполная распайка жил.
Особенности программирования микроконтроллеров AVR
Микроконтроллеры семейства AVR — это весьма популярная линейка дешевых микроконтроллеров производства фирмы Atmel. Микроконтроллеры AVR получили широкое распространение благодаря очень низкой стоимости и наличию бесплатных средств разработки и отладки Atmel Studio и бесплатных компиляторов языка C. В настоящее время фирма Atmel поглощена фирмой Microchip, что позволяет надеяться на улучшение надежности этих контроллеров. Микроконтроллеры AVR примечательны микропроцессорным ядром на основе RISC процессора и неплохим набором цифровой и аналоговой периферии, объединенной на одном кристалле.
Особенностью программирования всех контроллеров AVR является наличие кроме основного интерфейса программирования, режима последовательной загрузки — ISP. Несмотря на то, что ISP режим вынуждает пожертвовать частью выводов микроконтроллера и не поддерживает все режимы программирования, он получил широкое распространение благодаря простоте и дешевизне загрузочных кабелей (часто загрузочные кабели гордо именуются программаторами).
Большой ложкой дегтя ISP режима (в отличие, например, от аналогичного режима микроконтроллеров PIC) является возможность перевести микроконтроллер AVR в такое состояние, из которого его можно вывести только с использованием полноценного режима программирования (параллельного или высоковольтного). Еще один недостаток ISP режима программирования AVR — это необходимость программирования уже установленного на плате контроллера, хотя это же может быть и достоинством. Программирование в плате возможно, если конструкция платы предусматривает подключение разъема внутрисхемного программирования.
Программаторы ChipStar поддерживают, как программирование микроконтроллеров AVR в панельке программатора (полноценные параллельный или высоковольтный режим), так и внутрисхемную последовательную загрузку (ISP) с использованием унифицированного ICPA адаптера (Inter Circuit Programming Adapter).
Первый запуск 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 разъему компьютера, при этом должен загореться красный светодиод, а компьютер должен оповестить об обнаружении нового оборудования.
Универсальный программатор AVR
Представляю схему универсального программатора, с помощью которого можно программировать все типы AVR микроконтроллеров. Универсальный usb программатор состоит из usbasp программатора и ZIF панели для программирования.
Схема usbasp
Ниже на скрине приведена схема программатора avr. Чтобы собрать zif программатор, понадобится zif панель на 40 выводов и микроконтроллер Atmega8.
Собрав по этой схеме usb программатор, можно будет программировать любые микроконтроллеры из серии AVR, достаточно только расположить нужный микроконтроллер в zif usbasp панели, установить перемычки в нужные места, подключить к USB и программировать c помощью специальной программы, например AVRDUDE_PROG.
Плата usbasp
Дальше на скрине показана плата программатора avr. Так выглядит печатная плата avr usbasp в проекте программы DipTrace.
Изготовление программатора avr usb
Несколько фото процесса изготовления печатной платы zif avr с металлизацией отверстий. Печатная плата usbasp программатора после металлизации отверстий и после нанесения паяльной маски.
Фото готовой печатной платы программатора avr.
Глянец паяльной маски FSR-8000.
Фото собранной печатной платы универсального программатора AVR.
Данная статья опубликована на сайте whoby.ru. Постоянная ссылка на эту статью находится по этому адресу http://whoby.ru/page/usb-programmator
Читайте статьи на сайте первоисточнике, не поддерживайте воров.
Запуск гостевой системы.
Решительно нажимаем кнопку “запустить виртуальную машину” и через некоторое время наблюдаем приглашение к входу в систему.
В качестве логина используем arc, в качестве пароля adaptor.
Безусловно, пользовтелям, привыкшим к оконному интерфейсу работа в Linux может показаться немного непривычной, но во-первых это не сложно, во-вторых весьма расширяет горизонты
Пришла пора “скинуть” нашу прошивку на Linux
Подклчение сетевого диска из хост-системы
Мы подключим сетевой диск и сможем просто перебрасывать файлы для прошивки в виртуальную машину для последущей записи в ARCAdaptor.
В принципе, все инструкции уже есть на скриншоте выше, при условии что мы используем bridged networking.
Введем его в Windows Explorer в формате \\xxx.yyy.zzz.aaa :
Все готово для прошивки!
Первый запуск 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 (наш ARCAdaptor в режим bootloader) видится в Linux.
Прошиваем устройство
Для удобства в виртуальную машину добавлена пара скриптов, предназначенных для прошивки ARCAdaptor:
Это просто “обёртки” для avrdude. Желающие могут ознакомиться с содержимым прямо на месте.
sudo flashprg.sh share/arcadaptor8.hex
Опять-таки после нажатия “Enter” может потребоваться ввод пароля (ибо используется команда sudo).
Для прошивки “конфигурации” используется команда flashconfig.sh
sudo flashconfig.sh share/arcadaptor8.eep
Ну а вот результат работы программатора:
Ну и вот “анимация” процесса прошивки:
Менять нужно вот эти поля:
Схема первая
С помощью этого программатора можно прошивать практически любой 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».
Строительство 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 V2.0
Программу разработал «Боднар Сергей», работает не только с китайским программатором USBAsp v.2.0, но и другими программаторами. Первым делом скачиваем программу, разархивируем и запускаем «AVRDUDEPROG.exe». В качестве примера, прошью китайскую плату Arduino UNO R3 в которой установлен микросхема ATmega328P. В программе, жмем на вкладку «Микроконтроллеры» и выбираем ATmega328P.
Далее, необходимо выбрать прошивку, в строке «Flash» нажимаем «. . .», переходим в папку «C:Program FilesArduinohardwarearduinoavrootloadersatmega» и выбираем «ATmegaBOOT_168_atmega328.hex», жмем «Открыть»
Подключаем программатор к плате «Arduino UNO R3», и нажимаем кнопку «Программирование».
В конце, выйдет диалоговое окно, о удачном окончании программировании.
Ссылки Скачать драйвер для программатора USBASP v2.0 (LC Technology, ATMEL) Скачать программу AVRDUDE_PROG v.3.3
Купить на Aliexpress Программатор USBASP v2.0 (LC Technology, ATMEL) Адаптер для ATMEL AVRISP, USBASP, STK500 (10 pin на 6 pin)
Купить в Самаре и области Программатор USBASP v2.0 (LC Technology, ATMEL) Адаптер для ATMEL AVRISP, USBASP, STK500 (10 pin на 6 pin)
Популярное
- Устройство и программирование микроконтроллеров AVR для начинающих – 143
- Трехканальный термостат, терморегулятор, таймер на ATmega8 – 70
- Двухканальный термостат, терморегулятор на ATmega8 – 67
Программатор USBASP — устройство, распиновка, подключение, прошивка
Переделываем AVR 910 в USB ASP для штатной работы драйвера в x64 Windows : 20 комментариев
Ну хорошо. А этот перешитый программатор вырабатывает тактовый сигнал для программируемого контроллера?
Работает аналогично оригинальному Протоса.
Как оказалось, тактовый сигнал 1 МГц действительно есть
Программирование с новой прошивкой очень быстрое и занимает всего лишь несколько секунд в отличие от «задумчивого» Проттосса. Тактовый сигнал в 1 МГц есть, но перемычкой его частота не изменяется. Впрочем, мне это кажется не критичным
А если прошиваю — а он определяется как «неизвестное устройство», значит где искать косяк?
Если на прошивке от AVR910 работает, то во фьюзах. Фьюзы как в AVR910ю
Добрый день! Вот такая беда, не получается установить драйвера. Скачивал с вашего сайта и оригинальные Протоса, но ничего не выходит даже при отключение проверки подписи драйверов. Вот скриншоты https://yadi.sk/d/DWTA065cwRfNs
Не подходят драйвера
Обратите внимание что для каждой версии и каждой разрядности ОС необходимы свои драйвера. все пашет! (вин10 х64) все светодиоды и перемычка адекватны спасибо!
все пашет! (вин10 х64) все светодиоды и перемычка адекватны спасибо!
Спасибо. Перепрошил вашей прошивкой и мой старый AVR910 Prottosa заработал. Windows 10 (32 bit), драйвера libusb-win32 версии 1.2.6.0
Пробовал другие переделки AVR910 в USBASP, но в них засада работает только после подключения к USB. (Подключил к USB н.п. считал прошивку, считать второй раз не дает, надо снова отключать и подключать к USB) Может поделитесь исходниками и информацией чем собирали.
Наработка не моя, ссылка на автора и первоисточник смотри в статье…
Спасибо помогло. Я как раз и пробовал файлы Ink, но оказалось что файл main.hex из avr910-usbasp-hex.zip и файл \bin\firmware\usbasp.atmega8.2009-02-28.hex различаются, а я вторым и прошивал. Спрошу у автора в чем дело. (Собирая из исходников получается файл идентичный main.hex из avr910-usbasp-hex.zip)
Добрый день. Подскажите, пожалуйста, как выставить фьюзы? Ставил галки напротив CKOPT, SUT0 и BODEN в CodeVision. После этого микроконтроллер перестал определяться. И нужно ли перед прошивкой фьюзов считывать заводские?
Ну явно что то не работает. Ищи косяк…. На родной прошивке от AVR910 работало?
Кто нибудь сталкивался с такой проблемой — прекрасно шьёт mega 328, но отказывается работать с mega 8?
Спасибо за информацию.
AVR ISP Prorgammer
Программатор поддерживает следующие семейства кристаллов:
TinyAVR
ATtiny11L, ATtiny11, ATtiny12V, ATtiny12L, ATtiny13, ATtiny15L, ATtiny2313, ATtiny26L, ATtiny26, ATtiny28V, ATtiny28L
AVR
AT90S1200, AT90S2313, AT90LS2323, AT90S2323, AT90LS2343, AT90S2343, AT90LS4433, AT90S4433, AT90LS8515, AT90S8515, AT90LS8535, AT90S8535
MegaAVR
ATmega48, ATmega88, ATmega168, ATmega8, ATmega16, ATmega32, ATmega64, ATmega640, ATmega128, ATmega1280, ATmega1281, AT90CAN128, ATmega103, ATmega161, ATmega162, ATmega163L, ATmega169, ATmega8515, ATmega8535, ATmega2560, ATmega2561, ATmega325, ATmega3250, ATmega645, ATmega6450, ATmega329, ATmega3290, ATmega649, ATmega6490
Отличительные особенности:
— внутрисхемное программирование (не требуются дополнительные переходные панели, при этом выводы программирования используются в проекте)
— поддержка программатора популярными компиляторами AVRstudio, IAR AVR, Image Craft AVR.
— автоматическая верификация (100% гарантия соответствия зашитого кода исходному)
— высокая скорость программирования, возможность прошивки серийного номера кристалла
я долгое время удачно пользовался и продолжаю пользоваться этим надежным и простым программатором, работающим через LPT порт.
Схема этого простого, но надежного программатора:
Двусторонняя плата помещается в разъем:
Мне понадобился второй программатор, а описанный ниже USB программатор не мог шить нужный мне микроконтроллер. Поэтому я решил повторить этот LPT программатор.
Компьютерные тенденции таковы, что LPT порт скоро исчезнет. Поэтому пора присмотреть альтернативу.
Файлы для сборки
В приложенном ниже архиве, находятся файл печатной платы программатора avr usbasp. Также в архиве есть драйвер usbasp программатора и прошивка usbasp usb, с помощью которой можно прошить наш avr programmer.
Если вы решитесь собрать данный универсальный программатор AVR, то хочу вас предупредить. ZIF панели бывают двух типов, с широкой и узкой посадкой для ножек. Нам нужна такая ZIF панель для программатора, в которую можно вставить все типы микросхем.
Посмотрите на фото и увидите отличия между ZIF панелями, покупайте с широкими вырезами для ножек, иначе программатор получится не полноценным в связи с ограничением установки некоторых микроконтроллеров.
Напоследок хотел сказать, если вы случайно заблокируете свой микроконтроллер, то его можно всегда разблокировать с помощью доктора фьюзов, схему и печатную плату которого, можно посмотреть в этой статье.
Всем легкого программирования.
Статью написал: Admin Whoby.Ru
Переделываем AVR 910 в USB ASP для штатной работы драйвера в x64 Windows
При переходе с Windows x86 на Windows x64 столкнулся с проблемой, что мой программатор AVR910 от Protoss не желает в ней работать. Точнее x64 Windows отказывается устанавливать драйвера без цифровой подписи. Подписать родные драйвера от Protoss не представляется возможным без покупки лицензии Developer у корпорации зла. Остается как вариант либо отключить проверку подписи драйверов. Либо перевести ОС в Тестовый режим. Постоянная работа в тестовым режиме тоже не сулит ничем хорошим, да и решение — это не решение, а костыль…. Альтернатива только найти драйвер подписанный сертификатом.
В процессе решения данной проблемы мой взгляд пал на альтернативные прошивки для AVR910 by Protoss. Так я встретил довольно много переделок
libusb начиная с версии 1.2.0 имеет цифровую подпись, соответственно эти драйвера будут работать в штатном режиме на x64 системе.
Скачать — прошивка для превращения AVR910 в USBASP.
Скачать — драйвер для Windows (x64 и x32). Этот драйвер проходит проверку цифровой подписи! При установки необходимо разрешить установку драйвера неизвестного производителя.
Так как AVR910 от USBASP отличается лишь прошивкой, то просто заменив контролер программатора можно быстро превратить AVR910 в USBASP. Так для этих целей я подготовил два контролера.
Для прошивки контролеров программатором USBASP необходимо другое программное обеспечение:
В статье AVR910 программатор — описано как собрать программатор, приведена печатная плата и список деталей.
Купить готовый программатор на aliexpress
ISP Программатор для ATMEL AVR ATMega ATTiny
USBasp программатор AVR микроконтроллеров делаем сами
Работает именно в таком варианте, без доработок, с AVR и PIC.Стабилизаторы рекомендуется брать в мощных корпусах, потому что они нагреваются, т.к. разница напряжений на выходе и выходе существенна. Но радиаторы к ним не требуются. Диод можно заменить на 1N4148 или подобный.По поводу остального подсказать могут только посетители.
Александр | 12 мар 2017 10:42 |
1. Добрый день. Есть несколько вопросов по схеме.
Скажите пожалуйста, в вашей схеме программатора выход «reset» для AVR не стоит подтягивать к «+» резистором 4,7 — 10 к? 2. Есть ли смысл VСС запитывать от отдельного стабилизатора 7805 и развязать от питания IC1 и IC2?3. Ещё один вопрос. В схемах других программаторов на разъёме PIC есть контакт PGM, посаженный на землю через резистор 1к. Он нужен? 4. Есть смысл на шину VСС разъёма PIC поставить джампер на случай повторного перепрограммирования БУ контроллеров или задержка питания VСС делается программно?5. Стабилизаторы в каких корпусах лучше брать в мощных или маломощных? Греться будут? 6. Можно заменить диод КД523 на КД 521 или КД522?7. Под какой программой удобнее всего работать?8. Могут программы для этого программатора – IC-PROG, PonyProg, WinPic работать под Win7-32? Что для этого надо сделать?
Вопросы появились после анализа кучи схем программаторов. В этих делах полный чайник. Но уже припирает
Спасибо большое за внимание и ответ. Прошу прощения за большую кучу вопросов
У вас очень удобный сайт.
Гость | 17 янв 2017 15:52 |
Для получения нужного напряжения, очевидно.
Артем | 17 янв 2017 14:47 |
Почему «земля» 7808 подключена на «+» 7805 ?
Комментарии: 12345
Пользовательские теги: програматор авр схемауниверсальный программатор своими руками
Список поддерживаемых AVR микроконтроллеров
USBASP Программатор AVR поддерживает все микроконтроллеры ATMEL с режимом последовательного программирования ISP (In System Programming), это все микроконтроллеры у которых есть порт SPI (Serial Peripheral Interface):
- ATtiny11, ATtiny12, ATtiny13, ATtiny15, ATtiny22, ATtiny2313, ATtiny24, ATtiny25, ATtiny26, ATtiny261, ATtiny28, ATtiny44, ATtiny45, ATtiny461, ATtiny84, ATtiny85, ATtiny861
- AT90S1200, AT90S2313, AT90S2323, AT90S2343, AT90S4414, T90S4433, AT90S4434, AT90S8515, AT90S8535
- ATmega8, ATmega48, ATmega88, ATmega16, ATmega161, ATmega162, ATmega163, ATmega164, ATmega165, ATmega168,ATmega169, ATmega32, ATmega323,ATmega324, ATmega325, ATmega3250, ATmega329, ATmega64, ATmega640, ATmega644, ATmega645, ATmega6450, ATmega649, ATmega6490, ATmega128, ATmega1280, ATmega1281, ATmega2560, ATmega2561, ATmega103, ATmega406, ATmega8515, ATmega8535
- AT90CAN32, AT90CAN64, AT90CAN128
- AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B
- AT90USB1286, AT90USB1287, AT90USB162, AT90USB646, AT90USB647
- AT89S51, AT89S52
- AT86RF401.
Устройство программатора USBasp
Программатор состоит из небольшого числа деталей. Мозгом программатора является микроконтроллер Atmega8, который имеет всего 8 кб флеш памяти и 1 кб ОЗУ(SRAM).Вроде и слабенький микроконтроллер по современным меркам, но столько всего можно на нем сделать.Из-за особенностей работы программного USB м/к работает на частоте 12мгц. Соответственно, при написании своей прошивки необходимо учитывать это.
USBasp имеет 10 контактный разъем, на который выведены 6 выводов микроконтроллера: PB5 (SCK), PB4 (MISO), PB3 (MOSI, PWM), PB2(PWM), PD0 (RXD), PD1 (TXD).
Плата имеет два встроенных светодиода на выводах PC0 и PC1.Выводы м/к PB0,PB1 и PD2 используются для программного USB,PC2 выведен на перемычку JP3.Остальные выводы микроконтроллера не распаяны.
схема USBasp2.0
распиновка разъема USBasp
Строительство 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) рисунок печатной платы находится в конце статьи. Вы также можете найти несколько вариантов на официальном сайте проекта.
Программатор Громова
Я не ошибусь, если скажу, что 80% новичков, если у них на компьютере есть в наличии СОМ порт, собирают в качестве первого программатора Программатор Громова. Эта схема, при своей простоте и умелом обращении, настоящий шедевр). Действительно, ведь для того, чтобы собрать своими руками программатор, подключаемый к USB порту и имеющий в своем составе микроконтроллер AVR, который требуется предварительно запрограммировать, нужен опять таки программатор. А где взять новичку программатор, пусть и для подобной разовой прошивки ? Получается парадокс курицы и яйца), чтобы собрать USB программатор, нам необходимо сначала запрограммировать микроконтроллер программатора))).
Итак, давайте разберем, что же такое вообще прошивание микроконтроллера (МК) с помощью программатора, и как оно осуществляется? Для того, чтобы прошить МК, нам потребуется связка из самого программатора, устройства, спаянного на печатной плате, и программа, называемая оболочкой, работающая с этим устройством.
Под каждый тип программатора чаще всего требуется своя программная оболочка. Для сборки программатора Громова не требуется программировать микроконтроллер. В данном программаторе он отсутствует. Этот программатор работает с двумя широко распространенными оболочками для прошивания: PonyProg и Uniprof. У нас будут посвящены отдельные обзоры на эти программки. Данный программатор подключается к СОМ порту. Единственным препятствием для его сборки может стать физическое отсутствие данного разъема на материнской плате вашего системного блока. Почему именно системного блока? Потому что ноутбуки, а также современные модели материнских плат 2010 – 2011 года выпуска и выше часто имеют на контактах СОМ порта пониженное напряжение питания. Что это означает? Это означает, что вы можете собрать данный программатор, а он у вас не заработает. Но с компьютерами 2007 – 2008 года выпуска и старше, за исключением ноутбуков, данный программатор должен гарантированно работать. Подключение через переходники USB – COM не спасают в этом случае, так как при этом наблюдается в лучшем случае, сильное снижение скорости, в худшем, программатор вообще отказывается работать.
Установка драйвера для USBASP в Windows 10
Если вы используете интерфейс JTAG, вам может потребоваться установка драйвера для USBASP если он не установился автоматически. Если вы не установите этот драйвер, то вы не сможете найти порт USBASP в программе Atmel Studio. Скачать драйвер USBASP можно по этой ссылке — http://www.mediafire.com/file/z576zrku371qyjs/windows-8-and-windows-10-usbasp-drivers-libusb_1.2.4.0-x86-and-x64-bit.zip/file.
После скачивания драйвера выполните следующую последовательность действий:
1. Распакуйте из архива скачанные файлы и поместите их на рабочий стол.
2. Подсоедините модуль USBASP v2.0 к своему компьютеру.
3. Откройте в Windows диспетчер устройств (Device Manager).
4. Теперь вы можете увидеть подсоединенный USBASP в списке устройств.
5. Кликните правой кнопкой мыши по “USBasp” и выберите “Обновить драйвер (Update Driver)”.
6. Select “Произвести поиск драйвера на своем компьютере (Browse my computer for driver software)”.
7. Найдите в открывшемся окне распакованную папку с драйвером для USBASP и щелкните «Открыть».
8. Если установка драйвера прошла успешно, то вы увидите сообщение примерно такое же как на нижеприведенном рисунке – в этом случае вам уже не нужно выполнять дальнейшие инструкции в этом разделе статьи.
9. Если вы увидите сообщение об ошибке как на приведенном рисунке, то вы в этом случае должны отключить цифровую подпись драйвера.
Чтобы сделать выполните следующие шаги:
— нажмите кнопку Shift и удерживая ее нажатой перезагрузите свой компьютер (кликните Restart в меню Windows пока держите ее нажатой);
— когда ваш компьютер перезагрузится не отпускайте кнопку Shift до тех пор пока не увидите “Advanced Options (Расширенные настройки)” на синем экране;
— отпустите кнопку Shift и кликните на “Startup Settings”;
— кликните на “Troubleshoot (Устранение проблем)”;
— выберите “Advanced Options (Расширенные настройки)”;
— после этого вы увидите на экране список расширенных опций и кнопку “Restart” в правом нижнем углу – кликните на ней;
— подождите пока компьютер снова перезагрузится. После этого вы увидите на экране ряд настроек;
— в открывшемся списке настроек выберите пункт “Disable Driver Signature Enforcement (Отключить цифровую подпись драйвера)”. Чтобы ее выбрать просто нажмите кнопку «7» на вашей клавиатуре (не путать с кнопкой «F7»);
— после нажатия этой кнопки компьютер перезагрузится и цифровая подпись драйвера будет отключена;
— после этого снова выполните шаги 1-8 из данного раздела статьи и драйвер для программатора USBASP будет успешно установлен.
Рекомундуемая модель программатора для микроконтроллеров AVR
Если Вам необходимо просто загружать микроконтроллеры AVR внутрисхемно через последовательный интерфейс, то Вам подойдет любой программатор ChipStar. Для программирования микроконтроллеров AVR в панельке программатора в разных корпусах могут понадобиться универсальные адаптеры-переходники с корпуса DIP на необходимый корпус.
При выборе модели программатора можно ориентироваться на следующее:
-
ChipStar-Lynx — программирует 60% всех микросхем AVR во всех вариантах корпусов
(большей частью не поддерживаются корпуса TQFP). - ChipStar-Mercury и все остальные модели программаторов — программируют все микросхемы AVR во всех вариантах корпусов.