Универсальный внешний накопитель для всех iOS-устройств, совместим с PC/Mac, Android
Header Banner
8 800 100 5771 | +7 495 540 4266
c 9:00 до 24:00 пн-пт | c 10:00 до 18:00 сб
0 Comments

Содержание

Ещё один шаг в сторону от ардуинонизации

В моём случае это абсолютный рекордсмен по скорости доставки — около 5 месяцев беспечного блуждания непонятно где. Несмотря на чудовищную задержку по времени, пакет я всё-таки получил, чему несказанно рад, не взирая на недочёты, о коих поведаю ниже. Поскольку у меня весьма плохая память, то нужно было объединить найденную полезную информацию где-то в одном месте в виде памятки, собирать её по крупицам в разных закоулках сети оказалось делом нетривиальным, поэтому оформлю всё это отдельным постом.
USB ISP — самый дешёвый программатор контроллеров AVR, что можно найти в продаже, брался для расширения кругозора и более углубленного изучения AVR.
Обзор в себя включает: описание программатора, как его подключить к чипу, настройку его работы в программах AvrDude Prog, Khazama, Atmel Studio 7, и не только это.

Конечно вместо него можно использовать Arduino UNO с прошитым в него скетчем ArduinoISP, но это не удобно, возня с проводами, особенно если UNO всего одна, отбивает энтузиазм.

Проще было заиметь отдельно такой программатор, точнее два. По двум причинам:
1) Ещё перед покупкой уже из отзывов было понятно, что качество пайки этих устройств страдает, а некоторым ещё и с расколотыми стабилитронами они приходили. Решено было подстраховаться, заказав два.
2) Один программатор к тому же можно шить другим, переставив перемычку на ведомом устройстве.

Технические характеристики Поддерживаемые ОС: Windows, MacOS, Linux
Процессор: Atmega8A
Интерфейс подключения к ПК: USB
Интерфейс программирования: ISP (внутрисхемное)
Напряжение программирования: 5В или 3.3В (в зависимости от положения перемычки JP2)
Частота программирования: 375кГц (по умолчанию) и 8кГц (при замкнутой перемычке JP3)
Поддерживаемые контроллеры: все AVR с интерфейсом SPI
Описание: ссылка

Список поддерживаемых микроконтроллеров

ATmega серияATmega8 ATmega48 ATmega88 ATmega168 ATmega328
ATmega103 ATmega128 ATmega1280 ATmega1281 ATmega16
ATmega161 ATmega162 ATmega163 ATmega164 ATmega169
ATmega2560 ATmega2561 ATmega32 ATmega324 ATmega329
ATmega3290 ATmega640 ATmega644 ATMEGA64 ATmega649
ATmega6490 ATmega8515 ATmega8535

Tiny серияATtiny12 ATtiny13 ATtiny15 ATtiny26 ATTINY25
ATtiny45 Attiny85 ATtiny2313

Серия ClassicAT90S1200 AT90S2313 AT90S2333 AT90S2343 AT90S4414
AT90S4433 AT90S4434 AT90S8515
AT90S8535

CAN серияAT90CAN128

PWM серияAT90PWM2 AT90PWM3

Внешний видКомплект поставки минимальный — программатор + шлейф без резинки. В моём случае в удвоенном количестве.

Культура исполнения и вправду хромает, мне в глаза сразу бросились криво припаянные гребёнки. Везде где только можно — имеются следы флюса, причём с окислами, по всей видимости, программаторы давно валялись на складе, а сборка их производилась с присущей китайцам быстротой.







Некоторые отверстия не целиком заполнены припоем

SMD-элементы тоже криво припаяны

Гребёнку чуть позже выровнял, уж больно неприятно на такую раскосую смотреть, элементы пропаял, а плату затем отмыл

Размеры платы несколько больше USB-TTL-конвертера на CP2102

Длина шлейфа около 30см, бытует мнение, что чем короче шлейф, тем лучше. Некоторые его специально укорачивают. Если заказать оригинальный USBASP — там комплектный шлейф уже 50см.

Органы управления на платеНа плате имеются три перемычки, задающие разные режимы работы программатора:
JP1 — замыкается в случае обновления прошивки самого программатора
JP2 — тройная перемычка, здесь выбирается, какое напряжение будет подаваться на прошиваемый микроконтроллер, либо 5В (левое положение) и 3. 3В (правое положение)
JP3 — если её замкнуть, то программирование контроллера будет происходить с пониженной частотой, однако китайцы не стали сюда впаивать гребёнку, т.к. на данной прошивке она не требуется
Программатор, как можно заметить, построен на базе Atmega8 с кварцем на 12МГц. Самый правый верхний элемент, подписанный F1, с перевёрнутой цифрой 4 — самовосстанавливающийся предохранитель, защищает USB-порт ПК/ноутбука, если на прошиваемой плате вдруг произошло короткое замыкание. Под перемычкой JP2 находится LDO-стабилизатор 662К, понижающий напряжение с 5В до 3.3В, если перемычка установлена в правое положение.

Установка драйверовЧтобы начать пользоваться программатором, необходимо сперва поставить на него драйвера. Вставляю любой программатор в USB-порт ПК, звучит сигнал о новом оборудовании, на самом девайсе горит светодиод, но автоматического поиска драйверов не происходит.
примечание. перед установкой драйвера необходимо отключить проверку цифровой подписи в Windows
1) Скачать драйвера, распаковать в удобное место.
2) Зайти в «Диспетчер устройств», например навести курсор на главную кнопку (Win10), нажать ПКМ и выбрать пункт «Диспетчер устройств».

3) В ветке «Другие устройства» можно увидеть неопознанное устройство USBASP с оранжевым треугольничком — > навести на него курсор, нажать ПКМ -> «Обновить драйверы…»

4) Указать путь до раннее распакованной папки с драйверами — «libusb_1.2.4.0», нажать «ОК»

5) «Всё равно установить этот драйвер»

6) Готово, теперь оранжевый треугольничек пропал, драйвера поставлены

Прошивка собратаМне уже было известно до этого, что китайцы продают эти программаторы с не самой свежей прошивкой. Решил сперва обновить прошивку на одном из них, а затем ради интереса сравнить оба программатора в работе. Для этого соединяю шлейфом оба устройства, на ведущем (который вставляю в USB-порт) никакие перемычки не трогаются, а на ведомом программаторе (на котором будем обновлять прошивку) я переставил перемычку с JP2 на JP1:

Захожу в программу Khazama AVR Programmer, выбираю из выпадающего списка ATmega8 и сперва считаю Flash-память через пункт меню «Command» -> «Read FLASH to Buffer», чтобы cохранить китайскую заводскую прошивку у себя. На всякий случай.

При этом периодически будет выпадать такая ошибка, закрыв окно, программа продолжит работу.

Идёт считывание, которое завершается всплывающим окном об успешном считывании FLASH-памяти в буфер

Теперь нужно сохранить содержимое буфера: «File» -> «Save FLASH Buffer As…». Выбрать удобное место, куда старая прошивка сохранится, дать имя (я например её назвал firmware_1) и дописать расширение *.hex — если его не писать, то она сохранится как просто файл без расширения.

Скачиваю прошивку для программатора с этой странички, архив usbasp.2011-05-28.tar.gz (в этом же архиве есть драйвера для Windows, распаковываю содержимое в удобное место.
Тем временем в Khazama загружу скачанную прошивку в буфер. «File» -> «Load FLASH File to Buffer». Выбираю прошивку, где в названии написано atmega8, поскольку прошиваемый программатор на этом чипе.

Как видно, здесь три прошивки — для Atmega8, 48 и 88. В нашем случае Atmega 8 — её и выбираю.

Прошиваю. «Command» -> «Write FLASH File to Buffer». Снова возникает ошибка, но после идёт процесс, завершающийся успехом.



Поскольку в обычном понимании «запрограммировать» означает выставить 1, то при работе со фьюзами всё ровно наоборот, от чего возникает путаница и в этом случае можно по неосторожности заблокировать контроллер и прошить потом его будет уже нельзя. Программа Khazama AVR Programmer удобна просмотром фьюз-битов — там наглядно видно и расписано, какие из них установлены, а какие нет.

Находятся они по пути «Command» -> «Fuses and Lock Bits…», откроется окно:

Где по нажатии кнопки «Read All» считаются фьюз- и лок-биты, а пресловутая ошибка успеет вылезти аж 5 раз подряд. Ошибки сыпятся именно на заводской китайской прошивке. Но если вставить в USB-порт недавно прошитый программатор, прошивкой скаченной по ссылке выше, то этих ошибок вылазить уже не будет, однако баги вылезут в другом месте, но о них позже.

Связь с платой Pro Mini (Atmega 168, 3.3V/8MHz) В этом случае выводы программатора соединяются с выводами платы Pro Mini, как проиллюстрировано на схематичном рисунке ниже. Перемычки не переставляются, т.е. остаётся в положении 5В.
Несмотря на то, что плата Pro Mini подписана как 3.3В, на 168-ю Атмегу можно подавать и 5В. Стабилизатор AMS1117 на 3.3В кстати вообще выпаян из платы.

AVRDUDE PROG 3.3
Консольная программа для прошивки микросхем, своего графического интерфейса не имеет, в стоке работает из командной строки, но энтузиастами было написано немало оболочек на неё, для удобства работы с ней. Одна из таких оболочек называется AVRDUDE PROG, созданная русскоязычными разработчиками. Эта оболочка, на мой взгляд удобна как раз для Flash-перепрошивки МК. После её запуска выбирается контроллер, в данном случае Atmega168 и тип программатора — USBasp. После чего можно заниматься записью/считыванием памяти. Что на заводской прошивке, что на новой — в обоих случаях никаких проблем с общением с Atmega168 не возникло.

Прошил ради интереса ардуиновский стандартный blink-скетч, экспортированный в бинарный HEX-файл. Всё гладко.



Khazama AVR Programmer
Здесь достаточно выбрать микроконтроллер из выпадающего списка и можно уже работать с памятью/битами.
Однако если на самом программаторе установлена заводская прошивка, периодически будут сыпаться ошибки, о чём выше уже было упомянуто, на новой прошивке — данных ошибок уже нет.

Связь с контроллером ATtiny13A в корпусе SOIC8 Соединение согласно схеме ниже. Но тут всё немного интереснее.

Поскольку голый чип в SMD-корпусе SOIC8, в данном случае я поместил его в переходник SOIC8-DIP8 для удобства соединения с программатором в дальнейшем. Обзор на этот переходник можно почитать здесь.

AVRDUDE PROG 3.3
Тут выбирается из списка одноимённый контроллер, программатор USBasp и, если программатор прошит заводской китайской прошивкой, то все операции проходят ровно и гладко.

Однако стоит заменить программатор на другой, с обновлённой прошивкой, то при любой операции возникает ошибка.

Появляется она из-за того, что ни программа, ни программатор не могут автоматически перейти в режим медленного программирования, необходимый для ATtiny13. Но есть как минимум два выхода:
1) Железный: замкнуть перемычку JP3

2) Программный: отредактировать файл «programm.ini» в папке с программой AVRDUDE PROG 3.3

Внести туда четыре строчки кода и сохранить. (взято отсюда)

progisp=jtag2pdiportprog=COM1portenabled=1[UsbaspSpeed]
progisp=Usbasp -B 3
portprog=usb
portenabled=0
Примечание. Здесь применён ключ “-B”, который и занимается переводом программатора на пониженную частоту программирования. Значение «3» — время в микросекундах

После этого снова запустить AVRDUDE PROG 3.3 и в выпадающем списке программаторов выбрать UsbaspSpeed. Теперь работа с ATtiny13 на программаторе с новой прошивкой будет уже без ошибок, а перемычку JP3 замыкать больше не потребуется в этом случае.

Khazama AVR Programmer
Выбирается контроллер из списка и почти та же ситуация.

