Распиновка atmega328: Распиновки и описание процессоров ATmega установленных на ардуино и не только (+схемы пинмапинга )

Распиновки и описание процессоров ATmega установленных на ардуино и не только (+схемы пинмапинга )

Содержание

Особенности

По datasheet (описанию), все контроллеры Atmega обладают следующими особенностями:

  • Низкомощным высокопроизводительным 8-зарядным микроконтроллером типа AVR (причем, и у моделей класса Atmega168 20au, и Atmega168 20au).
  • Усовершенствованной архитектурой типа RISC (плата всегда ей соответствует).
  • Микроконтроллером. Datasheet (описание) говорит, что их 135 у каждой модели.
  • Платой и распиновкой, которые обеспечивают выполнение практически всех инструкций в течение 1 цикла.
  • Каждый микроконтроллер серии, от самых первых, например, Atmegar3, до наиболее современных (Atmega328 или Atmega2561 rev3), характеризуется полностью статическими темпами работы.
  • Огромной производительностью, как утверждает datasheet (описание). При частоте в 16 мегагерц производительность будет равняться 16 миллионам операций за 1 секунду.
Контроллер Atmega2560
  • Встроенным 2-тактным устройством для умножения.
  • Платой и распиновкой, позволяющими содержание опционального сектора для загрузки с раздельными защитными битами.
  • Внутрисистемно программируемой флеш-памятью. Согласно информации из datasheet (описанию), ее объем может равняться 64, 128 или 256 килобайтам.
  • Износостойкостью памяти, составляющей 10 000 циклов типа «запись/уничтожение».
  • Возможностью платы самопрограммироваться любой другой программой, которая находится в загрузочном секторе.
  • Способностью микропроцессора поддерживать режим чтения во время записи.
  • Ёмкостью внешнего пространства для программирования одного микропроцессора — 64 килобайта.
  • Микрочипом, позволяющим пользователю самостоятельно программировать его защиту (актуально для всех версий: от первых, например, Atmegar3, до современных: Atmega328 или Atmega2561 rev3).

Купить на алиэкспресс http://ali.pub/1t11be  

Наименование модели: ATMEGA8-16PI  

Производитель: Atmel

Описание: Микроконтроллеры (MCU) AVR 8K FLASH 512B EE 1K SRAM ADC

Купить на алиэкспресс Attiny  http://ali.pub/1t11gn  

Справочная информация:
Буква V в названии микросхемы означает пониженное напряжение питания;
Буква A — микросхема имеет расширенный диапазон питания от 1.8 до 5.5 Вольт;
Буква P — PicoPower — пониженное потребление;

В столбце АЦП первое число суммы равно количеству несимметричных входов, второе — количеству дифференциальных пар. Если число только одно, значит, микросхема не поддерживает дифференциальные входы АЦП

Купить на алиэкспресс Atmega 2560 http://ali.pub/1t11li  

Atmega2560, как и все его аналоги: Atmega2560 rev3, Atmega2560 16au, Atmega320 «Про Мини», Atmegach440g, Atmegach440g Pro Mini, Atmega640 Pro Mini, Atmega168 20au, Atmega328, Atmega2560 16au Pro Mini, Atmegar3 Pro Mini, Atmega168 20au «Про Мини» представляет собой 8-разрядный микроконтроллер низкой мощности, изготовленный на базе ядра типа AVR с архитектурой типа RISC. Он способен выполнять большое количество различных инструкций одновременно.


Купить на алиэкспресс atmega32u4   http://ali.pub/1t11pl  

                               

  • Высокопроизводительный, малопотребляющий 8-битный микроконтроллер семейства AVR
  • Передовая RISC архитектура
    • 135 инструкций, большинство выполняется за один такт
    • 32х8 регистров общего назначения
    • Полностью статический режим работы
    • Производительность до 16 MIPS (млн. операций в секунду) при тактовой частоте ядра 16 МГц
    • Встроенный двухтактный умножитель
  • Энергонезависимая память программ и память данных
    • 32 КБайт самопрограммируемой в системе FLASH памяти
      • 100000 циклов записи/стирания
    • Встроенный загрузчик программ с независимыми битами защиты
      • Загрузчик активируется после команды сброса
      • Возможен режим чтения во время записи
      • Все микроконтроллеры поставляются с «прошитым» USB загрузчиком
    • 2.5 КБайт внутренней SRAM данных
    • 1 КБайт внутренней EEPROM
      • 100000 циклов записи/стирания
    • Программная защита от считывания
  • JTAG интерфейс (совместимый с IEEE 1149.1)
    • Сканирование периферии в соответствии стандарту JTAG
    • Расширенный режим отладки
    • Поддерживает программирование FLASH, EEPROM и битов защиты
  • Высокоскоростной/низкоскоростной модуль USB 2.0 с функцией прерывания по окончании передачи
    • Полностью соответствует спецификации Универсальной последовательной Шины версии 2.0
    • Поддерживает скорость передачи данных 1.5 Мбит/с и 12 Мбит/с
    • Шесть программируемых оконечных точек на вход или выход с возможность передачи сигнала прерывания, групповой и изохронной передачи данных
    • Конфигурируемый размер оконечных точек до 256 Байт в режиме сдвоенного банка
    • 832 Байта полностью независимой USB DPRAM для распределения оконечных точек
    • Сигналы прерывания для останова/возобновления работы
    • Возможность сброса ЦПУ по сигналу сброса USB шины
    • Соединение/разъединение с USB шиной по запросу микроконтроллера
  • Периферия
    • Встроенный PLL для USB и высокоскоростного таймера: рабочая частота от 32 МГц до 96 МГц
    • Два 8-битных таймера/счетчика с независимым предделителем и режимом сравнения
    • Два 16-битных таймера/счетчика с независимым предделителем и режимом сравнения и захвата
    • Один 10-битный высокоскоростной таймер/счетчик с PLL (64 МГц) и режимом сравнения
    • Четыре 8-битных канала ШИМ
    • Четыре канала ШИМ с программируемым разрешением от 2 до 16 бит
    • Шесть каналов ШИМ для высокоскоростной работы с программируемым разрешением от 2 до 11 бит
    • 12-канальный, 10-битный АЦП
    • Программируемый последовательный USART
    • Последовательный интерфейс SPI с режимами ведущий/ведомый
    • Последовательный интерфейс I2C
    • Программируемый сторожевой таймер с независимым встроенным генератором
    • Встроенный аналоговый компаратор
    • Встроенный датчик температуры
  • Особенности микроконтроллера
    • Сброс по включению питания и функция определения провалов напряжения питания
    • Встроенный калиброванный генератор на 8 МГц
    • Встроенный предделитель тактов и переключатель источника тактового сигнала (внутренний RC / внешний генератор) в безостановочном режиме (on-the-fly)
    • Внешние и внутренние источники прерываний
    • Шесть энергосберегающих режимов ожидание: Idle, ADC Noise Reduction, Power-save, Power-down, Standby и Extended Standby
  • Линии ввода/вывода и типы корпуса
    • Все линии ввода/вывода совместимы с CMOS и LVTTL уровнями сигнала
    • 26 линий ввода/вывода
    • 44-выводной корпус TQFP 10х10 мм
    • 44-выводной корпус QFN 7х7 мм
  • Диапазон напряжения питания 2.7…5.5 Вольта
  • Рабочий диапазон температур -40°C…+85°C
  • Максимальная тактовая частота
    • 8 МГц при напряжении питания 2.7 Вольта
    • 16 МГц при напряжении питания 5.5 Вольта

Купить на алиэкспресс ATmega328P  http://ali.pub/1t11tv  

  •                                                                                                                ATmega328P
  • ПроизводительAtmel
    СерияAVR® ATmega
    ПроцессорAVR
    Размер ядра8-Bit
    Скорость20MHz
    Тип подключенияI²C, SPI, UART/USART
    ПереферияBrown-out Detect/Reset, POR, PWM, WDT
    Число вводов/выводов23
    Размер программируемой памяти32KB (32K x 8)
    Тип программируемой памятиFLASH
    EEPROM Size1K x 8
    Размер памяти2K x 8
    Напряжение источника (Vcc/Vdd)1.8 V ~ 5.5 V
    Преобразователь данныхA/D 6x10b
    Тип осцилятораInternal
    Рабочая температура-40°C ~ 85°C
    Корпус28-DIP

Похожие статьи

Как выиграть спор на Алиэкспресс. Причины и советы.

Перед тем, как оплатить товар, пообщайтесь с продавцом. Уточните у продавца, соответствует ли товар описанию, имеется ли товар в наличии, может ли продавец сфотографировать товар на телефон и выслать обычную необработанную фотографию. А также, соответствует ли товар размерной сетке, и какой размер продавец посоветовал бы вам выбрать, исходя из ваших параметров. Попросите продавца получше упаковать товар, если вещь хрупкая. Ответы продавца помогут вам либо избежать открытия спора, либо скрины переписки будут дополнительным докозательством во время ведения спора. Если продавец будет неохотно вам отвечать, или вообще не ответит, то заказывать у него лучше не стоит.

Простейший трекер для домашней солнечной электростанции

Трекер повышает КПД солнечных панелей

Как известно, солнечные панели имеют максимальный КПД в том случае, когда они расположены перпендикулярно падающим на них солнечным лучам. Но солнце перемещается по небосводу и стационарно установленные панели из-за этого теряют часть своей эффективности. Чтобы повысить их эффективность, используют трекеры — специальные устройства, которые поворачивают панели «вслед» за солнцем:

Распиновка самых популярных плат ардуино Arduino board pinmaping

В посте собраны практически все платы ардуино с распиновкой в хорошем качестве !

Arduino — это эффективное средство разработки программируемых электронных устройств, которые, в отличие от персональных компьютеров, ориентированы на тесное взаимодействие с окружающим миром. Ардуино — это открытая программируемая аппаратная платформа для работы с различными физическими объектами и представляет собой простую плату с микроконтроллером, а также специальную среду разработки для написания программного обеспечения микроконтроллера.

Ардуино может использоваться для разработки интерактивных систем, управляемых различными датчиками и переключателями. Такие системы, в свою очередь, могут управлять работой различных индикаторов, двигателей и других устройств. Проекты Ардуино могут быть как самостоятельными, так и взаимодействовать с программным обеспечением, работающем на персональном компьютере (например, приложениями Flash, Processing, MaxMSP). Любую плату Ардуино можно собрать вручную или же купить готовое устройство; среда разработки для программирования такой платы имеет открытый исходный код и полностью бесплатна.

