Usbasp программатор своими руками atmega328

USBasp — USB программатор для микроконтроллеров Atmel AVR

USBasp — это внутрисхемный USB программатор для микроконтроллеров Atmel AVR . Данный программатор состоит из одного микроконтроллера AT m ega8 и небольшого количества пассивных элементов, поэтому он довольно компактный (70х20мм) и имеет элегантный дизайн.

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

  • работает с несколькими платформами: Windows (XP, Vista и Windows 7), Linux и Mac OS X;
  • нет необходимости использовать дополнительные микроконтроллеры или SMD элементы;
  • скорость программирования до 5 кБ/сек;
  • SCK-джампер позволяет программировать низкоскоростные микроконтроллеры (

Указываем папку в которой лежат драйвера для USBasp программатора.

Нажмите кнопку «Далее» и начнется процесс установки.

После установки драйвера мастер оборудования завершит работу.

Установка драйвера для USBasp программатора на Windows Vista x64 и Windows 7:

1. Скачайте драйвер —

2. Вставьте USBASP в порт USB;

Система будет пытаться установить драйвер из Центра обновления Windows

Теперь, перейдите в диспетчер устройств и найдите запись для программатора USBASP. Он должен отображаться с желтым значком предупреждения;

Щелкните правой кнопкой мыши на устройстве и выберите пункт «Обновить драйвер»

В ответ на запрос «Как вы хотите найти драйвер», выберите «Выполнить поиск драйверов на этом компьютере»

Выберите папку, в которую вы распаковали файлы драйвера нажмите кнопку «Далее»

После чего, в окне появится красная полоса, которая предупреждает Вас сообщением «Windows не может проверить издателя этого программного драйвера»;

Нажмите кнопку «Установить программное обеспечение этого драйвера» и драйвер будет установлен.

Программы для работы с программатором:

Программисту представляется возможность работать с широким разнообразием микроконтроллеров Atmel AVR в том числе и ATMEGA8A, Atmega168a и различным программным обеспечением:

? AVRDUDE — поддерживается USBasp начиная с версии 5.2;

? BASCOM-AVR — поддерживается USBasp начиная с версии 1.11.9.6;

?Khazama AVR Programmer — Windows XP/Vista GUI приложение для USBasp и avrdude;

?eXtreme Burner — AVR — программа Windows GUI для USBasp.

В комплекте с программатором идет 10-контактный кабель, как показано на основной фотографии.

Распиновка 10-контактного кабеля

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

2 — VTG +5V (Выход +5В, для питания программируемой платы от шины USB током до *200мА . )

3 — NC (Не используется)

4 — GROUND (Общий или минус питания)

5 — RESET (Подключается к выводу RESET микроконтроллера)

6 — GROUND (Общий или минус питания)

7 — SCK (Выход тактирования данных)

8 — GROUND (Общий или минус питания)

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

10 — GROUND (Общий или минус питания)

При разомкнутом джампере — частота SCK будет высокой = 375 кГц, при замкнутом — пониженной = 8 кГц. Это сделано для программирования микроконтроллеров с низкой частотой тактирования (меньше 1.5 МГц).

Зеленый (желтый) светодиод «P” (POWER)— сигнализирует о том, что программатор находится в рабочем состоянии. Красный светодиод «F” (FIRMWARE) зажигается только когда идет процесс обмена данными с компьютером (запись либо считывание данных).

Источник

Изготовление и настройка программатора USBASP

Здравствуйте, уважаемые коллеги SW19 и просто те, кому интересна электроника.
Эта статья будет посвящена изготовлению программатора USBASP своими руками. Собрать его решил просто из спортивного интереса, так как детали давно лежали и заняться было не чем. Он предназначен для прошивки микроконтроллеров фирмы Atmel. Схема проста, как 3 копейки и требует только внимательности и аккуратности. Я не стал мудрствовать и нашёл схему в интернете:

По ней и будем собирать наш программатор.
Там же брал и все файлы для изготовления программатора. Продолжим дальше. Использовать будем микроконтроллер (далее МК) Atmega8 – 16PU, можно Atmega8A.

Печатную плату я переделал под корпус, который был в наличии у меня. Заказывал его на Али.
Вот ссылка, где брал: http://ru.aliexpress.com/item/New-Plastic-Electronic-Project-Box-100x60x.
Изготавливать печатную плату будем по технологии ЛУТ. Что это такое описывать тут не буду, так как в интернете полно статей на эту тему. Переносим рисунок печатной платы на текстолит.
У меня получилось как- то так:

Травим наше творение в хлорном железе:

Тогда я ещё не знал про перекись водорода, лимонную кислоту и соль, ну да ладно. Делаем так, как знаем.

Получаем такой результат:

Сверлим отверстия. Я сверлил моторчиком с латунной цангой. Тоже брал с Али. Кому интересно, вот ссылка на сей девайс:
http://ru.aliexpress.com/item/12V-Motor-0-5-3mm-Small-Electric-Drill-Bit.

Потом лудим обычным паяльником, предварительно покрыв нашу плату ЛТИ-120.

Получилось немного коряво, но ничего страшного. Мы делаем первый раз такие вещи и нам простительно. Тем более, что на выставку мы не претендуем. После того, как плату залудили – советую её отмыть изопропиловым спиртом, так как ЛТИ -120 губительно сказывается на дорожках печатной платы и выводах деталей, и со временем разрушает их.

Список деталей для нашего программатора:

МК Atmega8 – 16PU 1шт.
Панелька под МК DIP 28 1шт.
Кварцевый резонатор на 12 Мгц 1шт.
Стабилитрон BZV85C3V6(1N4729A) 2шт.
Резистор 10 Ком 1шт.
Резистор 68 ом 2шт.
Резистор 390ом 2шт.
Резистор 270 Ком 1шт.
Резистор 1,5 Ком 1шт.
Конденсатор 18 пф 2шт.
Конденсатор 100 нф 1шт.
Конденсатор 10 мкф 16в 1шт.
USB разъём USBB-1J 1шт.
Разъём ISP 10 штырей 1шт.
Джампер 3шт.
Светодиод красный 1шт.
Светодиод зелёный 1шт.

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

Далее по возрастающей. Последними запаиваем разъёмы, панельку под МК, светодиоды, кварцевый резонатор.

В итоге получаем вот такой вот вид:

Теперь прошьём наш МК. Мой компьютер не имеет LPT и COM портов, поэтому будем прошивать USB программатором. В моём случае это TL866CS, брат-близнец нашего WizardProg 87. Брал его тоже на Али, но ссылка, к сожалению не сохранилась.

Подключаем программатор к компьютеру. Запускаем программу для работы с программатором.
Она от WizardProg 87, полностью русифицирована и полностью дружит с нашим китайским девайсом.

Выбираем наш МК из списка. В данном случае это Atmega8A.

Нажимаем на кнопочку «Размещение ИМС», для того, чтобы посмотреть, как установить наш МК в панель программатора:

И устанавливаем наш микроконтроллер:

Выбираем прошивку, которую будем записывать в память МК:

Выставляем фьюзы так, чтобы получилось как у меня на фото, смотрим, где обведено красным маркером:

Будьте внимательны при настройке фьюзов! В разных программаторах они могут быть инверсными! Это значит, что там где у меня стоит галочка, в Вашем может её и не быть! Это важно! Неправильная настройка фьюзов может привести к полному залочиванию МК!
Далее прошиваем нашу Atmega8 – 16PU.

Проверяем наш МК программатором на наличие ошибок после записи прошивки, так называемая варификация:

Всё успешно прошилось.

Теперь собираем наш программатор и проверяем. Подключаем его к ПК через кабель USB.
Ставим драйвера.

У меня всё получилось с первого раза. Далее собираем всё в корпус. Где его взять – написано в самом начале статьи. И оформляем, чтобы было понятно, что куда подключать.

Вид готового программатора, подключённого к ПК.

Ну вот и всё на сегодня, надеюсь было интересно и полезно. Желаю всем удачи в ремонтах и спасибо за внимание.

Источник

Про Ардуино и не только

четверг, 13 сентября 2018 г.

Программатор USBasp

Сегодня речь пойдет о программаторе USBasp — популярном программаторе для микроконтроллеров фирмы Atmel серии AVR. Как заявляет его создатель на домашней странице проекта, USBasp работает на различных платформах (Windows, Linux, Mac OS X), не требует дополнительных компонентов и обеспечивает скорость программирования до 5 кбит/с. Кроме того его схема довольно проста и желающие могут собрать этот программатор самостоятельно. Либо можно заказать готовый на Aliexpress, как я и поступил. Обошелся он мне в $1.70 вместе с переходником на ICSP разъем.

Содержание

Подключение программатора USBasp к Ардуино

USBasp позволяет программировать AVR микроконтроллеры через последовательный интерфейс SPI. Для этого он имеет 10-пиновый разъем SPI. И подключение программатора к Ардуино или отдельному микроконтроллеру сводится к соединению их линий SPI и Reset.

В большинство плат Ардуино присутствует ICSP разъем, в котором сгруппированы выводы для внутрисхемного программирования: MOSI, MISO, SCK, RST, GND и VCC. Поэтому удобнее всего подключать программатор именно к ICSP. Здесь вам потребуется распиновка разъемов, она приведена ниже:

Соедините соответствующие выводы программатора и Ардуино, должно получиться примерно так:

Конечно, возиться каждый раз с проводами не очень удобно, поэтому советую приобрести переходник ISP 10 pin to 6 pin. С ним всё становится гораздо проще.

Если же на плате Ардуино нет ICSP разъема, то остается подключать программатор к цифровым выводам в соответствии со следующей таблицей. В ней приведено расположение выводов MOSI, MISO и SCK для различных плат Ардуино.

Плата Ардуино MOSI MISO SCK Уровень
Uno, Duemilanove 11 или ICSP-4 12 или ICSP-1 13 или ICSP-3
Nano 11 или ICSP-4 12 или ICSP-1 13 или ICSP-3
Pro Mini 11 12 13 3.3В или 5В
Mega1280, Mega2560 51 или ICSP-4 50 или ICSP-1 52 или ICSP-3
Leonardo ICSP-4 ICSP-1 ICSP-3
Due ICSP-4 ICSP-1 ICSP-3 3.3В
Zero ICSP-4 ICSP-1 ICSP-3 3.3В
101 11 или ICSP-4 12 или ICSP-1 13 или ICSP-3 3.3В

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

Драйвера для USBasp

Для работы с USBasp в Windows следует установить драйвера. Разработчик данного программатора рекомендует использовать драйвера Zadig, скачать их можно на странице http://zadig.akeo.ie/. Обратите внимание, начиная с версии драйвера 2.3 прекращена поддержка Windows XP и Vista. Для указанных систем используйте предыдущую версию драйвера: zadig_xp_2.2.exe для XP и zadig_2.2.exe для Vista.

У меня в системе установлены драйвера из этого набора, они подходят как для XP, так и для свежих версий Windows. Скачайте архив, распакуйте его и запустите InstallDriver.exe для установки драйверов.

После установки драйверов программатор будет виден в диспетчере устройств как USBasp, теперь мы можем его использовать:

При работе в Linux или MacOS X установка дополнительного ПО для USBasp не требуется.

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

Чтение и запись фьюзов Ардуино

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

avrdude -C ../etc/avrdude.conf -c usbasp -p m328p -U lfuse:r:-:h

В этой команде использованы следующие параметры:

    -c

— псевдоним используемого программатора, в данном случае usbasp.
-p

— тип микроконтроллера. Я считываю фьюзы из Ардуино Уно, в которой установлен микроконтроллер ATmega328p, поэтому в качестве

указано значение m328p.

  • -U :r|w|v: [:format] — комплексная опция для указания производимой с памятью операции (чтение. запись, проверка). -U lfuse:r:-:h означает, что требуется прочитать содержимое младшего байта конфигурации и вывести считанное значение на экран в щестнадцатеричном виде.
  • Чтение и запись FLASH и EEPROM памяти Ардуино

    В приведенных выше примерах команд для Avrdude в качестве параметра использовались значения lfuse и efuse для доступа к конфигурационным байтам микроконтроллера. Данный параметр может принимать и другие значения, они приведены ниже:

    • calibration — байты калибровки RC-генератора;
    • eeprom — энергонезависимая память микроконтроллера;
    • efuse — дополнительный конфигурационный бит;
    • flash — FLASH память микроконтроллера;
    • fuse — фьюз-байт для микроконтроллеров с одним fuse-байтом;
    • hfuse — старший fuse-байт;
    • lfuse — младший fuse-байт;
    • lock — байт блокировки (ячейка защиты);
    • signature — три байта что обозначают сигнатуру чипа (device ID);
    • fuseN — байт с фьюзами для ATxmega чипов, N — целое число для каждого фьюза что поддерживается устройством;
    • application — область приложений во Flash памяти для МК ATxmega;
    • apptable — таблица приложений в области Flash памяти для устройств ATxmega;
    • boot — загрузочная область Flash памяти для устройств ATxmega;
    • prodsig — область с производственной сигнатурой (calibration) для устройств ATxmega;
    • usersig — область с пользовательской сигнатурой для устройств ATxmega.

    Таким образом, для чтения FLASH Ардуино Уно (микроконтроллера ATmega328p) может быть использована следующая команда:
    avrdude -C ../etc/avrdude.conf -p m328p -c usbasp -U flash:r:flash_dump.hex:i

    Файл с содержимым FLASH памяти микроконтроллера будет создан в каталоге Avrdude. Либо можно прописать в команде полный путь к файлу.

    Для записи в FLASH память содержимого файла flash_dump.hex можно использовать команду:
    avrdude -C ../etc/avrdude.conf -p m328p -c usbasp -U flash:w:flash_dump.hex:i

    Чтение EEPROM:
    avrdude -C ../etc/avrdude.conf -p m328p -c usbasp -U eeprom:r:eeprom_dump.hex:i

    Запись EEPROM:
    avrdude -C ../etc/avrdude.conf -p m328p -c usbasp -U eeprom:w:eeprom_dump.hex:i

    Запись загрузчика в Ардуино

    1. Соединяем USBasp с платой, в которую будем записывать загрузчик и подключаем программатор к компьютеру.
    2. Запускаем IDE Arduino.
    3. В меню Инструменты > Программатор выбираем USBasp.
    4. В меню Инструменты > Плата выбираем значение, соответствующее нашей плате.
    5. В меню Инструменты выбираем команду Записать загрузчик.

    Если все сделано правильно, то в нижней части IDE появится сообщение об успешной записи загрузчика:

    Источник

    Читайте также:  Забор австрийская плетенка вертикальная своими руками
    Оцените статью