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

Arduino Mega 2560: распиновка, питание и схема платы

Arduino Mega 2560 (A000067) — плата на ATmega2560 с частотой 16 МГц: 54 цифровых вывода, из них 15 с ШИМ, 16 аналоговых входов, USB через ATmega16U2. Ниже — где какой контакт по CAD-файлу Arduino, что за ним стоит в микроконтроллере и как устроено питание.

Обновлено по CAD-файлам и документации Arduino (A000067)

Микроконтроллер
ATmega2560
Тактовая частота
16 МГц
Цифровые выводы
54, из них 15 с ШИМ
Аналоговые входы
16
Питание через VIN
7–12 В
Ток вывода
20 мА
USB
USB-B, ATmega16U2
Размер
101,5 × 53,3 мм, 37 г

Расположение контактов

Вид сверху, размеры и места контактов — по CAD-файлу платы. Выберите группу — её контакты подсветятся; наведите курсор на контакт, чтобы увидеть вывод микроконтроллера и его функции.

USB-BПитание 7–12 ВATmega256016U2RESETD0 — PE0, вывод 2 — PCINT8, Serial RXD0D1 — PE1, вывод 3 — Serial TXD1D2 — PE4, вывод 6 — ШИМ OC3B (490 Гц), INT4, attachInterrupt(0)D2D3 — PE5, вывод 7 — ШИМ OC3C (490 Гц), INT5, attachInterrupt(1)D3D4 — PG5, вывод 1 — ШИМ OC0B (977 Гц)D4D5 — PE3, вывод 5 — ШИМ OC3A (490 Гц)D5D6 — PH3, вывод 15 — ШИМ OC4A (490 Гц)D6D7 — PH4, вывод 16 — ШИМ OC4B (490 Гц)D7SCL — PD0, вывод 43 — INT0, attachInterrupt(2), I2C SCLSCLSDA — PD1, вывод 44 — INT1, attachInterrupt(3), I2C SDASDAAREF — AREF, вывод 98AREFGNDGNDD13 — PB7, вывод 26 — ШИМ OC0A (977 Гц), PCINT7, LED_BUILTIND13D12 — PB6, вывод 25 — ШИМ OC1B (490 Гц), PCINT6D12D11 — PB5, вывод 24 — ШИМ OC1A (490 Гц), PCINT5D11D10 — PB4, вывод 23 — ШИМ OC2A (490 Гц), PCINT4D10D9 — PH6, вывод 18 — ШИМ OC2B (490 Гц)D9D8 — PH5, вывод 17 — ШИМ OC4C (490 Гц)D8D21 — PD0, вывод 43 — INT0, attachInterrupt(2), I2C SCLD21D20 — PD1, вывод 44 — INT1, attachInterrupt(3), I2C SDAD20D19 — PD2, вывод 45 — INT2, attachInterrupt(4), Serial1 RXD19D18 — PD3, вывод 46 — INT3, attachInterrupt(5), Serial1 TXD18D17 — PH0, вывод 12 — Serial2 RXD17D16 — PH1, вывод 13 — Serial2 TXD16D15 — PJ0, вывод 63 — PCINT9, Serial3 RXD15D14 — PJ1, вывод 64 — PCINT10, Serial3 TXD145V5V5V5VD22 — PA0, вывод 78D22D23 — PA1, вывод 77D23D24 — PA2, вывод 76D24D25 — PA3, вывод 75D25D26 — PA4, вывод 74D26D27 — PA5, вывод 73D27D28 — PA6, вывод 72D28D29 — PA7, вывод 71D29D30 — PC7, вывод 60D30D31 — PC6, вывод 59D31D32 — PC5, вывод 58D32D33 — PC4, вывод 57D33D34 — PC3, вывод 56D34D35 — PC2, вывод 55D35D36 — PC1, вывод 54D36D37 — PC0, вывод 53D37D38 — PD7, вывод 50D38D39 — PG2, вывод 70D39D40 — PG1, вывод 52D40D41 — PG0, вывод 51D41D42 — PL7, вывод 42D42D43 — PL6, вывод 41D43D44 — PL5, вывод 40 — ШИМ OC5C (490 Гц)D44D45 — PL4, вывод 39 — ШИМ OC5B (490 Гц)D45D46 — PL3, вывод 38 — ШИМ OC5A (490 Гц)D46D47 — PL2, вывод 37D47D48 — PL1, вывод 36D48D49 — PL0, вывод 35D49D50 — PB3, вывод 22 — PCINT3, SPI MISOD50D51 — PB2, вывод 21 — PCINT2, SPI MOSID51D52 — PB1, вывод 20 — PCINT1, SPI SCKD52D53 — PB0, вывод 19 — PCINT0, SPI SSD53GNDGNDGNDGNDNCNCIOREFIOREFRESET — RESET, вывод 30RESET3.3V3.3V5V5VGNDGNDGNDGNDVINVINA0 — PF0, вывод 97 — АЦП, канал 0A0A1 — PF1, вывод 96 — АЦП, канал 1A1A2 — PF2, вывод 95 — АЦП, канал 2A2A3 — PF3, вывод 94 — АЦП, канал 3A3A4 — PF4, вывод 93 — АЦП, канал 4A4A5 — PF5, вывод 92 — АЦП, канал 5A5A6 — PF6, вывод 91 — АЦП, канал 6A6A7 — PF7, вывод 90 — АЦП, канал 7A7A8 — PK0, вывод 89 — АЦП, канал 8, PCINT16A8A9 — PK1, вывод 88 — АЦП, канал 9, PCINT17A9A10 — PK2, вывод 87 — АЦП, канал 10, PCINT18A10A11 — PK3, вывод 86 — АЦП, канал 11, PCINT19A11A12 — PK4, вывод 85 — АЦП, канал 12, PCINT20A12A13 — PK5, вывод 84 — АЦП, канал 13, PCINT21A13A14 — PK6, вывод 83 — АЦП, канал 14, PCINT22A14A15 — PK7, вывод 82 — АЦП, канал 15, PCINT23A15MISO — PB3, вывод 22 — PCINT3, SPI MISOMISO5V5VSCK — PB1, вывод 20 — PCINT1, SPI SCKSCKMOSI — PB2, вывод 21 — PCINT2, SPI MOSIMOSIRESET — RESET, вывод 30RESETGNDGNDMISO5VSCKMOSIRESETGND
Arduino Mega 2560: плата 101,6 × 53,34 мм по контуру CAD-файла.
  • ввод-вывод
  • питание и земля
  • сброс и выбор загрузки
  • не подключён
  • выбранная периферия

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