Язык программирования Ардуино является реализацией похожей аппаратной платформы «Wiring», основанной на среде программирования мультимедиа «Processing».


Теги: ATTINY, Atmega2560 rev3, Atmega2560 16au, Atmega320 «Про Мини», Atmegach440g, Atmegach440g Pro Mini, Atmega640 Pro Mini, Atmega168 20au, Atmega328, Atmega2560 16au Pro Mini, Atmegar3 Pro Mini, Atmega168 20au, процессоры, описание, распиновки, даташит, набор, денис, гиик, китайчик, клуб, ардуино, клуб_ардуино, обзоры, алиэкспресс, denis_geek, denis, geek, chinagreat, club_arduino, arduino, club, aliexpress, денис гиик, denis geek, club arduino, electronica52, electronica52.in.ua,

распиновка, схема подключения и программирование [Амперка / Вики]

Arduino Uno — флагманская платформа для разработки на базе микроконтроллера ATmega328P. На Arduino Uno предусмотрено всё необходимое для удобной работы с микроконтроллером: 14 цифровых входов/выходов (6 из них могут использоваться в качестве ШИМ-выходов), 6 аналоговых входов, кварцевый резонатор на 16 МГц, разъём USB, разъём питания, разъём для внутрисхемного программирования (ICSP) и кнопка сброса.

Подключение и настройка

Для работы с платой Arduino Uno в операционной системе Windows скачайте и установите на компьютер интегрированную среду разработки Arduino — Arduino IDE.

Видеообзор платформы Arduino

Что-то пошло не так?

Элементы платы

Микроконтроллер ATmega328P

Сердцем платформы Arduino Uno является 8-битный микроконтроллер семейства AVR — ATmega328P.

Микроконтроллер ATmega16U2

Микроконтроллер ATmega16U2 обеспечивает связь микроконтроллера ATmega328P с USB-портом компьютера. При подключении к ПК Arduino Uno определяется как виртуальный COM-порт. Прошивка микросхемы 16U2 использует стандартные драйвера USB-COM, поэтому установка внешних драйверов не требуется.

Пины питания

  • VIN: Напряжение от внешнего источника питания (не связано с 5 В от USB или другим стабилизированным напряжением). Через этот вывод можно как подавать внешнее питание, так и потреблять ток, если к устройству подключён внешний адаптер.

  • 5V: На вывод поступает напряжение 5 В от стабилизатора платы. Данный стабилизатор обеспечивает питание микроконтроллера ATmega328. Запитывать устройство через вывод 5V не рекомендуется — в этом случае не используется стабилизатор напряжения, что может привести к выходу платы из строя.

  • 3.3V: 3,3 В от стабилизатора платы. Максимальный ток вывода — 50 мА.

  • GND: Выводы земли.

  • IOREF: Вывод предоставляет платам расширения информацию о рабочем напряжении микроконтроллера. В зависимости от напряжения, плата расширения может переключиться на соответствующий источник питания либо задействовать преобразователи уровней, что позволит ей работать как с 5 В, так и с 3,3 В устройствами.

Порты ввода/вывода

  • Цифровые входы/выходы: пины 013
    Логический уровень единицы — 5 В, нуля — 0 В. Максимальный ток выхода — 40 мА. К контактам подключены подтягивающие резисторы, которые по умолчанию выключены, но могут быть включены программно.

  • ШИМ: пины 3,5,6,9,10 и 11
    Позволяют выводить 8-битные аналоговые значения в виде ШИМ-сигнала.

  • АЦП: пины A0A5
    6 аналоговых входов, каждый из которых может представить аналоговое напряжение в виде 10-битного числа (1024 значений). Разрядность АЦП — 10 бит.

  • TWI/I²C: пины SDA и SCL
    Для общения с периферией по синхронному протоколу, через 2 провода. Для работы — используйте библиотеку Wire.

  • SPI: пины 10(SS), 11(MOSI), 12(MISO), 13(SCK).
    Через эти пины осуществляется связь по интерфейсу SPI. Для работы — используйте библиотеку SPI.

  • UART: пины 0(RX) и 1(TX)
    Эти выводы соединены с соответствующими выводами микроконтроллера ATmega16U2, выполняющей роль преобразователя USB-UART. Используется для коммуникации платы Arduino с компьютером или другими устройствами через класс

    Serial.

Светодиодная индикация

Имя светодиода Назначение
RX и TXМигают при обмене данными между Arduino Uno и ПК.
L Светодиод вывода 13. При отправке значения HIGH светодиод включается, при отправке LOW – выключается.
ONИндикатор питания на плате.

Разъём USB Type-B

Разъём USB Type-B предназначен для прошивки платформы Arduino Uno с помощью компьютера.

Разъём для внешнего питания

Разъём для подключения внешнего питания от 7 В до 12 В.

ICSP-разъём для ATmega328P

ICSP-разъём предназначен для внутрисхемного программирования микроконтроллера ATmega328P. С использованием библиотеки SPI данные выводы могут осуществлять связь с платами расширения по интерфейсу SPI. Линии SPI выведены на 6-контактный разъём, а также продублированы на цифровых пинах

10(SS), 11(MOSI), 12(MISO) и 13(SCK).

ICSP-разъём для ATmega16U2

ICSP-разъём предназначен для внутрисхемного программирования микроконтроллера ATmega16U2.

Распиновка

Принципиальная и монтажная схемы

Характеристики

  • Микроконтроллер: ATmega328

  • Тактовая частота: 16 МГц

  • Напряжение логических уровней: 5 В

  • Входное напряжение питания: 7–12 В

  • Портов ввода-вывода общего назначения: 20

  • Максимальный ток с пина ввода-вывода: 40 мА

  • Максимальный выходной ток пина 3.3V: 50 мА

  • Максимальный выходной ток пина 5V: 800 мА

  • Портов с поддержкой ШИМ: 6

  • Портов, подключённых к АЦП: 6

  • Разрядность АЦП: 10 бит

  • Flash-память: 32 КБ

  • EEPROM-память: 1 КБ

  • Оперативная память: 2 КБ

  • Габариты: 69×53 мм

Ресурсы

Уроки Arduino. Распиновка платы | AlexGyver Technologies

Распиновка платы


Распиновка (Pinout) платы показывает, какие пины за что отвечают. Микроконтроллер штука настолько универсальная, что большинство пинов имеют гораздо больше одной функции! Рассмотрим пины и интерфейсы платы на основе Arduino Nano, так как другие модели Ардуино имеют абсолютно точно такие же входы/выходы/интерфейсы, но просто в другом количестве.

GPIO


Начнем с пинов, которых больше всего, это GPIO, с англ. General Purpose Input-Output, входы-выходы общего назначения, на плате они подписаны как D0D13 и A0A5. По картинке распиновки они называются PD*, PB* и PC*, (вместо звёздочки – цифра) отмечены тёмно-бежевым цветом. Почему “официально” они называются PD/PB/PC? Потому что пины объединены в пОрты по несколько штук (не более 8), на примере Нано есть три порта: D, B и C, соответственно пины так и подписаны: PD3 – Port D 3 – третий выход порта D. Это цифровые пины, способные выдавать логический сигнал (0 или VCC) и считывать такой же логический сигнал. VCC это напряжение питания микроконтроллера, при обычном использовании обычной платы Ардуино это 5 Вольт, соответственно это 5 вольтовая логика: 0V – сигнал низкого уровня (LOW), 5V – высокого уровня (HIGH). Напряжение питания микроконтроллера играет очень большую роль, об этом мы ещё поговорим. GPIO имеют несколько режимов работы: вход (INPUT), выход (OUTPUT) и вход с подтяжкой к питанию встроенным в МК резистором на 20 кОм (INPUT_PULLUP). Подробнее о режимах поговорим в отдельном уроке.

Все GPIO пины в режиме входа могут принять сигнал с напряжением от 0 до 5 вольт (на самом деле до 5.5 вольт, согласно даташиту на микроконтроллер). Отрицательное напряжение или напряжение, превышающее 5.5 Вольт приведёт к выходу пина или даже самого МК из строя. Напряжение 0-2.5 вольта считается низким уровнем (LOW), 2.5-5.5 – высоким уровнем (HIGH). Если GPIO никуда не подключен, т.е. “висит в воздухе”, он принимает случайное напряжение, возникающее из за наводок от сети (провода 220в в стенах) и электромагнитных волн на разных частотах, которыми пронизан современный мир.

GPIO в режиме выхода (OUTPUT) являются транзисторными выходами микроконтроллера и могут выдать напряжение 0 или VCC (напряжение питания МК). Стоит отметить, что микроконтроллер – логическое, а не силовое устройство, его выходы рассчитаны на подачу сигналов другим железкам, а не на прямое их питание. Максимальный ток, который можно снять с GPIO выхода ардуино – 40 мА. Если попытаться снять больше – пин выйдет из строя (выгорит выходной транзистор и всё). Что такое 40 мА? Обычный 5мм одноцветный светодиод потребляет 20 мА, и это практически единственное, что можно питать напрямую от Ардуино. Также не стоит забывать о максимальном токе со всех пинов, он ограничен 200 мА, то есть не более 10 светодиодов можно запитать от платы на полную яркость…

Интерфейсы


Большинство GPIO имеют дополнительные возможности, так как к ним подключены выводы с других систем микроконтроллера, с ними вы уже знакомы из предыдущего урока:

  • ADC (АЦП, аналогово-цифровой преобразователь) – зелёные подписи ADC* на распиновке
  • UART (интерфейс связи) – голубые TXD и RXD на распиновке
  • Выводы таймеров, они же ШИМ пины – светло-фиолетовые OC*A и OC*B, где * номер таймера
  • SPI (интерфейс связи) – голубые SS, MOSI, MISO, SCK
  • I2C (интерфейс связи) – голубые SDA и SCL
  • INT (аппаратные прерывания) – розовые INT0 и INT1, а также PCINT* – PinChangeInterrupt

Если про интерфейсы мы уже говорили, то АЦП, прерывания и выводы таймеров ещё не затрагивали.

АЦП


