Найти в Дзене
Электроника и жизнь

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

Оглавление

Здравствуйте, уважаемые читатели! В данной статье разберем один из самых популярных программаторов для прошивки AVR микроконтроллеров – USBasp программатор.

USBasp программатор
USBasp программатор

В серии статей по программированию ATtiny13 и ATtiny85 я уже рассказывал, как можно использовать Ардуино в качестве ISP программатора. И как собрать удобный модуль для программирования данных микроконтроллеров с помощью Arduino UNO (Создаем удобный модуль для программирования микроконтроллеров ATtiny).

Начнем с описания USBasp программатора. Это программатор с открытым исходным кодом, придуманный Томасом Фишлем. Он позволяет запрограммировать любой AVR микроконтроллер, поддерживающий интерфейс SPI. И даже интерфейс TPI (Tiny Programming Interface) о котором я рассказывал на примере микроконтроллера ATtiny10 (Программирование ATtiny10 с помощью USBasp программатора).

Схема USBasp программатора
Схема USBasp программатора

Слева на картинке показан ISP разъем, подключаемый к программируемому микроконтроллеру, а справа USB разъем для подключения к компьютеру.

По центру размещен кварцевый резонатор и микроконтроллер. Обычно это ATmega8, иногда ATmega88.

Джампер JP1 - служит для выбора выходного напряжения программатора 3.3 или 5 В.

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

Джампер JP3 – позволяет снизить скорость программирования микроконтроллера. Его установка полезна, если микроконтроллер запрограммирован на частоту 1 МГц и менее. В противном случае, при попытке прошивки микроконтроллера может выводится сообщение об ошибке.

Чаще всего гребенки контактов для джамперов JP2 и JP3 не припаяны, так что их лучше припаять самому.

На сайте разработчика https://www.fischl.de/usbasp/ есть подробное описание программатора, схема с перечислением электронных компонентов, прошивка программатора и драйвера для операционной системы. Т.е. при желании, или в качестве обучающего проекта, такой программатор можно собрать самому.

Но проще всего приобрести USBasp программатор на AliExpress за 150-200 рублей, а иногда и дешевле.

USBasp программатор на AliExpress
USBasp программатор на AliExpress

Можно сразу приобрести с вот таким переходником, для удобства подключения к 6-ти контактным ISP разъемам. Таким как например у Ардуино Уно, Ардуино Нано и многих других плат с AVR микроконтроллерами.

USBasp программатор с переходником на 6 пинов
USBasp программатор с переходником на 6 пинов

Установка драйвера для USBasp программатора

Для операционной системы MacOS и Linux драйвера не нужны, а вот для пользователей Windows вначале нужно скачать и установить по ссылке https://www.fischl.de/usbasp/

Страница с драйвером для USBasp программатора
Страница с драйвером для USBasp программатора

Переходим по ссылке и скачиваем самый свежий архив с драйверами.

Далее распаковываем архив, переходим в папку bin , далее win-driver, libusb_1.2.4.0 и запускаем файл installer_x86.exe или installer_x64.exe в зависимости от того, 32 разрядная у вас система или 64 разрядная.

После установки важно проверить, чтобы при подключении программатора к ПК, в Диспетчере устройств появлялась новая группа устройств libusbK UsbDevices и внутри USBasp. При этом, должен быть статус устройства, что оно работает нормально.

USBasp программатор в Диспетчере задач
USBasp программатор в Диспетчере задач

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

Схема подключения USBasp программатора к микроконтроллеру зависит от распиновки каждого конкретного микроконтроллера. У всех AVR микроконтроллеров поддерживающих интерфейс SPI есть группа портов обозначенная на схеме как SCK, MISO и MOSI. Дополнительно нам понадобится подключение к ножке RESET микроконтроллера. И именно эти пины микроконтроллера мы соединяем с аналогичными пинами выхода USBasp программатора. Дополнительно подключаем VCC и GND программатора к аналогичным пинам питания и земли микроконтроллера.

ATtiny2313 в качестве примера
ATtiny2313 в качестве примера

Загрузка скетчей в USBasp программатора из среды Arduino IDE

После подключения микроконтроллера к USBasp программатору и выбора микроконтроллера (для примера ATtiny2313) устанавливаем в качестве программатора USBasp.

Выбор USBasp программатора
Выбор USBasp программатора

И в меню Скетч, выбираем пункт Загрузить через программатор.

Загрузка скетча через USBasp программатор
Загрузка скетча через USBasp программатор

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

О загрузке скетчей без использования среды Arduino IDE, а так же об обновлении прошивки USBasp программатора мы поговорим в следующей статье.

>>>> Часть 2. Обновление прошивки USBasp программатора

_________________________________________________________

Спасибо, что дочитали до конца! Если статья понравилась, нажмите, пожалуйста, соответствующую кнопку. Если интересна тематика электроники и различных электронных самоделок, подписывайтесь на канал. До встречи в новых статьях!

Другие публикации по теме:

  • Программирование ATtiny10 с помощью USBasp программатора
  • Создаем удобный модуль для программирования микроконтроллеров ATtiny