Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Equipment >> Промышленное оборудование

Макетирование и программирование ATmega328P и ATtiny45 в Atmel Studio 7

В этом проекте мы создадим схемы для программирования двух разных микроконтроллеров Atmel и обсудим необходимую настройку программного обеспечения.

В этом проекте мы создадим схемы для программирования двух разных микроконтроллеров Atmel и обсудим необходимую настройку программного обеспечения.

В этом проекте будет описана конструкция двух очень похожих схем:одна для программирования ATmega328P, а другая - для программирования ATtiny45. В статье будет представлена ​​полная принципиальная схема схем программирования, а также подробные фотографии беспаечных макетных сборок. Кроме того, будет представлена ​​Atmel Studio 7 IDE (интегрированная среда разработки).

Во-первых, оборудование

ATmega328P - это 28-контактный микроконтроллер от Atmel, входящий в линейку AVR. Вероятно, он наиболее известен как наиболее часто используемый микроконтроллер в платформе разработки Arduino, но AT328P способен на гораздо больше, чем можно выжать из него. Если вы хотите увидеть доказательства этого утверждения, взгляните на таблицу на 660 страниц.

ATtiny45 - это 8-контактный микроконтроллер, который можно рассматривать как «младшего брата» ATmega328P. Он имеет многие из тех же функций, но, конечно, у него не так много контактов ввода-вывода.

Последовательный периферийный интерфейс (SPI) используется для программирования ATmega328P и ATtiny45; это трехпроводная (плюс земля) шина, состоящая из сигнала Master Out, Slave In (MOSI), Master In, Slave Out (MISO) и сигнала последовательной синхронизации (SCK). Часы генерируются ведущим устройством и используются для обеспечения синхронизированной связи между ведущим и ведомым (или ведомыми); следовательно, SPI - это «синхронная» коммуникационная шина.

Схемы программирования

Принципиальные схемы схем программирования показаны ниже. Обратите внимание, что резистор R2 и LED1 не являются строго обязательными для программирования, но включены в схему для целей тестирования, как определено далее в этом проекте.

Выбор программиста

Доступно несколько программаторов, которые будут обрабатывать ATmega328P и ATtiny45; Atmel-ICE находится в верхней части списка и является прекрасным программистом, о котором мы поговорим в следующей статье. На данный момент для скинфлинтов из вас доступны менее дорогие варианты, и Sparkfun AVR Pocket Programmer - это тот, который использовал скинфлинт, автор этой статьи. Если вы предпочитаете что-то другое, смело выбирайте тот, который соответствует вашим предпочтениям и вашему кошельку. Просто убедитесь, что он использует последовательный периферийный интерфейс, как описано ранее, и будьте готовы внести соответствующие изменения в информацию в этой статье.

ВНИМАНИЕ! Обязательно загрузите и установите соответствующий драйвер для карманного программатора AVR на свой компьютер, прежде чем подключать программатор в первый раз. Если Windows разрешено установить неправильный драйвер, исправить это может быть очень проблематично. Инструкции по получению драйвера AVR Pocket Programmer приведены далее в этой статье.

Карманный программатор AVR поставляется с ленточным кабелем, который должен быть подключен к Atmel μC. Он оснащен тремя разъемами:гнездо 2 × 5, которое подключается к ответному штекеру на карманном программаторе AVR, другое гнездо 2 × 5, которое находится примерно на 9 дюймах (23 см) вниз по ленточному кабелю (который не используется в эту статью), а также гнездо 2x3 на конце ленточного кабеля. Распиновка показана на фотографиях ниже.

Программирование беспаечных макетных плат

На следующих фотографиях показаны беспаечные макетные платы ATmega328P и ATtiny45. Шесть коротких перемычек используются для подключения необходимых выводов от гнездового разъема 2x3 к соответствующим контактам микроконтроллера на беспаечной макетной плате. Обратите внимание, что цвета проводов на фотографиях сборки ниже соответствуют цветам на схематических диаграммах выше.

Список деталей

Помимо некоторых проволочных перемычек, в следующей таблице перечислены детали, необходимые для сборки схем программирования.