ADC пины (с АЦП) помечены на плате буквой A. Да, пины A6 и A7 на плате Нано имеют только вход на АЦП и не являются GPIO пинами! АЦП – аналогово-цифровой преобразователь, позволяет измерять напряжение от 0 до VCC (напряжения питания МК) или опорного напряжения. На большинстве плат Ардуино разрядность АЦП составляет 10 бит (2^10 = 1024), что означает следующее: напряжение от 0 до опорного преобразуется в цифровую величину от 0 до 1023 (1024-1 так как отсчёт идёт с нуля). Опорное напряжение играет очень большую роль: при опорных 5V один шаг измерения АЦП составит 4.9 милливольта (0.00488 В), а при опорных 1.1В – 1.1 мВ (0.00107 В). Вся суть в точности, я думаю вы поняли. Если опорное напряжение установлено ниже напряжения питания МК, то оцифровывая напряжение выше опорного мы получим 1023. Подавая на АЦП напряжение выше 5.5 Вольт получим выгоревший порт. Подавать отрицательное напряжение также не рекомендуется. На ардуино есть несколько режимов опорного напряжения: оно может быть равно VCC (напряжению питания), 1.1V (от встроенного в МК стабилизатора) или получать значение с внешнего источника в пин Aref, таким образом можно настроить нужный диапазон и получить нужную точность. У других моделей Ардуино (например у Меги) есть и другие встроенные режимы. Опорное напряжение рекомендуется заводить на плату через резистор, например на 1 кОм. Для измерения напряжений выше 5.5 вольт необходимо использовать делитель напряжения на резисторах.

Таймеры (ШИМ)


Выводы таймеров: в микроконтроллере, помимо обычного вычислительного ядра, с которым мы работаем, находятся также “хардварные” счётчики, работающие параллельно со всем остальным железом. Эти счётчики также называют таймерами, хотя к таймерам они не имеют никакого отношения: счётчики буквально считают количество тиков, которые делает кварцевый генератор, задающий частоту работы для всей системы. Зная частоту генератора (обычно 16 МГц) можно с очень высокой точностью определять интервалы времени и делать что-то на этой основе. Какой нам прок от этих счётчиков? “Из коробки” под названием Arduino IDE мы имеем несколько готовых, основанных на таймерах инструментов (функции времени, задержек, измерения длин импульсов и другие).

В этой статье речь идёт о пинах и выходах, о них и поговорим: у каждого счётчика есть два выхода на GPIO. У нано (у МК ATmega328p) три счётчика, соответственно 6 выходов. Одной из возможностей счётчиков является генерация ШИМ сигнала, который и выводится на соответствующие GPIO. Для нано это D пины 5 и 6 (счётчик 0), 9 и 10 (таймер 1) и 3 и 11 (таймер 2). ШИМ сигналу посвящен отдельный урок, сейчас просто запомним, что с его помощью можно управлять яркостью светодиодов, скоростью вращения моторчиков, мощностью нагрева спиралей и многим другим. Но нужно помнить, что ограничение по току в 40 мА никуда не делось и питать от пинов ничего мощнее светодиодов нельзя.

Прерывания


Аппаратные прерывания позволяют процессору мгновенно переключаться на некий блок действий (функция обработчик прерывания) при изменении уровня сигнала на пине. Подробнее об этом, а также о PinChangeInterrupts поговорим в другом уроке.

Другие пины


  • Пин 3.3V может быть использован для питания маломощных датчиков и модулей: максимальный ток, который можно снять с пина 3.3V составляет 150 мА, что с головой хватает для любых датчиков и модулей, кроме пожалуй радиомодулей nrf25L01.
  • Пины GND – земля питания, все GND связаны между собой
  • Пин 5V – питание от источника с напряжением до 5.5V (подробнее о питании смотри в следующем уроке)
  • Пин Vin – питание от источника с напряжением 7-15V (подробнее о питании смотри в следующем уроке)
  • RST – перезагрузка МК. Также этот пин выведен на кнопку

Важные страницы


распиновка, схема подключения и программирование [Амперка / Вики]

Arduino Nano — аналог флагманской Arduino Uno в миниатюрном размере. На Arduino Nano предусмотрено всё необходимое для удобной работы с микроконтроллером: 14 цифровых входов/выходов (6 из них могут использоваться в качестве ШИМ-выходов), 6 аналоговых входов, кварцевый резонатор на 16 МГц, разъём Mini-USB, разъём питания, разъём для внутрисхемного программирования (ICSP) и кнопка сброса.

UPD: Вышла актуальная усовершенствованная версия платы под названием Arduino Nano Every.

Видеообзор

Подключение и настройка

Для запуска платформы скачайте и установите на компьютер интегрированную среду разработки Arduino — Arduino IDE.

При выборе платформы выбирайте Arduino Nano.

Если всё получилось — можете смело переходить к экспериментам.

Элементы платы

Микроконтроллер ATmega328P

Сердцем платформы Arduino Nano является 8-битный микроконтроллер семейства AVR — ATmega328P с тактовой частотой 16 МГц. Контроллер предоставляет 32 КБ Flash-памяти для хранения прошивки, 2 КБ оперативной памяти SRAM и 1 КБ энергонезависимой памяти EEPROM для хранения данных.

Микросхема FT232R

Микросхема FTDI FT232R обеспечивает связь микроконтроллера ATmega328P с USB-портом компьютера. При подключении к ПК Arduino Nano определяется как виртуальный COM-порт.

USB-UART преобразователь общается с микроконтроллером ATmega328P по интерфейсу UART через пины 0(RX) и 1(TX). Рекомендуем не использовать эти контакты в своём проекте.

Светодиодная индикация

Имя светодиода Назначение
RX и TXМигают при обмене данными между Arduino Nano и ПК.
LПользовательский светодиод подключённый к 13 пину микроконтроллера. При высоком уровне светодиод включается, при низком – выключается.
ONНаличие питания на Arduino Nano.

Разъём Mini-USB

Разъём Mini-USB предназначен для прошивки платформы Arduino Nano с помощью компьютера.

Регулятор напряжения 5 В

Линейный понижающий регулятор напряжения LM1117MPX-5.0 с выходом 5 вольт обеспечивает питание микроконтроллера ATmega328P и другой логики платформы. Максимальный выходной ток составляет 800 мА.

ICSP-разъём для ATmega328

ICSP-разъём предназначен для загрузки прошивки в микроконтроллер ATmega328 через программатор.

Через контакты ICSP Arduino Nano общается с платами расширения по интерфейсу SPI.

Распиновка

Пины питания

  • VIN: Входной пин для подключения внешнего источника питания с напряжением в диапазоне от 7 до 12 вольт.

  • 5V: Выходной пин от регулятора напряжения на плате с выходом 5 вольт и максимальных током 800 мА. Питать устройство через вывод 5V не рекомендуется — вы рискуете спалить плату.

  • 3.3V: Выходной пин от стабилизатора микросхемы FT232R с выходом 3,3 вольта и максимальных током 50 мА. Питать устройство через вывод 3V3 не рекомендуется — вы рискуете спалить плату.

  • GND: Выводы земли.

  • AREF: Пин для подключения внешнего опорного напряжения АЦП относительно которого происходят аналоговые измерения при использовании функции analogReference() с параметром «EXTERNAL».

Порты ввода/вывода

  • Цифровые входы/выходы: пины 013
    Логический уровень единицы — 5 В, нуля — 0 В. Максимальный ток выхода — 40 мА. К контактам подключены подтягивающие резисторы, которые по умолчанию выключены, но могут быть включены программно.

  • ШИМ: пины 3,5,6,9,10 и 11
    Позволяет выводить аналоговые значения в виде ШИМ-сигнала. Разрядность ШИМ не меняется и установлена в 8 бит.

  • АЦП: пины A0A7
    Позволяет представить аналоговое напряжение в цифровом виде. Разрядность АЦП не меняется и установлена в 10 бит. Диапазон входного напряжения от 0 до 5 В. При подаче большего напряжения — вы убьёте микроконтроллер.

  • TWI/I²C: пины A4(SDA) и A5(SCL)
    Для общения с периферией по интерфейсу I²C. Для работы используйте библиотеку Wire.
  • SPI: пины 11(MOSI), 12(MISO), 13(SCK) и 10(SS)
    Для общения с периферией по интерфейсу SPI. Для работы — используйте библиотеку SPI.
  • UART: пины 0(RX) и 1(TX)
    Используется для коммуникации платы Arduino с компьютером или другими устройствами по последовательному интерфейсу. Выводы 0(RX) и 1(TX) соединены с соответствующими USB-UART преобразователя FT232R. Для работы с последовательным интерфейсом — используйте методы библиотеки Serial.

Принципиальная и монтажная схемы

Характеристики

  • Микроконтроллер: ATmega328P

  • Ядро: 8-битный AVR

  • Тактовая частота: 16 МГц

  • Flash-память: 32 КБ (2 КБ занимает загрузчик)

  • SRAM-память: 2 КБ

  • EEPROM-памяти: 1 КБ

  • Портов ввода-вывода всего: 20

  • Портов с АЦП: 8

  • Разрядность АЦП: 10 бит

  • Портов с ШИМ: 6

  • Разрядность ШИМ: 8 бит

  • Аппаратных интерфейсов SPI: 1

  • Аппаратных интерфейсов I²C / TWI: 1

  • Аппаратных интерфейсов UART / Serial: 1

  • Номинальное рабочее напряжение: 5 В

  • Максимальный выходной ток пина 5V: 800 мA

  • Максимальный выходной ток пина 3V3: 50 мA

  • Максимальный ток с пина или на пин: 40 мА

  • Допустимое входное напряжение от внешнего источника: 7–12 В

  • Габариты: 18×45 мм

Ресурсы

Atmega328p pu схема включения для программирования

Постоянно используя отладочные платы типа Arduino в своих проектах, рано или поздно вы придете к мысли: «- А как же удешевить свои устройства и сделать их более компактными и с меньшим количеством проводов. » Всё это происходит потому, что отладив проект на Arduino, у нас остается много не задействованных разъемов, различных выходов и интерфейсов, занимающих дополнительное место. И первое с чем обычно всем хочется разобраться, это как подсоединиться напрямую к микроконтроллеру, к какой лапке что подключить и создать свою так называемую схему взаимодействия с ним, использую только все самое необходимое в своем проекте.

Разбираться будем на примере микроконтроллера ATmega328P-PU, который используется во всем известной плате Arduino Uno.

Начнем с самого простого и быстрого старта, используя в качестве программатора для нашего микроконтроллера любую имеющуюся у вас под рукой плату Arduino. Это гораздо проще, чем начать разбираться с различными существующими программаторами, их поисками или созданием. Море информации в интернете по настройке различных фьюзов микроконтроллера и каких-то других тонкостей, многих сразу пугает новыми непонятными терминами и количеством необходимых манипуляций для этих самых настроек. Поэтому мы не будем сейчас забивать этим мозг, у нас и так все что надо пропишется, и все как надо будет работать. А все прочие тонкости, если будет необходимость, изучите из других статей.

