Самая компактная плата arduino pro mini

Во-первых, аппаратное обеспечение

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

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

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

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

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

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

Схема программирования ATmega328P с помощью AVR Pocket программатораСхема программирования ATtiny45 с помощью AVR Pocket программатора

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

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

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

Инструкции для получения драйвера AVR Pocket Programmer приведены ниже.

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

Распиновка разъемов на кабеле программатора AVR Pocket Programmer

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

На следующих фотографиях показаны сборки схем программирования ATmega328P и ATtiny45 на беспаечных макетных платах. Шесть коротких перемычек используются для подключения необходимых проводов от разъема 2×3 (мама) к соответствующим контактам микроконтроллера на макете

Обратите внимание, что цвета проводов на фотографиях соответствуют обозначениям на схемах

Схема программирования ATmega328P с помощью AVR Pocket программатораСхема программирования ATtiny45 с помощью AVR Pocket программатора

Список комплектующих

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

Перечень элементов
Обозначение элемента Описание
U1 Микросхема, ATmega328P-PU, флеш 32 КБ, DIP-28, 1,8–5,5 В
U1 Микросхема, ATtiny45-PU, флеш 4 КБ, DIP-8, 2,7–5,5 В
R1 Резистор, 10 кОм, 0,25 Вт
R2 Резистор, 470 Ом, 0,25 Вт
LED1 Светодиод, T1 3/4, желтый
C1 Конденсатор керамический, 0,1 мкФ, 50 В
нет Программатор, AVR Pocket, PGM-09825
нет Макетная плата, беспаечная, 400 контактов

Datasheets

Просмотр и загрузка
Datasheet ATmega328/P — Summary

PDF, 407 Кб, Файл опубликован: 10 дек 2016, Страниц: 248-bit AVR Microcontrollers

Выписка из документа

8-bit AVR Microcontrollers ATmega328/P
DATASHEET SUMMARY Introduction
The Atmel picoPower ATmega328/P is a low-power CMOS 8-bit
microcontroller based on the AVR enhanced RISC architecture. By
executing powerful instructions in a single clock cycle, the ATmega328/P
achieves throughputs close to 1MIPS per MHz. This empowers system
designer to optimize the device for power consumption versus processing
speed. Feature
High Performance, Low Power AtmelAVR 8-Bit Microcontroller Family

Advanced RISC Architecture
— 131 Powerful Instructions
— Most Single Clock Cycle Execution
— 32 x 8 General Purpose Working Registers
— Fully Static Operation
— Up to 20 MIPS Throughput at 20MHz
— On-chip 2-cycle Multiplier

High Endurance Non-volatile Memory Segments
— 32KBytes of In-System Self-Programmable Flash program
Memory
— 1KBytes EEPROM
— 2KBytes Internal SRAM

ATmega328/P
AVR Microcontroller with picoPower Technology
Introduction
The picoPower ATmega328/P is a low-power CMOS 8-bit microcontroller based on the AVR enhanced
RISC architecture. By executing powerful instructions in a single clock cycle, the ATmega328/P achieves
throughputs close to 1 MIPS per MHz. This empowers system designers to optimize the device for power
consumption versus processing speed. Feature
High Performance, Low-Power AVR 8-Bit Microcontroller Family
Advanced RISC Architecture

— 131 Powerful instructions
— Most single clock cycle execution
— 32 x 8 General purpose working registers
— Fully static operation
— Up to 20 MIPS throughput at 20 MHz
— On-chip 2-cycle multiplier

High Endurance Nonvolatile Memory Segments
— 32K Bytes of in-system self-programmable Flash program memory
— 1K Bytes EEPROM
— 2K Bytes internal SRAM
— Write/erase cycles: 10,000 Flash/100,000 EEPROM
— Data retention: 20 years at 85°C/100 years at 25°C(1)

ATmega328/P. Datasheet Complete

2

Скачать PDF

2

31 предложений от 16 поставщиков
Плата Arduino Pro Mini на базе микроконтроллера ATmega328, создана на основе открытой архитектуры серии Arduino.Платформа содержит 14 цифровых входов/выходов (6 из…

AliExpressВесь мир Оригинальная плата Atmega328p с кабелем Aurdino Ch340g Smd Подлинная Италия для Uno R3 Arduino 11 ₽ Купить
ТриемаРоссия ATMEGA328P-AU 107 ₽ Купить
GearBestВесь мир ATmega328P Nano V3 Module Improved Version With USB Cable Development Board Geekcreit for Arduino — products that work with official Arduino boards 222 ₽ Купить
ДКО ЭлектронщикРоссия ATMEGA328P-AURMicrochip по запросу Купить

OCM1C2 – модулятор выходов таймеров

Встроенный модулятор Output Compare Modulator (OCM) позволяет генерировать модулированные сигналы. Он использует выходы блоков сравнения (Output Compare Unit B) двух появившихся в ATmega328PB новых 16-разрядных таймеров/счетчиков Timer/Counter3 и Timer/Counter4, о которых было сказано выше. Когда работа модулятора разрешена, два выхода каналов сравнения образуют модулятор, где один канал служит источником несущей частоты, а другой – модулирующей, как это показано на Рисунке 3.

Рисунок 3. Блок-схема модулятора выходов таймеров.

Выходы блоков сравнения Output Compare 3B и Output Compare 4B совместно используют один вывод порта PD2. Имея более высокий приоритет, выходы блоков сравнения (OC3B и OC4B) переопределяют конфигурацию вывода PD2, заданную битом PORTD2. Когда OC3B и OC4B разрешены одновременно, автоматически разрешается работа модулятора.

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

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

ATmega328P имеет двойное питание: выводы VCC и GND (выводы 7 и 8) используются для питания цифровых схем микроконтроллера; AVCC и GND (выводы 20 и 22) — для питания аналого-цифрового преобразователя. Даже если вы не собираетесь использовать АЦП, к нему должно быть подведено питание: соедините выводы VCC с AVCC, а цифровую землю с аналоговой. Если же вы планируете использовать АЦП, то в цепь питания следует добавить фильтр для уменьшения помех. Так в даташите рекомендуется соединить AVCC c VCC через индуктивность 10мкГн и с GND через емкость 0.1мкФ. Однако данная рекомендация не выполняется даже в платах Ардуино и вывод AVCC на них просто соединен с VCC.

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

Параметры

Parameters / Models ATMEGA328P-15AZ ATMEGA328P-AN ATMEGA328P-ANR ATMEGA328P-AU ATMEGA328P-AUR ATMEGA328P-AURA0 ATMEGA328P-MMH ATMEGA328P-MMHR ATMEGA328P-MMHRA0 ATMEGA328P-MN ATMEGA328P-MNR ATMEGA328P-MU ATMEGA328P-MUR ATMEGA328P-PN ATMEGA328P-PU
# of Comparators 1 1
ADC Input 8 8 8 8 8 8 8 8 8 8 8 8 8
ADC with Computation No No No No No No No No No No No No No
ADCC with Computation No No
Angular Timer No No No No No No No No No No No No No No No
Архитектура 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
CPU 8-bit AVR 8-bit AVR
CPU Type 8-bit AVR 8-bit AVR 8-bit AVR 8-bit AVR 8-bit AVR 8-bit AVR 8-bit AVR 8-bit AVR 8-bit AVR 8-bit AVR 8-bit AVR 8-bit AVR 8-bit AVR
CRC No No No No No No No No No No No No No
CRC/Scan No No
Class B Hardware No No No No No No No No No No No No No
EEPROM / HEF 1024 1024
Emulated EEPROM in Flash 1024 1024 1024 1024 1024 1024 1024 1024 1024 1024 1024 1024 1024
High Voltage Capable No No No No No No No No No No No No No No No
I2C 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Internal Oscillator Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Internal Voltage Reference, Bandgap Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Lead Count 32 32 32 32 32 28 28 32 32 32 32 28 28
Math Accelerator No No No No No No No No No No No No No No No
Max # PWM outputs, including complementary outputs 6 6
Max 16 Bit Digital Timers 1 1
Max 16-Bit Digital Timers 1 1 1 1 1 1 1 1 1 1 1 1 1
Max 8 Bit Digital Timers 2 2
Max 8-Bit Digital Timers 2 2 2 2 2 2 2 2 2 2 2 2 2
Max A/D Resolution, bits 10 10
Max ADC Resolution, Bits 10 10 10 10 10 10 10 10 10 10 10 10 10
Max CPU Speed, МГц 20 20 20 20 20 20 20 20 20 20 20 20 20
Max PWM outputs, including complementary 6 6 6 6 6 6 6 6 6 6 6 6 6
Max. CPU Speed MHz 20 20
Количество компараторов 1 1 1 1 1 1 1 1 1 1 1 1 1
Рабочий диапазон температур, °C от -40 до +85 от -40 до +85
Operation Voltage Max, В 5.5 5.5 5.5 5.5 5.5 5.5 5.5 5.5 5.5 5.5 5.5 5.5 5.5
Operation Voltage Max.(V) 5.5 5.5
Operation Voltage Min, В 1.8 1.8 1.8 1.8 1.8 1.8 1.8 1.8 1.8 1.8 1.8 1.8 1.8
Operation Voltage Min.(V) 1.8 1.8
Package Width 7x7x1mm 7x7x1mm 7x7x1mm 7x7x1mm 7x7x1mm 4x4x1mm 4x4x1mm 5x5x1mm 5x5x1mm 5x5x1mm 5x5x1mm .300in .300in
Peripheral Pin Select, PPS No No
Peripheral Pin Select / Pin Muxing No No No No No No No No No No No No No
Pin count 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32
Размер памяти программ, KB 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32
RAM, bytes 2048 2048
SPI 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
SRAM, Bytes 2048 2048 2048 2048 2048 2048 2048 2048 2048 2048 2048 2048 2048
Temp Range Max 85 85 85 85 85 85 85 85 85 85 85 85 85
Temp Range Min -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40
Temp. Range Max. 85 85
Temp. Range Min. -40 -40
Total # of A/D channels 8 8
UART 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Windowed Watchdog Timer, WWDT No No
Zero Cross detect No No No No No No No No No No No No No No No

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

Предположим, что программатор подключен к AVR на вашей макетной плате, как было описано выше, и вы почти готовы запрограммировать ваш AVR микроконтроллер. Для примера воспользуемся простым примером мигания светодиодом.

Теперь следуйте следующим инструкциям:

  1. Запустите Atmel Studio 7.
  2. В стартовом окне слева нажмите New Project. Откроется окно нового проекта.
    Стартовое окно Atmel Studio 7
  3. В окне нового проекта нажмите GCC C Executable Project, назовите проект New Blink, как показано выше, и нажмите OK. Откроется окно выбора устройства Device Selection.
    Окно выбора устройства Device Selection
  4. В окне выбора устройства выберите AVR устройство, которое вы используете: ATmega328P или ATtiny45, как показано ниже. Нажмите OK. Будет создан новый проект, и будет открыто окно проекта New Blink.
    Окно проекта New Blink
  5. Нажмите на меню Tools, выберите External Tools…, и нажмите кнопку Add.
  6. В поле Title введите название инструмента, которой создаете; хорошо, если название описывает устройство. Например, вы можете ввести комбинацию названия программатора и названия устройства.
  7. В поле Comand введите путь к месту, куда установили AVRDude, плюс команду для запуска AVRDude.
  8. В поле Arguments введите одну из двух следующих строк, в зависимости от AVR контроллера, который используете.
    Для ATmega328P введите:

    Для ATtiny45 введите:

  9. В поле Initial directory введите путь к месту, куда установили AVRDude.
  10. Убедитесь, что поставлена галочка Use Output window, а в двух других чекбоксах галочки не стоят. Состояние окна должно быть похоже на скриншот ниже, но с учетом AVR контроллера, который вы используете.
    Окно добавления внешнего инструмента
  11. Нажмите Apply, а затем OK. Окно внешних инструментов должно закрыться.
  12. Скопируйте код программы, приведенный выше.
  13. Перейдите к окну New Blink.c в окне Atmel Studio 7 и вставьте в него код, приведенный выше.
    Код программы
  14. Если в правом верхнем углу Atmel Studio 7 не открыто окно менеджера проекта Solution Explorer, нажмите на выпадающее меню View и нажмите Solution Explorer. В правом верхнем углу должно появиться окно Solution Explorer.
  15. Кликните правой кнопкой на main.c и выберите «переименовать». Переименуйте файл main.c в New Blink.c.
  16. Нажмите на меню File и нажмите Save All.
  17. Нажмите на меню Build и нажмите Build Solution (собрать проект).
  18. Нажмите на меню Tools (инструменты) и нажмите на название инструмента, созданного в шагах с 5 по 11. Скомпилированный код New Blink должен будет быть загруже в AVR контроллер на вашей макетной плате, а светодиод LED1 должен начать мигать: ½ секунды включен, ½ секунды выключен, 60 раз в минуту.

Механизм обнаружения сбоев синхронизации

Clock Failure Detection mechanism (CFD) – еще одно нововведение в ATmega328PB. Это схема цифровой логики с собственным генератором 128 кГц, предназначенная для отслеживания сбоев синхронизации (только для кварцевого резонатора и внешнего источника тактовой частоты) и автоматического переключения на встроенную схему RC-генератора 1 МГц.

Включение механизма контроля синхронизации выполняется автоматически на стадии программирования Fuse-битов выбора источника тактовой частоты (CKSEL) и активизируется только при тактовой частоте выше 256 кГц. При переходе микроконтроллера в режим пониженного энергопотребления схема контроля тактовой частоты отключается, и включается автоматически при пробуждении МК.

Дополнительные последовательные интерфейсы обмена данными

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

Универсальный приемопередатчик содержит детектор начала блока данных, который имеет гибкие настройки и может использоваться для пробуждения МК при получении стартового бита. Детектор старт-бита имеет собственный тактовый генератор 8 МГц, поддерживает работу как в асинхронном, так и в синхронном режиме, и может быть сконфигурирован для генерации сигнала прерывания немедленно после определения старт-бита.

Arduino Pro Mini: прошивка, программирование

Микропроцессор Arduino Pro Mini разработан со встроенным загрузчиком, т.е. запись скетчей в плату производится без использования программаторов. Это значительно облегчает работу с платой, особенно новичкам. Прошивка Arduino Pro Mini ATmega328 производится в среде Arduino IDE 1.8, которую можно скачать на сайте разработчика www.arduino.cc. Дополнительные драйвера для Pro Mini Arduino не требуются.


Подключение Pro Mini для прошивки через USB

Pro Mini поддерживает три типа памяти:

Flash–память объемом 16 кБ, используется для хранения прошивки. Когда в контроллер записывается программа, она сохраняется именно во Flash–память. Чтобы очистить Flash–память следует загрузить пустой скетч (программу).

SRAM — это оперативная память объемом 1 кБ на Arduino Pro Mini. Здесь хранятся переменные, создаваемые в скетче. SRAM — это энергозависимая память, при отключении внешнего источника питания — данные удалятся.

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

Datasheets

Просмотр и загрузка
Datasheet ATmega328/P — Summary

PDF, 407 Кб, Файл опубликован: 10 дек 2016, Страниц: 248-bit AVR Microcontrollers

Выписка из документа

8-bit AVR Microcontrollers ATmega328/P
DATASHEET SUMMARY Introduction
The Atmel picoPower ATmega328/P is a low-power CMOS 8-bit
microcontroller based on the AVR enhanced RISC architecture. By
executing powerful instructions in a single clock cycle, the ATmega328/P
achieves throughputs close to 1MIPS per MHz. This empowers system
designer to optimize the device for power consumption versus processing
speed. Feature
High Performance, Low Power AtmelAVR 8-Bit Microcontroller Family

Advanced RISC Architecture
— 131 Powerful Instructions
— Most Single Clock Cycle Execution
— 32 x 8 General Purpose Working Registers
— Fully Static Operation
— Up to 20 MIPS Throughput at 20MHz
— On-chip 2-cycle Multiplier

High Endurance Non-volatile Memory Segments
— 32KBytes of In-System Self-Programmable Flash program
Memory
— 1KBytes EEPROM
— 2KBytes Internal SRAM

ATmega328/P
AVR Microcontroller with picoPower Technology
Introduction
The picoPower ATmega328/P is a low-power CMOS 8-bit microcontroller based on the AVR enhanced
RISC architecture. By executing powerful instructions in a single clock cycle, the ATmega328/P achieves
throughputs close to 1 MIPS per MHz. This empowers system designers to optimize the device for power
consumption versus processing speed. Feature
High Performance, Low-Power AVR 8-Bit Microcontroller Family
Advanced RISC Architecture

— 131 Powerful instructions
— Most single clock cycle execution
— 32 x 8 General purpose working registers
— Fully static operation
— Up to 20 MIPS throughput at 20 MHz
— On-chip 2-cycle multiplier

High Endurance Nonvolatile Memory Segments
— 32K Bytes of in-system self-programmable Flash program memory
— 1K Bytes EEPROM
— 2K Bytes internal SRAM
— Write/erase cycles: 10,000 Flash/100,000 EEPROM
— Data retention: 20 years at 85°C/100 years at 25°C(1)

Заключение

Увеличенное количество коммуникационных интерфейсов, 10 каналов ШИМ, контроль тактовой частоты и, самое главное, поддержка сенсорного интерфейса QTouch значительно расширяют область применения микроконтроллера ATmega328PB. Это могут быть промышленные системы контроля и управления, драйверы светодиодных светильников, приборы учета, средства домашней автоматизации. Дополнительная информация доступна в техническом описании.

Микроконтроллер ATmega328PB поддерживается основными программными, аппаратными и системными отладочными инструментами, включая Atmel Studio 6 и Atmel Power Debugger. Кроме того, множество примеров, программных библиотек и вспомогательных инструментов доступно пользователям в Atmel Gallery.

Оцените статью:
Оставить комментарий