Ссылка на деталь Описание Источник Номер позиции
U1 IC, ATmega328P-PU, 32kB Flash, DIP-28, 1,8-5,5В Digi-Key ATMEGA328P-PU-ND
U1 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 Диод, светоизлучающий, T1 3/4, желтый Digi-Key 754-1889-ND
C1 Конденсатор, керамический, 0,1 мкФ, 50 В Digi-Key 399-9797-ND
Н / Д Программист, AVR Pocket, PGM-09825 Digi-Key 1568-1080-ND
Н / Д Макетная плата, без пайки, 400 контактов Digi-Key 377-2094-ND

Затем программное обеспечение

Драйвер для карманного программатора AVR

Драйвер Windows для карманного программатора AVR - тот же, что используется программатором Adafruit USBTiny. Перейдите на эту веб-страницу Adafruit и щелкните ссылку для подписанного драйвера Windows USBtinyISP, созданного с помощью libusb v1.12. Это позволит вам загрузить zip-файл, содержащий два файла installer.exe:один для 32-разрядных компьютеров и один для 64-разрядных компьютеров. Дважды щелкните тот, который подходит для вашего ПК с Windows, и драйвер будет установлен.

Только после установки правильного драйвера для Windows вы можете подключать карманный программатор AVR к компьютеру в первый раз. Для подключения вашего ПК к карманному программатору AVR вам понадобится кабель USB типа A - Miniature B, соединяющий вилку с вилкой. При подключении должны загореться синий светодиод PWR и красный светодиод Stat1; два синих светодиода данных также могут гореть и / или мигать. Windows попытается найти драйвер, и при необходимости вы должны указать Windows правильное расположение драйвера. После правильной установки AVR Pocket Programmer будет отображаться в диспетчере устройств под устройствами libusb-winXX как «USBtiny»; он не будет указан как COM-порт. См. Снимок экрана ниже:

Atmel Studio 7

Как и многие фирмы, занимающиеся разработкой микроконтроллеров, у Atmel есть интегрированная среда разработки (IDE), которая работает с их аппаратными предложениями:Atmel Studio 7. Хотя это не единственный способ программирования микроконтроллеров Atmel, это наиболее полнофункциональный метод для Windows 7, 8, и 10 (как 32-битные, так и 64-битные); К сожалению, его нельзя использовать с операционными системами Linux или Mac.

Количество опций и вариантов в Atmel Studio 7 может быть огромным для нового пользователя. Таким образом, в этом проекте будет предоставлен пошаговый подход, который значительно упростит процесс. Начните с загрузки и установки IDE на свой компьютер. Руководство пользователя Studio 7 и множество дополнительной информации также доступны для загрузки.

В Studio 7 включена поддержка нескольких аппаратных программистов, но точный выбор зависит от того, какой микроконтроллер Atmel вы собираетесь использовать. На приведенном ниже снимке экрана справа перечислены программаторы, поддерживаемые ATMega328P.

Как видите, карманного программатора AVR нет в списке. Однако его по-прежнему можно использовать со Studio 7 с помощью программы под названием AVRDude.

AVRDude

AVRDude - это утилита командной строки, которая используется для загрузки и выгрузки на микроконтроллеры Atmel. Доступны версии как для Linux, так и для Windows. На момент написания этой статьи (7 июня 2017 г.) последняя доступная версия - 6.3; его можно скачать здесь. Пользователи Windows должны загрузить avrdude-6.3-mingw32-zip (щелчок по этой ссылке загрузит zip-файл!), Распаковать файлы и установить AVRDude. Обратите внимание, что установка программы в корень вашего основного жесткого диска не является обязательной, но упростит ее использование с Atmel Studio 7. Если доступна версия более поздняя, ​​чем 6.3, вы можете решить установить ее по своему усмотрению. Руководство пользователя AVRDude доступно здесь.

Чтобы проверить, правильно ли установлен и работает AVRDude, выполните следующие действия:

  1. Нажмите кнопку "Пуск" в Windows.
  2. В поле поиска введите cmd и нажмите Enter. Должно открыться окно командной строки DOS.
  3. В командной строке DOS перейдите в каталог, в который вы установили AVRDude.
  4. Введите avrdude -c USBtiny и нажмите Enter. Если все в порядке, AVRDude вернет список поддерживаемых устройств Atmel.

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

Собираем все вместе