Сначала мы рассмотрим самую простую схему подключения микроконтроллера без использования внешнего кварцевого резонатора, так как данный микроконтроллер может работать от внутреннего кварца на частоте от 1 до 8 МГц, и этого вам с головой хватит во многих проектах.

Создаем Arduino ISP программатор из любой платы Ардуино.

В качестве программатора будем использовать плату Arduino Nano. Если у вас какая-то другая из плат Arduino, разницы нет ни какой, всё делаем так же. Подключаем плату Arduino к компьютеру. Запускаем программу Arduino IDE. В меню «Инструменты» выбираем как обычно нашу плату Ардуино и порт, с которым работаем. Открываем из примеров в программе скетч ArduinoISP «Файл» — «Примеры» — «ArduinoISP»

и загружаем его в нашу плату «Скетч» — «Загрузка».

Всё! Наш Arduino ISP программатор готов!

*На заметку. Что такое ISP и SPI и в чем отличия! Несколькими словами это можно охарактеризовать так:

ISP — это метод внутрисхемного программирования, способ записи программы, программное обеспечение.

SPI — последовательный периферийный интерфейс, протокол, шина, стандарт обмена данными между устройствами.

Подключаем Arduino ISP программатор к микроконтроллеру ATmega328P-PU.

Наш микроконтроллер ATmega328P-PU DIP28 имеет 28 ножек, по 14 с каждой стороны. Собирая схему, обратим внимание на выемку с одной из сторон на корпусе микроконтроллера ATmega328P-PU, которая поможет правильно сориентироваться в нумерации лапок микроконтроллера в соответствии с приведенными ниже схемами.

Соединяем Arduino Nano с микроконтроллером ATmega328P-PU через SPI интерфейс.

Для того чтобы понять, что и к какой лапке микроконтроллера мы подсоединили, воспользуемся для подсказки схемой распиновки микроконтроллера ATmega328P-PU.

И схемой распиновки платы Arduino Nano.

Теперь мы видим, что пин питания 5V платы Arduino Nano мы направили к лапкам VCC и AVCC микроконтроллера. Пин GND платы Ардуино мы направили на лапки GND микроконтроллера. Таким образом, мы обеспечили полностью питанием наш микроконтроллер ATmega328P-PU. Далее соединяем пины MISO (D12), MOSI (D11), SCK (D13) платы Arduino Nano с лапками MISO, MOSI, SCK микроконтроллера ATmega328, а пин SS (D10) от Ардуино подводим к лапке reset микроконтроллера. Если вы используете другую плату Arduino в качестве ISP программатора, просто найдите схему распиновки вашей платы Arduino и определитесь, где у неё находятся пины MISO, MOSI, SCK и SS. После чего соедините их с соответствующими лапками микроконтроллера ATmega328P-PU.

*На заметку.

Пины SPI интерфейса платы Arduino Mega : MISO (50), MOSI (51), SCK (52), SS (53)

Пины SPI интерфейса платы Arduino Uno : MISO (12), MOSI (11), SCK (13), SS (10)

Прошивка бутлоадера (загрузчика) в ATmega328P-PU через SPI интерфейс с помощью Arduino ISP программатора.

Теперь нам необходимо залить бутлоадер (загрузчик операционной системы) в наш микроконтроллер ATmega328P-PU. Для этого будем использовать Arduino загрузчик, настроенный специально для работы с внутренним кварцем на 8 МГц.

Качаем загрузчик по ссылке breadboard.zip

В программе Arduino IDE в меню «Файл» — «Настройки» смотрим (вспоминаем) свой путь к папке со скетчами. В этой папке со скетчами создаем папку hardware и разархивируем в неё архив с загрузчиком. Перезагружаем программу Arduino IDE и видим в меню «Инструменты» — «Платы» появилась строка «ATmega328 on a breadboard (8 MHz internal clock)», выбираем её.

В этом же меню «Инструменты», выбираем в списке программаторов, программатор «Arduino as ISP». Осталось записать загрузчик. Переходим «Инструменты» — «Записать загрузчик».

Если не прошивается бутлоадер (загрузчик).

1. Загрузчик не всегда записывается с первого раза. Если программа Arduino IDE выдаст ошибки при записи загрузчика, необходимо просто повторно выполнить команду «Инструменты» — «Записать загрузчик», обычно со второго раза загрузчик прошивается нормально.

2. Загрузчик может так же не прошиваться, если вы делали какие-то не осмысленные действия с микроконтроллером и настройки так называемых фьюзов в итоге выставились не так как надо. В таком случае необходимо просто подключить внешний кварцевый резонатор на 16МГц к лапкам 9 и 10 микроконтроллера, имеющими обозначения на схеме распиновки в виде надписи «crystal».

И снова выполнить команду «Инструменты» — «Записать загрузчик» и не забываем, что надо сделать пару попыток, с первого раза загрузчик может не записаться. После чего внешний кварц можно будет снова убрать и работать дальше без него.

Загрузка скетчей в микроконтроллер ATmega328P-PU

Где аналоговые, а где цифровые пины микроконтроллера легко понять по схеме распиновки ATmega328P-PU. С подключением каких-либо датчиков, модулей и т.д. к контроллеру проблем возникнуть не должно, если это не первый ваш день работы с Ардуино. Например, как обычно, добавим в нашу схему светодиод и заставим его просто мигать.

Открываем программу Arduino IDE. Создаем новый файл и копируем в него код.

Далее переходим в меню «Скетч» — «Загрузить через программатор».

Всё! Светодиод, должен начать мигать. Именно команда «Загрузить через программатор» позволяет загрузить скетч через Arduino Nano, считая в таком случае её ISP программатором для передачи данных по SPI интерфейсу. Если же нажимать просто команду «Скетч» — «Загрузить», тогда программа будет пытаться загрузить скетч в саму Arduino Nano и при правильном выборе платы она его конечно же загрузит )).

Схема минимальной обвязки ATmega328P-PU с внешним кварцевым резонатором на 16 МГц.

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

Кварцевый резонатор мы уже помним, как подсоединяется на ножки 9 и 10 микроконтроллера. А вот для обеспечения стабильной работы кварца, необходимо каждую его ножку соединить с землей через керамический конденсатор емкостью 22пФ. Так же для фильтрации ВЧ помех в нашей электрической цепи, соединим питание и землю микроконтроллера керамическим конденсатором 0.1мкФ.

Микроконтроллер работает по заданной программе, когда на ножке reset присутствует положительный сигнал. В принципе, микроконтроллер всегда сам держит вывод reset в режиме выполнения кода, но для стабильного положительного сигнала на этой линии (чтобы избежать впоследствии не стабильной работы), соединим ножку reset микроконтроллера ATmega328P-PU с положительным потенциалом нашей линии питания 5V через резистор 10 кОм.

Для возможности перезагрузки микроконтроллера, подтянем вывод reset через обычную кнопку к земле нашей схемы. В итоге, при нажатии на кнопку, отрицательный сигнал будет поступать на вывод reset, доминируя при этом над положительным сигналом, поступавшим через резистор 10 кОм, и микроконтроллер будет перезагружаться.

Осталось залить в контроллер бутлоадер (загрузчик), предназначенный для работы с внешним кварцевым резонатором на 16 МГц. Тут все ещё проще, не надо ничего скачивать. Просто открываем программу Arduino IDE и в меню «Инструменты» — «Платы» выбираем «Arduino/Genuino Uno». То есть мы сейчас прошьем тем самым загрузчиком, которым прошит микроконтроллер в самой обычной Arduino Uno. Программатор в меню «Инструменты» остается «Arduino as ISP». Переходим в меню «Инструменты» — «Записать загрузчик».

Всё! Наш аналог платы Arduino Uno своими руками готов! Можно дальше заливать скетчи через меню «Скетч» — «Загрузить через программатор» и продумывает свои будущие, более дешевые и компактные в габаритах проекты.

*На заметку. Многие пытаются сразу перейти на работу с UART интерфейсом для загрузки последующих скетчей в микроконтроллер. UART интерфейс тема другой статьи, но тут напомним одну не стыковку. Если вы пытаетесь заливать скетчи через UART интерфейс и ничего не получается, попробуйте снова перепрошить загрузчик через SPI интерфейс, но только не заливать после этого через SPI интерфейс ни каких скетчей. То есть первый скетч после прошивки загрузчика заливайте через UART интерфейс.

Постоянно используя отладочные платы типа Arduino в своих проектах, рано или поздно вы придете к мысли: «- А как же удешевить свои устройства и сделать их более компактными и с меньшим количеством проводов. » Всё это происходит потому, что отладив проект на Arduino, у нас остается много не задействованных разъемов, различных выходов и интерфейсов, занимающих дополнительное место. И первое с чем обычно всем хочется разобраться, это как подсоединиться напрямую к микроконтроллеру, к какой лапке что подключить и создать свою так называемую схему взаимодействия с ним, использую только все самое необходимое в своем проекте.

Разбираться будем на примере микроконтроллера ATmega328P-PU, который используется во всем известной плате Arduino Uno.

Начнем с самого простого и быстрого старта, используя в качестве программатора для нашего микроконтроллера любую имеющуюся у вас под рукой плату Arduino. Это гораздо проще, чем начать разбираться с различными существующими программаторами, их поисками или созданием. Море информации в интернете по настройке различных фьюзов микроконтроллера и каких-то других тонкостей, многих сразу пугает новыми непонятными терминами и количеством необходимых манипуляций для этих самых настроек. Поэтому мы не будем сейчас забивать этим мозг, у нас и так все что надо пропишется, и все как надо будет работать. А все прочие тонкости, если будет необходимость, изучите из других статей.

Сначала мы рассмотрим самую простую схему подключения микроконтроллера без использования внешнего кварцевого резонатора, так как данный микроконтроллер может работать от внутреннего кварца на частоте от 1 до 8 МГц, и этого вам с головой хватит во многих проектах.

Создаем Arduino ISP программатор из любой платы Ардуино.

В качестве программатора будем использовать плату Arduino Nano. Если у вас какая-то другая из плат Arduino, разницы нет ни какой, всё делаем так же. Подключаем плату Arduino к компьютеру. Запускаем программу Arduino IDE. В меню «Инструменты» выбираем как обычно нашу плату Ардуино и порт, с которым работаем. Открываем из примеров в программе скетч ArduinoISP «Файл» — «Примеры» — «ArduinoISP»

и загружаем его в нашу плату «Скетч» — «Загрузка».