У каждого контакта — номер Arduino, вывод ATmega2560 (порт и номер вывода в корпусе TQFP100) и что с ним делает ядро Arduino. Соответствие проверено по трём источникам: цепям CAD-файла, распиновке корпуса в атласе и таблицам ядра Arduino AVR; подписи на плате совпадают с номерами. Код на регистрах для каждого вывода — в инструменте «Пины Arduino».

Цифровые выводы 0–7

КонтактВывод МКЧто умеет
D0PE0, вывод 2PCINT8, Serial RX
D1PE1, вывод 3Serial TX
D2PE4, вывод 6ШИМ OC3B (490 Гц), INT4, attachInterrupt(0)
D3PE5, вывод 7ШИМ OC3C (490 Гц), INT5, attachInterrupt(1)
D4PG5, вывод 1ШИМ OC0B (977 Гц)
D5PE3, вывод 5ШИМ OC3A (490 Гц)
D6PH3, вывод 15ШИМ OC4A (490 Гц)
D7PH4, вывод 16ШИМ OC4B (490 Гц)

Цифровые выводы 8–13, AREF, I²C

КонтактВывод МКЧто умеет
SCL (D21)PD0, вывод 43INT0, attachInterrupt(2), I2C SCL
SDA (D20)PD1, вывод 44INT1, attachInterrupt(3), I2C SDA
AREFAREF, вывод 98внешнее опорное напряжение АЦП
GNDпитаниеобщий провод
D13PB7, вывод 26ШИМ OC0A (977 Гц), PCINT7, LED_BUILTIN
D12PB6, вывод 25ШИМ OC1B (490 Гц), PCINT6
D11PB5, вывод 24ШИМ OC1A (490 Гц), PCINT5
D10PB4, вывод 23ШИМ OC2A (490 Гц), PCINT4
D9PH6, вывод 18ШИМ OC2B (490 Гц)
D8PH5, вывод 17ШИМ OC4C (490 Гц)

Цифровые выводы 14–21: UART и I²C