Предполагая, что программатор подключен к AVR на вашей беспаечной макетной плате, как описано ранее, вы почти готовы к программированию AVR. Загрузите файл New Blink.zip с помощью кнопки ниже, распакуйте его и сохраните на своем компьютере в удобном месте.

New_Blink.zip

Теперь выполните эту процедуру.

  1. Запустите Atmel Studio 7.
  2. В левой части начального экрана нажмите «Новый проект». Откроется экран «Новый проект».


  3. На экране "Новый проект" щелкните "Исполняемый проект GCC C"; назовите проект New Blink, как показано выше, и нажмите OK. Откроется экран выбора устройства.


  4. На экране выбора устройства выберите устройство AVR, которое вы используете:ATmega328P или ATtiny45, как показано ниже. Щелкните ОК. Будет создан новый проект, и откроется экран нового проекта Blink.


  5. Щелкните раскрывающееся меню "Инструменты", выберите "Внешние инструменты…" и нажмите кнопку "Добавить".
  6. В поле "Название" введите имя создаваемого инструмента; Хорошо, если название описывает инструмент. Например, вы можете ввести комбинацию имени программиста и имени устройства.
  7. В поле "Команда" введите адрес DOS места, где вы установили AVRDude, а также команду для запуска AVRDude.
  8. В поле "Аргументы" введите одну из двух следующих строк в зависимости от того, какой AVR вы используете. Для 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  
  1. В поле "Исходный каталог" введите адрес DOS для места, где вы установили AVRDude.
  2. Убедитесь, что флажок "Использовать окно вывода" установлен, а два других флажка не установлены. Окно должно быть похоже на экран ниже, но отражать используемый AVR.


  3. Нажмите "Применить", а затем нажмите "ОК". Окно "Внешние инструменты" должно закрываться.
  4. Перейдите в то место, где вы распаковали и сохранили New Blink.c в начале этого раздела, откройте файл, выберите все содержимое и скопируйте его в буфер обмена.
  5. Перейдите в окно New Blink.c в Atmel Studio 7, выберите все содержимое и вставьте содержимое буфера обмена в окно New Blink.c. Он должен выглядеть так, как показано ниже.


  6. Если обозреватель решений Atmel Studio 7 не открыт в правом верхнем углу окна проекта, щелкните раскрывающееся меню «Просмотр» и выберите «Обозреватель решений». Обозреватель решений должен открыться в правом верхнем углу окна проекта.
  7. Щелкните правой кнопкой мыши файл main.c и выберите "Переименовать". Переименуйте файл main.c в New Blink.c.
  8. Щелкните раскрывающееся меню "Файл" и нажмите "Сохранить все".
  9. Щелкните раскрывающееся меню "Сборка" и выберите "Сборка решения".
  10. Щелкните раскрывающееся меню "Инструменты" и щелкните имя инструмента, созданного на шагах с 5 по 11 выше. Скомпилированный код New Blink должен быть загружен в AVR на вашей макетной плате, и светодиод 1 должен начать мигать:включаться на ½ секунды и выключаться на ½ секунды, 60 раз в минуту.

Начало

По общему признанию, это был долгий процесс для простого мигания светодиода, но правда в том, что вы успешно преодолели четыре основных препятствия:создание аппаратной платформы для программирования микроконтроллера AVR, установка интегрированной среды разработки (Atmel Studio 7), интеграция внешнего program (AVRDude) и определение инструмента программирования для AVR по вашему выбору. Будьте уверены, это станет проще для будущих проектов Atmel, которые будут намного веселее. Следите за ними на AllAboutCircuits.com.

Попробуйте сами! Получите спецификацию.


Промышленное оборудование

  1. Плюсы и минусы литья под давлением
  2. 3 этапа 3D-печати и принципы их работы
  3. Промышленная вакуумная система:обсуждение типов и преимуществ
  4. Почему и как за промышленной автоматизацией будущее
  5. Разница между двигателями постоянного и переменного тока
  6. Влияние безопасности на производстве и почему это важно
  7. Понимание точности и процесса технологии лазерной резки
  8. Будущее промышленного оборудования в 2020 году и далее
  9. Типы механических тормозов и чем они отличаются
  10. Плюсы и минусы покрытия вашей помпы