Всё! Наш Arduino ISP программатор готов!

*На заметку. Что такое ISP и SPI и в чем отличия! Несколькими словами это можно охарактеризовать так:

ISP — это метод внутрисхемного программирования, способ записи программы, программное обеспечение.

SPI — последовательный периферийный интерфейс, протокол, шина, стандарт обмена данными между устройствами.

Подключаем Arduino ISP программатор к микроконтроллеру ATmega328P-PU.

Наш микроконтроллер ATmega328P-PU DIP28 имеет 28 ножек, по 14 с каждой стороны. Собирая схему, обратим внимание на выемку с одной из сторон на корпусе микроконтроллера ATmega328P-PU, которая поможет правильно сориентироваться в нумерации лапок микроконтроллера в соответствии с приведенными ниже схемами.

Соединяем Arduino Nano с микроконтроллером ATmega328P-PU через SPI интерфейс.

Для того чтобы понять, что и к какой лапке микроконтроллера мы подсоединили, воспользуемся для подсказки схемой распиновки микроконтроллера ATmega328P-PU.

И схемой распиновки платы Arduino Nano.

Теперь мы видим, что пин питания 5V платы Arduino Nano мы направили к лапкам VCC и AVCC микроконтроллера. Пин GND платы Ардуино мы направили на лапки GND микроконтроллера. Таким образом, мы обеспечили полностью питанием наш микроконтроллер ATmega328P-PU. Далее соединяем пины MISO (D12), MOSI (D11), SCK (D13) платы Arduino Nano с лапками MISO, MOSI, SCK микроконтроллера ATmega328, а пин SS (D10) от Ардуино подводим к лапке reset микроконтроллера. Если вы используете другую плату Arduino в качестве ISP программатора, просто найдите схему распиновки вашей платы Arduino и определитесь, где у неё находятся пины MISO, MOSI, SCK и SS. После чего соедините их с соответствующими лапками микроконтроллера ATmega328P-PU.

*На заметку.

Пины SPI интерфейса платы Arduino Mega : MISO (50), MOSI (51), SCK (52), SS (53)

Пины SPI интерфейса платы Arduino Uno : MISO (12), MOSI (11), SCK (13), SS (10)

Прошивка бутлоадера (загрузчика) в ATmega328P-PU через SPI интерфейс с помощью Arduino ISP программатора.

Теперь нам необходимо залить бутлоадер (загрузчик операционной системы) в наш микроконтроллер ATmega328P-PU. Для этого будем использовать Arduino загрузчик, настроенный специально для работы с внутренним кварцем на 8 МГц.

Качаем загрузчик по ссылке breadboard.zip

В программе Arduino IDE в меню «Файл» — «Настройки» смотрим (вспоминаем) свой путь к папке со скетчами. В этой папке со скетчами создаем папку hardware и разархивируем в неё архив с загрузчиком. Перезагружаем программу Arduino IDE и видим в меню «Инструменты» — «Платы» появилась строка «ATmega328 on a breadboard (8 MHz internal clock)», выбираем её.

В этом же меню «Инструменты», выбираем в списке программаторов, программатор «Arduino as ISP». Осталось записать загрузчик. Переходим «Инструменты» — «Записать загрузчик».

Если не прошивается бутлоадер (загрузчик).

1. Загрузчик не всегда записывается с первого раза. Если программа Arduino IDE выдаст ошибки при записи загрузчика, необходимо просто повторно выполнить команду «Инструменты» — «Записать загрузчик», обычно со второго раза загрузчик прошивается нормально.

2. Загрузчик может так же не прошиваться, если вы делали какие-то не осмысленные действия с микроконтроллером и настройки так называемых фьюзов в итоге выставились не так как надо. В таком случае необходимо просто подключить внешний кварцевый резонатор на 16МГц к лапкам 9 и 10 микроконтроллера, имеющими обозначения на схеме распиновки в виде надписи «crystal».

И снова выполнить команду «Инструменты» — «Записать загрузчик» и не забываем, что надо сделать пару попыток, с первого раза загрузчик может не записаться. После чего внешний кварц можно будет снова убрать и работать дальше без него.

Загрузка скетчей в микроконтроллер ATmega328P-PU

Где аналоговые, а где цифровые пины микроконтроллера легко понять по схеме распиновки ATmega328P-PU. С подключением каких-либо датчиков, модулей и т.д. к контроллеру проблем возникнуть не должно, если это не первый ваш день работы с Ардуино. Например, как обычно, добавим в нашу схему светодиод и заставим его просто мигать.

Открываем программу Arduino IDE. Создаем новый файл и копируем в него код.

Далее переходим в меню «Скетч» — «Загрузить через программатор».

Всё! Светодиод, должен начать мигать. Именно команда «Загрузить через программатор» позволяет загрузить скетч через Arduino Nano, считая в таком случае её ISP программатором для передачи данных по SPI интерфейсу. Если же нажимать просто команду «Скетч» — «Загрузить», тогда программа будет пытаться загрузить скетч в саму Arduino Nano и при правильном выборе платы она его конечно же загрузит )).

Схема минимальной обвязки ATmega328P-PU с внешним кварцевым резонатором на 16 МГц.

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

Кварцевый резонатор мы уже помним, как подсоединяется на ножки 9 и 10 микроконтроллера. А вот для обеспечения стабильной работы кварца, необходимо каждую его ножку соединить с землей через керамический конденсатор емкостью 22пФ. Так же для фильтрации ВЧ помех в нашей электрической цепи, соединим питание и землю микроконтроллера керамическим конденсатором 0.1мкФ.

Микроконтроллер работает по заданной программе, когда на ножке reset присутствует положительный сигнал. В принципе, микроконтроллер всегда сам держит вывод reset в режиме выполнения кода, но для стабильного положительного сигнала на этой линии (чтобы избежать впоследствии не стабильной работы), соединим ножку reset микроконтроллера ATmega328P-PU с положительным потенциалом нашей линии питания 5V через резистор 10 кОм.

Для возможности перезагрузки микроконтроллера, подтянем вывод reset через обычную кнопку к земле нашей схемы. В итоге, при нажатии на кнопку, отрицательный сигнал будет поступать на вывод reset, доминируя при этом над положительным сигналом, поступавшим через резистор 10 кОм, и микроконтроллер будет перезагружаться.

Осталось залить в контроллер бутлоадер (загрузчик), предназначенный для работы с внешним кварцевым резонатором на 16 МГц. Тут все ещё проще, не надо ничего скачивать. Просто открываем программу Arduino IDE и в меню «Инструменты» — «Платы» выбираем «Arduino/Genuino Uno». То есть мы сейчас прошьем тем самым загрузчиком, которым прошит микроконтроллер в самой обычной Arduino Uno. Программатор в меню «Инструменты» остается «Arduino as ISP». Переходим в меню «Инструменты» — «Записать загрузчик».

Всё! Наш аналог платы Arduino Uno своими руками готов! Можно дальше заливать скетчи через меню «Скетч» — «Загрузить через программатор» и продумывает свои будущие, более дешевые и компактные в габаритах проекты.

*На заметку. Многие пытаются сразу перейти на работу с UART интерфейсом для загрузки последующих скетчей в микроконтроллер. UART интерфейс тема другой статьи, но тут напомним одну не стыковку. Если вы пытаетесь заливать скетчи через UART интерфейс и ничего не получается, попробуйте снова перепрошить загрузчик через SPI интерфейс, но только не заливать после этого через SPI интерфейс ни каких скетчей. То есть первый скетч после прошивки загрузчика заливайте через UART интерфейс.

воскресенье, 3 февраля 2019 г.

Обвязка ATmega328P

Распиновка ATmega328P

Прежде чем приступить к рассмотрению обвязки ATmega328P считаю нужным привести описание его выводов. Когда мы работаем с платами Ардуино, то не задумываемся о соответствии физических выводов микроконтроллера используемым в IDE Arduino обозначениям. Когда же речь идет об отдельном микроконтроллере, то под рукой всегда нужно иметь его распиновку. Поэтому советую сохранить ее:

Есть еще один интересный прием — это распечатать номера выводов и наклеить получившуюся шпаргалку на микроконтроллер, как показано на следующем фото. Мелковато, но вполне читабельно. PDF файл для печати можно скачать по этой ссылке.

Подключение питания

Напряжение питания подается на выводы микроконтроллера VCC и GND и не должно превышать значение, указанное в технической документации. Для ATmega328P верхняя граница рекомендуемого напряжения питания составляет 5,5В, абсолютный максимум — 6В, продолжительная работа при таком напряжении может вывести микроконтроллер из строя.

Для подавления высокочастотных помех в цепи питания рекомендуется устанавливать керамический конденсатор емкостью 0.1мкФ между VCC и GND. Причем располагаться он должен как можно ближе к питающим выводам микроконтроллера для минимизации паразитной индуктивности и сопротивления подводящих проводников.

Рекомендуемая схема подключения питания ATmega328P
при использовании встроенного АЦП

Вывод Reset и кнопка сброса

Схема начального сброса

Обвязка для предыдущих моделей микроконтроллеров обязательно включала в себя схему начального сброса, состоящую из резистора и конденсатора, которая обеспечивала постепенное нарастание сигнала на входе Reset при включении питания. Таким образом осуществлялся начальный сброс микроконтроллера. Сейчас же схема начального сброса (Power-on-Reset) присутствует, пожалуй, в каждом современном микроконтроллере. Внешняя цепь может потребоваться при наличии особых требований к длительности импульса сброса (в случае медленного нарастания напряжения питания).

Схема начального сброса микроконтроллера

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

Обвязка Reset и защита от непреднамеренного сброса

Еще один момент, требующий внимания — это стабилизация сигнала высокого уровня на входе Reset с целью предотвращения непреднамеренного сброса микроконтроллера. В публикации о подтягивающих резисторах я уже рассказывал о проблемах, возникающих, когда цифровой вход не подсоединен ни к питанию, ни к земле: электромагнитные наводки становятся причиной изменения уровня сигнала на этом входе. При его опросе микроконтроллер будет случайным образом фиксировать то высокий, то низкий уровень сигнала. В случае со входом Reset это приведет к непреднамеренному сбросу. Данная проблема решается добавлением в схему подтягивающего резистора, который гарантирует сигнал нужного уровня на входе Reset (в случае с AVR — высокого уровня).

