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-файлу платы. Выберите группу — её контакты подсветятся; наведите курсор на контакт, чтобы увидеть вывод микроконтроллера и его функции.
- ввод-вывод
- питание и земля
- сброс и выбор загрузки
- не подключён
- выбранная периферия
Контакты и выводы микроконтроллера
У каждого контакта — номер Arduino, вывод ATmega2560 (порт и номер вывода в корпусе TQFP100) и что с ним делает ядро Arduino. Соответствие проверено по трём источникам: цепям CAD-файла, распиновке корпуса в атласе и таблицам ядра Arduino AVR; подписи на плате совпадают с номерами. Код на регистрах для каждого вывода — в инструменте «Пины Arduino».
Цифровые выводы 0–7
| Контакт | Вывод МК | Что умеет |
|---|---|---|
| D0 | PE0, вывод 2 | PCINT8, Serial RX |
| D1 | PE1, вывод 3 | Serial TX |
| D2 | PE4, вывод 6 | ШИМ OC3B (490 Гц), INT4, attachInterrupt(0) |
| D3 | PE5, вывод 7 | ШИМ OC3C (490 Гц), INT5, attachInterrupt(1) |
| D4 | PG5, вывод 1 | ШИМ OC0B (977 Гц) |
| D5 | PE3, вывод 5 | ШИМ OC3A (490 Гц) |
| D6 | PH3, вывод 15 | ШИМ OC4A (490 Гц) |
| D7 | PH4, вывод 16 | ШИМ OC4B (490 Гц) |
Цифровые выводы 8–13, AREF, I²C
| Контакт | Вывод МК | Что умеет |
|---|---|---|
| SCL (D21) | PD0, вывод 43 | INT0, attachInterrupt(2), I2C SCL |
| SDA (D20) | PD1, вывод 44 | INT1, attachInterrupt(3), I2C SDA |
| AREF | AREF, вывод 98 | внешнее опорное напряжение АЦП |
| GND | питание | общий провод |
| D13 | PB7, вывод 26 | ШИМ OC0A (977 Гц), PCINT7, LED_BUILTIN |
| D12 | PB6, вывод 25 | ШИМ OC1B (490 Гц), PCINT6 |
| D11 | PB5, вывод 24 | ШИМ OC1A (490 Гц), PCINT5 |
| D10 | PB4, вывод 23 | ШИМ OC2A (490 Гц), PCINT4 |
| D9 | PH6, вывод 18 | ШИМ OC2B (490 Гц) |
| D8 | PH5, вывод 17 | ШИМ OC4C (490 Гц) |
Цифровые выводы 14–21: UART и I²C
| Контакт | Вывод МК | Что умеет |
|---|---|---|
| D21 | PD0, вывод 43 | INT0, attachInterrupt(2), I2C SCL |
| D20 | PD1, вывод 44 | INT1, attachInterrupt(3), I2C SDA |
| D19 | PD2, вывод 45 | INT2, attachInterrupt(4), Serial1 RX |
| D18 | PD3, вывод 46 | INT3, attachInterrupt(5), Serial1 TX |
| D17 | PH0, вывод 12 | Serial2 RX |
| D16 | PH1, вывод 13 | Serial2 TX |
| D15 | PJ0, вывод 63 | PCINT9, Serial3 RX |
| D14 | PJ1, вывод 64 | PCINT10, Serial3 TX |
Цифровые выводы 22–53
| Контакт | Вывод МК | Что умеет |
|---|---|---|
| 5V | питание | цепь 5 В платы: выход стабилизатора и питание микроконтроллера |
| 5V | питание | цепь 5 В платы: выход стабилизатора и питание микроконтроллера |
| D22 | PA0, вывод 78 | |
| D23 | PA1, вывод 77 | |
| D24 | PA2, вывод 76 | |
| D25 | PA3, вывод 75 | |
| D26 | PA4, вывод 74 | |
| D27 | PA5, вывод 73 | |
| D28 | PA6, вывод 72 | |
| D29 | PA7, вывод 71 | |
| D30 | PC7, вывод 60 | |
| D31 | PC6, вывод 59 | |
| D32 | PC5, вывод 58 | |
| D33 | PC4, вывод 57 | |
| D34 | PC3, вывод 56 | |
| D35 | PC2, вывод 55 | |
| D36 | PC1, вывод 54 | |
| D37 | PC0, вывод 53 | |
| D38 | PD7, вывод 50 | |
| D39 | PG2, вывод 70 | |
| D40 | PG1, вывод 52 | |
| D41 | PG0, вывод 51 | |
| D42 | PL7, вывод 42 | |
| D43 | PL6, вывод 41 | |
| D44 | PL5, вывод 40 | ШИМ OC5C (490 Гц) |
| D45 | PL4, вывод 39 | ШИМ OC5B (490 Гц) |
| D46 | PL3, вывод 38 | ШИМ OC5A (490 Гц) |
| D47 | PL2, вывод 37 | |
| D48 | PL1, вывод 36 | |
| D49 | PL0, вывод 35 | |
| D50 | PB3, вывод 22 | PCINT3, SPI MISO |
| D51 | PB2, вывод 21 | PCINT2, SPI MOSI |
| D52 | PB1, вывод 20 | PCINT1, SPI SCK |
| D53 | PB0, вывод 19 | PCINT0, SPI SS |
| GND | питание | общий провод |
| GND | питание | общий провод |
Питание
| Контакт | Вывод МК | Что умеет |
|---|---|---|
| NC | — | не подключён |
| IOREF | питание | уровень логики платы (5 В) для шилдов |
| RESET | RESET, вывод 30 | сброс микроконтроллера низким уровнем |
| 3.3V | питание | 3,3 В для маломощных модулей |
| 5V | питание | цепь 5 В платы: выход стабилизатора и питание микроконтроллера |
| GND | питание | общий провод |
| GND | питание | общий провод |
| VIN | питание | внешнее питание: то же, что на гнезде после диода защиты |
Аналоговые входы A0–A7
| Контакт | Вывод МК | Что умеет |
|---|---|---|
| A0 | PF0, вывод 97 | АЦП, канал 0 |
| A1 | PF1, вывод 96 | АЦП, канал 1 |
| A2 | PF2, вывод 95 | АЦП, канал 2 |
| A3 | PF3, вывод 94 | АЦП, канал 3 |
| A4 | PF4, вывод 93 | АЦП, канал 4 |
| A5 | PF5, вывод 92 | АЦП, канал 5 |
| A6 | PF6, вывод 91 | АЦП, канал 6 |
| A7 | PF7, вывод 90 | АЦП, канал 7 |
Аналоговые входы A8–A15
| Контакт | Вывод МК | Что умеет |
|---|---|---|
| A8 | PK0, вывод 89 | АЦП, канал 8, PCINT16 |
| A9 | PK1, вывод 88 | АЦП, канал 9, PCINT17 |
| A10 | PK2, вывод 87 | АЦП, канал 10, PCINT18 |
| A11 | PK3, вывод 86 | АЦП, канал 11, PCINT19 |
| A12 | PK4, вывод 85 | АЦП, канал 12, PCINT20 |
| A13 | PK5, вывод 84 | АЦП, канал 13, PCINT21 |
| A14 | PK6, вывод 83 | АЦП, канал 14, PCINT22 |
| A15 | PK7, вывод 82 | АЦП, канал 15, PCINT23 |
ICSP ATmega2560
| Контакт | Вывод МК | Что умеет |
|---|---|---|
| MISO (D50) | PB3, вывод 22 | PCINT3, SPI MISO |
| 5V | питание | цепь 5 В платы: выход стабилизатора и питание микроконтроллера |
| SCK (D52) | PB1, вывод 20 | PCINT1, SPI SCK |
| MOSI (D51) | PB2, вывод 21 | PCINT2, SPI MOSI |
| RESET | RESET, вывод 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.hex | 115200 бит/с | 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). Лицензии и источники данных.
Нашли ошибку на странице платы?
Инструменты и статьи
- Пины ArduinoПин Arduino → порт ATmega, ШИМ, прерывания и регистры
- Arduino и AVRЧто делают init(), millis(), analogWrite(), analogRead() и загрузчик
- Фьюзы AVRБиты фьюзов, заводские значения и avrdude
- Скорость UARTUBRR, BRR, TH1 и ошибка скорости
- Резистор для светодиодаНоминал и мощность гасящего резистора
- AVR ISP, UPDI и TPIISP 6 и 10 pin, USBasp, UPDI и TPI