Предлагаем Вам схему USB программатора на микроконтроллере ATmega8. Этот USB программатор Вы можете собрать своими руками за несколько минут на макетной плате Breadboard Half (BREADBOARD - 456 HOLES) размером 82х59 мм. На этой плате хватит места и для программируемых микроконтроллеров в корпусах до DIP-28.

Этим USB программатором можно программировать микроконтроллеры AVR ATmega и ATtiny (другие программировать не пробовал). Этот программатор заметит Вам плату Arduino, он более удобен для экспериментов с различными микроконтроллерами и микропрограммами для них (скетчами). USB программатор работает под управлением микропрограммы ArduinoISP.

Минимальный набор деталей для программатора

  1. Микроконтроллер ATmega8 (ATmega8A-PU, ATmega8L-PU) 1шт
  2. Макетая плата Breadboard Half (BREADBOARD - 456 HOLES) размером 82х59 мм 1шт
  3. Интерфейс USB-UART (подойдет USB-DATA кабель от старого сотового телефона) 1шт

Остальные детали, которые вы увидите на схеме для работы универсального, самодельного, простого программатора не существенны.

USB программатор ISP

О подключении пробников, бузер можно подключить на линию MISO и слушать как общаются между собой микроконтроллеры. Светодиод можно подключить к 15 ножке микроконтроллера ATmega8, если схема собрана правильно и в Atmega8 залит скетч ArduinoISP, светодиод будет плавно менять яркость свечения.

Прежде чем воспользоваться самодельным программатором, необходимо загрузить в микроконтроллер программатора микропрограмму ArduinoISP из примеров к программе Arduino IDE. А еще раньше, необходимо настроить микроконтроллер ATmega8 на работу на частоте 8 МГц без внешнего кварцевого резонатора.

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

 1. Добавьте в программе Arduino в список поддерживаемых устройств микроконтроллер ATmega8 без bootloader с тактовой частотой 8МГц. Внесите изменения в файл sketchbook/hardware/boards.txt, добавив в него следующую секцию:

##############################################################

a8noboot_8MHz.name=ATmega8 (no boot 8 MHz int)
a8noboot_8MHz.upload.maximum_size=8192
a8noboot_8MHz.bootloader.low_fuses=0xa4
a8noboot_8MHz.bootloader.high_fuses=0xdc
a8noboot_8MHz.build.mcu=atmega8
a8noboot_8MHz.build.f_cpu=8000000L
a8noboot_8MHz.build.core=arduino
a8noboot_8MHz.build.variant=standard

##############################################################

Уточнить размещение папки sketchbook можно в программе Arduino в меню Файл / Настройки. Если в папке sketchbook нет папки hardware, создайте ее и создайте файл boards.txt

2. Подключите микроконтроллер ATmega8 к плате Arduino UNO как описано в Программатор для ATmega8A на Arduino с ArduinoISP.

3. В программе Arduino выберите Сервис / ПлатаATmega8 (no boot 8 MHz int) и Сервис / Записать загрузчик. Далее загрузите в микроконтроллер ATmega8 программу ArduinoISP Файл / Примеры / ArduinoISP и Загрузить.

4. Соберите программатор.

Для программатора Вам понадобится интерфейс USB-UART. Вы можете воспользоваться кабелем от старого сотового телефона, как описано в этой статье Подбор USB-DATA кабеля вместо USB-UART модуля для самодельного Arduino. Что на мой взгляд, очень удобно. Но вместо этого кабеля Ваш программатор можно подключить к компьютеру с помощью платы преобразователя USB-UART.

Самодельный USB программатор на макетной плате

На фотографии программируется микроконтроллер ATtiny84.