Самый простой вариант – схема на базе STK500 или USBasp. Для первой потребуется COM-порт и несколько резисторов, вторая работает через USB, но сложнее в пайке. Обе версии поддерживают большинство популярных Atmel-чипов, включая ATmega8, ATtiny13 и их аналоги.
Плата собирается на макетке или текстолите. Из деталей нужны: кварц 12 МГц, стабилизатор 5В, конденсаторы 22 пФ и 100 нФ. Если используется USB-интерфейс, добавьте FT232RL или CH340G – они дешевле оригинальных микросхем от Atmel.
Разъём для подключения – стандартный 6-пиновый IDC. Контакты MOSI, MISO, SCK и RESET подключаются напрямую к целевой плате. Питание (+5V и GND) подаётся только если чип не запитан от своего источника.
Прошивка управляется через avrdude с параметром -c stk500v2 или -c usbasp. Скорость передачи – до 115200 бод для COM-порта и около 8 МГц для USB. Ошибки чаще возникают из-за неправильной распайки или отсутствия драйверов.
Сборка устройства для прошивки чипов Atmel
Установите среду Arduino IDE. Добавьте поддержку AVR через менеджер плат: в настройках вставьте ссылку https://mcudude.github.io/MiniCore/package_MCUdude_MiniCore_index.json
, затем выберите MiniCore в разделе «Дополнительные URLs».
Загрузите скетч ArduinoISP. В меню выберите плату «Arduino Uno», порт и программатор «AVR ISP». Прошейте контроллер – теперь он готов к работе.
Для прошивки целевого чипа подключите его к ISP-разъёму. В Arduino IDE укажите параметры: семейство (ATtiny, ATmega), частоту, BOD. Нажмите «Загрузить через программатор». Если возникнут ошибки, проверьте соединения и питание – некоторые модели требуют 3.3 В вместо 5 В.
Используйте avrdude для ручного управления. Команда avrdude -p atmega328p -c arduino -P COM3 -b 19200 -U flash:w:firmware.hex
запишет прошивку. Замените COM3 на актуальный порт, а firmware.hex – на имя файла.
Выбор схемы и компонентов
Оптимальный вариант для начинающих – схема на базе USBasp. Она проста в сборке, требует минимум деталей и совместима с большинством современных чипов.
Необходимые компоненты
- Контроллер ATmega8 или ATmega88 (16PU или 32PU для USB 2.0).
- Кварцевый резонатор 12 МГц (допустимый допуск ±0.5%).
- Конденсаторы: 2×22 пФ (керамика), 2×100 нФ, 1×10 мкФ (электролит).
- Резисторы: 2×68 Ом, 1×1.5 кОм, 1×2.2 кОм (0.25 Вт).
- Стабилизатор напряжения 3.3 В (LD1117V33).
- Разъём USB тип B (пайка через отверстия).
- Светодиод (зелёный, 3 мм) с резистором 220 Ом.
Критерии выбора схемы
- Скорость обмена: USBasp поддерживает до 8 МГц в режиме высокоскоростного SPI.
- Поддержка ПО: Проверьте совместимость с avrdude, Khazama или AVRdudess.
- Разводка платы: Избегайте длинных проводников (>5 см) на линиях SCK и MOSI.
Для работы с чипами серии XMEGA потребуется схема с поддержкой PDI-интерфейса – добавьте разъём JTAG и резисторы 10 кОм на линии RESET, SCK, MOSI.
Запись кода в чип через самодельное устройство
Подключите схему к COM-порту через MAX232, соблюдая распиновку: контакт 1 (T1IN) к TXD, 2 (R1OUT) к RXD, 6 (GND) к общему проводу. Напряжение питания – строго +5В с током не менее 100 мА.
Для ATtiny13 установите перемычки: RESET на ножку 1, SCK на 7, MOSI на 5, MISO на 6. Частоту тактирования выберите 1 МГц – этого хватит для большинства задач.
В Avrdude укажите параметры:
avrdude -p t13 -c ponyser -P /dev/ttyS0 -U flash:w:firmware.hex
Ошибки при записи:
- Если видите «device not responding», проверьте цепь RESET – должен быть подтянут к +5В через резистор 10 кОм
- При «verification error» увеличьте задержку в настройках на 20%
Для PIC12F675 потребуется переделка схемы: добавьте стабилитрон на 3.3В в цепь VPP, иначе возможно повреждение памяти. Конфигурационные биты задавайте через параметр -C в командной строке.
Выбор схемы и компонентов
Схема на базе CH340G – оптимальный вариант для начинающих. Потребуются:
- Микросхема CH340G (аналог FT232RL)
- Кварц 12 МГц
- Конденсаторы: 2×22 пФ, 1×0.1 мкФ
- Резисторы: 1×1.5 кОм, 1×470 Ом
- Разъём USB Type-B
Компонент | Альтернативы |
---|---|
CH340G | CP2102, PL2303 |
Кварц 12 МГц | Встроенный генератор (если поддерживается) |
Конденсатор 22 пФ | 18–24 пФ в пределах допуска |