Программатор с заводской прошивкой нормально работает с ATtiny13, если не считать постоянно появляющихся окон с ошибкой, о чём раннее уже рассказывал.
Но с программатором на новой прошивке уже появляется иная ошибка с невозможностью прочесть сигнатуру (цифровую подпись) контроллера.

Но стоит замкнуть перемычку JP3

, и можно спокойно работать

Или просто задать частоту работы из выпадающего списка по пути «Command» -> «Programm Options», я выставил частоту 187.5кГц.

Примечание. Частота программирования должна быть меньше тактовой частоты прошиваемой микросхемы не менее, чем в 4 раза. Но если посмотреть на считанные с ATtiny13 фьюзы, то на последней строчке Int.Rc.Osc. указано 9.6МГц.
Как минимум, у новичка возникнет вопрос — почему на выставленных в KHazame 1.5МГц — появляется та же ошибка? А также почему, если в AtmelStudio написать например код мигания светодиода с частотой раз в секунду и в макросе прописать:
#define f_cpu 9600000
то загрузив код на Attiny13, светодиод будет мигать очень медленно?
— посмотрим на предпоследнюю строчку, где Divide Clock by 8 Internally [CKDIV8=0] — это включенный предделитель частоты, который делит эти 9.
6МГц на 8, и поэтому реальная частота чипа здесь — 1.2МГц. Поэтому при выборе частоты 187.5кГц или меньше, ошибки исчезают и можно работать нормально с контроллером.
Примечание 2. Способ с выбором частоты в KHazame по скорости работы в несколько раз выигрывает у метода с физическим замыканием перемычки JP3, потому как в последнем случае частота понижается до 8кГц.

Интеграция программатора в Atmel Studio 7 Atmel Studio — среда разработки от фирмы Atmel, но напрямую работать с USBASP, тем более китайским, она не может. Однако благодаря той же программе AVRDUDE, входящий в состав пакета AVRDUDE PROG 3.3, которая будет играть здесь роль посредника, можно соорудить «костыль», а уже в самой среде затем добавить возможность прошивать МК, подключенный через USBASP.

Сперва нужно запустить среду, предполагается, что некий код у нас уже написан и собран. В моём примере это простая мигалка светодиодом — Blink.

На верхней панели инструментов выбрать «Tools» — «External Tools. ..»

Откроется небольшое окно, нажать «Add»

В самом верхнем поле «Title:» ввести любое удобное название, я написал «Atmega168», т.к. та конфигурация, что приведу чуть ниже относится конкретно к этому контроллеру, и для любого другого контроллера она настраивается индивидуально.
В большом поле наверху, название инструмента будет автоматически продублировано.

Вторая строка, поле «Command:» — здесь нужно указать путь до файла «avrdude.exe», который находится в папке с вышерассмотренной программой

Третья строка, поле «Arguments:» необходимо ввести собственно саму конфигурацию

Конфигурация для Atmega168

-p m168 -c usbasp -P usb -U flash:w:$(ProjectDir)Debug\$(TargetName).hex:a

-p — наименование контроллера
-с — какой программатор
-P — порт, через который будет заливаться прошивка
-U — какая операция с какой памятью будет производится (в данном случае запись во Flash)
Если нужно настроить для другого МК, то параметр «m168» нужно изменить на соответствующий контроллер, который будет прошиваться. Например «m8» для Atmega8 или «m328p», если Atmega328p. Параметры для других МК смотрите здесь — также там найдёте описания ключей AVRDUDE.

Конфигурация для ATtiny13

-p t13 -c usbasp -B 3 -P usb -U flash:w:$(ProjectDir)Debug\$(TargetName).hex:a 
Здесь можно заметить уже два изменения: помимо «t13», добавился уже знакомый ключ “-B” со значением «3» для снижения скорости программирования
После заполнения полей нажать «Apply» и «ОК». Окно закроется

Теперь, если снова кликнуть по «Tools», там появится только что созданный инструмент. И по нажатии по нему откомпилированный код будет автоматически прошит в контроллер.

Но эта операция происходит в два клика, что не очень удобно. Надо вынести этот инструмент на главную панель инструментов, чтобы он был всегда на виду.
Для этого нужно снова зайти в «Tools», затем кликнуть по пункту «Customize…»
Откроется следующее окно:

Перейти во вкладку «Commands» — нажать кнопку «Add Command. ..»

Ещё одно окно появится. В нём — в левой колонке выбрать «Tools», а в правой колонке выделить «External Command 1». Нажать «OK»

«External Command 1» окажется наверху списка, и, обратите внимание на саму панель инструментов — в интерфейсе появился пункт «Atmega168».

Но как мне кажется, место ему отведено не совсем удачное, желательно его сдвинуть вправо, для этого нажимается кнопка «Move Down» (одно нажатие = сдвиг на одну позицию вправо). После этого можно закрывать окно по кнопке «Close» и шить чип прямо из студии в один клик через обозреваемый программатор.

При перепрошивке чипа таким методом, на секунду появляется консольное окно AVRDUDE. Но может возникнуть необходимость как-то сохранить этот лог для дальнейшего его просмотра — тогда в окне «External tools» нужно поставить галку на «Use Output window».

И теперь лог будет отображаться в окне вывода, что внизу программы ATmel Studio 7. Данная галка может задаваться отдельно для каждого добавленного в «External tools» контроллера.

Дополнение по фьюзам программатора Из документа READMI, идущего в комплекте с драйверами и прошивкой для USBASP, позже выяснилось, что разработчик рекомендует выставить определённую конфигурацию фьюз-битов, определяющих работу внешнего резонатора.
Минусом khazam’ы является то, что в окне со фьюзами не отображаются HEX-значения выставленных битов. Это уже можно посмотреть в AVRDUDE PROG. Заводские фьюзы, выставленные китайцами, выглядят так (обязательно поставить точку «инверсные» — выделил синим прямоугольником):

Как рекомендует выставить разработчик:

HFUSE=0xc9
LFUSE=0xef

Это нужно снять две галки с «BODEN» и «SUT1» (выделено красным овалом),
поставить две галки на «CKOPT» и «SUT0» (выделено зелёным прямоугольником),
справа в колонке при этом будут отображаться HEX-значения изменённых битов (выделено жирным красным прямоугольником): Lock Byte: 3F, Fuse High Byte: C9, Fuse Low Byte: EF.

Если всё сходится, можно нажимать «программирование»

ВНИМАНИЕ. Злой фьюз-бит RSTDISBL — не трогать ни в коем случае, иначе его установка заблокирует контроллер и прошить потом через USBASP его уже будет нельзя.
_____________________________________

Выводы Опробовано, работает. Если khazam не планируется использовать, то в обновлении прошивки для программатора — смысла нет, благо и так прекрасно работает, причём в случае с ATtiny13 никаких правок и перемычек вносить не требуется. Последняя прошивка — почему-то оказалась более капризна в этом плане. Единственное, после получения, плату надо пропаять и отмыть.

Список ссылок
1) Описание USBASP
2) AVRDUDE PROG 3.3 (форум)
3) Khazama AVR Programmer 1.7
4) Китайская стоковая прошивка (10кб)
5) Архив с прошивками для USBASP и драйверами для Windows — сайт создателя проекта

Программатор AVR ISP « схемопедия


Рис. 1 AVR ISP

Программаторы, работающие под управлением PonyProg2000 и других любительских программ, очень просты. Однако большинство из них не может обеспечить такой функциональности, какой обладают фирменные средства разработки. Одним из самых популярных  программаторов Atmel является AVR ISP (внешний вид на рис.1). С помощью AVR ISP можно запрограммировать любой микроконтроллер с ядром AVR через последовательный интерфейс SPI. Программатор подключается через COM-порт и работает под управлением AVR Studio.

Конструкция и программное обеспечение AVR ISP открыто для разработчиков. Каждый может самостоятельно собрать его аналог и тем самым сэкономить деньги на покупке программатора у фирмы-производителя. Более того, существует множество любительских разработок на основе AVR ISP, которые обладают дополнительными возможностями и удобнее в обращении.

Рис.2 Аналог фирменного программатора AVR ISP

На рис.2 приведена принципиальная схема авторского варианта AVR ISP. В отличие от своего прообраза он содержит только один микроконтроллер, обладая теми же функциями. В место ATmega8535 (AT90S8535) в базовом варианте применён микроконтроллер ATmega16. Он имеет вдвое большим объёмом памяти программ и данных, и сопоставим с ATmega8535 по назначению выводов и внутреннему устройству. Запись и обновление содержимого DD2 осуществляются через встроенную программу-загрузчик (boot-loader), которая использует для этих целей способность самопрограммирования микроконтроллеров AVR. Дополнительными программными средствами осуществляется так же согласование работы программы предназначенной для ATmega8535 с адресным пространством ATmega16 и использование прерывания TOV0 для отслеживания положения кнопки SB1 и управления линиями PD7, PC0…PC6.

Программатор подключается к любому свободному COM порту в системе через разъём X1. Напряжение 9…15 В подаётся на разъём X2 от отдельного источника питания способного отдавать в нагрузку ток не меньший чем 100 мА. Разъем X3 служит для внутрисхемного программирования или при программировании на отдельной панели.

На выводе 7 X3 присутствуют прямоугольные импульсы частотой 1.8432 МГц. Их можно использовать, если программируемый микроконтроллер настроен на работу с кварцевым резонатором либо с внешним тактовый генератором. В этом случае импульсы подаются на вход XTAL1. Устройства, не имеющие собственного источника энергии, можно запитать непосредственно от программатора через вывод 2 X3 (внутрисхемное программирование устройств с напряжением питания меньшим, чем 5 может привести к поломке!). Активизация и запрещение тактовых импульсов на выводе 2 X3, а также присутствие напряжения 5 В на выводе 7 X3, регулируются кнопкой SB1.

В ходе работы светодиод HL3 свидетельствует о нормальном функционировании программатора. HL1 будет светиться во время программирования микроконтроллера, а HL2 будет сигнализировать о наличии напряжения и тактовых импульсов (выводы 2 и 7 X3 соответственно).

Перед началом работы в DD2 нужно занести программу, находящуюся в Файле BootISP.hex (исходный текст в файле BootISP. asm) с помощью любого удобного программатора. FUSE-биты при этом должны выглядеть следующим образом:

CKSEL0 = 0    SUT0     = 1    BOOTRST = 0    EESAVE = 1

CKSEL1 = 0    SUT1     = 0    BOOTSZ0 = 0    CKOPT  = 1

CKSEL2 = 1    BODEN    = 0    BOOTSZ1 = 0    JTAGEN = 1

CKSEL3 = 1    BODLEVEL = 0    SPIEN   = 0    OCDEN  = 1

Рис.3 Процесс программирования

После того как программатор собран и подключён к компьютеру – приступают к загрузке текущей версии управляющей программы. Нажав на кнопку SB1(!), подают питание на разъём X2. Должен загореться светодиод HL1, что свидетельствует о переводе в режим  обновления программного обеспечения. После этого запускают AVR Studio и через меню Tools -> AVR Prog открывают окно обновления “прошивки” AVR ISP. Далее нужно указать путь к загрузочному файлу, который по умолчанию имеет размещение C:Program filesAtmelAVR ToolsSTK500STK500.ebn, и начать программирование, нажав на экранную кнопку Flash -> Program(окно на рис. 3). В конце завершения операции необходимо кратковременно  снять напряжение, после чего программатор будет готов к применению. Связь осуществляется через меню Tools -> Program AVR -> Auto Connect. Вид окна программы поддержки AVR ISP приведен на рис.4.

Рис.4 Вид окна программы поддержки AVR ISP

Интерфейс программы очень простой и не требует подробных пояснений. Здесь только необходимо обратить внимание на несколько важных деталей. В списке устройств на вкладке Program в окне Device, кроме микроконтроллеров с ядром AVR (ATmega, ATtiny, AT90x и др.), доступны также некоторые модели семейства MCS-51 (названия начинаются с AT89S). Программирование AT89S через SPI принципиально ни чем не отличается от подобной операции у AVR-микроконтроллеров, за исключением одного существенного различая. Сигнала RESET у MCS-51 (в отличие от  AVR) имеет активный высокий уровень. Поэтому при программировании моделей AT89S резистор R2, предотвращающий запуск микроконтроллеров AVR, необходимо подключить к шине питания программатора.