Востребованность подтягивающих резисторов как для входа Reset, так и для обычных линий ввода-вывода, привела к добавлению их в микроконтроллеры. В ATmega328P имеется собственный подтягивающий резистор на входе Reset номиналом 30-60кОм (конкретное значение из указанного диапазона устанавливается на заводе-изготовителе при калибровке). И тут часто возникает вопрос: нужен ли внешний подтягивающий резистор на входе Reset или можно обойтись внутренним. Всё зависит от конкретной ситуации и условий, в которых будет работать микроконтроллер: для любительских, «бытовых» проектов, возможно, будет достаточно встроенного резистора; для устройств, предназначенных для работы в промышленности, в неблагоприятных условиях номинал встроенного резистора может оказаться недостаточен. Это, что называется, слабая подтяжка, в таких случаях цифровой вход подтягивают внешним резистором номиналом в несколько кОм.

Зачастую одного только подтягивающего резистора оказывается недостаточно и для дополнительной защиты от шума в схему добавляется конденсатор. Вход Reset AVR микроконтроллеров имеет собственный фильтр нижних частот. Внешний конденсатор, установленный между выводом Reset и землей, является дополнительной защитой. Однако, его нельзя добавлять в схему, если предполагается внутрисхемное программирование с помощью PDI или DebugWIRE.

В отличие от выводов общего назначения, имеющих защитные диоды и к земле, и к питанию, для входа Reset предусмотрен единственный диод — на землю. Это объясняется тем, что Reset используется для высоковольтного программирования, когда на него подается сигнал 12В. Поэтому если микроконтроллер должен работать в условиях помех от электростатических разрядов (в англоязычной технической документации используется термин ESD — Electrostatic Discharge) и если не планируется использовать высоковольтный программатор, рекомендуется добавить в схему внешний диод между выводом Reset и линией питания.

С учетом всего сказанного рекомендуемая схема обвязки вывода Reset выглядит следующим образом:

Обвязка вывода Reset для защиты от помех

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

Кнопка сброса

Если для защиты от случайного сброса микроконтроллера вход Reset подтягивается к питанию (встроенным резистором или внешним для более сильной подтяжки), то для сброса при нажатии на кнопку он должен замыкаться на землю. Нет ничего проще — добавляем кнопку между входом Reset и землей. Если обвязка вывода Reset содержит конденсатор как в вышеприведенной схеме, то для предотвращения его закорачивания через кнопку (что может привести к возникновению помех) разработчики из Microchip рекомендуют добавлять в схему резистор порядка 330Ом:

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

Подключение резонатора

Кварцевый или керамический резонатор обеспечивают работу встроенного тактового генератора. Резонатор подключается к выводам XTAL1, XTAL2 микроконтроллера. Для его стабильной работы в схему добавляются керамические конденсаторы, номинал которых подбирается в соответствии с рекомендациями производителя резонатора или микроконтроллера. Так в даташите на ATmega328P для резонаторов на 400кГц и выше рекомендуется использовать конденсаторы номиналом 12..22пФ:

Подключение резонатора к микроконтроллеру

При использовании резонатора на 32.768кГц можно задействовать внутренние конденсаторы, подключив их к XTAL1 и XTAL2 установкой фьюзов CKSEL.

При тактировании от внутреннего RC-генератора необходимость во внешнем резонаторе и согласующих конденсаторах отпадает.

Заключение

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

Интересный документ по теме — рекомендации Microchip, которые необходимо соблюдать при проектировании оборудования с использованием микроконтроллеров AVR, ссылка: AN2519 AVR Microcontroller Hardware Design Considerations

Рекомендуем к прочтению

Как перейти от Arduino к серийному образцу. Минимальная обвязка AtMega 328

Вот вы написали программу, и залили её в свой UNO. Всё великолепно работает, но такую громадную железку не запихнуть в миниатюрный корпус. Да и вдруг, вы хотите сделать 100 таких устройств, а зачем вам увеличение себестоимости, ведь на платах Arduino куча ненужного барахла.

Ну что же, попробуем. Для начала, как мы помним, в самых распространённых платах Nano и Mega, используется камень AtMega328P. Логично, что для его запуска, нам нужно подать питание на него. Для этого здесь достаточно много пинов VCC и GND, особенно в планарных типах корпуса. Связано это с топологией чипа на уровне производства, ведь каждый пин контроллера держит токовую нагрузку, поэтому МК должен быть запитан равномерно со всех сторон

Пин AREF отвечает за опорное напряжение АЦП, туда можно подать напряжение, относительно которого вы хотите читать результаты, или, если это будет 5в, или 2.5 от внутреннего делителя, то подтянуть конденсатором к питанию. Также, по классике, на линию питанию нужно повесить конденсаторы для сглаживанию питающего напряжения – от этого зависит стабильность микроконтроллера.

Знаете, на arduino, есть такая кнопка – Reset, от которой можно перезагрузить МК. Это такой выход i/o, на который на который вроде бы можно повесить периферию, но с большими ограничениями. Поэтому, если вам хватает ног, лучше не трогайте этот пин. Изначально он подтянут внутренним резистором, но лучше, для надёжности и стабильности сделать внешнюю подтяжку резистором 10кОм. Перезагружать готовое устройство нужды особой нет – кнопку ставить не будем.

Теперь нужно разобраться с тактированием. Arduino работает на частоте 16Мгц, т.е. от внешнего кварца. Если вы продолжаете работать на этой частоте, то этот кварц нужно установить на создаваемую плату, вместе с конденсаторами 22пФ.

Но если точность вычислений вам не сильно нужна, а хочется сэкономить в размерах, как иногда мне, то кварц можно вообще не ставить, а тактироваться от внутренней RC цепочки с 8Мгц. Как скомпилировать прошивку в arduino с другой частотой в 8Мгц, я расскажу позже. А пока рассмотрим самую важную часть – как программировать то голый микроконтроллер? Ведь usb выхода у него нет. Есть разные пути, но самый простой – использовать внутрисхемное программирование SPI. И купить дешёвый программатор USB ASP. Мой выглядит так, у него не подписаны контакты

Нарисовал удобную распиновку, если смотреть со стороны контактов. Для SPI нам важны 5 контактов, но я обычно беру и питание с программатора – MISO, MOSI, SCK, RST, GND

Также у меня лежит самодельный UsbAsp, но он громоздкий, и у него не сделан вывод 3.3в, поэтому я его давно не использую

Теперь рассмотрим, какие выводы мы будем использовать для программирования на принципиальной схеме МК.

Теперь если подать питание, и подключить выводы программатора MOSI, MISO, SCK, RESET, GND то можно приступать к программированию. Как помните, из предыдущей статьи, где мы рассказали как достать HEX файл из среды Arduino, IDE делает два файла – *.hex и *with_bootloader.hex. Загрузчик нам не нужен, поэтому будем использовать обычный *.hex. Есть один нюанс – при покупке голого кристалла, он запрограммирован на RC цепочку 1Мгц. Да и вообще у atmega, есть система фьюз-битов. Выглядит это обычно не очень понятно, но конечно в среде Arduino всё это вырезано, чтоб не смущать новичков. Чтобы добраться до этих конфигураций, полезно будет скачать программу AVRDUDE. Главное окно выглядит так, здесь нужно сразу выбрать нужный МК

Переходим во вкладку Fuses – здесь, чтобы не наделать бед, а если вы запишите неправильные данные, контроллер можно превратить почти в кирпич (что не очень удобно на распаянной smd плате), я сначала СЧИТЫВАЮ биты, заодно можно убедиться в правильности подключения программатора к МК. Если всё хорошо – получаем такую картинку

Чтобы правильно выставить fuse-биты, нужно воспользоваться помощью специального калькулятора. Я пользуюсь этим. Тут также нужно выбрать чип, способ тактирования и другие параметры. В принципе для смены частоты достаточно сменить блок CKSEL фьюзов. В данном случае я выбрал Int RC – 8Mhz.

Получил картинку фьюзов.

А теперь переносим параметры в AVR DUDE, также калькулятор включает делитель на 8, бит CKDIV8, он нам не нужен. Можете пользоваться нижеприведённым скриншотом, для запуска atmega 328p на 8Мгц от внутреннего RC осциллятора.

Жмём запись – и МК принимает необходимую конфигурацию. Теперь осталось залить прошивку, но ведь она у нас рассчитана на 16Мгц, но в Arduino IDE, есть простой путь скомпилировать прошивку для atmega 328, для частоты 8Мгц. Нужно выбрать плату arduino pro, и указать частоту 8mhz

Как вы заметили, напротив чипа, стоит напряжение 3.3В при пониженной частоте – всё верно, но это не означает, что нельзя запитать кристалл от 5В. Зато от 3.3В теперь можно). Теперь после компиляции нам осталось по знакомому пути найти файл прошивки в формате HEX, и вернуться в AVR DUDE. Выбрать файл прошивки – и нажать программирование.

Всё! Вы избавились от лишней периферии Arduino, можете сделать плату в своём дизайне PCB, а прошивку использовать с вашего прототипа. В следующей статье, мы сделаем свою плату игральных костей в размере 4х4 см, чтобы упаковать в маленький корпус, и проделаем эти шаги на практике.

схема, как сделать контроллер [Амперка / Вики]

В этот статье мы расскажем как своими руками собрать Arduino на обычной макетной плате.

Для этого нам понадобится микроконтроллер ATmega328 — такой же как и в оригинальной Arduino Uno.

Распиновка ATmega328

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

Сборка Arduino на макетной плате

Необходимые компоненты

Для работы с микроконтроллером понадобятся:

  1. Конденсатор 22 пф

Схема сборки

Соберите на макетной плате компоненты по следующей схеме:

Эксперимент «маячок» из Матрёшки

Добавьте к схеме светодиод на 13 пине. Для этого повторите первый эксперимент из набора Матрёшка Z — маячок.

Обратите внимание, 13 пин Arduino, это не 13 ножка микроконтроллера. Чтобы найти нужный пин, воспользуйтесь распиновкой ATmega328

Схема эксперимента собрана. Осталось прошить нашу Arduino.

Прошивка ATmega328

У микроконтроллера нет собственного USB-порта. К компьютеру его можно подключить одним из двух способов:

Рассмотрим их подробнее.

Прошивка ATmega328 через USB-UART преобразователь

Для сборки программатора нам понадобится:

  1. Собранная в предыдущем эксперименте схема

Соберите следующую схему

Аппаратная часть готова. Теперь скачайте и установите на компьютер интегрированную среду разработки Arduino IDE и прошейте свой контроллер.

Прошивка ATmega328 через Arduino Uno

Для сборки программатора нам понадобится:

  1. Собранная в предыдущем эксперименте схема

Порядок сборки:

  1. Аккуратно извлеките из платы Arduino Uno микросхему ATMega328P. Не беспокойтесь, вы сможете вставить её обратно позднее.

  2. Соберите следующую схему

Аппаратная часть готова. Теперь скачайте и установите на компьютер интегрированную среду разработки Arduino IDE и прошейте свою плату.

ATMega328P Распиновка микроконтроллера, конфигурация контактов, особенности и спецификация

ATMEGA328P — это высокопроизводительный контроллер с низким энергопотреблением от Microchip. ATMEGA328P — это 8-битный микроконтроллер, основанный на архитектуре AVR RISC. Это самый популярный из всех контроллеров AVR, поскольку он используется в платах ARDUINO.

ATMega328 Конфигурация контактов

ATMEGA328P — это 28-контактный чип, как показано на схеме контактов выше. Многие контакты чипа здесь имеют более одной функции.Мы опишем функции каждого вывода в таблице ниже.

Контактный №

ПИН-код

Описание

Вторичная функция

1

PC6 (СБРОС)

Pin6 PORTC

Вывод

по умолчанию используется как вывод сброса.PC6 может использоваться только как вывод ввода / вывода, когда запрограммирован предохранитель RSTDISBL.

2

PD0 (RXD)

Pin0 из PORTD

RXD (контакт ввода данных для USART)

Интерфейс последовательной связи USART

[Может использоваться для программирования]

3

PD1 (TXD)

Pin1 из PORTD

TXD (вывод данных для USART)

Интерфейс последовательной связи USART

[Может использоваться для программирования]

INT2 (вход внешнего прерывания 2)

4

PD2 (INT0)

Pin2 из PORTD

Источник внешнего прерывания 0

5

PD3 (INT1 / OC2B)

Pin3 из PORTD

Источник внешнего прерывания1

OC2B (ШИМ — выход таймера / счетчика2 сравнивает выход B)

6

PD4 (XCK / T0)

Pin4 из PORTD

T0 (вход внешнего счетчика Timer0)

XCK (внешний вход / выход USART)

7

VCC

подключен к положительному напряжению

8

GND

подключен к земле

9

PB6 (XTAL1 / TOSC1)

Pin6 PORTB

XTAL1 (контакт 1 тактового генератора микросхемы или вход внешней синхронизации)

TOSC1 (контакт 1 генератора таймера)

10

PB7 (XTAL2 / TOSC2)

Pin7 PORTB

XTAL2 (контакт 2 генератора тактовых импульсов)

TOSC2 (штырь 2 генератора времени)

11

PD5

(T1 / OC0B)

Pin5 из PORTD

T1 (вход внешнего счетчика Timer1)

OC0B (PWM — выход таймера / счетчика0 сравнивает выход B совпадения)

12

PD6 (AIN0 / OC0A)

Pin6 из PORTD

AIN0 (аналоговый компаратор положительного ввода / вывода)

OC0A (PWM — выход таймера / счетчика0 сравнивает выход A совпадения)

13

PD7 (AIN1)

Pin7 из PORTD

AIN1 (аналоговый компаратор с отрицательной I / P)

14

PB0 (ICP1 / CLKO)

Pin0 PORTB

ICP1 (входной контакт таймера / счетчика1)

CLKO (Разделенные системные часы.Разделенные системные часы могут быть выведены на вывод PB0)

15

PB1 (OC1A)

Pin1 PORTB

OC1A (выход таймера / счетчика1 сравнивает выход A)

16

PB2 (SS / OC1B)

Pin2 PORTB

SS (SPI Slave Select Input).Этот вывод низок, когда контроллер действует как подчиненный.

[Последовательный периферийный интерфейс (SPI) для программирования]

OC1B (выход таймера / счетчика1 сравнивает выход B)

17

PB3 (MOSI / OC2A)

Pin3 из PORTB

MOSI (ведущий выход ведомого выхода).Когда контроллер действует как подчиненный, данные принимаются этим контактом. [Последовательный периферийный интерфейс (SPI) для программирования]

OC2 (выходной сигнал сравнения выходов таймера / счетчика2)

18

PB4 (MISO)

Pin4 PORTB

MISO (ведущий вход ведомого выхода).Когда контроллер действует как ведомый, данные отправляются на ведущий этим контроллером через этот вывод.

[Последовательный периферийный интерфейс (SPI) для программирования]

19

PB5 (SCK)

Pin5 PORTB

SCK (SPI Bus Serial Clock).Эти часы совместно используются этим контроллером и другой системой для точной передачи данных.

[Последовательный периферийный интерфейс (SPI) для программирования]

20

AVCC

Питание для внутреннего преобразователя АЦП

21

AREF

Аналоговый эталонный контакт

для АЦП

22

GND

ЗЕМЛЯ

23

PC0 (ADC0)

Pin0 PORTC

АЦП0 (входной канал АЦП 0)

24

ПК1 (АЦП1)

Pin1 PORTC

АЦП1 (входной канал АЦП 1)

25

ПК2 (АЦП2)

Pin2 PORTC

АЦП2 (входной канал АЦП 2)

26

PC3 (ADC3)

Pin3 PORTC

АЦП3 (входной канал АЦП 3)

27

PC4 (ADC4 / SDA)

Pin4 PORTC

АЦП4 (входной канал АЦП 4)

SDA (двухпроводная линия ввода / вывода данных последовательной шины)

28

PC5 (ADC5 / SCL)

Pin5 PORTC

АЦП5 (входной канал АЦП 5)

SCL (двухпроводная линия синхронизации последовательной шины)

Особенности

ATMEGA328P — Упрощенные функции

CPU

8-битный AVR

Количество контактов

28

Рабочее напряжение (В)

+1.8 В до + 5,5 В

Количество программируемых линий ввода / вывода

23

Интерфейс связи

Последовательный интерфейс Master / Slave SPI (17,18,19 PINS) [Может использоваться для программирования этого контроллера]

Программируемый серийный USART (2,3 PINS) [Может использоваться для программирования этого контроллера]

Двухпроводной последовательный интерфейс (27,28 PINS) [Может использоваться для подключения периферийных устройств, таких как сервоприводы, датчики и устройства памяти]

JTAG Интерфейс

Нет в наличии

Модуль АЦП

6 каналов, 10-битное разрешение АЦП

Модуль таймера

Два 8-разрядных счетчика с отдельным предварительным масштабированием и режимом сравнения, один 16-разрядный счетчик с отдельным предварительным масштабированием, режимом сравнения и захвата.

Аналоговые компараторы

1 (12,13 PINS)

Модуль

ЦАП

ноль

ШИМ-каналов

6

Внешний генератор

0-4 МГц @ 1.8 В до 5,5 В

0-10 МГц при 2,7 В до 5,5 В

0-20 МГц при 4,5 В до 5,5 В

Внутренний генератор

Калиброванный внутренний генератор 8 МГц

Тип памяти программ

Flash

Программная память или флэш-память

32Kbytes [10000 циклов записи / стирания]

CPU Speed ​​

1MIPS для 1 МГц

RAM

2 Кбайт Внутренняя SRAM

EEPROM

1 Кбайт EEPROM

сторожевой таймер

Программируемый сторожевой таймер

с отдельным встроенным чипом

Блокировка программы

Да

энергосберегающих режимов

Шесть режимов [Режим ожидания, АЦП, шумоподавление, энергосбережение, выключение, режим ожидания и расширенный режим ожидания]

Рабочая температура

-40 ° C до + 105 ° C (+105 — абсолютный максимум, -40 — абсолютный минимум)

ATMEGA328P Замены

ATMEGA8

ATMEGA328P Альтернативы

ATMEGA16, ATMEGA32, ATMEGA8535

Где использовать ATMEGA328P

Хотя у нас много контроллеров, ATMEGA328P наиболее популярен из-за своих возможностей и стоимости.Платы ARDUINO также разработаны на этом контроллере из-за его особенностей.

  • С программной памятью 32 Кбайт приложений ATMEGA328P много.
  • С различными режимами ЭНЕРГОСБЕРЕЖЕНИЯ он может работать на МОБИЛЬНЫХ ВСТРОЕННЫХ СИСТЕМАХ.
  • С помощью сторожевого таймера для сброса в случае ошибки его можно использовать в системах с минимальным вмешательством человека.
  • Благодаря усовершенствованной архитектуре RISC контроллер быстро выполняет программы.
  • Также с чип-датчиком температуры контроллер может использоваться при экстремальных температурах.

Все эти функции дополняют продвижение ATMEGA328P.

Как использовать ATMEGA328P

ATMEGA328 используется аналогично любому другому контроллеру. Все, что нужно сделать, это программирование. Контроллер просто выполняет предоставленную нами программу в любой момент. Без программирования контроллер просто остается на месте, ничего не делая.

Как уже было сказано, сначала нам нужно запрограммировать контроллер, и это делается путем записи соответствующего файла программы во флэш-память ATMEGA328P.После сброса этого программного кода контроллер выполняет этот код и выдает соответствующий ответ.

Весь процесс с использованием ATMEGA328P выглядит следующим образом:

  1. Перечислите функции, которые должны выполняться контроллером.
  2. Написать функции на языке программирования в программах IDE.

Вы можете бесплатно скачать программу IDE на веб-сайтах компании. Программа IDE для контроллеров AVR называется «ATMEL STUDIO». Ссылка для ATMEL STUDIO приведена ниже.