КонтактВывод МКЧто умеет
D21PD0, вывод 43INT0, attachInterrupt(2), I2C SCL
D20PD1, вывод 44INT1, attachInterrupt(3), I2C SDA
D19PD2, вывод 45INT2, attachInterrupt(4), Serial1 RX
D18PD3, вывод 46INT3, attachInterrupt(5), Serial1 TX
D17PH0, вывод 12Serial2 RX
D16PH1, вывод 13Serial2 TX
D15PJ0, вывод 63PCINT9, Serial3 RX
D14PJ1, вывод 64PCINT10, Serial3 TX

Цифровые выводы 22–53

КонтактВывод МКЧто умеет
5Vпитаниецепь 5 В платы: выход стабилизатора и питание микроконтроллера
5Vпитаниецепь 5 В платы: выход стабилизатора и питание микроконтроллера
D22PA0, вывод 78
D23PA1, вывод 77
D24PA2, вывод 76
D25PA3, вывод 75
D26PA4, вывод 74
D27PA5, вывод 73
D28PA6, вывод 72
D29PA7, вывод 71
D30PC7, вывод 60
D31PC6, вывод 59
D32PC5, вывод 58
D33PC4, вывод 57
D34PC3, вывод 56
D35PC2, вывод 55
D36PC1, вывод 54
D37PC0, вывод 53
D38PD7, вывод 50
D39PG2, вывод 70
D40PG1, вывод 52
D41PG0, вывод 51
D42PL7, вывод 42
D43PL6, вывод 41
D44PL5, вывод 40ШИМ OC5C (490 Гц)
D45PL4, вывод 39ШИМ OC5B (490 Гц)
D46PL3, вывод 38ШИМ OC5A (490 Гц)
D47PL2, вывод 37
D48PL1, вывод 36
D49PL0, вывод 35
D50PB3, вывод 22PCINT3, SPI MISO
D51PB2, вывод 21PCINT2, SPI MOSI
D52PB1, вывод 20PCINT1, SPI SCK
D53PB0, вывод 19PCINT0, SPI SS
GNDпитаниеобщий провод
GNDпитаниеобщий провод

Питание

КонтактВывод МКЧто умеет
NC—не подключён
IOREFпитаниеуровень логики платы (5 В) для шилдов
RESETRESET, вывод 30сброс микроконтроллера низким уровнем
3.3Vпитание3,3 В для маломощных модулей
5Vпитаниецепь 5 В платы: выход стабилизатора и питание микроконтроллера
GNDпитаниеобщий провод
GNDпитаниеобщий провод
VINпитаниевнешнее питание: то же, что на гнезде после диода защиты

Аналоговые входы A0–A7

КонтактВывод МКЧто умеет
A0PF0, вывод 97АЦП, канал 0
A1PF1, вывод 96АЦП, канал 1
A2PF2, вывод 95АЦП, канал 2
A3PF3, вывод 94АЦП, канал 3
A4PF4, вывод 93АЦП, канал 4
A5PF5, вывод 92АЦП, канал 5
A6PF6, вывод 91АЦП, канал 6
A7PF7, вывод 90АЦП, канал 7

Аналоговые входы A8–A15

КонтактВывод МКЧто умеет
A8PK0, вывод 89АЦП, канал 8, PCINT16
A9PK1, вывод 88АЦП, канал 9, PCINT17
A10PK2, вывод 87АЦП, канал 10, PCINT18
A11PK3, вывод 86АЦП, канал 11, PCINT19
A12PK4, вывод 85АЦП, канал 12, PCINT20
A13PK5, вывод 84АЦП, канал 13, PCINT21
A14PK6, вывод 83АЦП, канал 14, PCINT22
A15PK7, вывод 82АЦП, канал 15, PCINT23

ICSP ATmega2560

КонтактВывод МКЧто умеет
MISO (D50)PB3, вывод 22PCINT3, SPI MISO
5Vпитаниецепь 5 В платы: выход стабилизатора и питание микроконтроллера
SCK (D52)PB1, вывод 20PCINT1, SPI SCK
MOSI (D51)PB2, вывод 21PCINT2, SPI MOSI
RESETRESET, вывод 30сброс микроконтроллера низким уровнем
GNDпитаниеобщий провод

Второй разъём ICSP рядом с USB подключён не к ATmega2560, а к преобразователю USB ATmega16U2: через него перепрошивают сам преобразователь.

Питание

От гнезда питания напряжение идёт через диод D1 (M7), который защищает плату от обратной полярности, на цепь VIN — к ней же подключён контакт VIN разъёма. Из VIN стабилизатор IC1 (LD1117S50CTR) делает 5 В для микроконтроллера и контакта 5V. Arduino рекомендует подавать на VIN 7–12 В: ниже рекомендуемого стабилизатору не хватает запаса, выше — он сильнее греется.

От USB 5 В идут через самовосстанавливающийся предохранитель F1 (MF-MSMF050-2, 500 мА) и P-канальный транзистор T1 (PMV48XP). Транзистором управляет компаратор IC7 (LMV358IDGKR): он сравнивает половину напряжения VIN (делитель из двух резисторов по 10 кОм) с 3,3 В. Когда на VIN больше примерно 6,6 В, транзистор закрывается и плата питается от VIN, иначе — от USB; диод для этого не нужен, и напряжение USB почти не падает.

Контакт 3.3V питает отдельный стабилизатор IC6 (LP2985-33DBVR), подключённый к цепи 5 В.

Загрузка скетчей и сброс

Скетч загружается по USB через загрузчик в конце флеш-памяти. Настройки ядра Arduino (файл boards.txt):

Плата в Arduino IDEЗагрузчикСкоростьМеста для скетчаФьюзы L/H/E
ATmega2560 (Mega 2560)stk500boot_v2_mega2560.hex115200 бит/с253 952 байт0xFF/0xD8/0xFD

Что значит каждый бит фьюзов — в калькуляторе фьюзов AVR; прошить загрузчик заново можно программатором через разъём ICSP.

Перед загрузкой скетча компьютер сбрасывает микроконтроллер сам: вывод 13 ((CTS/HWB/AIN6/TO/INT7)PD7) преобразователя ATmega16U2 соединён с RESET через конденсатор C7 100 нФ. Когда программа на компьютере открывает порт, на нём появляется перепад, конденсатор передаёт короткий импульс на RESET, и после сброса запускается загрузчик.

Светодиод L подключён к D13 не напрямую, а через вторую половину микросхемы IC7 (LMV358IDGKR), включённую повторителем: светодиод не нагружает вывод, и D13 можно использовать как обычный вход.

Микроконтроллер тактируется от керамического резонатора Y1 (CSTCE16M0V53-R0) на выводах XTAL1 и XTAL2.

Частые вопросы

Какие выводы Arduino Mega 2560 поддерживают ШИМ?

analogWrite() работает на выводах D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D44, D45 и D46 — у них есть выходы сравнения таймеров. Частота ШИМ после init() ядра Arduino — около 490 Гц, у выводов таймера 0 — около 980 Гц; точные значения и регистры — в таблице контактов и в инструменте «Пины Arduino».

Какой ток можно брать с вывода Arduino Mega 2560?

Arduino указывает 20 мА на вывод. Абсолютный предел ATmega2560 по даташиту (2549Q, раздел 31.1) — 40 мА на вывод и 200 мА через выводы VCC и GND; работать на пределе нельзя, а светодиоды и реле подключают через резистор или транзистор.

Где у Arduino Mega 2560 шина I²C?

SCL — D21, SDA — D20. Рядом с AREF эти же линии выведены ещё раз и подписаны SDA и SCL — это не второй интерфейс.

Можно ли подключить USB и внешнее питание одновременно?

Да. Компаратор на плате сам отключает USB от цепи 5 В, когда на VIN больше примерно 6,6 В, и снова подключает его, когда внешнее питание пропадает. Подавать 5 В на контакт 5V одновременно с USB или VIN не стоит: этот контакт идёт мимо стабилизатора и коммутатора.

Источники

Расположение контактов, цепи, детали питания и контур платы — из CAD-файлов Eagle, характеристики — из tech-specs.yml и даташита платы в документации Arduino (Arduino Mega 2560 Rev3, A000067), лицензия CC BY-SA 4.0. Рисунок и тексты — GAW, по фактам из этих файлов.

Номера выводов Arduino, ШИМ, прерывания и настройки загрузчика — ядро Arduino AVR Boards (коммит 11b9130): boards.txt и variants/*/pins_arduino.h. Выводы корпуса TQFP100 — из атласа ATmega2560, предельные токи — из даташита ATmega640/V-1280/V-1281/V-2560/V-2561/V (2549Q). Лицензии и источники данных.

Нашли ошибку на странице платы?