Иногда случается так, что с первого раза не удается установить связь программатора с устройством. Если не считать ошибок монтажа и неправильной установки FUSE-битов, запрещающих работу SPI (SPIEN, DWEN и RSTDISBL), вероятнее всего проблема заключается в слишком высокой частоте тактовых импульсов на линии SCK. В этом случае необходимо уменьшить скорость последовательного интерфейса. Это можно сделать вручную через вкладку Board (окно ISP Freq). Модуль SPI ведомого микроконтроллера не может работать на частотах превышающих F­clk­/4.

Программатор был проверен в работе с AVR Studio версий 4.12…4.16 со многими типами микроконтроллеров. Никаких ошибок при этом не было выявлено.

Программатор USB AVR-ISP 3.3/5V купити в Києві та Україні

Шановні клієнти, наш магазин працює в звичайному режимі з дотриманням необхідних карантинних обмежень.

Список порівняння:

Каталог

  • Новинки магазину
  • Подарункові сертифікати
  • Arduino контролери
  • Міні-компьютери
  • Raspberry Pi
  • Засоби розробки, програматори
  • Карти пам’яті SD, Флешки
  • Набори (DIY Kits), конструктори
  • RF, Wi-Fi, Bluetooth, GSM, GPS, FM, XBee
  • SONOFF Розумний будинок
  • Метеостанції
  • Плати розширень, модулі, шилди
  • TFT, LCD, OLED, E-Ink дисплеЇ
  • Audio, Звук, mp3
  • Датчики
    • Звук, ультразвук
    • Освітлення, ІЧ, вогонь, ультрафіолет
    • Рух, відстань
    • Температура, вологість
    • Акселерометри, гіроскопи
    • Напруга, струм
    • Газ, дим, пил, повітря
    • Тиск
    • Для рідини
    • Ph, хімічний аналіз
    • Механічний вплив
    • Індуктивні датчики
    • Магнітне поле
    • Медицина, здоров’я
    • Інше
  • Робототехніка
  • Радіокеровані іграшки, STEM-конструктори
  • Мотори, крокові двигуни, сервомотори, драйвера
  • Насоси, помпи, електромагнітні клапани
  • Кабелі, дроти, перехідники, шнури живлення, хаби
  • Макетування
  • Роз’єми, конектори, клемники
  • Радіодеталі
  • Реле
  • Генератори сигналів
  • Вимикачі, перемикачі, кнопки, дистанційні перемикачі
  • Конвертори, перетворювачі
  • LED освітлення, фонарики
  • Світлодіоди світлодіодні індикатори, лазери
  • Джерела живлення, подовжувачі
  • Перетворювачі напруги, стабілізатори
  • Диммери, силові ключі, регулятори потужності
  • Зарядні пристрої, зарядні модулі
  • Пристрої введення, клавіатури, джойстики
  • Акумулятори, батарейки, батарейні відсіки
  • Деталі для літаючих апаратів
  • Охолодження
  • Інструменти, обладнання
    • Клеї
    • Кусачки, бокорізи, пасатижі
    • Ножі, скальпелі, ножиці
    • Викрутки, ключі
    • Пінцети, набори для ремонту
    • Шуруповерти, дрилі, свердла
    • Мультитул
    • Клеєві пістолети
    • Ізолента, скотч, термоусадка
    • Лінійки, рулетки
    • Кліщі (обтиск, опресовування), знімачі ізоляції
    • Набори компонентів
    • Інші інструменти
  • Паяльне обладнання
  • Касетниці, органайзери, сортовики
  • Вимірювальні прилади, мультиметри, осцилографи, вимірювальні модулі
  • Готові пристрої
  • 3D принтери і ЧПУ
  • 3D пластик Monofilament
  • 3D пластик Plexiwire Filament
  • Термопластик полікапролактон для ліплення
  • 3D Ручки
  • Магніти неодимові
  • Інше
  • Література
  • Розпродаж
  • Корпуси універсальні, ніжки
  • Xiaomi
  • Архівні товари

Desktop-NRF

Приемопередатчик NRF24L01+ очень популярен и используется в разного вида радиоуправляемых устройствах. Его популярность обусловлена низкой ценой, наличием готовых библиотек для работы с модулем, встроенной гарантией целостности и доставки данных, →

Керування Raspberry Pi через Telegram

В цій статті я розповім як можна легко і швидко підключити Raspberry до телеграму та керувати нею з любого місця де є доступ до інтернету. →

Програмне «покращення» Arduino UNO до двоядерної плати

У статті описано спосіб встановлення альтернативного завантажувача, який дозволяє програмувати другий мікроконтролер ATmega16U2 на платі Arduino UNO, перетворюючи її на «двопроцесорну» плату з апаратною підтримкою USB, що відкриває деякі можливості, →

Adeept Wheeled Robot (AWR) – робо-платформа на Raspberry Pi

Adeept Wheeled Robot (AWR) – це робо-платформа для колісних роботів, заснована на одноплатному комп’ютері Raspberry Pi. →

Розумний інкубатор на Arduino

Метою цього проєкту було створення простого та невеликого інкубатора для використання в некомерційних цілях, який зміг би вивести сільськогосподарське птахівництво (кури, качки, перепілки), працюючи напівавтоматично. Ця стаття буде корисна тільки для →

Архивный товар, который больше не продается в нашем магазине.

Увы, за этот товар уже голосовать нельзя 🙁

НО!

У нас есть куча других классных товаров! 🙂

Проблема – отломан рычажок переключателя напряжения 3.3-5V.

Программатор USBASP V2.0 – улучшенная версия AVR-программатора, предназначен для внутрисхемного программирования через 10-ти пиновый разъем ISP и поддерживает прошивку всего семейства ATmega и ATtiny микроконтроллеров AVR компании ATMEL.

Внимание! На переключателе 3.3/5V реальные значения напряжения инвертированы.

Подключение и питание программатора осуществляется через USB-порт компьютера. Также с выводов программатора можно питать целевое устройство небольшой мощности (примерно до 200-300 мА). Поддерживаемые оболочки программирования: AVRdude, AVRdude_Prog, Bascom-AVR, Khazama AVR Prog, eXtreme Burner AVR.

Відгуки покупців про Программатор USB AVR-ISP 3.3/5V

немає жодного відгуку

Ардуино и микросхемы | Программатор AVR USBASP 2.0 ISP Ch440

USBASP ISP программатор является одним из самых простых программаторов и может работать под МАС OSX и Linux. Такой программатор работает в режиме последовательного программирования всех микроконтроллеров AVR, а так же PIC-контроллеров.  

  Также программатор используется для прошивки FLASH и EEPROM-памяти. Единственное- это надо докупить переходник (или адаптер) для подключения микросхем памяти.

Программатор подключается через USB и имеет функцию внутрисистемного программирования. Это дает возможность пользователю многократно программировать своё устройство в уже собранном виде даже не отключая его от программатора.

Схема выводов (контактов) на джеке ISP (IDC 10pin) следующая:

1 – MOSI  выход данных для последовательного программирования

2 – VCC +5V  выход 5 вольт для питания программируемой платы от шины USB при токе до 200 mA

3 – NC  не используется

4 – GROUND  земля, общий или минус питания

5 – RESET  вывод RESET микроконтроллера

6 –  GROUND  земля, общий или минус питания

7 – SCK выход тактирования данных

8 – GROUND  земля, общий или минус питания

9 – MISO  вход данных для последовательного программирования

10 – GROUND  земля, общий или минус питания

 

Частота при разомкнутом джеке составвляет  375 kGz, а в замкнутом состоянии будет равна 8 kGz. Именно такая частота нужна для программирования микроконтроллеров с низкой частотой тактирования (

 

Следует иметь ввиду, что для работы программатора требуется:

1 –  установить ДРАЙВЕР (для “WINDOWS 32, 64 VER)  из ZIP-файла (см. на этой странице)

  а) сначала скачайте драйвер и разархивируйте

  б) подключите программатор в USB-порт

  в) если система не найдет драйвер – заходим в системные настройки, находим неопределенный дивайс и по правой кнопке мышки предлагаем “Обновить драйвер”

2 – установить SOFT. Лучше всего SinaProg, т.к. в этой программе все настройки и прошивка микроконтроллера и конфигурация фьюз-битов выполняется в несколко кликов мышки.

Обзор программатора AVRISP-MKII / AVR / Сообщество EasyElectronics.ru

Попался ко мне в руки вот такой клон программатор AVRISP-MKII вот отсюда.


Что представляет из себя данный программатор? В целом это очередной клон программатора AVRISP-MKII, у которого есть необходимый максимальный набор функций для работы с микроконтроллерами AVR.

А в частности:

  • Наличие питания 5В и 3.3В — выбирается перемычкой. Это значит что от программатора можно запитать наше программируемое устройство.
  • Это высокоскоростной программатор. В целом из всех которые встречались, клон AVRISP-MKII оказался самым быстрым. 50 кило прошивки заливает за 3-4 сек.
  • Поддержка интерфейса программирования TPI, который имеется в некоторых моделях Attiny.
  • Поддержка интерфейса программирования PDI, который имеется в моделях Xmega.
  • Поддержка интерфейса программирования SPI, который имеется в большинствах моделях Attiny и Atmega. Поддержка трех интерфейсов означает, что этим программатором можно прошить огромное количество микроконтроллеров имеющих на борту хотя бы один из данных интерфейсов.
  • Данный программатор работает с программной средой AtmelStudio6.2 и ниже. Это значит что для использования данного программатора не требуется никаких сторонних утилит. AtmelStudio видит его как свою родную железку.
  • Работает так же с утилитой AvrDude. Только для этого надо сменить прошивку в самом программаторе. Но это делается движением одной руки, так как в программаторе имеется стандартный атмеловский загрузчик. Это значит, что для замены прошивки не требуется еще один программатор. Программатор по умолчанию залит прошивкой для работы с AtmelStudio.
  • Работает так же с программной средой Arduino. Это значит, что если в вашей любимой платке Arduino вдруг сдох или затерся загрузчик, то его можно восстановить этим же программатором прямо из среды программирования ArduinoIDE.
  • Есть вывод CLK для воскрешения программируемого микроконтроллера, если в него неправильно записали FUSE биты.

Вот схемка распиновки разъема программатора.


Для того чтобы начать пользоваться этим программатором надо сделать некоторые, не сильно сложные телодвижения.

Если планируем пользовться программатором совместно с AtmelStudio, то ее и нужно установить. Скачать свежаковскую версию можно отсюда Atmel.com. Правда требуется регистрация. После установки AtmelStudio в «управлении» должна появиться следующая фишка.


Далее втыкаем программатор, если драйвера не установились, то вручную указываем путь туда, где стоит AtmelStudio. После установки драйверов в «управлении» появиться следующее:


Если это есть, то программатор готов к совместному использованию с AtmelStudio.
Для использования программатора нужен кабель, который есть на том же сайте, но я себе сделал несколько другой, вот такой:


По той причине что я давно уже отказался от использования стандартного разъема IDC (который на программаторе). В программируемую плату я втыкаю стандартный PLS разъем. Вот примерно так:

В итоге получается вот так:

С AtmelStudio разобрались. А если человеку хочется шить из под AVRDUDE? Тогда надо сменить прошивку. Для начала надо скачать прогу FLIP 3.4.7 for Windows (Java Runtime Environement included) и установить ее. Без этой проги смена прошивки невозможна. После установки проги втыкаем программатор и активируем загрузчик находящийся в программаторе. Чтобы активировать загрузчик, надо на программаторе закоротить перемычкой джампер J_HWB. Потом отверткой или пинцетом кратковременно закорачиваем джампер J_RST. При этом загрузчик активируется и Windows сразу будет пытаться установить драйвера. Но не сможет. Поэтому вручную указываем путь туда где установился FLIP. После установки драйвера в диспетчере устройств должно появиться это:


Вот теперь можно заливать другую прошивку. Для этого запустим программу FLIP.

Нажимаем на:


И в выпавшем списке выберем


Далее нажимаем на Ctrl+U и в появившемся окне нажимаем Open. Появится вот такое окно:


В котором выбираем нашу прошивку клавишами Ctrl+L. И нажимаем RUN. Все прошивку сменили. Нажимаем на Start Application, что приводит к перезапуску программатора. Закрываем FLIP.

Теперь программатор готов к работе с AVRDUDE. Можно нырнуть сюда http://yourdevice.net/proekty/avrdude-prog и качнуть GUI для программатора.

Вот теперь все, да не совсем все. Для того чтоб начать пользоваться AVRDUDE вместе с какой нибудь GUI, надо снести Atmel USB драйвера. И установить другие драйвера libusb_driver для новой прошивки. Ибо драйвера от AtmelStudio для работы с AVRDUDE уже не попрут. Понятное дело что дергать туда сюда драйвера и постоянно перепрошивать программатор, в этом кайфа мало. Поэтому надо определиться в чем то одном. Либо работать с AtmelStudio либо с AVRDUDE. Соответственно для выбранного решения нужно настроить софт, прошивку, драйвера и этого придерживаться.

GEEGROW.RU / Программатор AVRISP-MKII Цена: 1 399.00 руб.

Описание

Инструкция по использованию программатора AVRISP-MKII

Данный программатор предназначен для программирования микроконтроллеров AVR различных серий, использующих интерфейсы программирования SPI, PDI и TPI. Программатор работает как со средой ATMEL STUDIO (протестировано на версии 6.2 и ниже), так и с программой AVR DUDE и основанных на ней средах (KEIL, IAR и т.д.).

По умолчанию программатор прошит прошивкой для работы с ATMEL STUDIO, для работы с AVR DUDE необходимо прошить его соответствующей прошивкой и установить соответствующие драйвера. Прошивку и драйвера для AVR DUDE мы не поставляем. Их можно найти самостоятельно в интернете.

На плате установлены два светодиода. Красный горит всегда когда есть питание от порта USB. Зеленый мигает, когда прошивается микроконтроллер.

Прошивка программатора

Перепрошивка программатора производится с помощью программы Flip от Atmel. После установки программы Flip подключите программатор к компьютеру, замкните джампер J_HWB (перемычку можно позаимствовать с переключателя питания) и кратковременно замкните, например, пинцетом перемычку J_RST. Устройство перейдет в режим программирования и объявится в диспетчере задач как AT90USB162 (для установки драйвера вручную укажите путь в папку, где установлен FLIP). Далее запускаем программу FLIP, выбираем наш микроконтроллер AT90USB162, подключаемся выбрав Connect – USB, выбираем файл прошивки и прошиваем кнопкой RUN. Прошивка занимает пару секунд.

Внимание! FLIP не увидит файл прошивки hex, если он будет расположен в “длинном” пути или в пути будет присутствовать кириллица! Пользователям WinXP рекомендуется положить файл прошивки в корень любого диска, пользователям Win7 – в корень любого не системного диска.

Прошивки программатора:

1. AVRISP-MKII_8mhz_atmelstudio 6.2 (28.34 kB) build 1153

2. AVRISP-MKII_16mhz_atmelstudio 6.2 (28.36 kB) build 1153

3.AVRISP-MKII 8mhz AtmelStudio 6.2 build 1563

4. AVRISP_MKII 8mhz NOT_LED_AtmelStudio 7 build 7.0.582

Если программатор выдает сообщение и отказывается работать

то решить проблему можно следуя указаниям отсюда.

При использовании версии ATMEL STUDIO 7.0.1931 при установке драйвера указываем путь
“C: \ Program Files (x86) \ Atmel \ Studio \ Drivers \ inf \ winusb \ atmel_winusb”, предварительно должны быть удалены все старые драйвера программатора.

Использование программатора

Использование программатора подразумевает его подключение к программируемому микроконтроллеру. Определите интерфейс связи с микроконтроллером, исходя из его описания, и подключите провода к микроконтроллеру. Внимательно отнеситесь к выбору питающего напряжения микроконтроллера, выбираемого перемычкой на плате программатора. Доступно 3.3В и 5.0В. Нужное напряжение VCC выбирайте ориентируясь на информацию из datasheet на микроконтроллер.

Распиновка программатора

Для подключения по SPI интерфейсу используются пины программатора: VCC, GND, MISO, MOSI, SCK, RST.

Для подключения по PDI либо TPI интерфейсу используются пины: VCC, GND, PDI/TPI_DATA, PDI/TPI_CLK.

Пины подключаются к одноименным выводам МК.

Вывод CLK связан с внутренним генератором тактовой частоты 1,5МГц и используется в случае настроек МК на внешний источник тактовой частоты но при его отсутствии на плате. Как правило, подключается к выводу XTAL1 МК.

