Самая компактная плата 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 Arduino11 ₽Купить
ТриемаРоссия ATMEGA328P-AU107 ₽Купить
GearBestВесь мир ATmega328P Nano V3 Module Improved Version With USB Cable Development Board Geekcreit for Arduino — products that work with official Arduino boards222 ₽Купить
ДКО ЭлектронщикРоссия 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 / ModelsATMEGA328P-15AZATMEGA328P-ANATMEGA328P-ANRATMEGA328P-AUATMEGA328P-AURATMEGA328P-AURA0ATMEGA328P-MMHATMEGA328P-MMHRATMEGA328P-MMHRA0ATMEGA328P-MNATMEGA328P-MNRATMEGA328P-MUATMEGA328P-MURATMEGA328P-PNATMEGA328P-PU
# of Comparators11
ADC Input8888888888888
ADC with ComputationNoNoNoNoNoNoNoNoNoNoNoNoNo
ADCC with ComputationNoNo
Angular TimerNoNoNoNoNoNoNoNoNoNoNoNoNoNoNo
Архитектура888888888888888
CPU8-bit AVR8-bit AVR
CPU Type8-bit AVR8-bit AVR8-bit AVR8-bit AVR8-bit AVR8-bit AVR8-bit AVR8-bit AVR8-bit AVR8-bit AVR8-bit AVR8-bit AVR8-bit AVR
CRCNoNoNoNoNoNoNoNoNoNoNoNoNo
CRC/ScanNoNo
Class B HardwareNoNoNoNoNoNoNoNoNoNoNoNoNo
EEPROM / HEF10241024
Emulated EEPROM in Flash1024102410241024102410241024102410241024102410241024
High Voltage CapableNoNoNoNoNoNoNoNoNoNoNoNoNoNoNo
I2C111111111111111
Internal OscillatorYesYesYesYesYesYesYesYesYesYesYesYesYesYesYes
Internal Voltage Reference, BandgapYesYesYesYesYesYesYesYesYesYesYesYesYesYesYes
Lead Count32323232322828323232322828
Math AcceleratorNoNoNoNoNoNoNoNoNoNoNoNoNoNoNo
Max # PWM outputs, including complementary outputs66
Max 16 Bit Digital Timers11
Max 16-Bit Digital Timers1111111111111
Max 8 Bit Digital Timers22
Max 8-Bit Digital Timers2222222222222
Max A/D Resolution, bits1010
Max ADC Resolution, Bits10101010101010101010101010
Max CPU Speed, МГц20202020202020202020202020
Max PWM outputs, including complementary6666666666666
Max. CPU Speed MHz2020
Количество компараторов1111111111111
Рабочий диапазон температур, °Cот -40 до +85от -40 до +85
Operation Voltage Max, В5.55.55.55.55.55.55.55.55.55.55.55.55.5
Operation Voltage Max.(V)5.55.5
Operation Voltage Min, В1.81.81.81.81.81.81.81.81.81.81.81.81.8
Operation Voltage Min.(V)1.81.8
Package Width7x7x1mm7x7x1mm7x7x1mm7x7x1mm7x7x1mm4x4x1mm4x4x1mm5x5x1mm5x5x1mm5x5x1mm5x5x1mm.300in.300in
Peripheral Pin Select, PPSNoNo
Peripheral Pin Select / Pin MuxingNoNoNoNoNoNoNoNoNoNoNoNoNo
Pin count323232323232323232323232323232
Размер памяти программ, KB323232323232323232323232323232
RAM, bytes20482048
SPI222222222222222
SRAM, Bytes2048204820482048204820482048204820482048204820482048
Temp Range Max85858585858585858585858585
Temp Range Min-40-40-40-40-40-40-40-40-40-40-40-40-40
Temp. Range Max.8585
Temp. Range Min.-40-40
Total # of A/D channels88
UART111111111111111
Windowed Watchdog Timer, WWDTNoNo
Zero Cross detectNoNoNoNoNoNoNoNoNoNoNoNoNoNoNo

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

Предположим, что программатор подключен к 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.

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