Простейший программатор для 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 на противоположный – результат будет тот же (к доктору).
ПРОГРАММАТОР AVR USB
Программатор выполнен на основе драйвера от Objective Development и полностью совместим по командам с оригинальным программатором AVR910 от ATMEL. Описание устройства. Предохранитель защищает линий питания порта USB от случайного замыкания по цепям питания программатора. Диоды VD1, VD2 впрямительные кремниевые, они предназначены для понижения питания микроконтроллера до 3,6 В. Согласно документации, контроллер может работать при таком напряжении питания до частоты чуть более 14 МГц. Светодиоды VL1 (“
Джампер J1 – (MODify) служит для начального программирования управляющего МК программатора. При его замыкании, к разъему ISP подключается внешний программатор и производится загрузка в МК управляющей программы. После программирования управляющего МК программатора этот джампер необходимо разомкнуть и замкнуть джампер J2 – NORMal.
Джампер J3 LOW SCK понижает тактовую частоту порта SPI МК программатора до ~20 кГц. При разомкнутом джампере частота SPI нормальная, при замкнутом – пониженная. Переключать джампер можно на ходу, так как управляющая программа МК программатора проверяет состояние линии PB0 при каждом обращении к порту SPI. Не рекомендуется переключать джампер при запущенном процессе записи/чтения программируемого МК, т.к., скорее всего, это приведет к искажению записываемых/читаемых данных. Джампер J3 введен для возможности программирования МК AVR, тактируемых от внутреннего генератора 128 кГц.
Резисторы R10 – R14 предназначены для согласования уровней сигналов микроконтроллера программатора и внешних цепей (программируемый МК или другой программатор). Тактовая частота порта SPI МК программатора при разомкнутом джампере J3 равна 187,5 кГц. Это позволяет программировать контроллеры с тактовой частотой примерно от 570 кГц для ATtiny/ATmega, 750 кГц для 90S и 7,5 МГц для 89S. Контроллеры программируются от 10 до 30 секунд (при использовании утилиты AVRProg v.1.4 из пакета AVR Studio) вместе с верификацией в зависимости от объема FLASH памяти и тактовой частоты.
На вывод LED разъема ISP выведен меандр с частотой 1 МГц для “оживления” МК, у которых были ошибочно запрограммированы фьюз-биты, отвечающие за тактирование. Сигнал генерируется постоянно и не зависит от режима работы программатора. Программатор тестировался с программами AVRProg v.1.4 (входит в пакет AVRStudio), ChipBlasterAVR v.1.07 Evaluation, CodeVisionAVR, AVROSP (ATMEL AVR Open Source Programmer). Для нормального функционирования контроллера в схеме необходимо, чтобы были запрограммированы (установлены в “0”) биты SPIEN, CKOPT, SUT0 и BODEN. Обычно микроконтроллеры , идущие с завода, т.е. новые, имеют уже запрограммированный бит SPIEN. Остальные биты должны быть незапрограммированные (установлены в “1”).
Инструкция по установке и работе. Прошить контроллер. Подключить свежеиспеченный программатор к компьютеру через USB. Операционная система найдет новое устройство – AVR910 USB Programmer, при предложении автоматически найти драйвер, отказаться, и указать путь к inf-файлу, в зависимости от установленной на вашем компьютере операционной системы.
На форуме находятся все файлы, а также печатная плата для нашего программатора avr. Здесь покажу технологию сборки USB программатора AVR и упаковки в корпус. Для начала скачиваем архив и делаем печатную плату.
Потом впаиваем на неё все детали.
Подгоняем плату под корпус, делаем все замеры, сверлим отверстия и вот вам готовый прибор, с универсальной платой.
Если нет специальной измерительной аппаратуры, можно произвести проверку при помощи светодиода. Светодиод подключается анодом к контакту LED, катодом к любому контакту GND ISP-разъема. При подаче питания светодиод должен светится в «полнакала». При замыкании пинцетом ножек кварцевого генератора светодиод должен либо засветится в «полный накал», либо свечение должно отсутствовать.
Без ощибок собранный программатор с правильно запрограммированным микроконтроллером в настройке не нуждается. Но если у программируемого МК вход RESET подтянут к напряжению питания резистором, то номинал резистора не должен быть ниже 10 кОм – это связанно с пониженным напряжением питания управляющего контроллера в схеме программатора и введением ограничительных резисторов на шине ISP-разъема.
Форум по usb программатору
Форум по обсуждению материала ПРОГРАММАТОР AVR USB
USB программатор своими руками на ATmega8
Предлагаем Вам схему USB программатора на микроконтроллере ATmega8. Этот USB программатор Вы можете собрать своими руками за несколько минут на макетной плате Breadboard Half (BREADBOARD – 456 HOLES) размером 82х59 мм. На этой плате хватит места и для программируемых микроконтроллеров в корпусах до DIP-28.
Этим USB программатором можно программировать микроконтроллеры AVR ATmega и ATtiny (другие программировать не пробовал). Этот программатор заметит Вам плату Arduino, он более удобен для экспериментов с различными микроконтроллерами и микропрограммами для них (скетчами). USB программатор работает под управлением микропрограммы ArduinoISP.
Минимальный набор деталей для программатора
- Микроконтроллер ATmega8 (ATmega8A-PU, ATmega8L-PU) 1шт
- Макетая плата Breadboard Half (BREADBOARD – 456 HOLES) размером 82х59 мм 1шт
- Интерфейс USB-UART (подойдет USB-DATA кабель от старого сотового телефона) 1шт
Остальные детали, которые вы увидите на схеме для работы универсального, самодельного, простого программатора не существенны.
О подключении пробников, бузер можно подключить на линию MISO и слушать как общаются между собой микроконтроллеры. Светодиод можно подключить к 15 ножке микроконтроллера ATmega8, если схема собрана правильно и в Atmega8 залит скетч ArduinoISP, светодиод будет плавно менять яркость свечения.
Прежде чем воспользоваться самодельным программатором, необходимо загрузить в микроконтроллер программатора микропрограмму ArduinoISP из примеров к программе Arduino IDE. А еще раньше, необходимо настроить микроконтроллер ATmega8 на работу на частоте 8 МГц без внешнего кварцевого резонатора.
Мы здесь, приведем последовательность действий по прошивке микроконтроллера ATmega8 с помощью платы Arduino UNO и программы Arduino IDE. Возможно, так же, воспользоваться каким нибудь другим методом.
1. Добавьте в программе Arduino в список поддерживаемых устройств микроконтроллер ATmega8 без bootloader с тактовой частотой 8МГц. Внесите изменения в файл sketchbook/hardware/boards. txt, добавив в него следующую секцию:
############################################################## a8noboot_8MHz.name=ATmega8 (no boot 8 MHz int) a8noboot_8MHz.upload.maximum_size=8192 a8noboot_8MHz.bootloader.low_fuses=0xa4 a8noboot_8MHz.bootloader.high_fuses=0xdc a8noboot_8MHz.build.mcu=atmega8 a8noboot_8MHz.build.f_cpu=8000000L a8noboot_8MHz.build.core=arduino a8noboot_8MHz.build.variant=standard ##############################################################
Уточнить размещение папки sketchbook можно в программе Arduino в меню / . Если в папке sketchbook нет папки hardware, создайте ее и создайте файл boards.txt
2. Подключите микроконтроллер ATmega8 к плате Arduino UNO как описано в Программатор для ATmega8A на Arduino с ArduinoISP.
3. В программе Arduino выберите / / и / . Далее загрузите в микроконтроллер ATmega8 программу ArduinoISP / / и .
4. Соберите программатор.
Для программатора Вам понадобится интерфейс USB-UART. Вы можете воспользоваться кабелем от старого сотового телефона, как описано в этой статье Подбор USB-DATA кабеля вместо USB-UART модуля для самодельного Arduino. Что на мой взгляд, очень удобно. Но вместо этого кабеля Ваш программатор можно подключить к компьютеру с помощью платы преобразователя USB-UART.
На фотографии программируется микроконтроллер ATtiny84.
РадиоКот :: Универсальный AVR-программатор на Arduino.
РадиоКот >Схемы >Цифровые устройства >Примочки к ПК >Универсальный AVR-программатор на Arduino.
Как то понадобилось мне позаливать скетч из Arduino IDE в мелкий восьминогий ATTiny85, как правило, для этого используется Arduino с соответствующим скетчем ArduinoISP. Несколько китайских клонов Arduino Nano у меня имелось, поэтому и использовал их. Все бы хорошо, но мне не недоставало одного вывода. Точнее он имеется у тини (вывод RESET), но чтобы задействовать его как цифровой вход, нужно запрограммировать соответствующий фьюз. С помощью ArduinoISP это можно сделать только один раз, и последующие попытки заливки скетчей с помощью этого и других программаторов ISP становятся невозможными, поскольку вывод с функцией RESET становится не доступным. Если дальнейшей модификации скетча (программы) не требуется, то и проблем нет, но в процессе разработки какого то устройства требуется неоднократная перепрошивка мк. Выход из этой ситуации один – использование высоковольтного программатора. Для AVR контроллеров с выводами 8, 14 используется высоковольтное последовательное программирование, а для мк с выводами 20 и больше – высоковольтное параллельное. Я озадачился поиском подобного программатора, но для меня было принципиально важно, чтобы он был на основе Arduino и работал из под Arduino IDE. Рассматривал вариант использования восстановителя фьюзов для тини, но уж очень хлопотная получается перепрошивка. Это нужно сначала восстановить фьюз, затем перепрошить мк, затем фьюз и т.д. В силу своих скромных способностей в программировании, вариант самому написать скетч для высоковольтного программатора на Arduino отпадал. А вот поиск в инете увенчался успехом. Спасибо парню по имени Matthias Neerache, который создал для нас этот уникальный софт для ардуино.
Итак, какие функции умеет выполнять Arduino под управлением этой «подопытной обезьяны» (ScratchMonkey). Из мануала –
ScratchMonkey использует расширенную версию протокола STK500v2. Он реализует следующие методы программирования:
– ISP (In-Sistem Programming) внутрисхемное программирование использует 4х проводный протокол SPI для программирования и поддерживается почти всеми AVR мк. Главный недостаток – при определенных установках фьюзов может быть не пригодным для использования. В ISP режиме ScratchMonkey работает аналогично встроенному в IDE ArduinoISP программатору. Однако, ScratchMonkey немного более универсальный, поддерживает микроконтроллеры с более чем 128КБ флэш-памяти, и может работать с различными настройками фьзов определяющих режим генератора тактовой частоты мк. Имеет дополнительный выход XTAL (сигнал тактовой частоты), что позволяет запрограммировать мк с настройкой фьюзов на внешний генератор. Кроме того, ScratchMonkey может эмулировать SPI (на те же пины) на более низкой частоте чем аппаратный SPI (Limp Mode), что позволяет программировать мк с внутренним генератором тактовой частоты, настроенным на 128 кГц.
– HVSP (High Voltage Serial Programming) высоковольтное последовательное используется для программирования мк 8 и 14 пин и не зависит от состояния фьюзов. Требует внешний источник 12В и транзисторный ключ для подачи высокого напряжения на RESET пин.
– HVPP (High Voltage Parallel Programming) высоковольтное параллельное используется для программирования мк от 20 пин и выше, не зависит от состояния фьюзов. Также требует внешний источник 12В и транзисторный ключ для подачи высокого напряжения на RESET пин.
– TPI (Tiny Programming Interface) Тини программный интерфейс для мк семейства ATtiny4/5/9/10 (SOT23-6 package). ТПИ использует только 3 вывода, и может работать либо в режиме низкого напряжения или в режиме высокого напряжения. RESET пин может использоваться как обычные линии ввода/вывода.
Более чем достаточно функций для моих целей. Для начала тестирования составил простейшую схему (рис.1) на основе диаграммм из мануала ScratchMonkey и изготовил на макетке типа шилда для Arduino Nano (клона), Рис.2,3 (только ISP и HVSP режимы). Транзистор любой n-p-n.
Рис.1
Рис.1
Рис.3
Для начала этот программатор нужно “прописать” в ArduinoIDE . Делаем так: в папке ScratchMonkey/hardware/scratchmonkey , находим и открываем файл programmers.txt , копируем из него строки:
scratchmonkey_stk500v2.name=ScratchMonkey (STK500 Mode)
scratchmonkey_stk500v2.communication=serial
scratchmonkey_stk500v2.protocol=stk500v2
scratchmonkey_stk500v2_hvsp.name=ScratchMonkey HVSP (STK500 Mode)
scratchmonkey_stk500v2_hvsp.communication=serial
scratchmonkey_stk500v2_hvsp.protocol=stk500hvsp
Вставляем эти строки в аналогичный файл IDE: arduino-1. 6.12/hardware/arduino/avrp/rogrammers.txt. Добавляем к этим строчкам еще по 3 строки (выделены на рис.4), без них не работает. Открываем ArduinoIDE и видим, что добавились два программатора ScrstchMonkey (Рис.5).
Рис.4
Рис.5
В IDE открываем скетч ScratchMonkey.ino и прежде чем залить в Arduino добавим одну строчку. Дело в том, что при высоковольтном последовательном программировании было выявлено, что пин D11Arduino, подающий напряжение питания на мк при обращении к нему остается в 1, а значит программируемый мк остается под напряжением все время, что «не есть гуд». Я не знаю с какой целью автор это упустил, но при параллелном программировании питание отключается после обращения к мк. Открываем вкладку с файлом SMoHWIF_HVSP.h, находим функцию Stop() и добавляем строку digitalWrite(HVSP_VCC, LOW) Рис.6.
Рис.6
Компилим и заливаем скетч в Arduino (без шилда). Вставляем Arduino в шилд, подключаем к разъему (ISP или HVSP) через переходник Attiny. Для режима HVSP подключаем 12V. В пункте Инструменты/Программатор выбираем соответствующий программатор (Рис.5). В пункте «Плата» выбираем предварительно установленные тини. Как добавить ATTiny в IDE здесь. Открываем в IDE файл скетча для тини и заливаем в мк кнопкой «Загрузка» или «Загрузить через программатор».
Что бы сделать действительно универсальный программатор AVR микроконтроллеров из Arduino родилась такая схема, Рис.7, реализующая все возможности ScratchMonkey.
Рис.7
Как видим схема гораздо проще, по сравнению с программаторами с аналогичными возможностями. На линии портов установлены ограничительные резисторы 1кОм, с целью предотвращения кз на этих линиях при неблагоприятных условиях. DD2 – dc/dc конвертер на микросхеме ME2149F 5/12V c Aliexpres Рис.8.
Рис.8
Или самодельный на MC34063, Рис.9. Рис.9
SA1 включает высокое напряжение и переключает низковольтный и высоковольтный режимы. Светодиоды показывают состояние программатора. Разъем XR1 (Debag) для дополнительной отладки программатора, если что-то пойдет не так и сообщений avrdude не достаточно. Подключается к выводам RX и общий конвертера USB/UART, например к такому, Рис.10:
Рис.10
На компе запускается еще один ArduinoIDE и включается монитор предварительно выбранного порта. В мониторе будет выводиться информация ввиде как на рис. 11 слева. Расшифровка этой информации также показана на рисунке. Режим отладки «включается» в файле SmoConfig.h, где в одной из строк
#undef DEBUG_ISP
#undef DEBUG_HVSP
#undef DEBUG_HVPP
#undef DEBUG_TPI
#undef DEBUG_COMM
#undef нужно заменить на #define. Залить скетч заново в Arduino. Следует отметить, что процессы чтения/записи в режиме отладки замедляются раз в 100.
Рис.11
При параллельном программировании к разъему HVPP контроллеры подключаются согласно таблице 1 и даташиту.
Рис. 12
Чтобы работали индикаторы и программатор TPI, как заявляет автор, необходимо пропатчить исходники avrdude, заново собрать и скомпилировать.
Кому интересно как это делается можно посмотреть здесь , но сначала нужно пропатчить ( внести изменения в исходники avrdude). Patch –файл можно найти в папке ScratchMonkey – avrdude.patch.
Пропатченные и скомпилированные файлы avrdude.exe и avrdude.conf вставляются в папки ArduinoIDE вместо штатных файлов. В файл programmers.txt вставляются строки:
scratchmonkey.name=ScratchMonkey ISP/TPI
scratchmonkey.communication=serial
scratchmonkey.protocol=scratchmonkey
scratchmonkey.program.protocol= scratchmonkey
scratchmonkey.program.tool=avrdude
scratchmonkey.program.extra_params=-P{serial.port}
scratchmonkey_hvsp.name=ScratchMonkey HVSP
scratchmonkey_hvsp.communication=serial
scratchmonkey_hvsp.protocol=scratchmonkey_hvsp
scratchmonkey_hvsp.program. protocol= scratchmonkey_hvsp
scratchmonkey_hvsp.program.tool=avrdude
scratchmonkey_hvsp.program.extra_params=-P{serial.port}
scratchmonkey_hvpp.name=ScratchMonkey HVPP
scratchmonkey_hvpp.communication=serial
scratchmonkey_hvpp.protocol=scratchmonkey_pp
scratchmonkey_hvpp.program.protocol= scratchmonkey_hvpp
scratchmonkey_hvpp.program.tool=avrdude
scratchmonkey_hvpp.program.extra_params=-P{serial.port}
Готово. В списке программаторов IDE должны добавиться три программатора:
ScratchMonkey ISP/TPI
ScratchMonkey HVSP
ScratchMonkey HVPP
При программировании должны работать индикация и TPI программирование.
Так как ScratchMonkey использует avrdude, то он будет работать и с оболочками дуды. Например с AVR8-Barn-O-Mat (барномат), необходимо только в установках указать пути расположения файлов avrdude, тогда при следующем запуске «барномата» в списках программаторов увидим ScratchMonkey. Оболочки удобны при заливке HEX-файлов.
Успехов.
Файлы:
Пропатченная дуда
Схемы
Все вопросы в Форум.
Как вам эта статья? | Заработало ли это устройство у вас? |
Программатор USBASP AVR 3.3V/5V – RadioMart.kz
Это удобный миниатюрный программатор, подключаемый к USB-порту персонального компьютера, что очень актуально, т.к. COM-порт существует далеко не на всех современных компьютерах, и тем более на ноутбуках. Использование USB программатора USBASP и функции внутрисистемного программирования (SPI) дают возможность быстро и многократно программировать ваше микропроцессорное устройство в собранном виде, не отключая его питания. При этом процесс отладки программного обеспечения с помощью данного AVR программатора USBASP заметно упрощается и сокращается затрачиваемое на это время.
Поддержка микроконтроллеров: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.
Микроконтроллер ATMega8
Индикация питания и программирования
Поддержка 5В и 3. 3В питания
Конструкция:
Конструктивно программатор выполнен на печатной плате из фольгированного стеклотекстолита, с защитной маской. Подключение программатора к радиолюбительскому устройству производится посредством гибкого шлейфа.
Программное обеспечение:Для работы с программатором понадобится программный интерфейс для ПК. Рекомендуется использовать GUI для AVRDUDE под названием SinaProg – это оконная оболочка предназначенная для работы с консольным программатором. Все настройки в SinaProg, в том числе прошивку микроконтроллера и конфигурацию фьюз-битов можно произвести несколькими щелчками мыши в графической оболочке.
Комплект поставки и внешний вид данного товара могут отличаться от указанных на фотографиях в каталоге интернет-магазина.
Программатор AVR-микроконтроллеров BM9009 МАСТЕР КИТ
Предлагаемый адаптер в собранном виде позволяет реализовать принцип: “купил – подключил”. Устройство представляет собой простой, компактный и надежный программатор микроконтроллеров семейства AVR компании ATMEL. Программатор подключается к обычному LPT-порту персонального компьютера. Использование адаптера и функции внутрисистемного программирования (ISP) дают возможность быстро и многократно программировать микропроцессорное устройство в собранном виде, не отключая его питания. Для этого необходимо лишь установить на отлаживаемой плате разъем для подключения адаптера. При этом процесс отладки программного обеспечения электронного устройства заметно упрощается и сокращается затрачиваемое на это время.
AVR-микроконтроллеры представляют собой мощный инструмент для создания высокопроизводительных и экономичных устройств многоцелевого назначения. Российские радиолюбители по достоинству оценили высокую скорость работы и мощную систему команд AVR, наличие двух типов энергонезависимой памяти на одном кристалле и развитую периферию. Очень часто, на этапе проектирования микропроцессорных устройств, выбор именно этих контроллеров обусловлен широким ассортиментом, невысокой ценой и возможностью их перепрограммирования в составе уже собранного устройства по алгоритму ISP
Предлагаемый программатор компактен, надежен, производителен и прост в использовании, в полностью изготовленном виде он представлен в виде набора МАСТЕР КИТ BM9009.
Технические характеристики программатора приведены в таблице.
Программируемые микроконтроллеры (программатор позволяет программировать микросхемы, имеющие возможность загрузки ПЗУ программ и ЭСПЗУ данных через последовательный интерфейс SPI) | AT90(L)S4433, AT90S8515, AT90(L)S8535, ATmega8(L), ATmega 161(L), ATmega 163(L), ATmega 16(L), ATmega323(L), ATmega103(L), ATmega128(L) и другие |
Напряжение питания, В | 5 |
Ток потребления, мА | 6 |
Интерфейс подключения к ПК | LPT (режим ECP) |
Размеры печатной платы, мм | 29×35,5 |
Принципы работы адаптера
Принципиальная электрическая схема устройства приведена на рис. 1. Адаптер состоит из буфера U1 (SN74HC244), имеющего высокоимпедансные выходы, что позволяет по окончании программирования не отключать адаптер от схемы, не влияя на ее работу (за исключением паразитных емкостей между проводами шлейфа от адаптера до платы устройства и тока потребления адаптера). Через разделительный диод VD1 адаптер питается от программируемой схемы. Для работы адаптера требуется наличие на пользовательском устройстве разъема, подключенного к питанию (5 В) и соответствующим выводам AVR (MOSI, MISO, XTAL1, RESET, SCK), см. рис. 2.
Рис. 1. Схема электрическая принципиальная
Рис. 2. Схема ответной части на отлаживаемой плате, вид сверху
В собранном виде устройство подключается к LPT-порту ПК. Запись программ рекомендуется производить широко распространенным программным обеспечением, совместимым с типовыми адаптерами ATMEL “STK200/STK300”, например AVReal, CodeVisionAVR или Pony-Prog.
Конструкция
Внешний вид адаптера представлен на рис. 3.
Рис. 3. Внешний вид программатора
Конструктивно LPT-адаптер выполнен на печатной плате из фоль-гированного стеклотекстолита. Компактная конструкция предусматривает установку платы внутри стандартного корпуса DВ-25C-E (LPT), при этом плата непосредственно припаивается к выводам разъема. Подключение адаптера к радиолюбительскому устройству производится посредством гибкого многожильного провода (шлейфа). Внутри корпуса LPT-разъема шлейф припаивается к соответствующим выводам разъема XS2.
Готовый адаптер не требует специальной настройки, достаточно лишь убедиться в правильности монтажа компонентов. Важно, чтобы питание отлаживаемого устройства было 5 В, так как адаптер получает питание от него.
Прошивка процессора
Процесс программирования процессора по алгоритму ISP очень прост и не потребует особых навыков. Рассмотрим программирование микроконтроллеров AVR с помощью предлагаемого адаптера на примере популярной программы CodeVisionAVR.
Кроме основной функции – компиляции и редактирования программ, написанных на языке СИ для AVR-микроконтроллеров, этот программный продукт имеет встроенный модуль программирования (меню “Tools/chip programmer”). Перед началом его использования, необходимо в меню “Settings/programmer” выбрать тип используемого адаптера “Kanda Systems STK200+/300” и номер LPT-порта, к которому подключен адаптер. После подключения адаптера к LPT-порту ПК и к разъему программируемого устройства запускают программу-прошивальщик и подают питание на программируемую схему.
После запуска опции программирования в CodeVisionAVR появится окно (см. рис. 4).
Рис. 4. Окно программы CodeVisionAVR
В меню “File” выбирают необходимый для программирования файл с программой или данными EEPROM (расширения: hex, rom, bin, eep). При необходимости редактирования буферного файла запускают встроенный hex-редактор (меню “Edit”).
Далее в основном окне выбирают тип прошиваемого микроконтроллера (chip) и частоту его внутреннего генератора (заводское значение указано в даташите). При необходимости программирования не всей области памяти FLASH или EEPROM существует возможность выбора начального и конечного программируемых адресов.
Расширенные опции программирования (Chip Programming Options: биты блокировки – FLASH Lock Bits, конфигурационные биты – Program Fuse Bit(s)) предназначены для опытных пользователей, их состав определяется типом используемого микроконтроллера AVR. Изменять их рекомендуется, только внимательно изучив соответствующую документацию микроконтроллера.
Внимание! При определенной конфигурации программируемых битов невозможно дальнейшее перепрограммирование микросхемы с использованием этого адаптера, а в ряде случаев происходит полная блокировка дальнейшей записи/считывания информации микропроцессора. Поэтому будьте предельно внимательны и осторожны при изменении этих опций.
После настройки всех опций переходят непосредственно к загрузке нужной информации в микроконтроллер. В меню “Program” выбирают тип необходимой операции программирования (очистка микросхемы, программирование FLASH, EEPROM, битов блокировки, битов конфигурации, либо выполнение всех этих операций – All). После удачного выполнения операции программа выдаст соответствующее сообщение.
При необходимости сброса работы микроконтроллера в исходное состояние нажимают кнопку Reset Chip в окне программатора. Дополнительную информацию и программное обеспечение по микроконтроллерам AVR можно получить на сайте производителя микроконтроллеров AVR.
Литература и интернет-ресурсы
1) Техническое описание блока BM9009.
2) Сайт http://www.masterkit.ru
Источник: Ремонт и сервис
Программатор avr своими руками под windows 10. Миниатюрный USB программатор для AVR микроконтроллеров. Органы управления на плате
В интернете много схем USB программаторов для микроконтроллеров AVR. Все их можно разделить на три группы: программаторы на основе микроконтроллеров AVR, в которых USB интерфейс реализован программно, программаторы на основе микроконтроллеров AVR с аппаратной поддержкой USB, и программаторы на основе микросхем FT232, которые работают в режиме BitBang.
Один из наиболее простых для повторения AVR USB программаторов – это USBasp. Он собран на микроконтроллере Atmega8 (или Atmega48), требует минимум внешних компонентов, имеет несколько готовых вариантов разводки печатной платы и оболочек для программирования, а также может работать под Linux и MacOS.
Правда есть одно НО! Для оживления этого программатора в микроконтроллер нужно записать прошивку, а значит, у вас уже должен быть какой-то работающий AVR программатор или хотя бы возможность его где-то взять.
Схема программатора USBasp представлена на рисунке ниже. Я взял за основу схему с сайта автора http://www.fischl.de/usbasp и немного изменил ee. Были добавлены диоды VD1 – VD3, чтобы уменьшить напряжение питания и согласовать логические уровни микроконтроллера и USB порта без стабилитронов. Были выкинуты цепи подключенные к UART`у, так как они не использовались, и добавлен джампер JP1.
Расскажу о назначении светодиодов и джамперов.
HL1 сигнализирует о том, что идет процесс программирования. Он зажигается на время записи прошивки.
HL2 показывает, что программатор находится в рабочем состоянии. Он зажигается при подаче питания.
JP1 закорачивает цепочку из диодов, что позволяет изменять напряжение на разъеме программирования с 3 на 5 В. Однако без стабилитронов это прокатит не со всеми компьютерами. Многие компы не опознают USBASP, если у него 5-и вольтовые логические уровни.
JP2 изменяет частоту SCK сигнала. При разомкнутом джампере частота SCK будет 375 кГц, при замкнутом – 8 кГц. Это требуется для программирования микроконтроллеров с низкой тактовой частотой (меньше 1.5 МГц).
JP3 подключает вывод RESET к разъему программирования. Это нужно для того, чтобы запрограммировать сам микроконтроллер программатора.
JP4 подключает к разъему программирования +5В от USB порта. Эта функция может понадобиться, чтобы запитать программируемую плату от программатора.
Для сборки программатора USBASP понадобятся следующие компоненты:
Изготовление платы методом ЛУТа не представляет особых сложностей – плата односторонняя, дорожки широкие. При печати не надо зеркалить рисунок платы.
После сборки платы ее нужно тщательно проверить на предмет замыканий. Особенно по цепям питания. Если все в порядке, то можно записать в микроконтроллер прошивку. Ее можно в конце статьи. На сегодняшний день это самая последняя версия, но на всякий случай загляните на сайт автора.
Запрограммировать микроконтроллер можно прямо в составе платы. Для этого нужно замкнуть джампер JP3 и JP4, подключить USBasp к компьютеру для подачи питания и подключить программатор к разъему BH-10. Остальные действия зависят от того, какой программатор вы используете.
После того как микроконтроллер запрограммирован, нужно настроить Fuse биты, чтобы он тактировался от внешнего кварцевого резонатора. Значения Fuse битов такие:
atmega8 HFUSE=0xc9 LFUSE=0xef
atmega88 HFUSE=0xdd LFUSE=0xff
Я прошивал USBASP родным атмеловским программатором. У меня в Atmel Studio окно с Fuse битами выглядело так.
Если прошивать USBasp программатором на FT232 , то в SinaProg изображение Fuse битов будет таким.
Разницы никакой, так что не задавайте вопросы какие Fuse биты установить.
Для работы с программатором под Windows требуется установить драйвера. Их можно скачать с сайта автора. Для операционных систем Linux и MacOS X USBasp`у драйвера не требуется.
Подключаем собранный и запрограммированный USBasp к компьютеру. Операционная система оповестит нас о нахождении нового оборудовании и предложит установить драйвера.
Выбираем опцию – установить из указанного места
Указываем папку в которой лежат драйвера для программатора.
Система немного потупит, а затем начнется процесс установки.
Если все прошло удачно, мастер оборудования завершит работу.
А Windows оповестит нас об установке нового оборудования
Теперь программатором можно пользоваться.
Описанная процедура может немного отличаться в зависимости от версии операционной системы, но суть одна – подсунуть драйвера из папки.
Для работы с USBasp`ом есть несколько программ – avrdude, eXtremeBurner, Khazama и.. какие то еще.
На мой взгляд наиболее удобная в использование программа для USBaspa – это Khazama. Она имеет простой и интуитивно понятный оконный интерфейс. Процесс программирования микроконтроллера выполняется в три шага.
Для программирования микроконтроллеров AVR требуется программатор. Проще всего сделать программатор для COM либо LPT. Но я работаю на ноутбуке, а в них сейчас устанавливаются только USB порты. Вот и назрела необходимость обзавестись программатором для AVR по USB. Сейчас, я скорее всего купил бы данный программатор. На ebay они стоят недорого, наверное, даже дешевле чем купить детали, сделать плату и всё спаять. Хотя если посмотреть с другой стороны, заказ с ebay будет идти по почте не меньше месяца, а собрать программатор avr usb своими руками, в силу его простоты, можно за вечер. Более того, если начинающий радиолюбитель сам соберёт программатор, то в дополнении к программатору он получит опыт, бесценный опыт, а это дорогого стоит.
Это второй мой USB программатор для AVR, первым я сделал программатор USB-asp, но он мне не очень понравился, так как иногда отваливался от моего компьютера, хотя на другом компьютере ничего подобного не наблюдалось. Я решил попробовать собрать другой программатор, и мой выбор пал на программатор AVR910. У данного программатора немного по другому реализована схема подключения по USB, и как позже оказалась, на моём компьютере всё работает очень хорошо. Я забыл о проблемах, которые у меня были с моим прошлым программатором. Описанный в данной статье программатор AVR910 является на данный момент моим основным программатором для AVR.
Схема и прошивка использованы с сайта проекта (http://prottoss.com/projects/AVR910.usb.prog/avr910_usb_programmer.htm).
Питается программатор от USB порта. Для того чтобы не требовалось согласование с уровнями линий данных USB порта (3.6В) питание микроконтроллера составляет 3.6В. Для получения из 5В в USB порте 3.6В, используется схема их двух последовательно прямо включённых кремниевых диодов. На каждом диоде падает по 0.7В, а в сумме получается 1.4В. Диоды должны быть кремниевыми, не допускается использование диодов шотки, так как на них падает меньше 0,7В. Выходы разъёма программирования подключены через резисторы на 330 Ом для согласования уровней. Работает устройство на микроконтроллере AtMega8-16 на тактовой частоте 12МГц. На схеме приведены номера выводов для микроконтроллера в DIP корпусе, хотя я отраcсировал плату под SMD корпус, который называется TQFP. Программатор имеет индикацию записи, чтения, наличия питания. Также данный программатор имеет выход, на котором всегда присутствует меандр, частотой 1 МГц. Это очень классная и полезная штука для восстановления микроконтроллеров, у которых из-за ошибочно запрограммированных Fuse битов тактирование сконфигурировано от внешнего источника тактовых импульсов. Я таким образом уже несколько раз восстанавливал микроконтроллеры. Нужно всего лишь посмотреть в даташите на конкретный микропроцессор AVR, к какому выводу подключается внешний источник тактового сигнала, и подпаять к данному выводу источник меандра. Подключить программатор, и перепрограммировать fuse. Всё очень просто, но иногда здорово выручает!
Имеющиеся варианты реализации печатных плат под программатор AVR910 не совсем меня устраивали, и я выполнил трассировку своего варианта (скачать файлы проекта можно в конце статьи).
Защитный рисунок на фольгированный стеклотекстолит нанесён при помощи лазерного принтера и утюга.
После травления получилась вот такая красота. Я не сдержался, и процарапал тонер на дорожках между ножками микросхемы. Мне не терпелось проверить получились они или нет.
Для удобства пользования я отметил назначение каждого вывода программатора AVR910. Для это я нарисовал небольшую табличку, которую напечатал на глянцевой фотобумаге и наклеил на плату программатора двусторонним скотчем.
Групповую заготовку для таблички для печати на фотобумаге размером 10х15 я положил в архив со всеми файлами к данной записи. Скачать его можно в конце данной статьи.
Прошивку для программатора можно скачать по ссылке в конце статьи.
Fuse биты устанавливаются с соответствии с рисунком ниже:
Как запрограммировать микроконтроллер AtMega8 для программатора AVR910 можно посмотреть в моём видео:
Корпус для программатора AVR910 я не смог подобрать, мне хотелось, чтобы программатор оставался маленького размера, и изначально я пользовался голой, никак не изолированной платой. Но затем я купил широкую прозрачную термоусадку и усадил в неё программатор. Что в итоге получилось вы видите на фото. По моему довольно интересно и даже симпатично.
С термоусадкой всё кажется просто, но мне было сложно сделать отверстия под штыри. Если протыкать отверстия шилом, то при усадке термоусадочная трубочка рвётся начиная от данных отверстий. Я даже испортил несколько заготовок, но у меня в конце экспериментов всё получилось. В итоге я отверстия не протыкал, а проплавлял горячим паяльником с жалом иглой. По краям платы я спаял концы термоусадочной трубки. Спаиваются они очень просто – нагреваются оба конца трубочки, затем быстро, пока они не успели остыть, зажимаются и удерживаются зажатыми до полного остывания. Получается достаточно прочный спай. Я зажимал медицинским зажимом, на термоусадке даже остались следы от насечек на его губках.
При первом подключении к компьютеру программатора AVR910 в системе появится новое устройство AVR910. Теперь необходимо установить драйвера и можно работать.
Я работал с данным программатором на 32 битных системах Windows XP и Windows 7. Всё работает очень хорошо и никаких проблем не возникает. Проблемы возникли у меня когда я попытался установить драйвера для 64 битной Windows 7. Дело в том, что этот драйвер не имеет цифровой подписи Microsoft и 64 битный Windows 7, будучи более защищенным в безопасности, блокирует все драйвера без цифровой подписи. Эту блокировку можно отключить, но это не совсем просто….. Так что имейте ввиду.
Заливаю прошивку в микроконтроллер я при помощи программы AvrOsp2. Она очень простая, не требует установки, бесплатна, поддерживает программатор AVR910 и огромное кол-во микроконтроллеров АВР, хорошо работает и имеет очень удобное меню для работы с FUSE битами. В общем, классная программка, мне она очень нравится, рекомендую! В видео ниже я показал процесс установки драйверов для AVR910, как настроить и пользоваться программой AvrOsp2.
В моей версии программатора я не установил выводной электролитический конденсатор на 22 мкФ, который устанавливается со стороны противоположной дорожкам и паяется в отверстия, которые находятся возле разъёма USB. Возможно потребуется установить дополнительный электролитический конденсатор ёмкостью 10-50мкФ параллельно впаянному керамическому конденсатору 0.1 мкФ, возле зелёного светодиода PWR. Ниже на картинке, от руки показаны места подключения.
Для работы программатора необходим микроконтроллер способный работать до 16 МГц. AVR AtMega8 выпускается в двух сериях, работающих до 8 МГц (серия L), они нам не подходят, так как проект работает от кварца на 12 МГц. Есть и обычная версия, которая работоспособна вплоть до частоты 16 МГц. Это то, что нам нужно. Ниже представлен кусочек даташита AVR AtMega8, в котором вычеркнуты версии микроконтроллеров которые не буду работать в данном программаторе, и выделены зелёной рамкой версии микроконтроллеров которые будут работать в данном проекте.
Микроконтроллеры фирмы ATMEL успели завоевать широкую популярность. Их программирование перед применением можно выполнить непосредственно в плате готового устройства через несложный ISP кабель, подключаемый к LPT порту персонального компьютера или кабель чуть посложнее, подключаемый к COM порту. Но в настоящее время всё больше материнских плат выпускается без того и другого, а в ноутбуках LPT исчез уже давно, сменившись интерфейсом USB. Впрочем, под этот интерфейс программаторы тоже существуют и доступны.
Для масштаба рядом лежит обычный 5 мм светодиод.
Этот программатор USBASP поддерживает следующие микроконтроллеры:
Список поддерживаемых МК
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
Вместе с программатором поставляется 10-жильный летночный кабель с разъёмами.
Питание программатора берется с USB порта компьютера.
На плате программатора имеется место для распайки LDO стабилизатора напряжения на 3,3В, но сам он не распаян.
Программатор поддерживается программой AVRDUDE. Сама программа консольная, но под неё есть . Утилиту avrdude можно найти в папке /hardware/tools/ в дистрибутиве Arduino IDE или скачать в интернете.
Перед началом работы с программатором потребуется скачать драйвер со .
Также программатор поддерживается средой разработки Arduino.
Для программатора существует прошивка под названием , превращающая его в STK500-совместимый и воспринимаемый фирменной средой разработки ATMEL AVR Studio, но в силу высокой вариативности китайского железа пользоваться ею можно только на свой страх и риск.
Планирую купить +32 Добавить в избранное Обзор понравился
+17 +42
Сегодня расскажу, о недорогим и очень простом программаторе USBAsp v.2.0 для микроконтроллеров AVR (основанный на дизайне Томаса Фишла), с его помощью можно прошивать контроллеры AVR по интерфейсу ISP (не выпаивая его с платы), а самое главное, можно прошить загрузочный сектор на контроллерах Arduino.
Технические параметрыНапряжение питания: 5 В, DC
Интерфейс: USB 2.0
Программирование/ чтение: Atmel (AVR)
Габариты: 70 мм x 18 мм x 10 мм
Поддержка операционных систем: Windows XP / 7 / 8 / 8.1 / 10.
Программатор USBAsp распространяется и открытым исходным кодом, так что при желании можно изготовить самому, скачав печатную плату и прошивку с сайта Thomas, из-за этого в различных интернет магазинах существует различные варианты программатора с одинаковым функционалом. В моем случае буду рассказывать о USBAsp V2.0 китайского производителя LC Technelogy.
Программатор собран на синий печатной плате, слева расположен USB-разъем необходимый для подключения к компьютеру. В центре располагается контроллер ATmega8A, рядом установлен кварцевый резонатор на 12 МГц и электрическая обвязка (резисторы, конденсаторы). Справа расположен 10-контактный разъем (два ряда, по пять выводов, шагом 2.54 мм), обеспечивающий обмен данными с прошиваемым микроконтроллером (интерфейс ISP). В комплекте поставляется кабель, с каждой стороны которого, установлен разъем IDC (10 выводов), для простоты прошивки некоторых плат (например Arduino), советую приобрести адаптер-переходник с 10-pin на 6-pin. Назначение выводов программатора USBAsp можно посмотреть на рисунке ниже, вид на стороне программатора.
Назначение выводов:
1 – MOSI
2 – VCC
3, 8, 10 – GND
4 – TXD
5 – RESET
6 – RXD
7 – SCK
9 – MISO
Световая индикация
Красный светодиод G – Включен
Красный светодиод R – Обмен данными
Перемычки
JP1 — POWER, управляет напряжением на разъеме ISP VCC (вывод 2), можно установить на + 3.3В, + 5В или вовсе убрать перемычку, если программируемое устройство, имеет собственный источник питания.
JP2 — SERVICE, обновления прошивки USBasp.
JP3 — SLOW, программирования на низких скоростях, если программируемое устройство, работает на частоте ниже 1.5 МГц, SCK (вывод 7) уменьшит частоту с 375 кГц до 8 кГц.
Принципиальная схема программатора USBAsp V2.0 можно посмотреть на рисунке ниже.
Список поддерживаемых AVR микроконтроллеров:
Mega Series: ATmega8, ATmega8A, ATmega48, ATmega48A, ATmega48P, ATmega48PA, ATmega88, ATmega88A, ATmega88P, ATmega88PA, ATmega168, ATmega168A, ATmega168P, ATmega168PA, ATmega328, ATmega328P, ATmega103, ATmega128, ATmega128P, ATmega1280, ATmega1281, ATmega16, ATmega16A, ATmega161, ATmega162, ATmega163, ATmega164, ATmega164A, ATmega164P, ATmega164PA, ATmega169, ATmega169A, ATmega169P, ATmega169PA, ATmega2560, ATmega2561, ATmega32, ATmega32A, ATmega324, ATmega324A, ATmega324P, ATmega324PA, ATmega329, ATmega329A, ATmega329P, ATmega329PA, ATmega3290, ATmega3290A, ATmega3290P, ATmega64, ATmega64A, ATmega640, ATmega644, ATmega644A, ATmega644P, ATmega644PA, ATmega649, ATmega649A, ATmega649P, ATmega6490, ATmega6490A, ATmega6490P, ATmega8515, ATmega8535,
Tiny Series: ATtiny12, ATtiny13, ATtiny13A, ATtiny15, ATtiny25, ATtiny26, ATtiny45, ATtiny85, ATtiny2313, ATtiny2313A
Classic Series: AT90S1200, AT90S2313, AT90S2333, AT90S2343, AT90S4414, AT90S4433, AT90S4434, AT90S8515, AT90S8535
Can Series: AT90CAN128
PWN Series: AT90PWM2, AT90PWM3
Подключаем программатор к USB порту на компьютере, если все нормально, на плате загорится красный светодиод. Далее операционная система начнет поиск драйвера
Так как, в операционной системе нету необходимого драйвера, в «Диспетчере устройств » появится устройство «USBAsp » с восклицательным знаком.
Скачиваем с цифровой подписью, разархивируем и запускаем «InstallDriver.exe»
Драйвер установлен, в «Диспетчере устройств » пропадет восклицательный знак с «USBAsp ».
Установка драйвера на Windows XP и Windows 7 аналогичная, программатор готов к работе.
Программу разработал «Боднар Сергей », работает не только с китайским программатором USBAsp v.2.0, но и другими программаторами. Первым делом скачиваем программу, разархивируем и запускаем «AVRDUDEPROG.exe ».
В качестве примера, прошью китайскую плату в которой установлен микросхема ATmega328P. В программе, жмем на вкладку «Микроконтроллеры » и выбираем ATmega328P.
Далее, необходимо выбрать прошивку, в строке «Flash » нажимаем «. . . », переходим в папку «C:\Program Files\Arduino\hardware\arduino\avr\bootloaders\atmega » и выбираем «ATmegaBOOT_168_atmega328.hex », жмем «Открыть »
Подключаем программатор к плате «Arduino UNO R3 », и нажимаем кнопку «Программирование ».
В конце, выйдет диалоговое окно, о удачном окончании программировании.
С развитием компьютерной техники, с каждым разом становится все меньше и меньше компьютеров оснащенных COM и LPT портами. Это в свою очередь вызывает затруднения, в частности у радиолюбителей, связанные с сопряжением средств программирования микроконтроллеров с персональным компьютером.
В данной статье приведено описание USB программатора для микроконтроллеров AVR, который можно собрать своими руками. Построен он на микроконтроллере Atmega8 и способен работать от USB разъема компьютера. Данный программатор совместим с STK500 v2.
Описание USB программатора
USB программатор построен на плате, сделанной из одностороннего фольгированного стеклотекстолита . На плате есть 2 перемычки: одна расположена под разъёмом SPI, вторая перемычка расположена неподалеку от того же разъема.
После того как все детали будут запаяны нужно прошить микроконтроллер Atmega8 прошивкой приведенной в конце статьи. Фьюзы, которые необходимо выставить при программировании микроконтроллера Atmega8, должны выглядеть следующим образом:
- SUT1 = 0
- BOOTSZ1 = 0
- BOOTSZ0 = 0
- CKOPT = 0
- SPIEN = 0
Необходимо напомнить, что в некоторых программах фьюзы выставляются противоположно этому. Например, в программе CodeVisionAVR необходимо проставить галочки напротив вышеперечисленных фьюзов, а в программе PonyProg наоборот.
Программирование Atmega8 через LPT-порт компьютера
Самый быстрый и дешевый способ запрограммировать Atmega8 – применить LPT-программатор для AVR. Подобная схема приведена ниже.
Питание микроконтроллера осуществляется от простого стабилизатора напряжения 78L05. В качестве оболочки для программирования можно использовать программу UniProf.
При первом включении программы и при не подключенном контроллере, нажав кнопку «LPTpins», необходимо настроит выводы LPT-порта следующим образом:
В момент запуска UniProf, она автоматом определяет вид микроконтроллера. Загружаем в память UniProf прошивку Atmega8_USB_prog.hex, отклоняем подключение файла EEPROM.
Выставляем следующим образом фьюзы (для программы UniProF), нажав кнопку «FUSE»:
Для запоминания установок нажимаем все три кнопки «Write». Затем нажав на «Erase» предварительно очищаем память прошиваемого микроконтроллера. После этого уже жмем на «Prog» и дожидаемся завершения прошивки.
Настройка USB программатора
После того как наш микроконтроллер прошит, его необходимо установить в плату USB программатора. Далее подключаем программатор к USB порту компьютера, но пока питание не подаем.
Настройка порта:
Настройка терминала:
Настройка ASCII:
Теперь после всех проделанных процедур, подаем питание на USB программатор. Светодиод HL1 должен промигать 6 раз и затем светится постоянно.
Для проверки связи USB программатора с компьютером 2 раза нажимаем клавишу «Enter» в программе HyperTerminal. Если все в порядке мы должны увидеть следующую картину:
Если это не так проверяем еще раз монтаж, особенно линию TxD.
Далее вводим версию программатора 2.10, так как без этого программатор не будет работать с программами «верхнего уровня». Для этого вводим «2» и нажимаем «Enter», вводим «а» (английская) и нажимаем «Enter».
USB программатор способен распознавать подключение программируемого микроконтроллера. Выполнено это в виде контроля «подтяжки» сигнала Reset к источнику питания. Этот режим включается и выключается следующим образом:
- «0», «Enter» — режим выключен.
- «1», «Enter» — режим включён.
Изменение скорости программирования (1МГц):
- «0», «Enter» – максимальная скорость.
- «1», «Enter» – сниженная скорость.
На этом подготовительная работа завершена, теперь можно попробовать прошить какой-нибудь микроконтроллер.
(скачено: 1 203)
Программирование ATmega8 с использованием Arduino IDE
«Я написал свой код для платы Arduino UNO. Можно ли загрузить мой скетч на микроконтроллер AVR, кроме ATmega328? Думаю, это самый частый вопрос любителей Arduino. Это может иметь разные причины, например:
- Использование более дешевого микроконтроллера AVR
- Требуется микроконтроллер AVR с большим или даже меньшим количеством контактов, чем у ATmega328
- У вас есть все виды AVR, кроме ATmega328: D
В этом руководстве вы будете узнайте, как программировать ATmega8 с помощью Arduino IDE.Он не ограничивается только ATmega8 и может быть распространен на другие ядра, доступные на GitHub MCUDude. Он состоит из двух частей. В первой части описывается установка загрузчика Arduino на ATmega8. Во второй части показано, как программировать ATmega8 с использованием Arduino IDE и преобразователя USB в TTL.
Часть первая: Установка загрузчика ArduinoВ этой части мы добавляем поддержку ATmega8 в Arduino IDE. Затем мы установили макет и подключили ATmega8 к плате Arduino UNO.
Шаг первый: Добавление поддержки ATmega8 в Arduino IDE с помощью Board ManagerВ репозитории MCUDude на GitHub доступны различные типы ядер.MiniCore используется для микроконтроллера ATmega8. В этом ядре поддерживаются следующие микроконтроллеры:
- ATmega8
- ATmega48
- ATmega88
- ATmega168
- ATmega328
Чтобы установить MiniCore в IDE Arduino, выполните следующие действия.
- В меню File щелкните Preferences .
- Теперь в URL-адресах менеджера дополнительных плат введите следующий URL-адрес:
https: //mcudude.github.io / MiniCore / package_MCUdude_MiniCore_index.json
- Перейдите в меню Tools и затем выберите Board > Boards Manager
- В окне Boards Manager найдите MiniCore и установите последнюю версию.
Вышеупомянутые шаги показаны здесь графически:
Распиновка ATmega8 показана на следующем рисунке.
Шаг второй: Программирование Arduino как ISP (внутрисистемное программирование)Чтобы записать загрузчик Arduino, нам нужно сделать наш Arduino UNO как ISP.Во встроенных примерах Arduino IDE есть эскиз под названием ArduinoISP . Выполните следующие действия, чтобы запрограммировать Arduino UNO в качестве интернет-провайдера.
- Открыть файл > Примеры > 11.ArduinoISP > ArduinoISP
- Загрузите этот эскиз на свой Arduino UNO.
- Подключите Arduino к ATmega8, как показано ниже.
Arduino ———- ATmega8
SCK / контакт 13 ———- SCK / PB5
MISO / контакт 12 ——– –MISO / PB4
MOSI / контакт 11 ———- MOSI / PB3
SSN / контакт 10 ———- СБРОС
- Перейти к инструментам > Board и выберите ATmega8 . Вы также можете выбрать тип часов и частоту в меню Инструменты .
- Выберите тип программатора в Tools > Программист: как « Arduino как ISP ».
- Теперь в меню Tools щелкните Burn Bootloader .
Если операция прошла успешно, отображается сообщение « Готово записать загрузчик ». Поздравляю! Вы сделали это.
Часть вторая: Программирование ATmega8 с использованием Arduino IDE и преобразователя USB в TTLЗдесь у нас есть ATmega8 с загрузчиком Arduino.Как вы знаете, на всех платах Arduino есть преобразователь USB в TTL. Он действует как мост между микроконтроллером и Arduino IDE. Мы используем модуль конвертера USB в TTL Ch440 для загрузки скетча в ATmega8.
Шаг четвертый: Настройка подключенийПодключите компоненты, как показано ниже.
Ch440 ———- ATmega8
VCC ———- VCC
GND ———- GND
Tx — ——- RX / PD0
Rx ———- Tx / PD1
Шаг пятый: Загрузка эскиза в ATmega8Нажмите и удерживайте кнопку сброса. Теперь нажмите на загрузку в IDE. Удерживайте кнопку, пока в строке состояния IDE не появится надпись «Загрузка…». Отпустите кнопку после того, как начнется процесс загрузки. Это потому, что микроконтроллер должен находиться в состоянии СБРОС, когда начинается процесс загрузки.
Примечание. Если процесс завершился неудачно, установите конденсатор емкостью 100 нФ на Vcc и GND микроконтроллера как можно ближе.
Примечание. Некоторые модули преобразователя USB в TTL имеют вывод с именем DTR. Если у вас тоже есть этот вывод, вы можете подключить его к выводу RESET ATmega8, и нет необходимости использовать кнопку для ручного сброса микроконтроллера.
wagiminator / AVR-Programmer: Сборник программаторов AVR и аксессуаров
Коллекция плат и принадлежностей для программаторов AVR
Наверное, простейший программатор UPDI для микроконтроллеров tinyAVR, megaAVR и AVR-Dx. Программист работает как с pyupdi, так и с Arduino IDE как «Последовательный порт и 4. 7k (стиль pyupdi)». Он основан на микросхеме USB-to-serial Ch430N.
UPDI Programmer (jtag2updi) для микроконтроллеров tinyAVR, megaAVR и AVR-Dx, построенных на ATmega8 / 88/168/328 на основе дизайна и прошивки ElTangas.
Mini UPDI Programmer Stick (jtag2updi) для микроконтроллеров tinyAVR, megaAVR и AVR-Dx, построенных на ATtiny1604 / 1614 на основе дизайна и прошивки ElTangas. Программируйте новые устройства ATtiny с новым устройством ATtiny!
HV UPDI (High-Voltage Unified Program and Debug Interface) Программатор для микроконтроллеров tinyAVR, megaAVR и AVR-Dx, построенных на ATmega8 / 88/168/328 на основе дизайна и прошивки Dlloydev. Программатор HV UPDI позволит вам использовать дополнительные параметры конфигурации для вывода UPDI, не опасаясь блокировки от MCU.Он имеет 3 режима программирования: UPDI, HV или PCHV с целевым напряжением 5 В.
Mini HV UPDI (High-Voltage Unified Program and Debug Interface) программатор для микроконтроллеров tinyAVR, megaAVR и AVR-Dx, построенных на ATtiny1604 / 1614 на основе дизайна и прошивки Dlloydev. Mini HV UPDI Programmer Stick позволит вам использовать дополнительные настройки конфигурации для вывода UPDI, не опасаясь блокировки от MCU. Он имеет 3 режима программирования: UPDI, HV или PCHV с целевым напряжением 5 В.
USBasp – USB-программатор ISP / TPI для микроконтроллеров Atmel AVR с заданным напряжением 5 В и 3,3 В на основе дизайна Томаса Фишла.
Простой USB-программатор ISP для микроконтроллеров Atmel AVR на базе ATtiny45 / 85. Более подробную информацию можно найти на https://dicks.home.xs4all.nl/avr/usbtiny/.
USBasp – Программатор USB ISP / TPI для микроконтроллеров Atmel AVR на основе разработки Томаса Фишла.
USB-программатор ISP с буфером для микроконтроллеров Atmel AVR на основе дизайна Ladyada.
Простой USB-программатор ISP для микроконтроллеров Atmel AVR. Более подробную информацию можно найти на https://dicks.home.xs4all.nl/avr/usbtiny/.
Преобразователь USB в последовательный порт на базе нового чипа ch430.
Адаптер программатора AVR для 8-контактных микроконтроллеров ATtiny для преобразования:
- 6-контактные разъемы ICSP,
- 10-контактные разъемы ICSP,
- 8-контактные адаптеры SOP8 / SOIC8,
- 8-контактные зажимы SOP8 / SOIC8,
- 8-контактных микросхем DIP8.
Адаптер для программирования AVR Maxi позволяет легко программировать SMD ATtinys и ATmegas в корпусах SOIC-8, SOIC-14 и TQFP-32.
HiLetgo 51 AVR Программатор ATMEGA8 USBasp USB ISP 10-контактный USB-программатор 3,3 В / 5 В с кабелем
Основной чип : ATMega8A-au. Поддержка AVR и чипа ASP. Поддержка микроконтроллера AT89S51 / 52.Выходной порт является стандартным портом ATMEL. С максимальной токовой защитой. автоматический контроль скорости. С индикаторной лампой питания и записи.С питанием от USB и целевой платой целевое напряжение 5 В, можно выбрать с помощью перемычки.
с автоматической скоростью автофокуса, загрузчик автоматически отслеживает частоту микросхемы, которая будет запрограммирована, автоматически изменяет скорость для достижения автоматического контроля скорости.
Резервный MOSI, MISO, RET, SCK, VCC, GND. 6-контактный интерфейс, удобный интерфейс для подключения целевой платы.
Зарезервированный интерфейс программирования, пользователь может обновить прошивку для загрузки.
Список поддерживаемых микросхем:
51 Серия :
AT89S51? AT89S52 ?? AT89S53? AT89S8252
Серия AVR :
ATTiny12 (L)? ATTiny13 (V)? ATTiny15 (L)? ATTiny24 (V)? ATTiny25 (V)? ATTiny26 (L)? ATTiny2313 (V)? ATTiny44 (V)? ATTiny45 (V)? ATTiny84 (V)? ATTiny85 (V)? AT90S2313 (L)? AT90S2323 (L)? AT90S2343 (L)? AT90S1200 (L)? AT90S8515 (L)? AT90S8535 (L)? ATMEGA48 (V)? ATMEGA8 (L)? ATMEGA88 (V)? ATMEGA8515 (L)? ATMEGA8535 (L)? ATMEGA16 (L)? ATMEGA162 (V)? ATMEGA163 (L)? ATMEGA164 (V)? ATMEGA165 (V)? ATMEGA168 (V)? ATMEGA169 (V)? ATMEGA169P (V)? ATMEGA32 (L)? ATMEGA324 (V)? ATMEGA325 (V)? ATMEGA3250 (V)? ATMEGA329 (V)? ATMEGA3290 (V)? ATMEGA64 (L)? ATMEGA640 (V)? ATMEGA644 (V)? ATMEGA645 (V)? ATMEGA6450 (V)? ATMEGA649 (V)? ATMEGA6490 (V)? ATMEGA128 (L)? ATMEGA1280 (V)? ATMEGA1281 (V)? ATMEGA2560 (V)? ATMEGA2561 (V)? AT90CAN32? AT90CAN64? AT90CAN128? AT90PWM2 (B)? AT90PWM3 (B)
В пакет включено:
1 * 51 AVR Программатор ATMEGA8 USBasp
Кабель для передачи данных 1 * 10P
Советы:
1.Для пользователей Windows вам придется отключить проверку драйверов, чтобы установить необходимые драйверы.
2. Это 10-контактное соединение. (вам нужно будет сделать переходник на 6 контактов, если вы используете его для Arduino Mega)
Как его использовать?
1. Подключите USBasp
2. Загрузите Zadig с [zadig. акео. ie]
3. Запустите zadig
4. Параметры> Список всех устройств
5. Выберите USBasp в раскрывающемся меню
6. Выберите libUSBK (v 3.0. 7.0) драйвер
7. Нажмите Установить
51 AVR Программатор ATMEGA8 USB ASP USB ISP 10-контактный USB-программатор 3,3 В / 5 В с кабелем, основной чип: ATMega8A-AU
Описание:Это Программатор USBasp для микроконтроллеров Atmel AVR. Он просто состоит из ATMega8 и пары пассивных компонентов ATMega8 с рабочей частотой 12 МГц. Программатор использует USB-драйвер только для прошивки, специальный USB-контроллер не требуется, что делает его недорогим USB-программатором.USBasp Programmer – недорогой программатор на базе USB. Это ISP (системный программист) программист, поэтому вы можете запрограммировать целевой микроконтроллер, не удаляя его с платы разработки целевого микроконтроллера. Этот программатор будет работать с широким спектром микроконтроллеров Atmel AVR и AT89Sxx. Они довольно компактные, но дизайн действительно элегантный. Интерфейс USB достигается за счет использования процессора atmega8, а все остальное делается в прошивке. Это недорогой программатор, разработанный для людей с ограниченным бюджетом.Поддерживаемое программное обеспечение: – Недорогое, простое в использовании, программатор будет работать с широким спектром микроконтроллеров Atmel AVR. Программист также может работать с разнообразным программным обеспечением. / P>
Спецификация:- Основной чип: ATMega8A-AU
- Источник питания: 5 В и 3,3 В
- Работает под несколько платформ. Linux, Mac OS X и Windows протестированы.
- Позволяет читать или записывать EEPROM микроконтроллера, прошивку, биты предохранителей и биты блокировки.
- Скорость программирования до 5 КБ / сек.
- Программно управляемая опция SCK для поддержки целей с низкой тактовой частотой (менее 1,5 МГц).
- 6-контактная плата адаптера вместе с программатором для стандартных подключений ISP.
- Разъем USB типа B для питания.
- Два отдельных светодиода для индикации питания и состояния программатора.
AT89S51, AT89S52, AT89S53, AT89S8252
Серия AVR:ATTiny12 (L), ATTiny13 (V), ATTiny ATTiny24 (V), ATTiny25 (V), ATTiny26 (L), ATTiny2313 (V), ATTiny44 (V), ATTiny45 (V), ATTiny84 (V), ATTiny85 (V), AT90S2313 (L), AT90S2323 (L), AT90S2343 (L), AT90S1200 (L), AT90S8515 (L), AT90S8535 (L), ATMEGA48 (V), ATMEGA8 (L), ATMEGA88 (V), ATMEGA8515 (L), ATMEGA8535 (L), ATMEGA16 (L), ATMEGA162 (V), ATMEGA163 (L), ATMEGA164 (V), ATMEGA165 (V), ATMEGA168 (V), ATMEGA169 (V), ATMEGA169P (V), ATMEGA32 (L), ATMEGA324 (V), ATMEGA325 ATMEGA3250 (V), ATMEGA329 (V), ATMEGA3290 (V), ATMEGA64 (L), ATMEGA640 (V), ATMEGA644 (V), ATMEGA645 (V), ATMEGA6450 (V), ATMEGA649 (V), ATMEGA6490 (V), ATMEGA6490 (V) ATMEGA128 (L), ATMEGA1280 (V), ATMEGA1281 (V), ATMEGA2560 (V), ATMEGA2561 (V), AT90CAN32, AT90CAN64, AT90CAN128, AT90PWM2 (B), AT90PWM3 (B) и т. Д.
В пакет включено:- 1 программатор USBasp
- 1 x 10-контактный ленточный кабель для передачи данных
О компании Программатор AVR
АРН Внутрисхемный последовательный программатор
АРН Розетка PCB
|
LanGuShi DIY 5шт 3.3 5V ATMEGA8 AVR Downloader Programmer Atlanta Mall с
Интерфейс USB может обеспечивать питание 5 В для загрузчика и целевой платы. Мы добавляем Polyswitch 500 мА, чтобы предотвратить повреждение USB-порта компьютера. Когда выходной поток превышает 500 мА (перегрузка по току или короткое замыкание), PolySwitch немедленно разделит ток для защиты материнской платы компьютера! Когда ошибки короткого замыкания устранены, полисвитч автоматически вернется в нормальное состояние, и программатор может продолжить нормальное использование.
Встроенная защита от перегрузки по току
Встроенный ATMega8 (L)
Описание:
Характеристики: Интерфейс USB
может обеспечить питание 5 В для загрузчика и целевой платы. Мы добавляем переключатель 500 мА для предотвращения повреждения USB-порта компьютера. выходной ток превышает 500 мА (перегрузка по току или короткое замыкание), PolySwitch немедленно разделит ток для защиты материнской платы компьютера! Когда ошибки короткого замыкания устранены, полисвитч автоматически вернется в нормальное состояние, и программатор может продолжить нормальное использование.
Описание:
Встроенный ATMega8 (L)
Список поддерживаемых микросхем:
Серия 51:
AT89S51, AT89S52, AT89S53, AT89S8252 Серия AVR
:
ATTiny12 (L), ATTiny13 (V), ATTiny15 (L), ATTiny24 ( V), ATTiny25 (V), ATTiny26 (L), ATTiny2313 (V), ATTiny44 (V), ATTiny45 (V), ATTiny84 (V), ATTiny85 (V), AT90S2313 (L), AT90S2323 (L), AT90S2343 ( L), AT90S1200 (L), AT90S8515 (L), AT90S8535 (L), ATMEGA48 (V), ATMEGA8 (L), ATMEGA88 (V), ATMEGA8515 (L), ATMEGA8535 (L), ATMEGA16 (L), ATMEGA162 ( V), ATMEGA163 (L), ATMEGA164 (V), ATMEGA165 (V), ATMEGA168 (V), ATMEGA169 (V), ATMEGA169P (V), ATMEGA32 (L), ATMEGA324 (V), ATMEGA325 (V32), ATMEGA325 (V32), ATMEGA325 (V32), ATMEGA325 (V32), ATMEGA325 (V32) V), ATMEGA329 (V), ATMEGA3290 (V), ATMEGA64 (L), ATMEGA640 (V), ATMEGA644 (V), ATMEGA645 (V), ATMEGA6450 (V), ATMEGA649 (V), ATMEGA6490 (V128), ATMEGA6490 (V128), ATMEGA L), ATMEGA1280 (V), ATMEGA1281 (V), ATMEGA2560 (V), ATMEGA2561 (V), AT90CAN32, AT90CAN64, AT90CAN128, AT90PWM2 (B), AT90PWM3 (B)…
В пакет включено:
Программатор 5 x USBASP
Кабель 5 x 10 Pin
Мой дорогой покупатель, если есть какие-либо проблемы с товарами, которые вы покупаете, пожалуйста, свяжитесь с нами.
ATmega8 – Часть 2 из 3 – Микроконтроллер
Это руководство является продолжением статьи «Схема макетной платы ATmega8 – часть 1», в которой мы собираем небольшой блок питания на макетной плате. В этой части мы добавим микроконтроллер ATmega8 и интерфейс, позволяющий его программировать.
Первый шаг – сориентироваться в микроконтроллере ATMEGA8.Поскольку мы строим нашу схему на макетной плате, мы используем вариант PDIP (ATMEGA8A-PU). Вы также можете построить эту схему, используя ATmega48, 88, 168 или 328, поскольку все они имеют одинаковую схему контактов, но имеют немного разные функции, тактовую частоту и память.
Когда вы посмотрите на микроконтроллер, вы увидите несколько деталей, которые помогают определить номера контактов. На одном конце есть полукруг / полумесяц. Это обозначает верх IC (интегральная схема). В пакете PDIP / DIP контакты пронумерованы от 1 против часовой стрелки от этого маркера.Кроме того, на ATmega8 есть маленький кружок, обозначающий контакт 1.
Когда вы посмотрите на распиновку, вы заметите, что многие из контактов помечены как порты ввода / вывода. например Контакт 28 имеет метку «PC5», что означает «Контакт 5 порта C». Порты ввода-вывода также имеют второстепенные функции, указанные в скобках. например Контакт 28 выполняет второстепенные функции ADC5 (входной канал АЦП 5) и SCL (линия синхронизации двухпроводной последовательной шины). В некоторых случаях (например, сброс на выводе 1) вторичная функция используется гораздо чаще, чем первичная.
Теперь пора вставить микроконтроллер на макетную плату. Вам нужно будет немного загнуть штифты внутрь. Один из методов – неглубоко вставить одну сторону ИС, а затем согнуть штыри на другой стороне так, чтобы они вошли в точки крепления на этой стороне. Затем вы можете аккуратно толкать / покачивать ИС.
Теперь подадим питание на микросхему. ATmega8 имеет 2 контакта заземления (8 и 22), контакт VCC (7) для положительного источника питания и аналоговый контакт VCC (20) для подачи питания на аналого-цифровой преобразователь.На рисунке ниже показано, как они подключены.
Для нормальной работы на контакте 1 (PD0 / Reset) должен быть высокий уровень. Когда этот вывод временно заземлен, система сбрасывается / перезагружается. Это обозначено на схеме выводов горизонтальной линией над надписью «СБРОС». Это обозначение довольно распространено и означает, что функция активируется, когда контакт заземлен.
Мы построим схему, состоящую из 10к; резистор и кнопочный переключатель. Резистор «подтягивает» вывод так, что он становится высоким для нормальной работы, в то время как кнопочный переключатель временно заземляет вывод для операции сброса.Если резистора там нет (т.е.заменен на кусок провода с сопротивлением 0 Ом), то нажатие кнопки переключит всю мощность на землю, что будет означать отсутствие питания для VCC / AVCC и взорвать блок питания.
Переключатель, который мы используем, представляет собой микротактильный переключатель. Эти переключатели имеют 2 пары контактов, при этом контакты в каждой паре соединены друг с другом. Это показано на диаграммах ниже.
Вам будет полезно распрямить контакты тактильного микропереключателя перед тем, как вставить его на макетную плату.Теперь нам просто нужно построить схему на плате.
Последний этап – создание интерфейса ISP (In System Programming). Это позволяет записывать прошивку в микроконтроллер с помощью программатора, такого как USBASP AVR Programmer.
Интерфейс ISP будет через 10-контактный разъем IDC (закрытый / коробчатый заголовок), что вызывает у нас проблемы. Эти разъемы не подходят для монтажа на макетной плате, поскольку между ними расстояние между рядами составляет 0,1 дюйма (2,54 мм). Нам нужно, чтобы строки были равны 0.3 дюйма (7,62 мм), чтобы они могли поместиться по обе стороны от центрального канала макета.