Также там доступны исходные файлы прошивки программатора, автором которых является группа LUFA (http://www.fourwalledcubicle.com/LUFA.php)

Список поддерживаемых микроконтроллеров.

Atmel AVR 8- and 32-bit Automotive
ATmega164P, ATmega169P, ATmega324P, ATmega328P, ATmega644P, ATtiny24, ATtiny25, ATtiny44, ATtiny45, ATtiny84, ATtiny85

Atmel AVR 8- and 32-bit – AVR XMEGA
ATxmega128A1, ATxmega128A3, ATxmega128A4, ATxmega128D3, ATxmega128D4, ATxmega16A4, ATxmega16D4, ATxmega192A1, ATxmega192A3, ATxmega192D3, ATxmega256A1, ATxmega256A3, ATxmega256A3B, ATxmega256D3, ATxmega32A4, ATxmega32D4, ATxmega384A1, ATxmega64A1, ATxmega64A3, ATxmega64A4, ATxmega64D3, ATxmega64D4

Atmel AVR 8- and 32-bit – megaAVR
AT90PWM1, AT90PWM2, AT90PWM216, AT90PWM2B, AT90PWM3, AT90PWM316, AT90PWM3B, AT90PWM81, ATmega128, ATmega1280, ATmega1281, ATmega128A, ATmega16, ATmega162, ATmega164A, ATmega164P, ATmega164PA, ATmega165, ATmega165P, ATmega165PA, ATmega168, ATmega168A, ATmega168P, ATmega168PA, ATmega169, ATmega169A, ATmega169P, ATmega169PA, ATmega16A, ATmega2560, ATmega2561, ATmega32, ATmega324A, ATmega324P, ATmega324PA, ATmega325, ATmega3250, ATmega3250A, ATmega3250P, ATmega325A, ATmega325P, ATmega325PA, ATmega328, ATmega328P, ATmega329, ATmega3290, ATmega3290A, ATmega3290P, ATmega329A,  ATmega329P, ATmega329PA, ATmega32A, ATmega48, ATmega48A, ATmega48P, ATmega48PA, ATmega64, ATmega640, ATmega644, ATmega644A, ATmega644P, ATmega644PA, ATmega645, ATmega6450, ATmega6450A, ATmega6450P, ATmega645A, ATmega645P, ATmega649, ATmega6490, ATmega6490A, ATmega6490P, ATmega649A, ATmega649P, ATmega64A, ATmega8, ATmega8515, ATmega8535, ATmega88, ATmega88A, ATmega88P, ATmega88PA, ATmega8A

Atmel AVR 8- and 32-bit – tinyAVR
ATtiny12, ATtiny13, ATtiny13A, ATtiny15L, ATtiny20, ATtiny2313, ATtiny2313A, ATtiny24, ATtiny24A, ATtiny25, ATtiny26, ATtiny40, ATtiny4313, ATtiny43U, ATtiny44, ATtiny44A, ATtiny45, ATtiny48, ATtiny84, ATtiny84A, ATtiny85

MCU Wireless – Bundles
ATmega1280R212, ATmega1280R231, ATmega1281R212, ATmega1281R231, ATmega1284PR231, ATmega1284RZAP, ATmega128RZAV, ATmega128RZBV, ATmega2560R212, ATmega2560R231, ATmega2561R212, ATmega2561R231, ATmega256RZAV, ATmega256RZBV, ATmega644PR231, ATmega644R212, ATmega64RZAPV, ATmega64RZAV

Данный список может быть не полным. Если Ваш МК произведен ATMEL и среди интерфейсов поддерживает SPI, PDI или TPI – то он также будет поддерживаться.

Видео смены прошивки программатора.

AVR-USB-MEGA16: быстрое изготовление ISP-программатора USBasp | avr-working-with-usb

Из макетной платы AVR-USB-MEGA16 буквально за полчаса можно самостоятельно изготовить популярный программатор USBasp (см. ссылки [2]).

Конструкция очень простая – коннектор U1 ISP макетной платы, который почти никогда не используется (благодаря наличию бутлоадера в памяти чипа ATmega32), можно использовать как коннектор для подключения внешней, программируемой платы. Все необходимые сигналы (MOSI, MISO, SCK, GND) уже выведены на разъем, осталось только завести сигнал сброса. Исходники оригинального программатора USBasp портировал на макетную плату AVR-USB-MEGA16 Орлов Александр.

Итак, процесс изготовления программатора по шагам.

[hardware USBasp]

1. Берем макетную плату AVR-USB-MEGA16, и отрезаем сигнал сброса, который приходит на ножку коннектора U1 ISP. Это нужно сделать в двух местах, с двух сторон платы, см. фото.

2. Затем нужно припаять два проводка МГТФ. Первый проводок должен подключить резистор R1 обратно к ножке 4 ~RESET микроконтроллера (т. к. мы его отрезали).

Второй проводок должен соединять внешний порт P10 макетной платы (порт PB2 микроконтроллера ATmega32, ножка 42) с отрезанным контактом 5 коннектора U1 ISP. Этим проводом мы будем подавать сигнал сброса на программируемую плату.

[Оболочка программатора Khazama AVR]

3. Надо скачать программу для управления программатором USBasp. Одна из программ (их написано несколько), которая может это делать под Windows, называется Khazama AVR. Эта же программа, кстати, используется для работы с бутлоадером макетной платы AVR-USB-MEGA16. Программа бесплатна, её можно скачать с сайта автора (см. ссылки [4], или скачайте архив [7]). Установка простая, никаких лишних вопросов не задает.

Примечание: в принципе программа Khazama 1.6.2 портабельна, т. е. она не требует установки, достаточно сделать копию папки уже установленной программы. Вы можете так и поступить, и скачать уже установленную программу вместе с драйвером в архиве [7]. Распакуйте из архива папку Khazama162 в любое место на диске (например, прямо в корень C: или в папку Program Files), создайте ярлычок для исполняемого файла Khazama AVR Programmer.exe, и установка на этом завершена.

[Прошивка firmware USBasp]

4. В архиве с исходниками есть скомпилированные прошивки на все частоты кварцев и возможные кристаллы (см. каталог HEX). У меня на плате AVR-USB-MEGA16 стоял микроконтроллер ATmegs32 и кварц на 12 МГц, поэтому я взял файл HEX\USBasp-MEGA32-12MHz. hex. Потом с помощью бутлоадера, прямо через USB записал этот файл в память микроконтроллера макетной платы (процедура использования бутлоадера подробно описана в [3]).

[Первое подключение программатора к компьютеру]

5. Подключаем запрограммированную макетную плату к компьютеру. Операционная система Windows увидит новое устройство USBasp, и сразу автоматически установит его – это устройство USB HID, драйвер не нужен. Однако для программы Khazama AVR для работы с устройством USB На библиотеке V-USB нужен драйвер фильтра. Для этого надо установить библиотеку Libusb, см. [5]. На момент написания статьи (март 2011) последний релиз библиотеки 1.2.2.0, качать и устанавливать надо libusb-win32-devel-filter-1.2.2.0.exe. После установки можно сразу запустить Wizard для установки фильтра (при этом запрограммированная макетная плата должна быть подключена по USB).

После установки фильтра программа Khazama AVR сможет работать с нашим программатором.

6. Нужно изготовить кабель ISP, через который программируемое устройство будет подключаться к нашему программатору. На фото пример такого кабеля для стандартной цоколевки ISP6. Примеры других стандартных цоколевок коннекторов ISP см. в [6].

Обращаю Ваше внимание, что через такой коннектор на программируемую плату будет подаваться питание +5 вольт от программатора, и программатор в такой конфигурации рассчитан на программирование устройств, микроконтроллер которых питается от 5 вольт. Если Ваш микроконтроллер питается от отдельного источника, то провод питания кабеля ISP нужно перерезать (во избежание конфликта по питанию из-за разности напряжений).

7. Теперь можно испытать программатор в работе. Подключаем ISP кабелем программируемую плату, затем подключаем программатор (запрограммированную макетную плату AVR-USB-MEGA16) по USB к компьютеру. Запускаем программу Khazama AVR. Выбираем из выпадающего списка нужный чип (который мы будем программировать). Загружаем прошивку, которую будем прошивать, и нажимаем кнопку Auto Program. Запустится процесс программирования.

На фото показан процесс программирования чипа AT90USB162 на другой макетной плате (AVR-USB162).

Можно прошивать и фьюзы (внимание, с фьюзами будьте осторожнее), однако для некоторых чипов программирование фьюзов не поддерживается.

[Ссылки]

1. Макетная плата AVR-USB-MEGA16.
2. USBasp – USB programmer for Atmel AVR controllers site:fischl.de – домашняя страничка программатора USBasp.
3. Как использовать бутлоадер макетной платы AVR-USB-MEGA16.
4. Khazama AVR Programmer site:khazama.com – оболочка программатора Khazama AVR.
5. LibUSB site:libusb.org – библиотека libusb.
6. Цоколевки коннекторов ISP.
7. 110303usb-mega16-to-usbasp.zip – исходный код и скомпилированные прошивки firmware для USBasp, собранного на макетной плате AVR-USB-MEGA16.

Как программировать Arduino с помощью AVR ISP Programmer

Если вы использовали Arduino для разработки своего кода, но хотите перейти к разработке собственной схемы на основе AVR или хотите запрограммировать свою плату Arduino с помощью внешнего программатора, чтобы предоставить больше места для кода, вам необходимо понять, как использовать AVR Интернет-провайдер или системный программист. В этом посте содержится информация, которая вам нужна

Шаг 1. Найдите свой шестнадцатеричный файл
Интернет-провайдеру нужен шестнадцатеричный файл (.hex), также называемый выходным двоичным файлом в языке Arduino.Это скрыто IDE Arduino во временных папках в ваших пользовательских папках, обычно примерно так:

C: \ Documents and Settings \ ваше_имя_пользователя \ Local Settings \ Temp \ build3526495849735274299. tmp.

Вам нужно найти последнюю папку и шестнадцатеричный файл для программиста. Вы можете изменить настройки Arduino, чтобы сделать это более разумным, как показано в разделе Как найти файлы Arduino Hex.

Шаг 2 – Подключите AVR ISP
Платы и схемы Arduino используют стандартный 6-канальный заголовок ISP Atmel для подключения программатора, но на нем нет ярлыков или ключей для ориентации.Все выводы AVR ISP имеют шпоночный паз, который показан на этом рисунке рядом с заголовком Arduino ISP.

Подключение 6-стороннего ISP к плате Arduino

Убедитесь, что ключ на вашем программаторе совпадает с ориентацией на картинке.

Шаг 3 – Настройки предохранителей AVR
Существует множество предохранителей, которые определяют, как будет работать микроконтроллер AVR. Важными для Arduino являются эти

  • CLKSEL – Предохранители выбора часов должны быть установлены на 1111
  • CLKDIV8 – должно быть отключено, чтобы отключить деление часов на 8
  • BOOTRST – Bootrst должен быть незапрограммирован, чтобы использовать вектор сброса

Новые устройства AVR имеют тактовую частоту по умолчанию 8 МГц. Внутренний RC и тактовую частоту, разделенную на 8, установлен предохранитель, обеспечивающий тактовую частоту 1 МГц независимо от тактовой частоты на плате.Чтобы плата Arduino работала от внешнего кристалла 16 МГц, CLKDIV8 должен быть выключен, а предохранители CLKSEL должны быть установлены на 1111: маломощный кварцевый генератор 8,0–16,0 МГц.

Стандартный Arduino использует загрузчик для программирования, но, поскольку мы не собираемся его использовать, мы можем удалить его, очистив предохранитель BOOTRST. Это означает, что устройство будет запускаться с начала пространства кода вместо сохранения загрузчика.

Значения предохранителей по умолчанию теперь

.
  • Низкий предохранитель 0xFF (B11111111)
  • Высокий предохранитель = 0xDA (B11011110)
  • Расширенный предохранитель = 0x05 (B00000101)

У всех ISP предохранители дисплея немного по-другому, вот они и в Kanda AVR ISP

Требуются предохранители Arduino

CLKSEL установлен на 1111, все параметры выключены (не отмечены), отключение установлено на 2. 7 В, поскольку ATmega32P будет работать на частоте 16 МГц при этом напряжении, но мы хотим, чтобы он сбрасывался, если оно упадет ниже. Предохранители SUT настроены на самое медленное время запуска.

Биты блокировки и загрузочный блок для Arduino

Биты блокировки защищают код от записи или чтения. Оставьте значение по умолчанию, если вы не хотите, чтобы ваш код читался. Вектор сброса должен быть установлен на приложение, чтобы код запускался с начала памяти. Он будет настроен на запуск из загрузочного блока, если требуется загрузчик. Размер загрузки можно оставить по умолчанию – 2 КБ или 4 страницы по 256 слов каждая.

Шаг 4 – Программирование вашего AVR

Теперь мы подключаем AVR ISP к целевой Arduino. Если он не может найти напряжение, включите Power Target в диалоговом окне настройки или включите плату Arduino. Мы уже установили правильные значения предохранителей, поэтому нам просто нужно загрузить файл Hex (Файл -> Загрузить -> Flash) и файл EEPROM (. eep), если ваш скетч использует данные EEPROM (Файл -> Загрузить -> EEPROM) из нашей выходной папки Arduino, описанной в шаге 1.

Самый простой способ выполнить все шаги, необходимые для программирования AVR, – это использовать функцию Auto Programme.У большинства интернет-провайдеров есть эта функция, вот настройка Kanda, которую можно найти в Device -> Auto Program Options.

Параметры автоматической программы
  • Перезагрузить файлы – при изменении загружает последнюю версию
  • Стереть – перед перепрограммированием АРН НЕОБХОДИМО стереть
  • Program Flash Memory – память программных кодов
  • Verify Flash – проверяет код запрограммирован OK
  • Программирование предохранителей – программирование и проверка настроек предохранителей
  • Run – освобождает AVR от сброса, чтобы он запускал код

После настройки параметров просто нажмите F5, чтобы запрограммировать AVR.Работа сделана.

Ссылки по теме

Как найти шестнадцатеричные файлы Arduino

Предохранители часов AVR

Недорогой USB AVR ISP

Программатор ISP

AVR, совместимый с AT AVRISP от ATMEL


– совместим с AT AVRISP, простой в использовании, стабильный и надежный


– Обозначается как AVRISP / STK500 в AVRStudio, высокоскоростное программирование


– Прошивка обновляется для AVR Studio 4 или более ранних версий


– AVR Studio или WINAVR (GCC) используется в качестве внешнего программного обеспечения
– Поддерживает программные файлы, созданные IAR, ICCAVR, CVAVR


– USB AVRISP поддерживает все 8-битные микроконтроллеры RISC AVR с возможностью программирования ISP. Поддержка новых устройств будет добавлена ​​в новых версиях AVR Studio.
– поддерживает AT86RF401 / AT89S51 / AT89S52

Обратитесь к AVRStudio 4.18, поддерживаются следующие устройства:

Классический Крошечный * Мега * Прочие
AT90S1200
AT90S2313
AT90S / LS2323
AT90S / LS2343
AT90S / LS2333
AT90S4414
AT90S / LS4433
AT90S / LS4434
AT90S8515135 AT90S8515135 AT90S8515135
ATtiny12
ATtiny13
ATtiny15
ATtiny22
ATtiny2313
ATtiny24
ATtiny25
ATtiny26
ATtiny44
ATtiny45
ATtiny461
ATtiny84
ATtiny85
ATmega48 ATmega48P
ATmega8 ATmega88
ATmega88P ATmega8515
ATmega8535 ATmega16
ATmega162 ATmeg164P
ATmega165 ATmega165P
ATmega168 ATmega168P
ATmega169 ATmega169P
ATmega32 ATmega324
ATmega324P ATmega325
ATmega325P ATmega3250
ATmega3250P ATmega329
ATmega329P ATmega3290
ATmega3290P ATmega64
ATmega640 ATmega644P
ATmega645 ATmega6450
ATmega649 ATmega6490
ATmega128 ATmega1280
ATmega1281 ATmega2560
ATmega2561
AT86RF401
AT89S51
AT89S52
AT90PWM2
AT90PWM2B
AT90PWM3
AT90PWM3B
AT90CAN32
AT90CAN64
AT90CAN128
AT90USB90US790USB902
AT90CAN128
AT90USB
02
* Поддерживает все низковольтные версии устройств с суффиксом L / V, такие как ATmega16L, ATmega48V


– высокоскоростные программы FLASH, EEPROM, предохранители и бит блокировки
– требуется всего 5. 5S, чтобы запрограммировать файл программы 12K с проверкой (AVRISP должен быть установлен в режим высокой скорости 926K, а частота по умолчанию – 230K)


– Использует квази-USB-интерфейс для связи с внешним программным обеспечением (вероятно, AVR Studio)
– Используя FT232RL, микросхему USB-RS232
– COM-порт настраивается, ПК может подключаться к нескольким USB AVRISP на то же время


USB AVRISP подключается к целевой плате с помощью 3 дополнительных кабелей. В зависимости от существующего разъема на целевой плате необходимо соответствующим образом заменить кабель.
– Стандартный 10-контактный разъем ISP, с использованием 10-контактного кабеля ISP
– Стандартный 6-контактный разъем ISP, с использованием кабеля ISP с 10-контактного на 6-контактный
– Пользовательский разъем ISP, с использованием 10-проводного разноцветного пользовательского соединительного кабеля
На рисунках 1 и 2 показаны распиновки 10-контактных и 6-контактных разъемов ISP.
Рис. 1. 10-контактный разъем ISP
Рис. 2. 6-контактный разъем ISP

– Питание от шины USB, дополнительный источник питания не требуется
– Целевая плата должна питаться от другого источника питания

Использование программатора AVRISP

Использование программатора AVRISP

Введение

AVRISP выглядит так же, как JTAGICE, за исключением того, что он немного меньше и имеет 6-контактный разъем на конце кабеля вместо 10-контактного разъема на JTAGICE.

Программатор AVRISP не имеет расширенных функций отладки JTAGICE, но он все же позволяет загружать вашу программу на ATmega16. Вы должны сначала попробовать использовать AVRISP, а затем, если вы обнаружите, что не можете отлаживать свою программу без пошагового выполнения и установки точек останова, переключитесь на JTAGICE.

Настройка AVRISP отличается от JTAGICE, но вы можете настроить макетную плату с заголовками для подключения обоих устройств, чтобы было легко переключаться между ними.

Подключение AVRISP к плате

Получите разъем 3×2 контакта. Я поместил их в шкаф с резисторами. С помощью плоскогубцев согните более длинный набор штифтов, чтобы разъем можно было вставить в одно из отверстий на макетной плате.

Рисунок 1. Загнутый разъем 3×2 штыря

Вставьте заголовок в макет.Вероятно, вы захотите разместить его рядом с контактом 1 на ATmega16, чтобы ваши провода были короткими. На следующей схеме показана распиновка разъема ISP (внутрисистемное программирование):

Рисунок 2. Распиновка разъема ISP

Подключите VCC и GND к VCC и GND на вашей плате и подключите MISO, MOSI, SCK и RESET к соответствующим контактам на вашем ATmega16 (контакты на ATmega16 см. В таблице данных AVR).Это нормально, что вы будете использовать общие провода со светодиодами, которые вы подключили к PORTB. И программатор, и светодиоды будут работать правильно, когда все подключено одновременно. Результат должен выглядеть примерно так:

Рисунок 3. Завершено подключение заголовка ISP

Вставьте 6-контактный разъем на конце кабеля AVRISP в 6-контактный разъем на вашей плате. Красный провод указывает на сторону разъема с контактом 1.Подключите USB-кабель к компьютеру и установите драйверы, когда Windows предложит вам. После загрузки драйверов светодиод на AVRISP должен загореться зеленым, указывая на то, что он обнаруживает целевое напряжение на вашей плате.

Первоначальная настройка

В первый раз, когда вы используете AVRISP с вашей платой, вы должны следовать этим инструкциям по установке. Для последующего использования вы можете перейти к разделу «Программирование».

Откройте проект в AVR Studio и нажмите кнопку на панели инструментов, чтобы убедиться, что ваша программа скомпилирована и актуальна.Выберите AVRISP mkII в качестве платформы и USB в качестве порта, затем нажмите кнопку «Подключить»:

Рисунок 4. Выбор программатора

В появившемся окне выберите вкладку Main. Убедитесь, что тип устройства установлен на ATmega16, и нажмите кнопку «Прочитать подпись». В окне должна появиться подпись чипа для ATmega16 (0x1E 0x94 0x03). Это подтверждает, что программист может связываться с ATmega16.

Рис. 5. Тестирование установки

Если не удается прочитать подпись, убедитесь, что на AVRISP горит зеленый свет (в противном случае он неправильно подключен к VCC и GND или ваша плата не подключена к источнику питания) и что ваша проводка MISO, MOSI, SCK , и строки RESET верны. Если AVRISP по-прежнему не считывает подпись устройства, возможно, программирование ISP отключено в вашем ATmega16 (у нас есть несколько микросхем, которые все еще настроены таким образом.) Вы можете обменять свой ATmega16 на тот, который правильно запрограммирован с ТА.

Затем убедитесь, что частота ISP установлена ​​на 1.000 МГц. Если это не так, нажмите кнопку «Настройки», выберите в появившемся меню 1.000 МГц и нажмите кнопку «Запись».

Теперь вы готовы программировать свой ATmega16 с помощью AVRISP mkII.

Программирование с помощью AVRISP mkII

Чтобы загрузить свою программу в процессор, сначала нажмите кнопку на панели инструментов (не используйте кнопку «построить и запустить», поскольку платформа отладки не подключена.) Затем нажмите кнопку и перейдите на вкладку «Программа». В разделе «Flash» убедитесь, что выбран шестнадцатеричный файл для вашего проекта, а затем нажмите кнопку «Программа».

Рисунок 6. Программирование ATmega16

Программа будет загружена на ваш ATmega16 и должна запуститься автоматически, хотя никогда не помешает нажать кнопку сброса и убедиться, что ваша программа запускается правильно с самого начала.

Б. Мэйтон, январь 2009 г. Электронное письмо cse466-tas @ cs с вопросами.

Создание FabTinyISP

Создание FabTinyISP

Содержание

Введение

FabTinyStar – это еще одна версия программатора / платы AVR ISP, которая могут быть изготовлены в фабричной лаборатории с использованием фрезерованной печатной платы и легко доступны компоненты. В основе проекта – усилия многих людей. Для большего история FabTinyStar и людей, которые внесли свой вклад в это, пожалуйста обратитесь к Заерку Страница FabTinyStar.

Эта версия (“FabTinyISP Minimal” является второстепенной доработкой для Версия Zaerc’s 0. 3 (Bas), с небольшими модификациями:

  • Переключатель сброса и целевой переключатель мощности удалены. Сброс коммутатор увеличивает стоимость и не очень полезен для программиста интернет-провайдера, поскольку цель можно легко сбросить с помощью программной команды. Целевая мощность выключатель был удален как обеспечивающий питание цели через программирование порта обычно не рекомендуется. Пользователи, которые понимают последствия этого приветствуются для создания одного из проектов FTS с выключатель.
  • Медная заливка удалена и заменена индивидуальной. следы грунта; это позволяет начинающим паяльщикам удалить больше медь. Все компоненты припаиваются к четко обозначенным контактным площадкам с обеих сторон.
  • Были удалены лишние контактные площадки, подключенные к линиям передачи данных USB; это версия предназначена исключительно для того, чтобы быть программистом ISP, а не быть универсальная плата tiny45.
  • Термистор PTC был удален; поскольку этой части в настоящее время нет в В инвентаре большинство пользователей все равно построят его с резистором 0 Ом. Как опция для обеспечения мощности цели была удалена, ее должно быть намного больше сложно создать условия, при которых потребуется полифуз.
  • Makefile заменен. Цели для программирования предохранителей на добавлен ATtiny45. Исходный Makefile также приводит к проблемы в файловых системах без учета регистра (например, Windows).

На этой странице описывается сборка, программирование, тестирование и отладка платы.

Банкноты

Одна из возможных причин путаницы в этом документе заключается в том, что устройство, которое вы корпус станет программистом AVR, но вам также понадобится рабочий Программист AVR в процессе его создания. Ваша плата относится к новый программист, которого вы создаете. Программатор относится к рабочий программатор, который вы будете использовать для инициализации своего. В конце этого документ, ваша плата становится программистом .

Заметки о современном USB

FabTinyISP – это «низкоскоростное» устройство USB 1. 1. Это самый медленный (и один из самых старых) из типов USB-устройств. Обычно используется для мышей и клавиатур низкоскоростные устройства работают на 1.5МГц и гораздо меньше строгие требования к срокам, что позволяет полностью программно реализация используемого протокола USB (ATtiny45 не имеет аппаратная возможность USB).

Хотя все более поздние версии USB должны быть обратно совместимы со старыми таких устройств, как FabTinyISP, следует помнить о нескольких вещах, чтобы избегать выпусков:

  • Избегайте использования USB 3 концентраторы. Они не всегда работают с низкоскоростными устройствами и могут влияют на синхронизацию сигналов, от которых зависит FabTinyISP.USB-концентраторы 2 в большинстве случаев работает нормально.
  • Если вам нужно адаптироваться от USB-C, лучше всего использовать переходник кабельного типа. Это ставит намного меньше нагрузки на порты (на вашем ноутбуке, самом адаптере и программатор) по сравнению с адаптером штекерного типа без кабеля.
  • Остерегайтесь адаптеров USB-C с несколькими портами, так как они могут содержат концентратор USB3. Если вам нужно несколько портов USB-A, лучше всего подключить USB2-концентратор в адаптер USB-C.

Производство печатных плат

Загрузите файлы PNG для следов и контура платы:

Исходные файлы Altium доступны здесь, если вы хотите изменить дизайн.

Поскольку существуют разные процессы фрезерования на разных станках, это здесь не описывается. Пожалуйста, обратитесь к справочнику по фрезерованию печатных плат, который применимо к оборудованию в вашем магазине.

Готовая печатная плата должна выглядеть примерно так:

В зависимости от количества фрезерованных смещений может быть немного Медь оставила на краю платы перед контактами USB. 5 зачетов должно быть достаточно, чтобы удалить всю медь в процессе фрезерования, но фрезерование занимает немного больше времени.Если вы фрезеровали меньше смещений (я сделал 3 в приведенном выше фото) лишнюю медь можно удалить ножом. Только медь в переднюю часть колодок нужно снять; медь слева по бокам отлично.

Сборка печатной платы

Получить компоненты:

  • 1x ATtiny45 или ATtiny85
  • 2 резистора 1 кОм
  • 2 резистора 499 Ом
  • 2 резистора по 49 Ом
  • 2 стабилитрона 3.3в
  • 1x красный светодиод
  • 1x зеленый светодиод
  • Конденсатор 1x 100 нФ
  • 1x 2×3 контактный разъем

Светодиоды и соответствующие резисторы не являются обязательными; горит красный светодиод когда целевая цепь запитана, а зеленый светодиод горит, когда программист разговаривает с целью.

Припаяйте детали к печатной плате, используя схему и изображение платы ниже в качестве справочная информация для значений и размещения компонентов. Начни с самого сложного частей (ATtiny45) в первую очередь, чтобы у вас был максимальный доступ. Установите ISP заголовок последним, так как он большой и может помешать вам, если вы сделаете это раньше.

Обратите внимание на компоненты, которые необходимо установить в правильной ориентации:

  • Стабилитроны обозначены как на чертеже, так и на корпусах, с линией на катодной стороне.
  • Светодиодные катоды на чертеже печатной платы отмечены точками и более толстыми. линии. Правила маркировки упаковки различаются между производителями светодиодов, но на катодной стороне обычно видна зеленая или черная линия. эпоксидная линза. Некоторые светодиоды имеют дополнительный медный маркер на катодной площадке. дно. Некоторые печатают внизу маленькую стрелку, которая соответствует схематический символ: стрелка указывает на катод. Если сомневаешься, можно использовать мультиметр в режиме проверки диодов; светодиод будет светиться немного, когда красный зонд находится на аноде, а черный зонд находится на катод (это также полезно для определения цвета).
  • ATtiny45 отмечает штифт 1 точкой, вытравленной лазером в углу пакет. Пин 1 также отмечен на чертеже точкой.

Используйте припой, чтобы создать перемычку на перемычке рядом с разъемом ISP (J1). Этот временно подключает V CC к V prog pin на заголовке ISP, чтобы заголовок мог использоваться для программирования tiny45. (Программа подает напряжение на этот вывод и программист это обнаруживает).Как только он запрограммирован, мы удалим это мост, чтобы превратить плату в программиста, а не в программиста.


Паяльная перемычка, мостовидная и немонтажная.

Улучшите разъем USB

Печатная плата оказывается немного тонкой, чтобы работать с большинством портов. Чтобы обеспечить хорошее соединение USB, я рекомендую следующие одно или два улучшения.

Сначала нанесите припой на контакты USB на плате, чтобы нарастить их. немного. Нагрейте площадку и нанесите припой, перемещая наконечник утюга по блокнот, чтобы раздать его. Когда у вас будет достаточно припоя, протрите кончик утюга поперек подушечку одним непрерывным движением, чтобы выровнять ее до однородного слоя. если ты не получается гладкий слой, вам нужно больше флюса: очистите кончик утюга на губкой, нанесите еще немного припоя на площадку и снова протрите ее. Излишки припоя выйдут на наконечник утюга. (См. Изображение выше готовый программатор о том, как должны выглядеть USB-планшеты).

В большинстве случаев выполнения вышеуказанного достаточно, но я все же хотел бы добавить немного большей толщины, приклеив дополнительный материал к нижней части печатной платы.Небольшой кусочек пластиковой раскладушки упаковка работает хорошо. Я использую крошечную каплю клея CA, чтобы приклеить небольшой кусочек в нижней части области USB-разъема, затем обрежьте лишнюю пластик, как только он установлен. (Будьте осторожны, чтобы не нанести суперклей остальную часть плату, особенно контакты USB на другой стороне).

Проверьте свою работу

Хотя может показаться, что уже рано начинать отладку (мы даже не пробовали еще ничего!) всегда благоразумно проверять свою работу перед подключением доска. Это займет всего пару минут и избавит вас от головной боли. Дорога.

  • Сравните вашу плату со схемой и изображением макета печатной платы, чтобы сделать убедитесь, что вы установили правильные компоненты в правильный места и ориентации.
  • Осмотрите плату визуально. Компоненты должны лежать на плате ровно, не наклоняется булавками в воздухе. Паяные соединения должны быть гладкими, а припой должен стекать как на штифт, так и на контактную площадку.если ты по-прежнему видно много оголенной меди на контактной площадке, или припой комковатый и доходит до точки, из которой вы сняли утюг, вероятно, у вас нет хорошая связь. Оплавление путем применения тепла и флюса (либо флюсом или добавив немного больше припоя). Также ищите ненужный припой перемычки между ближайшими следами и штифтами.
  • Используйте мультиметр для проверки короткого замыкания между V CC и GND.

Установка программного обеспечения

Прежде чем вы сможете собрать и запрограммировать прошивку на вашу плату, вам необходимо настроить среду разработки. Вы будете использовать эту настройку для всех своих Программирование AVR для класса. Настройка немного отличается для каждой платформы, но после установки программное обеспечение должно работать более или менее одинаково на всех Платформа.

Вы будете использовать оболочку командной строки (bash) в терминале вашей платформы, чтобы выполните все команды ниже. Если вы не знакомы с использованием командную строку, вы можете просмотреть руководство.

Linux (настоятельно рекомендуется)

Для Ubuntu и других дистрибутивов на основе Debian введите следующее команда, за которой следует ваш пароль при появлении запроса:

 sudo apt install avrdude gcc-avr avr-libc make 

MacOS

Загрузите и установите CrossPack.

Окна

Установить набор инструментов в Windows немного сложнее. Отдельный инструкции представлены здесь.

Получение и сборка микропрограммы

Загрузите исходный код прошивки и распакуйте zip-файл (в Linux распакуйте fts_firmware_bdm_v1. zip). Открытым вашу программу терминала и cd в каталог с исходным кодом.

Выполнить make. Это создаст шестнадцатеричный файл, который будет запрограммирован на ATtiny45. Когда команда завершится, у вас должен появиться файл называется fts_firmware.шестнадцатеричный. Если команда не завершена успешно, что-то не так с установкой вашей инструментальной цепочки. Проконсультируйтесь сообщения об ошибках для информации, которая поможет вам отладить это.

Запрограммируйте ATtiny45

Сначала обновите Makefile для того типа программиста, который вы собираетесь использовать. чтобы запрограммировать вашу доску. Makefile по умолчанию предполагает, что вы собираетесь используйте программатор из семейства usbtiny (например, другую плату FabISP). Если вы используете другой программатор, сначала выясните, что avrdude (программное обеспечение для программирования) называет это.Вот несколько часто встречающихся AVR программистов:

Отредактируйте файл Makefile. Важно использовать текст редактор, предназначенный для программистов; такие программы, как Блокнот или WordPad, могут добавлять информация о форматировании, которая нарушает работу файла. В Linux – gedit (графический интерфейс). или nano (командная строка) – хорошие варианты; Пользователи Windows могут захотеть используйте Notepad ++. TextEdit в OS X обычно работает, просто убедитесь, что вы сохраняете как обычный текст, а не RTF (и конечно, к имени файла не добавляется “.txt”). Sublime Text – еще один популярный выбор на нескольких платформах.В общем, все, что вы используете для редактирования своего HTML-кода, наверное хороший выбор.

В верхней части файла найдите строку, в которой написано:

 ПРОГРАММАТОР? = Usbtiny 

и замените usbtiny на любой программатор, который вы используете.

Вставьте плату в порт USB. Используйте порт USB 2.0, скорее чем порт USB 3.0, если он у вас есть. Также рекомендуется использовать короткие Удлинительный кабель USB или USB 2. 0 концентратор вместо прямого подключения к порту, особенно если ваши USB-порты перевернуты.Это снимет напряжение и снизит риск повреждение встроенных портов USB. Например:

Если вы установили красный светодиод, он должен сейчас загореться. Если нет, проверьте припаять перемычку и убедиться, что она замкнута. Если ваш компьютер жалуется о USB-устройстве, потребляющем слишком много энергии, отключите плату и проверьте шорты.

Подключите программатор к разъему ISP на вашей плате. Обратите внимание, что там есть две разные ориентации, в которых вы можете подключить кабель; это Важно, чтобы вы получили контакт 1 в нужном месте.Контакт 1 отмечен схема платы с точкой и подключенным к ней сигналом MISO. Если вы посмотрите на пластиковом разъеме на кабеле программатора должен быть небольшой стрелка, точка или название производителя, отмечающие угол с помощью булавки 1. Обратите внимание, что нет обязательного стандарта для того, в каком направлении кабель выходит из разъем, поэтому ищите маркер контакта 1.

Запустите make flash. Это сотрет целевой чип и запрограммирует его флэш-память с содержимым созданного вами ранее .hex файла.Вы должны увидеть несколько индикаторов выполнения, пока avrdude стирает, программирует, и проверяет чип.

Если что-то пошло не так, проверьте:

  • , что программатор подключен правильно и контакт 1 на разъеме соответствует контакту 1 на плате
  • , что ваша плата хорошо сидит в USB-порту
  • , что ATtiny45 установлен в правильной ориентации
  • , ваша пайка выглядит нормально на ATtiny45 и заголовке ISP (примечание короткое замыкание может произойти там, где следы проходят под разъемом)

Если вы проверили все вышеперечисленное, но по-прежнему не можете запрограммировать плату, используйте мультиметр для проверки целостности контактов на микросхеме и заголовок ISP, и что нет непрерывности там, где не должно быть (замыкание между соседними контактами или следами).

После того, как вы успешно запрограммировали флэш-память, пришло время установить конфигурация предохранителей. Сделаем это поэтапно:

  • Сначала мы установим предохранители, которые контролируют, где находится микроконтроллер. его источник часов от. (USB требует, чтобы часы поступали от ФАПЧ, и не делиться на 8). Это позволит нам проверить, что плата работает как USB-устройство, но пока не сможет программировать другие доски.
  • Только убедившись, что USB работает, мы установим предохранитель, отключающий штифт сброса и превращает его в обычный штифт GPIO.Это позволит чип использует контакт сброса для программирования других плат, но отключит возможность повторного программирования этого чипа. Потому что это нелегко обратимый, мы хотим сначала убедиться, что все остальное работает!

Выполнить команду включения предохранителей. Это настроит все предохранители. , кроме , который отключает контакт сброса. Опять же, вы должны увидеть несколько индикаторов выполнения от avrdude. Если этот шаг не удается, но предыдущий работал, вероятно, у вас где-то прерывистое соединение.

Проверка функциональности USB

Теперь мы проверим, что USB на вашей плате работает, прежде чем перегорает предохранитель, который позволит ему как программисту. Отключите доску от USB-порт и отключите программатор, затем снова подключите его к USB. Убедитесь, что программист, который вы использовали для программирования вашей платы, также отключил от компа.

Linux

Введите lsusb в терминале, чтобы отобразить список USB-устройств. если ты см. устройство “Multiple Vendors USBtiny”, оно сработало! Если нет, команда dmesg может предоставить дополнительную информацию о том, что пошло не так.Ты хотите видеть сообщение “Новое низкоскоростное USB-устройство” без каких-либо дальнейшие ошибки. (Обратите внимание, что sudo dmesg -c очистит сообщения после их распечатки, что полезно сделать перед подключением платы так что вы сможете точно сказать, какие сообщения являются результатом его подключения в). Если вы не видите сообщение «новое низкоскоростное устройство», проверьте подтяжка на линии USB (резисторы 1 кОм и 499 Ом, R1 и R2, последовательно между V CC и D-) для правильных значений и хорошего подключения (компьютер использует эти резисторы и их значения для определения какой тип USB-устройства было подключено). Если вы видите “новый низкоскоростное устройство “, но после этого возникнут другие ошибки, попробуйте следующее:

  • Иногда просто плохая связь с портом; попробуйте отключить и повторное подключение. Убедитесь, что контакты USB чистые и даже количество припоя на всех из них, и что поверхности гладкий; плавный.
  • Порты
  • USB 2.0 с большей вероятностью будут работать, чем порты USB 3.0. если ты нет портов USB 2.0, попробуйте подключиться через USB 2.0 хаб.
  • Проверьте следы и компоненты между выводами USB для передачи данных и микроконтроллер. Убедитесь, что стабилитроны в правильном положении. ориентации, что последовательные оконечные резисторы (R3 и R4) являются правильные значения (49 Ом) и что соединения в порядке. Мера целостность между резисторами и контактами USB, и резисторами и контакты микроконтроллера, к которым они подключаются (контакты 2 и 3). Проверять на наличие короткого замыкания между контактами 2 и 3 микроконтроллера и другими соседними следы.
  • Попробуйте подключиться к компьютеру, который, как вы знаете, работал с кем-то чужую доску, или попробуйте подключить чью-то известную рабочую доску к своей компьютер. Это поможет вам сузить круг вопросов, есть ли у вас несовместимость с вашими USB-портами или проблема с вашей платой.

MacOS

Откройте приложение «Сведения о системе» Apple (Меню Apple → Об этом Mac → Дополнительная информация; или из папки Utilities). Выберите USB из списка слева, и вы USBTiny должен быть указан как устройство справа.Если он появляется, это работает правильно. В противном случае следуйте приведенным выше инструкциям по отладке (примечание что MacOS не имеет команды dmesg, хотя похожая информация может быть доступен где-нибудь в приложении консоли). Либо проверьте все выше, или подключитесь к машине Linux, чтобы увидеть, получаете ли вы Сообщение “новое низкоскоростное устройство” в dmesg.

Окна

Windows перечисляет USB-устройства в Диспетчере устройств (Пуск → Панель управления → Система. → Диспетчер устройств), хотя он не всегда сообщает вам, что они собой представляют, пока установлены правильные драйверы.USB-устройства также могут отображаться в разделе «Устройства. и принтеры “или” Оборудование и звук “. Если вы не знаете Windows-машина достаточно хорошо, чтобы определить, работает ли устройство USBtiny. появившись, вы можете захотеть подключиться к чьей-нибудь машине Linux или Mac, чтобы проверь точно, работает ли.

Перегорел предохранитель сброса

Поздравляю, вы почти рабочий программист. ATtiny45 на плата имеет загруженный код и работает правильно, если вы сделали это так далеко.Осталось два последних шага, чтобы превратить вашу доску в программист, который может программировать другие платы.

Во-первых, нам нужно изменить бит, который будет включать вывод сброса ATtiny45. в контакт GPIO. Еще раз, это отключит нашу возможность перепрограммировать этот ATtiny45 в будущем, поэтому мы хотели убедиться, что все прежде чем делать это. Подключите программатора вашего интернет-провайдера к вашей плате еще раз time и запустите make rstdisbl. Это то же самое, что и сделать команду предохранителей, но на этот раз она будет включать этот сброс также отключить бит.Вы должны увидеть несколько индикаторов выполнения, и avrdude больше никогда не сможет разговаривать с этим чипом через интернет-провайдера заголовок.

Во-вторых, нам нужно отключить V CC от V прога пин на заголовке ISP путем снятия перемычки на перемычку припоя. Иногда излишки припоя прилипают к чистому жало паяльника; в противном случае используйте оплетку для удаления припоя, чтобы удалить припой с перемычку, тем самым разорвав соединение.

Проверьте своего программиста

Теперь у вас должен быть собственный работающий программист ISP! Но перед тобой Назовите это днем, используйте свою доску, чтобы попробовать запрограммировать другую доску.


Это работа под лицензией Creative Commons Международная лицензия Attribution-NonCommercial-ShareAlike 4.0.

46: Adafruit Industries: USBtiny ISP Программатор AVR и интерфейс SPI (комплект): Electronic Design

Вернуться к началу

Обзор

USBtinyISP Программатор AVR и интерфейс SPI (комплект)

Создайте простой программатор USB AVR с открытым исходным кодом и интерфейс SPI! Он недорогой, простой в изготовлении, отлично работает с avrdude, совместим с AVRStudio и протестирован под Windows, Linux и MacOS X.Идеально подходит для студентов и новичков или в качестве резервного программиста.

Проект основан на коде и дизайне USBtiny. Основные улучшения: корректировка кода, позволяющая ему действовать как интерфейс SpokePOV, добавление низкоуровневых команд bitbang и добавление светодиода «USB good». Другие изменения – это новый VID / PID (чтобы сделать его официальным), удаление некоторых команд и небольшое перемещение контактов.

Вы можете построить эту конструкцию, используя схему и прошивку. Наличие полного комплекта решает “курицу и яйцо” проблему покупки или создания USB-программатора, которому затем нужен какой-то программист, чтобы “дать толчок”.(См. USBasp, AVRdoper, USBprog)

Весь код прошивки распространяется под лицензией GPL, файлы макета дизайна оборудования – CC 2.5 Attrib./Share-alike.

Легко сделать

  • Инструкции по сборке доступны в Интернете.
  • Ультра низкая стоимость: менее половины цены AVRISP v2!
  • В комплект входят 6-контактные и 10-контактные разъемы и кабели стандарта AVR. Практически ни у одного программиста не из Atmel есть и то, и другое! (Включая AVRISP v2)
  • Простота сборки: все детали для сквозных отверстий, все обычные и доступные у крупных дистрибьюторов
Простота использования
  • Совместимость с AVRdude – поддержка usbtiny добавлена ​​в v5.5!
  • USB-драйверы доступны для Windows с использованием libusb, драйверы не требуются для Mac OS X или Linux.
  • Готовый прочный корпус
  • Высокая скорость! Максимальная тактовая частота составляет 400 кГц. Скорость записи: 1 Кб / с, скорость чтения: 2 Кб / с. (Atmega8 занимает 8 с для записи, 4 с для чтения / проверки)
  • 2 светодиода для индикации «USB / Power good» и «Busy»
  • I / O буферизируется, что позволяет программировать цели 2V-6V (v2)
Легко запитывается
  • Питание от шины USB 5 В при токе менее 100 мА, что позволяет использовать его с отключенными USB-концентраторами
  • Легко доступная перемычка для питания целевого проекта от USB (конечно, цель должна быть устойчивой к 5 В)
  • Удалите перемычку, и он включится самостоятельно, но буферизует ввод / вывод для соответствия целевому устройству.(v2)
Легко расширяется
  • Легко взаимодействует с libusb
  • Существующее микропрограммное обеспечение обеспечивает быстрое взаимодействие SPI с использованием USB
  • Команды Bit-bang обеспечивают 8 бит управления вводом-выводом (включая светодиоды) для открытого проекта идеи

Ознакомьтесь с другими забавными и захватывающими электронными наборами

Сообщить о проблеме
Предложить товар

AVR – Программисты Австралия

Если вы использовали Arduino, то, вероятно, использовали микросхему AVR.Линия микроконтроллеров Atmega является самой популярной и простой в использовании серией микроконтроллеров.

  1. 6 Отзыв (ов)

    Этот удобный маленький программист хорошо известен как любителям, так и опытным программистам AVR. Драйверы совместимы с 32- и 64-битными операционными системами. Учить больше

    AUD, & nbspinc GST

    доставлено
    ср 8 декабря
  2. В этой новой версии используется заголовок SMD 5×2. Это простой в использовании программатор USB AVR.Он дешев, прост в использовании, отлично работает с AVRDude и тщательно протестирован на рабочем столе Windows. На основе USBtiny Дика Стрифланда и USBtinyISP Лимора Фрида. Это недорогой программатор, разработанный для людей с ограниченным бюджетом. Учить больше

    AUD, & nbspinc GST

    доставлено
    ср 8 декабря
  3. 3 Отзыв (ов)

    Это USB-программатор AVR, поддерживаемый официальной Arduino IDE. Как только Arduino по каким-то причинам потерял свой загрузчик, используйте этот программатор, чтобы перезагрузить загрузчик и сохранить мертвую Arduino.Учить больше

    AUD, & nbspinc GST

    доставлено
    ср 8 декабря
  4. 4 Отзыв (ов)

    ATtiny45 и 85 – это пара действительно крутых маленьких микроконтроллеров, но знаете ли вы, что их можно запрограммировать в Arduino? Верно, теперь вы можете уменьшить свои проекты Arduino до «крошечного размера», переместив код прямо на эти небольшие, но функциональные ИС. Стандартный метод программирования микросхем ATtiny включает в себя макетную плату, множество перемычек и аппаратный программатор, но Дэвид Меллис из MIT Media Lab упростил процесс, выложив этот удобный USB-программатор.Учить больше
  5. 4 Отзыв (ов)

    Программирование AVR? Всегда гуглил распиновку? Ну, теперь уже нет! Редко можно найти такой элегантный мини-комплект, он заслуживает собственного Haiku. Простой прорыв, бокс 2×3 .. подробнее Учить больше

    AUD, & nbspinc GST

    доставлено
    ср 8 декабря
  6. 3 Отзыв (ов)

    Это удобный кабель для программирования AVR, который включает в себя 10-контактный и 6-контактный программные интерфейсы ISP.Учить больше

    AUD, & nbspinc GST

    доставлено
    ср 8 декабря
  7. 10 Отзыв (ов)

    Встроенный USB-программатор, подходящий для контроллеров AVR и плат на базе AVR. Может использоваться для последовательной связи общего назначения, отладки или программирования микроконтроллеров Учить больше

    AUD, & nbspinc GST

    доставлено
    ср 8 декабря
Адаптер программатора

AVR ISP для разъема TQFP – Share Project

Крошечный 3.2 – отличная плата микроконтроллера и одна из самых популярных плат для разработки в мире Arduino. Вдохновленный проектом пользователя на форуме PJRC https://forum.pjrc.com/threads/33347-Tiniest-Teensy, я уменьшил доску Teensy 3.2. Плата Mini T3.2 – это небольшая совместимая с Teensy 3.2 плата, основанная на том же микроконтроллере MK20DX256VLH7, что и Teensy 3.2. Он будет работать с Teensyduino как с обычным Teensy 3.2. Примечание: плата Mini T3.2 включает встроенный загрузчик, который необходимо купить в PJRC.com. С помощью этого встроенного загрузчика мы сможем сделать этот проект OSH. Без установленного чипа загрузчика изготовление этой платы является незаконным, если вы не получите специального разрешения от PJRC.com. Меньший размер (30,48 мм x 12,98 мм) полезен для создания таких проектов, как Hula Hoops, переносные световые мечи и даже носимые приложения. когда обычный Teensy 3.2 слишком велик. Он удобен для макетной платы, а распиновка предназначена для TFT и OLED-дисплеев, на макетной плате не требуются перемычки, оставляя больше места для ваших схем.Инструкции по ручной пайке SMD-деталей: для домашних мастеров правильный метод выполнения SMD-сборки – нанести паяльную пасту на плату с помощью трафарета, затем вручную разместить все SMD-детали и использовать печь оплавления или термофен для их нагрева. На You Tube доступно множество демонстрационных видеороликов, но по какой-то причине: если вам нужно припаять его вручную, это немного сложнее, но все же выполнимо. Я надеюсь, что следующие шаги помогут вам немного легче достичь своей цели. Шелкография с номерами деталей: U2: MK20DX256VLH7 U3: Загрузчик производства PJRC.com 1. Пустая печатная плата Mini T3.2. 2. Перетащите припой U2. 3. Припаяйте в порядке D1, C1, U1, B1, C2, C3. Когда части расположены близко друг к другу, это не проблема для пикировщика. разместить машину, но это создает проблемы для ручной пайки, поэтому порядок пайки важен. Например, если вы припаяете C3 перед C2, будет сложнее припаять C2 вручную. Если вы припаяете U1 перед C1, будет труднее припаять C1 вручную. 4. Припаяйте R1, B2 и C6, затем R4 и R5, затем C5 и C4.5. Припаяйте C7, R3, C9 и C8. Залудите четыре контактных площадки Y1, нанесите больше припоя на контакт 1 и контакт 3, поэтому, когда припой расплавляется горячим воздухом, кристалл Y1 сначала соединяется с контактными площадками 1 и 3. 6. Равномерно залудите Y1 и U3 (загрузчик) и добавьте немного флюса на контактные площадки печатной платы для Y1 и U3, прежде чем поместить их на контактные площадки на печатной плате. Убедитесь, что ориентация U3 правильная. Если она распаяна с маленькой платы, а не с новой, вы можете использовать спирт, чтобы очистить верхнюю часть, чтобы увидеть крошечную точку на контакте 1. У меня плохое зрение, поэтому я использовал лупу, чтобы увидеть точку на булавке 1.7. Используйте термофен, чтобы нагреть Y1 и U3. 8. Визуально проверьте соединения U3. Если есть контакт, который не выглядит идеально припаянным, повторно припаяйте его флюсом. Необходимо проверить только контакты 1, 2, 4, 6, 7, 8, 9,10 и 13, остальные контакты не используются. 9. Залудите контактные площадки 5 разъемов USB на печатной плате, затем припаяйте все 5 контактов. С достаточным потоком это можно сделать проще, чем вы думаете. Припаяйте R2, LED1 и S1.Если вы используете неочищенный флюс, перед промывкой удалите остатки припоя спиртом.Тщательно промойте его небольшой щеткой или даже зубной щеткой. После стирки и чистки используйте грушу или фен, чтобы высушить его. Если у вас нет под рукой неочищенного флюса, вы можете заменить его 91% -ным изопропиловым спиртом от Wal-Mart, возможно, он не пригоден. как и флюс, результат может быть достаточно хорошим. Инструкции по сборке для пайки двух штыревых разъемов: Перед пайкой всех штыревых контактов убедитесь, что модуль может мигать светодиодом D13. Протестируйте его, как если бы вы тестировали Teensy 3.2. Если он не может, сначала устраните проблему, прежде чем идти дальше.1. Необходимые детали: Один из модуля Mini T3.2. Два 12-контактных, прямоугольных, вилочных разъема, шаг 0,1 дюйма. 2. Согните 6 внешних контактов вверх. 3. Надавите на средние 6 контактов, насколько это возможно. используя плоскую отвертку, по одному. 4. Все средние 6 контактов нажимаются вниз. 5. Если вы не нажимаете их вниз, окончательно собранный модуль будет таким. Большой зазор между модулем и разъемами 6. Обрежьте 6 средних контактов примерно на половину длины.Вы можете использовать печатную плату 1,2 мм в качестве эталона или просто прикинуть, сколько отрезать.Это не обязательно должно быть очень точным. ВНИМАНИЕ: обязательно наденьте защитные очки или используйте палец, чтобы отрезанный кусок не разлетелся. 7. После резки. 8. Средние 6 контактов короче. 9. Затем наденьте штыревые разъемы на модуль, вы увидите, что есть много места для добавления припоя. 10. Если их не обрезать, контакты будут слишком длинными и их сложнее припаять к контактным площадкам. 11. Вставьте два контактных разъема на макетную плату на расстоянии 0,4 дюйма друг от друга. Убедитесь, что расстояние между ними составляет 0,4 дюйма, а не 0,5 дюйма. 12. Установите Mini T3.2 через два штыревых разъема. Начните пайку 2 контактов, pin1 и pin13. Припаяйте штифты, прижимая плату. После того, как эти 2 контакта припаяны, убедитесь, что между модулем и штыревыми разъемами есть ровный зазор. Если нет, у вас еще есть шанс исправить это. См. Рисунок ниже. Затем припаяйте все остальные контакты. Будьте осторожны при пайке, так как некоторые контакты расположены близко к компонентам, не создавайте перемычки при пайке. 13. Вид сбоку на картинку выше. Между модулем и штыревыми разъемами должен быть очень маленький зазор.14. После пайки всех контактов на верхней стороне переверните модуль. 15. Припаяйте все 12 контактов с нижней стороны. 16. Это последний собранный модуль. Средние 6 контактов с каждой стороны немного длинноваты, но их все равно можно вставить в макетную плату.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *