Особенности
По datasheet (описанию), все контроллеры Atmega обладают следующими особенностями:
- Низкомощным высокопроизводительным 8-зарядным микроконтроллером типа AVR (причем, и у моделей класса Atmega168 20au, и Atmega168 20au).
- Усовершенствованной архитектурой типа RISC (плата всегда ей соответствует).
- Микроконтроллером. Datasheet (описание) говорит, что их 135 у каждой модели.
- Платой и распиновкой, которые обеспечивают выполнение практически всех инструкций в течение 1 цикла.
- Каждый микроконтроллер серии, от самых первых, например, Atmegar3, до наиболее современных (Atmega328 или Atmega2561 rev3), характеризуется полностью статическими темпами работы.
- Огромной производительностью, как утверждает datasheet (описание). При частоте в 16 мегагерц производительность будет равняться 16 миллионам операций за 1 секунду.
- Встроенным 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 циклов записи/стирания
- Программная защита от считывания
- 32 КБайт самопрограммируемой в системе FLASH памяти
- 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 Size 1K 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 В устройствами.
Порты ввода/вывода
Цифровые входы/выходы: пины
0
–13
Логический уровень единицы — 5 В, нуля — 0 В. Максимальный ток выхода — 40 мА. К контактам подключены подтягивающие резисторы, которые по умолчанию выключены, но могут быть включены программно.ШИМ: пины
3
,5
,6
,9
,10
и11
Позволяют выводить 8-битные аналоговые значения в виде ШИМ-сигнала.АЦП: пины
A0
–A5
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-контактный разъём, а также продублированы на цифровых пинах
, 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 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».
Порты ввода/вывода
Цифровые входы/выходы: пины
0
–13
Логический уровень единицы — 5 В, нуля — 0 В. Максимальный ток выхода — 40 мА. К контактам подключены подтягивающие резисторы, которые по умолчанию выключены, но могут быть включены программно.ШИМ: пины
3
,5
,6
,9
,10
и11
Позволяет выводить аналоговые значения в виде ШИМ-сигнала. Разрядность ШИМ не меняется и установлена в 8 бит.АЦП: пины
A0
–A7
Позволяет представить аналоговое напряжение в цифровом виде. Разрядность АЦП не меняется и установлена в 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 мм
Ресурсы
схема, как сделать контроллер [Амперка / Вики]
В этот статье мы расскажем как своими руками собрать Arduino на обычной макетной плате.
Для этого нам понадобится микроконтроллер ATmega328 — такой же как и в оригинальной Arduino Uno.
Распиновка ATmega328
В начале работы с любым микроконтроллером необходимо изучить его распиновку. После этого уже можно приступать к сборке необходимой обвязки. Ниже представлена распиновка микроконтроллера ATmega328.
Сборка Arduino на макетной плате
Необходимые компоненты
Для работы с микроконтроллером понадобятся:
Конденсатор 22 пф
Схема сборки
Соберите на макетной плате компоненты по следующей схеме:
Эксперимент «маячок» из Матрёшки
Добавьте к схеме светодиод на 13
пине. Для этого повторите первый эксперимент из набора Матрёшка Z — маячок.
Обратите внимание, 13
пин Arduino, это не 13 ножка микроконтроллера. Чтобы найти нужный пин, воспользуйтесь распиновкой ATmega328
Схема эксперимента собрана. Осталось прошить нашу Arduino.
Прошивка ATmega328
У микроконтроллера нет собственного USB-порта. К компьютеру его можно подключить одним из двух способов:
Рассмотрим их подробнее.
Прошивка ATmega328 через USB-UART преобразователь
Для сборки программатора нам понадобится:
Собранная в предыдущем эксперименте схема
Соберите следующую схему
Аппаратная часть готова. Теперь скачайте и установите на компьютер интегрированную среду разработки Arduino IDE и прошейте свой контроллер.
Прошивка ATmega328 через Arduino Uno
Для сборки программатора нам понадобится:
Собранная в предыдущем эксперименте схема
Порядок сборки:
Аккуратно извлеките из платы Arduino Uno микросхему ATMega328P. Не беспокойтесь, вы сможете вставить её обратно позднее.
Соберите следующую схему
Аппаратная часть готова. Теперь скачайте и установите на компьютер интегрированную среду разработки Arduino IDE и прошейте свою плату.
Вот вы написали программу, и залили её в свой 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. Распиновка платы | AlexGyver Technologies
Распиновка платы
Распиновка (Pinout) платы показывает, какие пины за что отвечают. Микроконтроллер штука настолько универсальная, что большинство пинов имеют гораздо больше одной функции! Рассмотрим пины и интерфейсы платы на основе Arduino Nano, так как другие модели Ардуино имеют абсолютно точно такие же входы/выходы/интерфейсы, но просто в другом количестве.
GPIO
Начнем с пинов, которых больше всего, это GPIO, с англ. General Purpose Input-Output, входы-выходы общего назначения, на плате они подписаны как D0–D13 и A0–A5. По картинке распиновки они называются 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 ATtmega8: плата, характеристики, распиновка
Микроконтроллеры – отличная основа для большого количества устройств. По сути своей они напоминают компьютер: постоянная память; оперативная память; вычислительное ядро; тактовая частота.
Среди многих семейств и видов МК новички часто выбирают контроллеры AVR Atmega. Однако язык программирования может показаться сложным, поэтому преподаватель из Италии решил разработать простую и удобную плату для обучения.
Родилась Arduino ATmega8, на основе которой можно собрать очень удобное и простое устройство.
Arduino NG – вариант платы Arduino на микроконтроллере ATmega8С этими платами от Ардуино вы получаете целый ряд преимуществ:
- готовая разведенная печатная плата со всеми необходимыми компонентами и разъёмами;
- микроконтроллеры Atmega;
- возможность программировать без программаторов – через ЮСБ порт;
- питание от любого источника 5-20 вольт;
- простой язык программирования и возможность использования чистой C AVR без переделок платы и прошивки.
Характеристики чипа
- Частота ATmega8: 0-16 МГц
- Напряжение ATmega8: 5 В
- Частота ATmega8L: 0-8 МГц
- Частоат ATmega8A: 0-16 МГц
В реальности почти все микроконтроллеры при рабочем напряжении в 5 вольт работают с частотой 16 мегагерц, если участвует внешний кварцевый резонатор. Если брать внутренний генератор, то частоты составят: 8, 4, 2 и 1 МГц.
Распиновка Arduino ATmega8
Ниже приводим распиновку атмега8, которую можно также найти на официальном сайте производителя:
Добавление устройств АТмега
Есть один нюанс по работе с эти чипом – нам нужно внести некоторые изменений в один файл, чтобы дальше можно было бы программировать микроконтроллеры Arduino ATmega8.
Вносим следующие изменения в файл hardware/arduino/boards.txt:
atmega8o.name=ATmega8 (optiboot 16MHz ext) atmega8o.upload.protocol=arduino atmega8o.upload.maximum_size=7680 atmega8o.upload.speed=115200 atmega8o.bootloader.low_fuses=0xbf atmega8o.bootloader.high_fuses=0xdc atmega8o.bootloader.path=optiboot50 atmega8o.bootloader.file=optiboot_atmega8.hex atmega8o.bootloader.unlock_bits=0x3F atmega8o.bootloader.lock_bits=0x0F atmega8o.build.mcu=atmega8 atmega8o.build.f_cpu=16000000L atmega8o.build.core=arduino:arduino atmega8o.build.variant=arduino:standard ############################################################## a8_8MHz.name=ATmega8 (optiboot 8 MHz int) a8_8MHz.upload.protocol=arduino a8_8MHz.upload.maximum_size=7680 a8_8MHz.upload.speed=115200 a8_8MHz.bootloader.low_fuses=0xa4 a8_8MHz.bootloader.high_fuses=0xdc a8_8MHz.bootloader.path=optiboot a8_8MHz.bootloader.file=a8_8MHz_a4_dc.hex a8_8MHz.build.mcu=atmega8 a8_8MHz.build.f_cpu=8000000L a8_8MHz.build.core=arduino a8_8MHz.build.variant=standard ############################################################## a8_1MHz.name=ATmega8 (optiboot 1 MHz int) a8_1MHz.upload.protocol=arduino a8_1MHz.upload.maximum_size=7680 a8_1MHz.upload.speed=9600 a8_1MHz.bootloader.low_fuses=0xa1 a8_1MHz.bootloader.high_fuses=0xdc a8_1MHz.bootloader.path=optiboot a8_1MHz.bootloader.file=a8_1MHz_a1_dc.hex a8_1MHz.build.mcu=atmega8 a8_1MHz.build.f_cpu=1000000L a8_1MHz.build.core=arduino a8_1MHz.build.variant=standard ############################################################## a8noboot_8MHz.name=ATmega8 (no boot 8 MHz int) a8noboot_8MHz.upload.maximum_size=8192 a8noboot_8MHz.bootloader.low_fuses=0xa4 a8noboot_8MHz.bootloader.high_fuses=0xdc a8noboot_8MHz.build.mcu=atmega8 a8noboot_8MHz.build.f_cpu=8000000L a8noboot_8MHz.build.core=arduino a8noboot_8MHz.build.variant=standard
Таким образом, если мы перейдем в меню Сервис → Плата, то увидим устройства:
- ATmega8 (optiboot 16MHz ext)
- ATmega8 (optiboot 8 MHz int)
- ATmega8 (optiboot 1 MHz int)
- ATmega8 (no boot 8 MHz int)
Платы Arduino
Ардуино продаётся во множестве вариантов; главное, что объединяет платы, – это концепция готового изделия. Вам не нужно травить плату и паять все её компоненты, вы получаете готовое к работе изделие. Можно собирать любые устройства, не используя паяльник. Все соединения в базовом варианте выполняются с помощью макетной платы и перемычек.
Сердце платы – микроконтроллер семейства AVR. Изначально был применён микроконтроллер atmega8, но его возможности не безграничны, и плата подвергалась модернизации и изменениям. Стандартная плата, которая наиболее распространена у любителей – это плата версии UNO, существует много её вариаций, а её размеры сравнимы с кредитной карточкой.
Плата Arduino Nano – полный аналог большего собрата, но в гораздо меньших размерах, версия arduino atmega168 была самой популярной и недорогой, но её сменила другая модель – arduino atmega328, стоимость которой аналогична, а возможности больше.
Следующей важной деталью является печатная плата. Разведена и запаяна на заводе, позволяет избежать проблем с её созданием, травлением и пайкой. Качество платы зависит от производителя конкретного экземпляра, но, в основном, оно на высоком уровне. Питание платы осуществляется с помощью пары линейных стабилизаторов, типа L7805, или других LDO стабилизаторов напряжения.
Клеммная колодка – отличный способ сделать надёжное разъёмное соединение и быстро выполнить изменения в схеме прототипов ваших устройств. Для тех, кому не хватает стандартных разъёмов, есть более крупные и мощные платы, например, на atmega2560, у которой доступно полсотни портов для работы с периферией.
На фото изображена плата Arduino Mega 2560. На её основе можно собрать довольно сложного робота, систему умного дома или 3d-принтер на ардуино.
Не стоит думать, что младшие версии слабы, например, микроконтроллер atmega328, на котором построены модели Uno, nano, mini и другие, имеет вдвое больше памяти по сравнению с 168 моделью – 2 кб ОЗУ и 32 кб Flash памяти. Это позволяет записывать более сложные программы в память микроконтроллера.
Проекты на основе Arduino ATmega
Микроконтроллер в современной электронике – основа для любого устройства, начиная от простой мигалки на светодиодах, до универсальных измерительных приборов и даже средств автоматизации производства.
Пример 1
Можно сделать тестер с 11 функциями на микроконтроллере atmega32.
Устройство имеет крайне простую схему, в которой использовано немногим более дюжины деталей. Однако вы получаете вполне функциональный прибор, которым можно производить измерения. Вот краткий перечень его возможностей:
- Прозвонка цепи с возможностью измерять падение напряжения на переходе диода.
- Омметр.
- Измеритель ёмкости.
- Измерение активного сопротивления конденсатора или ESR.
- Определение индуктивности.
- Возможность счёта импульсов.
- Измерение частоты – пригодится в диагностике, например, для проверки ШИМ источника питания.
- Генератор импульсов – тоже полезен в ремонте.
- Логический анализатор позволит просмотреть содержимое пачек цифровых сигналов.
- Тестер стабилитронов.
Пример 2
Для радиолюбителей будет полезно иметь качественное оборудование, но станция стоит дорого. Есть возможность собрать паяльную станцию своими руками, для этого нужна плата Arduino, имеющая в своем составе микроконтроллер atmega328.
Пример 3
Для продвинутых радиолюбителей есть возможность собрать более чем бюджетный осциллограф. Мы опубликуем данный урок в дальнейших статьях.
Для этого вам понадобится:
- Arduino uno или atmega
- Tft дисплей 5 дюйма.
- Небольшой набор обвязки.
Или его упрощенный аналог на плате Nano и дисплее от nokia 5110.
Такой осциллографический пробник станет полезным для автоэлектрика и мастера по ремонту радиоэлектронной аппаратуры.
Пример 4
Бывает, что управляемые модули удалены друг от друга или возможностей одной ардуино не хватает – тогда можно собрать целую микроконтроллерную систему. Чтобы обеспечить связь двух микроконтроллеров стоит использовать стандарт RS 485.
На фото приведен пример реализации такой системы и ввода данных с клавиатуры.
Цветомузыка на микроконтроллере Arduino ATmega8
Для школьной дискотеки можно собрать ЦМУ на 6 каналов.
Транзисторы VT1-VT6 нужно подобрать с учетом мощности ваших светодиодов. Это силовые компоненты – они нужны, потому что мощности микроконтроллера не хватит, чтобы запустить мощные лампы или светодиоды.
Если вы хотите коммутировать сетевое напряжение и собрать цветомузыку на лампах накаливания, вместо них нужно установить симисторы и драйвер. Дополнить каждый канал ЦМУ вот такой конструкцией:
Ардуино своими руками
Atmega2560 – хоть и мощный и продвинутый контроллер, но проще и быстрее собрать первую плату на atmega8 или 168.
Левая часть схемы – это модуль связи по USB, иначе говоря, USB-UART/TTL конвертер. Его, вместе с обвязкой, можно выбросить из схемы, для экономии места, собрать на отдельной плате и подключать только для прошивки. Он нужен для преобразования уровней сигнала.
DA1 – это стабилизатор напряжения L7805. В качестве основы можно использовать целый ряд avr микросхем, которые вы найдете, например, серии, arduino atmega32 или собрать arduino atmega16. Для этого нужно использовать разные загрузчики, но для каждого из МК нужно найти свой.
Можно поступить еще проще, и собрать всё на беспаечной макетной плате, как это показано здесь, на примере 328-й атмеги.
Микроконтроллеры – это просто и весело – вы можете сделать кучу приятный и интересных вещей или даже стать выдающимся изобретателем, не имея при этом ни образования, ни знаний о низкоуровневых языках. Ардуино – шаг в электронику с нуля, который позволяет перейти к серьезным проектам и изучению сложных языков, типа C avr и других.
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 выглядит следующим образом:
- Перечислите функции, которые должны выполняться контроллером.
- Написать функции на языке программирования в программах 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])
- Программирование
- ATMEGA328P также может быть выполнено в ARDUINO IDE.
- После написания программы скомпилируйте ее для устранения ошибок.
- Заставить IDE сгенерировать HEX-файл для написанной программы после компиляции.
- Этот HEX-файл содержит машинный код, который должен быть записан во флэш-память контроллера.
- Выберите устройство программирования (обычно программатор SPI, созданный для контроллеров AVR), которое устанавливает связь между ПК и ATMEGA328P. Вы также можете запрограммировать ATMEGA328P, используя плату ARDUINO UNO.
- Запустите программное обеспечение программатора и выберите соответствующий шестнадцатеричный файл.
- Записать HEX-файл написанной программы во флэш-память ATMEGA328P с помощью этой программы.
- Отключите программатор, подключите соответствующие периферийные устройства для контроллера и запустите систему.
Как использовать ATMega328P с помощью Arduino
Поскольку ATmega328P используется в платах Arduino Uno и Arduino nano, плату arduino можно напрямую заменить микросхемой ATmega328. Для этого вам сначала необходимо установить в чип Arduino Arloino (или вы также можете купить чип с загрузчиком – ATMega328P-PU). Эту микросхему с загрузчиком можно разместить на плате Arduino Uno и записать в нее программу. После того, как программа Arduino записана в микросхему, ее можно удалить и использовать вместо платы Arduino вместе с кварцевым генератором и другими компонентами, необходимыми для проекта.Ниже показано расположение контактов между Arduino Uno и чипом ATmega328P .
Приложения
Существуют сотни приложений для ATMEGA328P:
- Используется в платах ARDUINO UNO, ARDUINO NANO и ARDUINO MICRO.
- Системы промышленного управления.
- SMPS и системы регулирования мощности.
- Цифровая обработка данных.
- Измерение аналоговых сигналов и манипуляции.
- Встраиваемые системы, такие как кофемашина, торговый автомат.
- Системы управления двигателем.
- Витрины.
- Система периферийного интерфейса.
2D модель
Все размеры указаны в миллиметрах.
,Страница не найдена | 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
, -:
Сейчас 26.20.07 16:55:47, Ваш IP: 176.9.44.166; arduino.zl3p.com/infa/pins
,