(обычно Atmel Studio 6.0 для Windows7 [http://atmel-studio.software.informer.com/6.0/],

Atmel Studio 7 для Windows10 [https://www.microchip.com/avr-support/atmel-studio-7])

    Программирование
  1. ATMEGA328P также может быть выполнено в ARDUINO IDE.
  2. После написания программы скомпилируйте ее для устранения ошибок.
  3. Заставить IDE сгенерировать HEX-файл для написанной программы после компиляции.
  4. Этот HEX-файл содержит машинный код, который должен быть записан во флэш-память контроллера.
  5. Выберите устройство программирования (обычно программатор SPI, созданный для контроллеров AVR), которое устанавливает связь между ПК и ATMEGA328P. Вы также можете запрограммировать ATMEGA328P, используя плату ARDUINO UNO.
  6. Запустите программное обеспечение программатора и выберите соответствующий шестнадцатеричный файл.
  7. Записать HEX-файл написанной программы во флэш-память ATMEGA328P с помощью этой программы.
  8. Отключите программатор, подключите соответствующие периферийные устройства для контроллера и запустите систему.

Как использовать ATMega328P с помощью Arduino

Поскольку ATmega328P используется в платах Arduino Uno и Arduino nano, плату arduino можно напрямую заменить микросхемой ATmega328. Для этого вам сначала необходимо установить в чип Arduino Arloino (или вы также можете купить чип с загрузчиком — ATMega328P-PU). Эту микросхему с загрузчиком можно разместить на плате Arduino Uno и записать в нее программу. После того, как программа Arduino записана в микросхему, ее можно удалить и использовать вместо платы Arduino вместе с кварцевым генератором и другими компонентами, необходимыми для проекта.Ниже показано расположение контактов между Arduino Uno и чипом ATmega328P .

ATMega328P Arduino Uno Pin Mapping

Приложения

Существуют сотни приложений для ATMEGA328P:

  • Используется в платах ARDUINO UNO, ARDUINO NANO и ARDUINO MICRO.
  • Системы промышленного управления.
  • SMPS и системы регулирования мощности.
  • Цифровая обработка данных.
  • Измерение аналоговых сигналов и манипуляции.
  • Встраиваемые системы, такие как кофемашина, торговый автомат.
  • Системы управления двигателем.
  • Витрины.
  • Система периферийного интерфейса.

2D модель

Все размеры указаны в миллиметрах.

ATMega328P Dimensions

,
Схема расположения контактов ATmega328P, конфигурация контактов, краткое описание и спецификация

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

ATmega328P Pinout Diagram, Pin Configuration, Brief Description & Datasheet

ATmega328P Особенности / технические характеристики:
  • Высокопроизводительный дизайн
  • Низкое энергопотребление
  • Общее количество контактов аналогового входа составляет 6
  • Содержит 32 килобайта флеш-памяти
  • Содержит 2 килобайта SRAM
  • Содержит 1 килобайт EEPROM
  • 16 мегагерц тактовая частота
  • Минимальная и максимальная температура от -40 градусов по Цельсию до 105 градусов по Цельсию
  • Общее количество выводов цифрового ввода-вывода составляет 14
  • Advance RISC
  • Функциональность программы Lock для программирования кода безопасности
  • Содержит всего три таймера: два 8-битных и один 16-битный
  • Общее количество выводов ввода / вывода составляет 23
  • Общее количество каналов ШИМ 6
  • Минимальное и максимальное рабочее напряжение от 1.8 В постоянного тока до 5,5 В постоянного тока
Конфигурация контактов:
Pin № Pin Описание Функция Pin Функция Pin Описание
1 PC6 Сброс Когда этот вывод сброса становится низким, микроконтроллер и его программа сбрасываются.
2 PD0 Цифровой контакт (RX) Входной контакт для последовательной связи
3 PD1 Цифровой вывод (TX) Выходной вывод для последовательной связи
4 PD2 Цифровой вывод Вывод 4 используется в качестве внешнего прерывания 0
5 PD3 Цифровой вывод (ШИМ) Вывод 5 используется в качестве внешнего прерывания 1
6 PD4 Цифровой контакт Контакт 6 используется для внешнего источника счетчика Timer0
7 Vcc Положительное напряжение Положительное питание системы.
8 GND Земля Земля системы
9 XTAL Кристаллический генератор Этот вывод должен быть подключен к одному выводу кварцевого генератора для подачи внешнего тактового импульса на чип
10 XTAL Кристаллический генератор Этот вывод также должен быть подключен к другому выводу кварцевого генератора для подачи внешнего тактового импульса на чип
11 PD5 Цифровой контакт (ШИМ) Контакт 11 используется для внешнего источника счетчика Timer1
12 PD6 Цифровой вывод (ШИМ) Положительный аналоговый компаратор I / PS
13 PD7 Цифровой вывод Отрицательный аналоговый компаратор I / PS
14 PB0 Цифровой вывод Источник входного сигнала счетчика или таймера
15 PB1 Цифровой вывод (ШИМ) счетчик или таймер сравнения соответствуют A.
16 PB2 Цифровой вывод (ШИМ) Этот вывод служит выбором ведомого устройства i / p.
17 PB3 Цифровой вывод (ШИМ) Этот вывод используется как выход основных данных и вход ведомых данных для SPI.
18 PB4 Цифровой вывод Этот вывод служит в качестве входа главного тактового генератора и выхода подчиненного тактового генератора.
19 PB5 Цифровой вывод Этот вывод служит выходом главного тактового генератора и входом вспомогательного тактового сигнала для SPI.
20 AVcc Положительное напряжение Положительное напряжение для АЦП (питание)
21 Ареф Analog Reference аналогового источника опорного напряжения для АЦП (аналого-цифровой преобразователь)
22 GND Земля Земля системы
23 PC0 Аналоговый вход Аналоговый вход цифрового значения канала 0
24 PC1 Аналоговый вход Аналоговый вход цифрового значения канала 1
25 PC2 Аналоговый вход Аналоговый вход цифрового значения канала 2
26 PC3 Аналоговый вход Аналоговый вход цифрового значения канала 3
27 PC4 Аналоговый вход Аналоговый вход цифрового значения канала 4.Этот вывод также можно использовать как последовательный интерфейс для передачи данных.
28 PC5 Аналоговый вход Аналоговый вход цифрового значения канала 5. Этот вывод также используется в качестве линии синхронизации последовательного интерфейса.
ATmega328P Описание:

ATmega328P — очень продвинутый и многофункциональный микроконтроллер. Это один из известных микроконтроллеров Atmel из-за его использования в плате Arduino UNO. Это микроконтроллер из семейства микроконтроллеров Atmel megaMVR (позже, в 2016 году, компания Atmel была приобретена компанией Microchip Technology Inc, микроконтроллеры, изготовленные в семействе megaMVR, предназначены для обработки больших программных запоминающих устройств, и каждый микроконтроллер в этом семействе содержит различное количество ПЗУ, ОЗУ, Контакты ввода / вывода и другие функции, а также они изготавливаются с разными выходными контактами, которые составляют от 8 до сотен контактов.

Внутренняя схема ATmega328P разработана с функциями низкого потребления тока. Чип содержит 32 килобайта встроенной флэш-памяти, 1 килобайт EEPROM и 2 килобайта SRAM. ЭСППЗУ и флэш-память — это запоминающие устройства, которые сохраняют информацию, и эта информация по-прежнему выходит при каждом отключении или отключении питания, но SRAM — это память, которая сохраняет информацию только до тех пор, пока не будет подано питание, а при отключении питания вся информация сохранена. в SRAM будут стерты.

Применения:

Существуют тысячи приложений для Atmega328P , и их появление в ближайшем будущем зависит от креативности. Каждый день мы видим новое приложение, созданное с использованием этого чипа электронными студентами, инженерами, любителями, тинкерами. Некоторые из приложений для чипа следующие.

  • Системы управления промышленными машинами
  • Машины и оборудование на солнечной энергии
  • приложений на основе IOT
  • Приложения на основе блока питания и зарядного устройства
  • Погодные системы
  • Приложения беспроводной связи
  • Приложения на основе безопасности
  • Проекты и системы в области здравоохранения и здравоохранения
  • Автомобильные приложения
  • И многое другое …

Замена или эквивалент

Atmega328P можно заменить на AtmegaA8

альтернативные номера детали

Альтернативными микроконтроллерами для Atmega328P являются Atmega8535, Atmega16 и Atmega32.

Как использовать Atmega328P

Использование Atmega328P такое же, как и любых других микроконтроллеров, его также необходимо запрограммировать перед использованием. Для программирования чипа доступно несколько программ для программистов. Один из самых простых и распространенных способов программирования чипа — использование платы Arduino и программного обеспечения Arduino с именем Arduino IDE. Другой программист — это программа IDP, созданная для контроллеров AVR под названием «Atmel Studio», которую можно бесплатно загрузить с веб-сайтов Atmel и Microchip Technology.После установки нужного программного обеспечения IDE или IDP пользователь должен записать коды функций / программ в программаторе IDE или IDP. Есть несколько руководств и учебных пособий, доступных в Интернете, где можно узнать, как программировать микроконтроллер, чтобы получить желаемую задачу от чипа.

Как безопасно запустить Atmega328P и получить долгую производительность:

Чтобы получить долгосрочную производительность или если вы хотите годами эксплуатировать Atmega328P в своем электронном гаджете или проекте, следует знать, что микросхемы или микросхемы очень чувствительны, и при их использовании необходимо соблюдать осторожность.Напряжение питания не должно превышать 5,5 В. Всегда проверяйте выход источника напряжения перед подключением к ИС. При экспериментах на макете или пайке в цепи настоятельно рекомендуется проверить все контакты на короткое замыкание, прежде чем подавать питание на IC, лучше использовать разъем IC для IC, но также проверить контакты разъема IC на короткое замыкание. цепь перед размещением IC в нем. Гнездо для микросхемы также сохраняет микросхему от тепла, выделяемого паяльником при пайке Не храните и не используйте чип ниже -40 градусов Цельсия и выше 105 градусов Цельсия.

Лист данных

Для загрузки таблицы данных просто скопируйте и вставьте ссылку ниже в вашем браузере.

http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf

,

Страница не найдена | MIT

Перейти к содержанию ↓
  • образование
  • Исследовательская работа
  • новаторство
  • Прием + помощь
  • Студенческая жизнь
  • Новости
  • Alumni
  • О MIT
  • Больше ↓
    • Прием + помощь
    • Студенческая жизнь
    • Новости
    • Alumni
    • О MIT
Меню ↓ Поиск Меню О, похоже, мы не смогли найти то, что искали!
Попробуйте поискать что-нибудь еще! Что вы ищете? Посмотреть больше результатов

Предложения или отзывы?

,

Arduino UNO NANO — ИНФА

Содержание


UNO NANO,. ATmega328,

UNO

UNO 14 / 6 , USB-, 7-12, ICSP,.


.

:

:

— — Atmega328;

— -,;

— -,;

-;

:

VIN — 7-12 (,).

USB — USB- (,).

5 В — 5 В, -, (),.

3,3 В — 3,3,. 3,3, -. 50

GND -.

AREF -. , аналог ссылки ().

IOREF -. , ,

Сброс -. ,

SDA, SCL — TWI / I2C.

0 … 13 — /.

13 — 13, ВЫСОКИЙ.

0 (RX), 1 (TX) — UART (последовательный).

A1 … A5 — ()


Arduino UNO.

Nano


Arduino Nano.

Atmega328

, Уно Нано. :



ARDUINO

, -:




Сейчас 01.20.08 16:55:25, Ваш IP: 176.9.44.166; arduino.zl3p.com/infa/pins
,

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *