Ардуино Мега 2560. Описание, характеристики, распиновка, схема

Ардуино Мега 2560. Описание, характеристики, распиновка, схема

Arduino Mega 2560 - это плата микроконтроллера на основе ATmega2560.
Она имеет 54 цифровых входа/выхода (из которых 15 могут быть использованы в качестве выходов ШИМ), 16 аналоговых входов, 4 UART (аппаратных последовательных портов), 16MHz кварц, USB-подключение, разъем для питания, ICSP и кнопку сброса.
Все необходимое для поддержки микроконтроллера уже встроено; просто подключите его к компьютеру с помощью USB-кабеля или запитайте от адаптера постоянного тока или батареи, чтобы начать работу.
Плата Mega 2560 совместима с большинством шилдов, предназначенных для Arduino Uno, а также бывших плат Duemilanove или Diecimila.

Mega 2560 представляет собой обновление Arduino Mega, которую он заменил и улучшил.

Технические характеристики

Параметр Значение
Микроконтроллер ATmega2560
Рабочее напряжение 5V
Рекомендованное входное напряжение 7-12V
Лимит входного напряжения 6-20V
Цифровые входы/выходы 54 (из которых 15 предоставляют выходы ШИМ)
Аналоговые входы 16
Ток по цифровому входу/выходу 20 mA
Ток по 3,3-вольтовому пину 50 mA
Память Flash 256 KB (из которых 8 KB используются загрузчиком)
SRAM 8 KB
EEPROM 4 KB
Тактовая частота 16 MHz
Встроенный светодиод 13
Длина 101.52 мм
Ширина 53.3 мм
Вес 37 г

 

 

Часто Задаваемые Вопросы (FAQs)

Программирование
Плата Mega 2560 может быть запрограммирована с использованием программного обеспечения Arduino IDE. Подробности см. в справочной документации или в моих обучающих статьях в блоге или в видео на канале..

ATmega2560 на плате Mega 2560 поставляется с предустановленным загрузчиком, который позволяет загружать новый код без использования внешнего программатора. Он взаимодействует с использованием оригинального протокола STK500 (ссылка, файлы заголовков на языке C).

Также можно обойти загрузчик и программировать микроконтроллер через ICSP (In-Circuit Serial Programming), используя Arduino ISP или аналогичное устройство.

Исходный код прошивки ATmega16U2 (или 8U2 на платах версий rev1 и rev2) доступен в репозитории Arduino. ATmega16U2/8U2 загружен загрузчиком DFU, который можно активировать следующим образом(для опытных пользователей):

На платах версии Rev1: замкнуть контакты на задней стороне платы (рядом с картой Италии), а затем сбросить 8U2.

На платах версии Rev2 или более поздних: есть резистор, который тянет линию HWB 8U2/16U2 к земле, что упрощает перевод в режим DFU.
Затем можно использовать программное обеспечение Atmel FLIP (Windows) или программатор DFU (Mac OS X и Linux) для загрузки новой прошивки. Или можно использовать ISP с внешним программатором (переписывая загрузчик DFU). 

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

Питание
Питание Mega 2560 может осуществляться через USB-подключение или с использованием внешнего источника питания. Источник питания выбирается автоматически.
Внешнее (не по USB) питание может поступать как от адаптера постоянного тока (стабилизированного блока питания), так и от батареи. Адаптер можно подключить, вставив штекер с положительным центром диаметром 2,1 мм в разъем питания платы. Провода от батареи нужно подключать в контакты GND и Vin разъема POWER.

Плата может работать при внешнем напряжении от 6 до 20 вольт. Однако, если подается менее 7 вольт, вывод 5 вольт может выдавать напряжение менее пяти вольт, и плата может работать нестабильно. При использовании более 12 вольт регулятор напряжения может перегреться и повредить плату.
Рекомендуемый диапазон - от 7 до 12 вольт.

Каждый из 54 цифровых пинов на Arduino Mega может использоваться как вход или выход с использованием функций pinMode(), digitalWrite() и digitalRead(). Они работают на уровне 5 вольт. Каждый пин может выдавать или принимать 20 мА при рекомендуемых условиях эксплуатации и имеет внутренний резистор pull-up (по умолчанию отключен) от 20 до 50 кОм.
Максимальное значение 40 мА - это значение, которое не должно быть превышено, чтобы избежать повреждения микроконтроллера.

Кроме того, некоторые пины имеют специализированные функции:
Serial:
0 (RX) и 1 (TX);
Serial 1: 19 (RX) и 18 (TX);
Serial 2: 17 (RX) и 16 (TX);
Serial 3: 15 (RX) и 14 (TX).
Используются для приема (RX) и передачи (TX) TTL серийных данных.
Пины 0 и 1 также подключены к соответствующим пинам чипа ATmega16U2 USB-to-TTL Serial.

Внешние прерывания:
2 (прерывание 0),
3 (прерывание 1),
18 (прерывание 5),
19 (прерывание 4),
20 (прерывание 3),
21 (прерывание 2).
Эти пины могут быть настроены для генерации прерывания при низком уровне, фронтальном или заднем фронте или изменении уровня. См. функцию attachInterrupt() для получения подробной информации.

PWM:
2 - 13,
44 - 46.
Обеспечивают 8-битный выход ШИМ с использованием функции analogWrite().

SPI:
50 (MISO),
51 (MOSI),
52 (SCK),
53 (SS).
Эти пины поддерживают SPI-коммуникацию с использованием библиотеки SPI. Пины SPI также выведены на разъем ICSP, который физически совместим с платами Arduino / Genuino Uno и старыми платами Duemilanove и Diecimila Arduino.

LED:
Pin13. Это встроенный светодиод, подключенный к цифровому пину 13.
Когда уровень на пине HIGH, светодиод включен, когда уровень LOW, он выключен.

TWI:
20 (SDA),
21 (SCL).
Поддерживают TWI-коммуникацию с использованием библиотеки Wire.
Обратите внимание, что эти пины не находятся в том же месте, что и пины TWI на старых платах Duemilanove или Diecimila Arduino.

У Mega 2560 есть 16 аналоговых входов, каждый из которых обеспечивает разрешение в 10 бит (т.е. 1024 различных значения). По умолчанию они измеряются от 0 до 5 вольт, хотя возможна изменение верхнего предела их диапазона с использованием пина AREF и функции analogReference().

На плате также есть несколько других пинов:
AREF.
Опорное напряжение для аналоговых входов. Используется с функцией analogReference().
Reset.
Установите этот пин в состояние LOW для сброса микроконтроллера. Обычно используется для добавления кнопки сброса к щитам, блокирующим кнопку на плате.

Коммуникация
Плата Mega 2560 обладает рядом средств для взаимодействия с компьютером, другой платой или другими микроконтроллерами.
ATmega2560 предоставляет четыре аппаратных UART для TTL (5V) последовательной коммуникации.
ATmega16U2 (ATmega 8U2 на платах ревизии 1 и ревизии 2) на плате направляет один из них через USB и предоставляет виртуальный последовательный порт для программного обеспечения на компьютере (на компьютерах с Windows потребуется файл .inf, но компьютеры с macOS и Linux автоматически распознают плату как COM-порт).
В Arduino IDE установлен последовательный монитор порта, который позволяет отправлять и принимать простые текстовые данные на плате.
Светодиоды RX и TX на плате мигают при передаче данных через микросхему ATmega8U2/ATmega16U2 и соединение USB с компьютером (но не для последовательной коммуникации на пинах 0 и 1).

Библиотека SoftwareSerial позволяет проводить последовательную коммуникацию на любых цифровых пинах Mega 2560.

Mega 2560 также поддерживает коммуникацию по шине TWI и SPI.
В Arduino IDE включена библиотека Wire для упрощения использования шины TWI. Для коммуникации по SPI используйте библиотеку SPI.

Контакты питания:

Vin
Входное напряжение на плату при использовании внешнего источника питания (в отличие от 5 вольт от USB-подключения или другого стабилизированного источника питания). Вы можете подавать напряжение через этот контакт или, если подаете напряжение через разъем питания, получать доступ к нему через этот контакт.

+5V
Этот контакт выдает стабилизированные 5 вольт от регулятора на плате. Плату можно питать как от разъема питания переменного тока (7 - 12 вольт), разъема USB (5 вольт), так и от контакта VIN платы (7-12 вольт). Подача напряжения через контакты 5V или 3.3V обходит регулятор и может повредить вашу плату. 

+3,3V
Источник напряжения 3,3 вольта, генерируемый встроенным регулятором. Максимальный ток потребления - 50 мА.

GND. Контакты Земля.

IOREF
Этот контакт на плате предоставляет опорное напряжение, с которым работает микроконтроллер. Настроенный корректно может считывать напряжение контакта IOREF и выбирать соответствующий источник питания или включать напряжения на выходах для работы с 5V или 3.3V.

Память
ATmega2560 оснащен 256 КБ флэш-памяти для хранения кода (из которых 8 КБ используются для загрузчика), 8 КБ статической оперативной памяти SRAM и 4 КБ EEPROM (которую можно читать и записывать с использованием библиотеки EEPROM).

Входы и выходы
Смотрите соответствие между пинами Arduino и портами Atmega2560

Физические характеристики и совместимость с шилдами
Максимальная длина и ширина печатной платы Mega 2560 составляют 4 и 2,1 дюйма соответственно, при этом разъем USB и разъем питания выступают за пределы первого измерения.
Три отверстия для винтов позволяют закрепить плату на поверхности или в корпусе. Обратите внимание, что расстояние между цифровыми пинами 7 и 8 составляет 160 мил (0,16 дюйма), не являясь кратным 100-миллиметровому шагу других пинов.

Mega 2560 разработана для совместимости с большинством шилдов, предназначенных для Uno, а также для более старых плат Arduino Diecimila или Duemilanove.
Цифровые пины 0-13 (и смежные пины AREF и GND), аналоговые входы 0-5, разъем питания и разъем ICSP находятся в эквивалентных местах.
Кроме того, основной UART (серийный порт) расположен на тех же пинах (0 и 1), что и внешние прерывания 0 и 1 (соответственно пины 2 и 3).
SPI доступен через разъем ICSP как на плате Mega 2560, так и на платах Duemilanove / Diecimila.
Обратите внимание, что I2C находится не на тех же пинах на плате Mega 2560 (20 и 21), что на платах Duemilanove / Diecimila (аналоговые входы 4 и 5).

Автоматический (программный) сброс
Вместо необходимости физического нажатия кнопки сброса перед загрузкой, Mega 2560 спроектирована так, чтобы ее можно было сбросить программно, выполняемым на подключенном компьютере.
Одна из линий аппаратного управления потоком данных (DTR) ATmega8U2 подключена к линии сброса ATmega2560 через конденсатор емкостью 100 нанофарад. Когда эта линия активирована (переведена в низкое состояние), линия сброса опускается достаточно долго для сброса микросхемы. Arduino IDE использует эту функцию, чтобы позволить вам загружать код, просто нажимая кнопку загрузки в среде Arduino. Это означает, что время ожидания загрузчика может быть короче, так как понижение DTR может быть хорошо согласовано с началом загрузки.
Эта настройка имеет другие последствия. Когда плата Mega 2560 подключена к компьютеру под управлением Mac OS X или Linux, она сбрасывается каждый раз, когда к ней подключается программное обеспечение (через USB). В течение следующей полусекунды или около того загрузчик выполняется на ATMega2560. Хотя он настроен игнорировать искаженные данные (т. е. все, кроме загрузки нового кода), он перехватит первые несколько байт данных, отправленных на плату после открытия соединения. Если скетч, выполняемый на плате, получает конфигурацию или другие данные при первом запуске, убедитесь, что программное обеспечение, с которым оно взаимодействует, подождет секунду после открытия соединения и передачи этих данных.

На плате Mega 2560 есть дорожка, которую можно разорвать, чтобы отключить автоматический сброс. Подпайкой с обеих сторон дорожки можно замкнуть при помощи пайки, чтобы включить её обратно. Она помечена как "RESET-EN".
Вы также можете отключить автоматический сброс, подключив резистор сопротивлением 110 Ом от +5V к линии сброса.

Исправления
Плата Mega 2560 не использует микросхему драйвера FTDI USB-to-serial, использованную в предыдущих конструкциях. Вместо этого в Ардуино присутствует ATmega16U2 (ATmega8U2 в ревизии 1 и ревизии 2 плат Arduino), запрограммированный в качестве USB-to-serial конвертера.
Ревизия 2 платы Mega 2560 имеет резистор, приводящий линию HWB 8U2 к земле, что упрощает вход в режим DFU.
Ревизия 3 платы Arduino и текущая Genuino Mega 2560 имеют следующие улучшенные характеристики:
1.0 расположение выводов: выводы SDA и SCL - близко к выводу AREF - и два других новых вывода, расположенных близко к выводу RESET: IOREF, позволяющие шилдам адаптироваться к напряжению, предоставляемому платой.
В будущем шилды будут совместимы и с платами, использующими AVR, которые работают с 5V, и с платами, использующими ATSAM3X8E, которые работают с 3.3V.
Второй - не подключенный вывод, предназначенный для будущих целей.
Более надежная схема сброса.
ATmega 16U2 заменяет 8U2.

Дополнительные материалы по теме.
arduino ide библиотеки
arduino 1.8.13 windows. Установка arduino ide
Arduino NANO shield
Аналоговые порты Arduino
Arduino Nano ATmega168
Arduino Nano загрузка скетча
Arduino Nano v3 распиновка
Arduino Nano v 3.0 ch340g
Arduino Nano шим
Arduino Nano выходы
Arduino Nano datasheet
Arduino Nano описание
Ардуино Нано. Описание, характеристики, распиновка, схема.