Программирование ATmega328P и ATtiny45 в Atmel Studio 7 — макетная плата и настройка ПО
В этом руководстве мы построим макетные цепи для программирования микроконтроллеров ATmega328P и ATtiny45 и пройдем через необходимую конфигурацию программного обеспечения.
Мы детально опишем построение двух схожих схем — одной для ATmega328P и одной для ATtiny45 — предоставляя полные схемы, четкие фотографии сборок на беспаечной макетной плате и введение в IDE Atmel Studio 7.
Обзор оборудования
ATmega328P — 28-пиновый AVR микроконтроллер, наиболее известный как ядро платформы Arduino. Он предлагает 32 кБ флеш, 2 кБ SRAM и 23 пина I/O, делая его подходящим для широкого спектра проектов. ATtiny45 — 8-пиновый компаньон с 4 кБ флеш, 512 Б SRAM и 5 пинами I/O — отличный для компактных приложений.
Оба устройства программируются по SPI (MOSI, MISO, SCK, GND). SPI — синхронная последовательная шина, позволяющая мастеру (программатору) управлять тактированием и потоком данных к микроконтроллеру.
Программирующие цепи
Ниже приведены схемы. R2 и LED1 опциональны; они служат простой тестовой цепью после программирования микроконтроллера.
Варианты программаторов
Atmel-ICE — премиальный выбор, но бюджетный Sparkfun AVR Pocket Programmer достаточен для большинства хоббистов. Убедитесь, что выбранный программатор поддерживает SPI и что вы установили правильный драйвер перед первым использованием. 2×5, 2×5 (9 in) и 2×3 ленточные разъемы AVR Pocket Programmer показаны на фото ниже.
Сборка на макетной плате
Шесть коротких перемычек соединяют 2×3 female разъем с пинами микроконтроллера на макетной плате. Цвета проводов соответствуют схеме.
Список деталей
| Обозначение | Описание | Источник | Номер |
|---|---|---|---|
| U1 | IC, ATmega328P-PU, 32 кБ Flash, DIP-28, 1.8-5.5 В | Digi-Key | ATMEGA328P-PU-ND |
| U2 | IC, ATtiny45-PU, 4 кБ Flash, DIP-8, 2.7-5.5 В | Digi-Key | ATTINY45-20PU-ND |
| R1 | Резистор, ¼ Вт, 10 кОм | Digi-Key | 10KQBK-ND |
| R2 | Резистор, ¼ Вт, 470 Ом | Digi-Key | 470QBK-ND |
| LED1 | Светодиод, желтый, 3/4" T1 | Digi-Key | 754-1889-ND |
| C1 | Конденсатор, керамический, 0.1 мкФ, 50 В | Digi-Key | 399-9797-ND |
| PGM | AVR Pocket Programmer | Digi-Key | 1568-1080-ND |
| BB | Беспаечная макетная плата, 400-контактная | Digi-Key | 377-2094-ND |
Настройка программного обеспечения
Драйвер AVR Pocket Programmer
Скачайте Windows драйвер со страницы Adafruit USBtinyISP. Выберите ZIP, содержащий два инсталлятора — 32-бит и 64-бит. Установите подходящий, затем подключите программатор USB-A на Mini-B кабелем. Синий PWR LED и красный Stat1 LED должны загореться; два синих data LED могут мерцать. После установки устройство появляется в Device Manager под «USBtiny» (libusb-winXX).
Atmel Studio 7
Atmel Studio 7 — флагманская IDE для AVR разработки на Windows (как 32-бит, так и 64-бит). Хотя не единственный вариант, он предоставляет наиболее полный набор инструментов для сборки, отладки и прошивки AVR прошивки. Скачайте и установите IDE, и обратитесь к руководству пользователя для передовых функций.
Поддержка программатора встроена для многих устройств, но AVR Pocket Programmer не в списке по умолчанию. Он может использоваться через AVRDude, командную утилиту, общающуюся с AVR микроконтроллерами.
AVRDude
AVRDude доступен для Windows и Linux. На момент написания, версия 6.3 — последняя. Скачайте avrdude-6.3-mingw32-zip, распакуйте (идеально в корневую директорию для простоты) и запустите следующее для верификации установки:
- Откройте Командную строку.
- Перейдите в папку AVRDude.
- Выполните
avrdude -c USBtiny— вы должны увидеть список поддерживаемых AVR устройств.
Сборка всего вместе
С оборудованием, собранным, и драйверами, установленными, вы готовы прошить прошивку. Скачайте New_Blink.zip, распакуйте и следуйте шагам ниже.
- Запустите Atmel Studio 7.
- File > New Project. Выберите "GCC C Executable Project", назовите New Blink, нажмите OK.
- Выберите целевое устройство: ATmega328P или ATtiny45, затем OK.
- Tools > External Tools > Add. Назовите инструмент (например, "AVRDude – ATmega328P").
- Command:
C:\Path\To\AVRDude\avrdude.exe(замените путь). - Arguments: для ATmega328P используйте
-c usbtiny -p m328p -v -U flash:w:$(TargetDir)$(TargetName).hex:i; для ATtiny45 используйте-c usbtiny -p t45 -v -U flash:w:$(TargetDir)$(TargetName).hex:i. - Initial directory:
C:\Path\To\AVRDude. Отметьте "Use Output window". - Apply & OK.
- Откройте предоставленный файл
New Blink.c, скопируйте содержимое и вставьте в редактор Atmel Studio. - Переименуйте исходный файл в New Blink.c через Solution Explorer.
- File > Save All.
- Build > Build Solution.
- Tools > AVRDude – ATmega328P (или ATtiny45). Скомпилированная прошивка загружается, и LED1 мигает на 1 Гц.
Хотя процесс может показаться сложным для простого мигания LED, вы теперь освоили четыре существенных навыка: построение программной платы, установку IDE, интеграцию AVRDude и настройку кастомного инструмента. Будущие проекты будут еще более гладкими.
Попробуйте проект сами и возьмите BOM для быстрой сборки.
Промышленное оборудование
- Литье под давлением: преимущества, вызовы и ключевые инсайты для производителей
- Три основных этапа 3D-печати: подробное объяснение
- Промышленные вакуумные системы: типы, преимущества и применение
- Промышленная автоматизация: ключ к бизнесу, готовому к будущему
- Двигатели постоянного и переменного тока: ключевые отличия и руководство по выбору
- Безопасность на производстве: снижение травматизма и защита прибыли
- Лазерная резка: точность, универсальность и ключевые преимущества для современного производства
- Промышленные машины 2020 и далее: новый рубеж Индустрии 4.0
- Механические тормоза: типы и ключевые отличия
- Стоит ли покрывать ваш насос? Взвешивание выгод и недостатков