Настройка        30.06.2023   

Arduino mega 2560 распиновка. Настройка плат Arduino при первом подключении к ПК. Подключение плат Arduino к компьютеру

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

Arduino Mega 2560 является обновленной заменой для Arduino Mega.

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

Микроконтроллер ATMega2560
Рабочее напряжение 5 В
Входное напряжение (рекомендуемое) 7-12 В
Входное напряжение (предельное) 6-20 В
Цифровые входные/выходные выводы 54 (15 из которых могут использоваться в качестве ШИМ выходов)
Аналоговые входные выводы 16
Постоянный ток через входные/выходные выводы 20 мА
Постоянный ток через вывод 3,3 В 50 мА
Флеш-память 256 Кбайт, из которых 8 Кб используются загрузчиком
Оперативная память SRAM 8 Кбайт
Энергонезависимая память EEPROM 4 Кбайт
Тактовая частота 16 МГц
Длина 101,52 мм
Ширина 53,3 мм
Вес 37 г

Документация

Схемы, разводка платы, размеры

Arduino Mega 2560 является открытой аппаратной платформой. Вы можете изготовить собственную плату, используя следующие файлы:

Программирование

Arduino Mega 2560 программируется с помощью Arduino IDE.

ATmega2560 на Arduino Mega 2560 поставляется с уже прошитым загрузчиком, что позволит вам загружать в контроллер новый код без использования дополнительных программаторов.

Также вы можете обойти загрузчик и прошить микроконтроллер через разъем ICSP, используя Arduino ICSP или аналог.

Предупреждение

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

Питание

Arduino Mega 2560 может получать питание либо через подключение USB, либо от внешнего источника питания. Источник питания выбирается автоматически.

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

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

Выводы питания:

  • Vin . Вход питания платы при использовании внешнего источника питания (используется при отсутствии 5 вольт от USB подключения или от другого регулируемого источника питания). Вы можете подать питание через этот вывод, или, если напряжение питания подается через разъем питания, то это напряжение 5В будет доступно и на этом выводе.
  • 5V . С этого вывода можно взять регулируемое напряжение 5В с выхода регулятора на плате. Плата может питаться через разъем питания (7-12В), через USB разъем (5В) или через вывод Vin на плате (7-12В). Подача напряжения через выводы 5V и 3.3V обходит регулятор и может повредить плату. Поэтому не советуем подавать питание на плату через эти выводы.
  • 3V3 . Питание 3,3 вольта, выдаваемое регулятором на плате. Максимальный ток 50 мА.
  • GND . Выводы земли.
  • IOREF . Этот вывод обеспечивает опорное напряжение, с которым работает микроконтроллер. Правильно, сконфигурированная плата расширения, может прочитать напряжение на выводе IOREF и выбрать подходящий источник питания или перевести буферы выходов для работы с напряжением либо 5В, либо 3,3В.

Память

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

Входы и выходы

Таблица соответствия портов ATmega2560 выводов Arduino Mega 2560
Номер вывода Atmega2560 Название вывода ATmega2560 Соответствующий вывод на Arduino Mega 2560
1 PG5 (OC0B) Цифровой вывод 4 (PWM)
2 PE0 (RXD0/PCINT8) Цифровой вывод 0 (RX0)
3 PE1 (TXD0) Цифровой вывод 1 (TX0)
4 PE2 (XCK0/AIN0)
5 PE3 (OC3A/AIN1) Цифровой вывод 5 (PWM)
6 PE4 (OC3B/INT4) Цифровой вывод 2 (PWM)
7 PE5 (OC3C/INT5) Цифровой вывод 3 (PWM)
8 PE6 (T3/INT6)
9 PE7 (CLKO/ICP3 / INT7)
10 VCC VCC
11 GND GND
12 PH0 (RXD2) Цифровой вывод 17 (RX2)
13 PH1 (TXD2) Цифровой вывод 16 (TX2)
14 PH2 (XCK2)
15 PH3 (OC4A) Цифровой вывод 6 (PWM)
16 PH4 (OC4B) Цифровой вывод 7 (PWM)
17 PH5 (OC4C) Цифровой вывод 8 (PWM)
18 PH6 (OC2B) Цифровой вывод 9 (PWM)
19 PB0 (SS/PCINT0) Цифровой вывод 53 (SS)
20 PB1 (SCK/PCINT1) Цифровой вывод 52 (SCK)
21 PB2 (MOSI/PCINT2) Цифровой вывод 51 (MOSI)
22 PB3 (MISO/PCINT3) Цифровой вывод 50 (MISO)
23 PB4 (OC2A/PCINT4) Цифровой вывод 10 (PWM)
24 PB5 (OC1A/PCINT5) Цифровой вывод 11 (PWM)
25 PB6 (OC1B/PCINT6) Цифровой вывод 12 (PWM)
26 PB7 (OC0A/OC1C / PCINT7) Цифровой вывод 13 (PWM)
27 PH7 (T4)
28 PG3 (TOSC2)
29 PG4 (TOSC1)
30 RESET RESET
31 VCC VCC
32 GND GND
33 XTAL2 XTAL2
34 XTAL1 XTAL1
35 PL0 (ICP4) Цифровой вывод 49
36 PL1 (ICP5) Цифровой вывод 48
37 PL2 (T5) Цифровой вывод 47
38 PL3 (OC5A) Цифровой вывод 46 (PWM)
39 PL4 (OC5B) Цифровой вывод 45 (PWM)
40 PL5 (OC5C) Цифровой вывод 44 (PWM)
41 PL6 Цифровой вывод 43
42 PL7 Цифровой вывод 42
43 PD0 (SCL/INT0) Цифровой вывод 21 (SCL)
44 PD1 (SDA/INT1) Цифровой вывод 20 (SDA)
45 PD2 (RXDI/INT2) Цифровой вывод 19 (RX1)
46 PD3 (TXD1/INT3) Цифровой вывод 18 (TX1)
47 PD4 (ICP1)
48 PD5 (XCK1)
49 PD6 (T1)
50 PD7 (T0) Цифровой вывод 38
51 PG0 (WR) Цифровой вывод 41
52 PG1 (RD) Цифровой вывод 40
53 PC0 (A8) Цифровой вывод 37
54 PC1 (A9) Цифровой вывод 36
55 PC2 (A10) Цифровой вывод 35
56 PC3 (A11) Цифровой вывод 34
57 PC4 (A12) Цифровой вывод 33
58 PC5 (A13) Цифровой вывод 32
59 PC6 (A14) Цифровой вывод 31
60 PC7 (A15) Цифровой вывод 30
61 VCC VCC
62 GND GND
63 PJ0 (RXD3/PCINT9) Цифровой вывод 15 (RX3)
64 PJ1 (TXD3/PCINT10) Цифровой вывод 14 (TX3)
65 PJ2 (XCK3/PCINT11)
66 PJ3 (PCINT12)
67 PJ4 (PCINT13)
68 PJ5 (PCINT14)
69 PJ6 (PCINT 15)
70 PG2 (ALE) Цифровой вывод 39
71 PA7 (AD7) Цифровой вывод 29
72 PA6 (AD6) Цифровой вывод 28
73 PA5 (AD5) Цифровой вывод 27
74 PA4 (AD4) Цифровой вывод 26
75 PA3 (AD3) Цифровой вывод 25
76 PA2 (AD2) Цифровой вывод 24
77 PA1 (AD1) Цифровой вывод 23
78 PA0 (AD0) Цифровой вывод 22
79 PJ7
80 VCC VCC
81 GND GND
82 PK7 (ADC15/PCINT23) Аналоговый вывод 15
83 PK6 (ADC14/PCINT22) Аналоговый вывод 14
84 PK5 (ADC13/PCINT21) Аналоговый вывод 13
85 PK4 (ADC12/PCINT20) Аналоговый вывод 12
86 PK3 (ADC11/PCINT19) Аналоговый вывод 11
87 PK2 (ADC10/PCINT18) Аналоговый вывод 10
88 PK1 (ADC9/PCINT17) Аналоговый вывод 9
89 PK0 (ADC8/PCINT16) Аналоговый вывод 8
90 PF7 (ADC7) Аналоговый вывод 7
91 PF6 (ADC6) Аналоговый вывод 6
92 PF5 (ADC5 /TMS) Аналоговый вывод 5
93 PF4 (ADC4 /TMK) Аналоговый вывод 4
94 PF3 (ADC3) Аналоговый вывод 3
95 PF2 (ADC2) Аналоговый вывод 2
96 PF1 (ADC1) Аналоговый вывод 1
97 PF0 (ADC0) Аналоговый вывод 0
98 AREF Опорное напряжение АЦП
99 GND GND
100 AVCC VCC

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

Также некоторые выводы обладают специальными функциями:

  • последовательный порт: 0 (RX) и 1 (TX); последовательный порт 1: 19 (RX) и 18 (TX); последовательный порт 2: 17 (RX) и 16 (TX); последовательный порт 3: 15 (RX) и 14 (TX) . Выводы используются для приема (RX) и передачи (TX) последовательных данных с TTL уровнями. Выводы 0 и 1 также подключены к соответствующим выводам преобразователя USB-TTL на ATmega16U2;
  • внешние прерывания: 2 (прерывание 0), 3 (прерывание 1), 18 (прерывание 5), 19 (прерывание 4), 20 (прерывание 3) и 21 (прерывание 2) . Эти выводы могут быть сконфигурированы для вызова прерывания по фронту или по спаду импульса или по изменению уровня на выводе. Смотрите работу с прерываниями на Arduino для более подробной информации;
  • ШИМ: выводы со 2 по 13 и с 44 по 46 . Обеспечивают 8-битный ШИМ выход с помощью функции analogWrite() ;
  • SPI: 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS) . Эти выводы поддерживают связь через SPI с помощью соответствующей библиотеки. SPI выводы также подключены к разъему ICSP, который физически совместим с платами Arduino/Genuino Uno и старыми платами Arduino Duemilanove и Diecimila;
  • светодиод: 13 . Встроенный светодиод подключен к цифровому выводу 13. При высоком уровне на выводе светодиод загорается, при низком - гаснет;
  • TWI: 20 (SDA) и 21 (SCL) . Поддерживают связь через TWI с помощью библиотеки Wire . Обратите внимание, что эти выводы не совпадают по расположению с аналогичными выводами на старых платах Arduino Duemilanove и Diecimila.

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

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

Связь

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

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

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

Магазины и цены

Цены на Arduino Mega 2560
Товар в магазине Количество штук в комплекте Стоимость Расчетная стоимость за 1 шт.
1 406.51 руб. / 6.01 USD
(на 25 ноября 2018)
406.51 руб. / 6.01 USD
Arduino Mega 2560 на AliExpress 1 451.83 руб. / 6.68 USD
(на 1 октября 2016)
451.83 руб. / 6.68 USD
Arduino Mega 2560 на AliExpress 1 486.32 руб. / 7.19 USD
(на 25 ноября 2018)
486.32 руб. / 7.19 USD
Arduino Mega 2560 на AliExpress 1 502.56 руб. / 7.43 USD
(на 25 ноября 2018)

Здравствуйте, товарищи.

Темы с косяками RAMPS"a выскакивают постоянно. Решений этих косяков много, но все раскидано по комментариям и форумам. В процессе сбора и применения этих сведений было убито: Ардуина 1 шт, Рампс 1шт, транзисторы с десяток. Итогом моих мучений стало то, что я уже пол года не заглядывал в отсек электроники по причине отказа чего либо.

Как Вы уже поняли речь пойдет о распространенном наборе из Arduino Mega 2560 + Ramps 1.4. Наверное, самый распространенный и, точно, самый доступный комплект электроники для 3д принтера.

В посте я по пунктам распишу что я сделал у себя с описанием как это сделать. Следовать ли этим пунктам(всем или некоторым) решать Вам. Так же я не несу ответственности если Вы что то там у себя спалите. Так же предупреждаю, что я не электронщик, все здесь описанное не мной изобретено. Я просто хочу скомпоновать наиболее, на мой взгляд, удачные и необходимые переделки.

Итак начнем.

1. Первое что я рекомендую сделать это выкинуть зеленый коннектор с РАМПСа. Если Вы последуете дальнейшим советам, он будет не нужен. Но даже если нет, просто выкиньте его и припаяйте на его место провода. Этот коннектор слишком слаб для токов, необходимых для питания стола. Со временем он оплавиться, что приведет к печальным последствиям.

Если Вы будете переделывать питание стола по инструкции в пункте 3, то Вам необходимо вместо зеленого разъема припаять только два провода. На плате под разъемом контакты питания пронумерованы. Контакт под номером 4 это минус. Под номером 3 - плюс. Припаиваем к ним провода и подключаем к блоку питания.

2. Убрать диод Д1 с РАМПСа. Это отделит питание РАМПСа, а соответственно двигателей, драйверов и всего остального от питания Ардуины. Для чего это нужно будет понятно из следующих пунктов.

3. Теперь, наверное, самый важный и нужный пункт. Вопросы по нему всплывают не реже раза в месяц. Организация нормального питания стола.

Что понадобиться:

В первую очередь нужен нормальный силовой транзистор. Те что ставят китайцы подходят плохо, хоть и работают. Модели транзисторов, которые подходят: IRL 3705n, IRL2203n, IRL3803, IRL2505. Выбираете что есть в ваших радиотоварах самое дешевое(цена от 30 до 100р обычно), если нет ничего из этого, поищите аналоги в гугле их много. Параметры должны быть следующие: ток стока от 30А, чем выше тем лучше, напряжение исток-сток от 25В, напряжение затвора 4.5В, корпус TO220AB. Я понимаю, что матерые электронщики накинуться на меня с криками, что это далеко не все важные параметры, но я подбирал именно по ним и у меня все работает, так зачем мне лезть в дебри?

Провода. Я использую китайские провода 14AWG. Их хватает и они не греются. Поищите табличку соответствия с нашими сечениями в гугле.

Паяльник от 60 Ватт. РАМПС довольно тяжело паять, точнее выпаивать из него. Так что потренируйтесь на старой материке.

Алюминиевый радиатор. Размеры от 20х20х20мм и выше. Можно обойтись без него, об этом ниже.

Всякая мелочевка для пайки, припой, флюс, термоусадка и т.д. Если не знаете что это, лучше не беритесь.

Теперь непосредственно к процессу:

Первое что нужно сделать - выпаять родной транзистор питания стола.

Он нам больше не понадобиться. Можно конечно использовать и его, но он будет сильно греться даже на радиаторе, поэтому проще купить за 50р нормальный транзистор.

Теперь вместо ножки, которая расположена ближе к большим оранжевым предохранителям нужно впаять либо проводок(можно любой тонкий провод) либо, как сделал я, штырек как те, что расположены по краям РАМПСа. Взять его можно с любой старой материнской платы(да много где они используются). Я припаял именно штырек, что бы можно было в любой момент отключить его не парясь с пайкой РАМПСа.

С РАМПСом мы пока закончили. Приступим к транзистору.

Подключается все довольно просто.

От левой ноги(затвор) провод подключает к РАМПСу, к тому самому штырьку. Разъем для таких контактов у нас продается под именем BLS-01.

Центральная нога(сток) подключается к одному из контактов стола(полярность для стола не важна).

Правая нога(исток) подключается напрямую к МИНУСУ блока питания.

Все провода аккуратно припаиваем и изолируем термоусадкой.

От второго контакта стола провод подключается напрямую к ПЛЮСУ блока питания. Обращаю самое пристальное внимание на полярность подключения. Столу пофигу куда вы подключите плюс и минус, а вот транзистору нет. Транзистор должен висеть на минусовой линии.

Теперь осталось прикрутить или приклеить транзистор к радиатору. Я сделал проще, прикрутил транзистор через термопасту прямо к корпусу блока питания в штатное отверстие. Благо корпус БП алюминиевый. Теперь транзистор всегда холодный.

В результате данной переделки, мы пустили питание стола в обход РАМПСа. С РАМПСа идет только сигнал на затвор транзистора. Питание остальной электроники(кроме Ардуины) по прежнему идет через РАМПс по тем проводам, которые мы припаяли в пункте 1. Учтите, что минусовой провод от РАМПСа и провод с правой ноги(истока) транзистора должны быть подключены к одному и тому же минусовому контакту блока питания.

4. Теперь поговорим о питании Ардуины. В пункте 2 я рекомендовал разделить питание Ардуины и РАМПСа. Этому есть две причины.

Во-первых, 12 Вольт для преобразователя Ардуины много, это его предельное значение и при таком напряжении он не слабо греется и может сгореть. Особенно если Вы подключите дополнительные потребители, например дисплей.

Во-вторых, это позволит поднять напряжение питания РАМПСа выше 12 Вольт.

Для чего поднимать напряжение питания РАМПСа. Причина одна - ускорить нагрев стола. На 12В стол греется довольно долго. Время зависит от конкретного экземпляра, а точнее от его сопротивления. Оно может доходить до 15 минут, что очень долго. Есть, конечно, вариант с переделкой стола на более низкое сопротивление, но, на мой взгляд, проще подкрутить напряжение на БП. Я на своем БП выставил напряжение 15В. При этом у меня стоит стандартный 12В нагреватель на хотенде и стол подключен по 12В схеме. Стол до 100 градусов нагревается за 4-5 минут без всякого утепления. Единственное что мне пришлось сделать, это прогнать PID тест по команде M303, что бы выровнять температуру хотенда. Несмотря на повышенное напряжение питания нагревателя хотенда, температура держится в пределах +-0.5 градусов от заданной.

Как же организовать питание Ардуины? Есть два варианта.

Первый, питать его от USB. Самый простой и неудобный. Я довольно долго пользовался принтером именно так. Если печатать с компьютера, не подключать дополнительное оборудование к Ардуине(серву, дисплей), то вполне рабочий вариант. О минусах такого подключения, думаю, рассказывать не стоит.

Второй вариант, DC-DC понижающий преобразователь напряжения. Вот такой.

Стоит копейки.Подключается очень просто. На контакты IN подается питание с БП, с контактов OUT подается питание на круглый разъем Ардуины. Предварительно нужно выставить напряжение, выдаваемое преобразователем на 7-9 Вольт. Это оптимальное напряжение для Ардуиновского родного преобразователя. Для бОльшей надежности и экономии пространства, я выпаял круглый разъем с Ардуины и припаял провода от преобразователя напрямую к плате. Теперь, при подключении дисплея с кардридером, принтер становиться автономным от компьютера.

5. Последний пункт. Вентиляторы охлаждения хотенда и электроники. Обычно вентиляторы подключаются к РАМПСу, но в связи с тем, что мы подняли напряжение, то вентиляторы стали работать с перегрузкой. Мало того, что это снижает их срок службы, они еще и адски громкими стали. Решение простое. Еще один преобразователь из пункта 4 подключенный к БП. Такое подключение еще и позволяет регулировать скорость вращения вентиляторов и подобрать ее так, что бы и не слишком громко было и хватало для охлаждения.

Но это временное решение, т.к. недавно увидел тут статью про вот такой модуль. Заказал, буду подключать вентиляторы через него.

На этом все. Надеюсь статья будет полезна.

Эта плата отличается от других ардуинок большим количеством вводов и выводов, увеличенным объемом памяти и другими характеристиками, о которых мы расскажем ниже. Ардуино Мега представлена в нескольких версиях. Они практически не отличаются друг от друга. Отличия Arduino Mega 2560 R3 от предыдущих версий платы заключаются в следующих деталях:

  • Для преобразования интерфейса USB-UART используется микроконтроллер ATmega16U2 в R3 версии и ATmega8U2 в версиях платы R1 и R2.
  • Начиная с версии R2 на плате добавлен притягивающий резистор для линии HWB. Это делает процесс прошивки микроконтроллера более простым и удобным.
  • В версии R3 были добавлена пара выводов для последовательного интерфейса I2C SDA и SCL.
  • Так же была улучшена помехоустойчивость цепи сброса.
  • Заменен микроконтроллер для работы с интерфейсом USB-UART с ATmega8U2 на ATmega16U2

Как можно заметить, изменения не повлияли на производительность. Поэтому дальше мы будем говорить только о последней версии этой платы.

Arduino Mega 2560 R3

Ардуино Мега 2560 снабжена микроконтроллером ATmega2560 с тактовой частотой 16 мГц.

Характеристики Ардуино Мега 2560

  • Микроконтроллер: ATmega2560
  • Тактовая частота: 16 мГц
  • Рабочее напряжение: 5 В
  • Предельные напряжения питания: 5-20 В
  • Рекомендуемое напряжение питания: 7-12 В
  • Максимальная сила тока с одного вывода: 40 мА
  • Цифровые входы/выходы: 54
  • Цифровые входы/выходы с поддержкой ШИМ: 15
  • Аналоговые входы: 16
  • Flash-память: 256 КБ (8 из них используются загрузчиком)
  • SRAM: 8 КБ
  • EEPROM: 4 КБ

Подключение Arduino Mega 2560 к питанию

Эту плату можно питать четырьмя разными способами:

  1. Через порт USB. Можно питать ардуино от компьютера, powerbank, смартфона (если он поддерживает режим OTG) или от адаптера, вставленного в розетку.
  2. Через пин +5V. Этот пин является не только выводом, но и вводом. Будьте внимательны! На этот пин нужно подавать ровно 5 вольт. В противном случае можно спалить сам микроконтроллер.
  3. Через штекер питания, расположенный на плате. Можно использовать, батарейки, аккумуляторы и разнообразные блоки питания. Этот штекер подключен к пину VIN. О напряжении и мерах предосторожности написано в следующем пункте.
  4. Через пин VIN. Ток от этого пина проходит через встроенный стабилизатор напряжения. По заявлениям производителя можно подавать от 5 до 20 вольт. Но это не совсем так. Так как стабилизатор имеет не 100% КПД, то при подаче 5 вольт на пин VIN напряжения может не хватить на питание микроконтроллера, да и на цифровых пинах будет не 5 вольт, а меньше. Также не стоит работать на максимальном напряжении. При 20 вольтах на пине VIN будет сильно греться стабилизатор напряжения, вплоть до выхода из строя. Поэтому рекомендуется использовать напряжение от 7 до 12 вольт.

Как уже было написано выше, плата имеет 54 цифровых пинов. Они могут быть как входом так и выходом. Рабочее напряжение этих пинов составляет 5 В. Каждый из них имеет подтягивающий резистор и поданное на один из этих пинов напряжения ниже 5 вольт все равно будет считаться как 5 вольт (логическая единица).

Аналоговые пины являются входами и не имеют подтягивающих резисторов. Они измеряют поступающее на них напряжение и возвращают значение от 0 до 1024 при использовании функции . Эти пины измеряют напряжение с точностью до 0,005 В.

ШИМ Arduino Mega

Если внимательно посмотреть на плату то можно увидеть значок тильды (~) рядом с некоторыми цифровыми пинами. Этот значок означает, что данный пин может быть использован как выход ШИМ. На некоторых платах ардуино этого значка нет так как производители не всегда находят место для этого символа на плате. У Arduino Mega есть 15 выводов ШИМ, это цифровые пины со 2 по 13 и с 44 по 46. Для использования ШИМ в Arduino есть специальная функция .

Другие пины:

  • Serial: 0 (rx) и 1 (tx), Serial1: 19 (rx) 18 (tx), Serial2: 17 (rx) и 16 (tx), Serial3: 15 (rx) и 14 (tx) используются для передачи данных по последовательному интерфейсу.
  • Выводы 53 (SS), 51 (MOSI), 50 (MISO), 52 (SCK) рассчитаны для связи по интерфейсу SPI.
  • Так же на выводе 13 имеется встроенный в плату светодиод.
  • 20 (SDA) и 21 (SCL) могут использоваться для связи с другими устройствами по шине I2C. Подробнее про этот интерфейс вы можете почитать на википедии . В среде разработке Arduino IDE есть встроенная библиотека «wire.h» для более легкой работы с I2C.
  • Внешние прерывания: выводы 2 (прерывание 0), 3 (прерывание 1), 18 (прерывание 5), 19 (прерывание 4), 20 (прерывание 3) и 21 (прерывание 2). Эти выводы могут использоваться в качестве источников прерываний, возникающих при различных условиях: при низком уровне сигнала, при фронте, спаде или изменении сигнала. Для получения дополнительной информации см. функцию .
  • AREF. Опорное напряжение для аналоговых входов. Может быть задействован функцией .
  • Reset. Формирование низкого уровня (LOW) на этом выводе приведет к перезагрузке микроконтроллера. Обычно этот вывод служит для функционирования кнопки сброса на платах расширения

Физические характеристики

Arduino Mega имеет следующие размеры: длина 102 мм и ширина 54 мм. Arduino Mega весит около 45 грамм. Плата имеет 4 отверстия для возможности ее закрепления на поверхности. Расстояние между выводами равняется 2,5 мм, кроме выводов 7 и 8. Между ними 4 мм.

Принципиальная схема


ATmega2560 . На плате имеется 54 цифровых пина ввода/вывода, 15 из которых могут быть использованы как выходы ШИМ, 16 аналоговых входов, 4 аппаратных последовательных порта UART , кварцевый резонатор с частотой 16 МГц, порт USB , разъем питания, разъем ISCP (In Circuit Serial Programming , программирование в устройстве по последовательному протоколу) и кнопка сброса микроконтроллера. Для того, чтобы начать работу с этой платой необходимо просто подключить ее, используя интерфейс USB к компьютеру, или же просто подать питание от источника постоянного тока, в качестве которого может выступить и батарейка. Arduino Mega 2560 совместима с большинством плат расширения (шилдов), разработанных для Arduino UNO , Duemilanove или Diecimila.

Arduino Mega 2560 заменила собой плату Arduino Mega .

Mega 2560 отличается от всех предыдущих плат тем, что не использует аппаратные мосты USB-to-serial компании FTDI . Вместо этого, он имеет микроконтроллер ATmega16U2 (ATmega8U2 в версиях платы 1 и 2), запрограммированный для работы в качестве USB-to-serial преобразователя.
Во второй ревизии Mega2560 имеет резистор, подтягивающий линию 8U2 HWB на землю, что упрощает перевод в режим DFU .

В Arduino Mega 2560 в ревизии 3 произведены следующие изменения:

  • Цоколевка 1.0: добавлены пины SDA и SCL , расположенные рядом с выводам AREF и два других новых пина размещены рядом c выводом RESET . IOREF позволяет шилдам адаптироваться к напряжению, подаваемому с платы. В будущем шилды будут совместимы и с платами, основанными на микроконтроллерах AVR , работающими с напряжением 5 В, и с платой Arduino Due , работающей с напряжением 3.3 В.
  • Усилена цепь RESET .
  • Произведена замена ATmega 8U2 на 16U2 .

Схема, datasheet, цоколевка

Скачать техническое руководство на микроконтроллеры ATmega 640/1280/1281/2560/2561:

Скачать принципиальную схему на Arduino Mega 2560 :

Распиновка платы Arduino Mega 2560 (кликните на картинке, чтобы увеличить).

Характеристики Arduino Mega 2560

Микроконтроллер ATmega2560
Рабочее напряжение 5 В
Входное напряжение (рекомендовано) 7-12 В
Входное напряжение (предельное) 6-20 В
Цифровые входы/выходы 54 (из которых 15 могут работать как выходы ШИМ)
Аналоговые входы 16
Макс.ток на входе/выходе 40 мА
Макс.ток для вывода 3.3 В 50 мА
Флеш-память (Flash memory) 256 Кб из которых 8Кб используется загрузчиком
ОЗУ (SRAM) 8 Кб
Энергонезависимая память (EEPROM) 4 Кб
Тактовая частота 16 МГц

Питание

Arduino Mega может получать питание от USB -порта или внешнего источника. Источник питания выбирается автоматически.

Внешнее питание (не по USB ) может подаваться от блока питания или батареи. Блок питания подключается к 2.1 мм разъему на плате, который имеет центральный плюсовой вывод. Батарейное питание можно подключать к выводам GND и VIN разъема питания POWER .

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

Выводы питания:

  • VIN . Входное напряжение платы Arduino при использовании внешнего источника (если отсутствует напряжение 5 вольт на USB -соединении или от другого источника питания). Можно подавать питание на этот вывод, или же, если питание подается на 2.1 мм разъем, то можно с этого вывода получить к питающему входному напряжению.
  • 5V . Напряжение на этих выводах регулируется встроенным в плату регулятором напряжения. Плата может быть запитана либо через 2.1 мм разъем питания (7-12 В), через USB -подключение (5 В), или же через вывод VIN (7-12 В) на плате. Подача питания через выводы 5 В или 3.3 В обходит регулятор и может привести к выходу платы из строя. Так делать не рекомендуется.
  • 3V3 . Напряжение 3.3 вольта формируется при помощи встроенного в плату регулятора. Максимальный ток потребления не должен превышать 50 мА.
  • GND . Выводы земли.
  • IOREF . Этот вывод обеспечивает опорное напряжение, с которым работает микроконтроллер. Для правильной конфигурации внешних плат, можно считывать напряжение с этого вывода и выбирать соответсвующий источник питания или включать преобразователи напряжений для работы с 5 В или 3.3 В.

Память

ATmega имеет 256 Кб флеш-памяти для хранения программного кода (из которых 8 Кб используется для загрузчика), 8 Кб ОЗУ, и 4 Кб энергонезависимой памяти (EEPROM может считываться и записываться при помощи библиотеки, которая так и называется — EEPROM ).

Входы и выходы

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

  • Serial : 0 (RX ) и 1 (TX ); Serial 1: 19 (RX ) и 18 (TX ); Serial 2: 17 (RX ) и 16 (TX ); Serial 3: 15 (RX ) и 14 (TX ). Для отправки данных по последовательному порту с уровнями TTL -логики используется RX , для получения — TX . Пины 0 и 1 также подключены к соответствующим выводам микросхемы преобразователя USB-to-TTL ATmega16U2
  • Внешние прерывания: 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 также могут быть выведены на блок ISCP , который на физическом уровне совместим с Uno , Duemilanove и Diecimilia .
  • LED : 13. Это встроенный в плату светодиод, который подключен к 13 выводу. При значении HIGH на выводе, светодиод включается, при низком — выключается.
  • TWI (I2C ): 20 (SDA ) и 21 (SCL ). Обеспечивает соединение по , используя библиотеку Wire. Расположение этих выводов отличается на платах Duemilanove или Diecimila .

На плате имеется еще пара выводов:

  • AREF . Опорное напряжение для аналоговых входов. Используется с analogReference.
  • RESET. Низкий уровень сигнала на этом входе перезагружает микроконтроллер. Обычно используется дополнительная кнопка сброса на шилдах, которые блокируют кнопку сброса на самой плате Arduino .

Связь

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

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

ATmega2560 также поддерживает соединение по протоколам I 2 C и SPI . Для упрощения использования обмена по протоколу I 2 C используется библиотека Wire , для соединения по SPI — библиотека с таким же названием SPI .

Программирование

Arduino Mega можно программировать, используя Arduino IDE .

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

Можно не использовать загрузчик и программировать микроконтроллер через выводы блока ISCP , используя Arduino ISP или аналогичный.

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

  • На платах верcии 1: замыкаем перемычку на обратной стороне платы (рядом с картой Италии) и перезагружаем 8U2.
  • На платах версии 2 или более поздней: имеется резистор, подтягивающий линию 8U2/16U2 HWB к земле, что облегчает переход в режим DFU . Можно использовать ПО от Atmel под названием Flip (для Windows ) или DFU программатор (Mac OS X и Linux ). Также можно переписать прошивку внешним программатором, используя разъем ISP (перезаписав загрузчик DFU ). Подробности .

Автоматическая (программная перезагрузка)

Вместо того, чтобы физически нажимать клавишу сброса перед загрузкой, Arduino Mega 2560 разработан таким образом, что позволяет программный сброс с подключенного компьютера. Одна из линий, управляющая потоком данных ATmega8U2 - линия DTR , подключена к линии сброса ATmega2560 через конденсатор емкостью 100 нФ. Активация этой линии, используя низкий уровень напряжения позволяет сбросить микросхему. Программное обеспечение Arduino использует эту возможность, позволяя загружать код простым нажатием на кнопку загрузки в среде Arduino . Подача сигнала низкого уровня синхронизировано с началом записи кода, что сокращает таймаут загрузчика.

Это имеет еще одно применение. Когда Mega 2560 подключается к компьютеру под управлением Mac OS X или Linux , каждый раз происходит программная перезагрузка (через USB ). Программа загрузчика на Mega 2560 выполняется примерно полсекунды. В процессе программирования происходит задержка нескольких первых байтов кода, чтобы избежать получение некорректных данных (всех, кроме кода новой программы). Если производится разовая отладка скетча, записанного в платформу, или ввод каких-либо других данных при первом запуске, необходимо убедиться, что программа на компьютере перед передачей данных ожидает в течение секунды.

На Mega2560 имеется возможность отключить линию автоматической перезагрузки разрывом соответствующей линии. Чтобы восстановить линию, необходимо опять соединенить контакт на разрыве. Линия маркирована как «RESET-EN ». Отключить автоматическую перезагрузку также возможно подключив резистор 110 Ом 5 В и данной линией. Подробности .

Защита USB от перегрузки по току

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

Физические характеристики и совместимость с платами расширения

Длина и ширина печатной платы Mega2560 составляют 10,2 и 5.3 см соответственно. Разъем USB и силовой разъем выходят за границы данных размеров. Три отверстия в плате позволяют закрепить ее на поверхности. Расстояние между цифровыми выводами 7 и 8 равняется 0,4 см, хотя между другими выводами оно составляет 0,25 см.

Arduino Mega2560 совместима со всеми платами расширения, разработанными для платформ Uno , Duemilanove или Diecimila . Расположение выводов 0 – 13 (и примыкающих AREF и GND ), аналоговых входов 0 – 5, силового разъема, блока ICSP , порта последовательной передачи UART (выводы 0 и 1) и внешнего прерывания 0 и 1 (выводы 2 и 3) на Mega соответствует расположению на вышеприведенных платформах. Связь SPI может осуществляться через блок ICSP , как на платформах Duemilanove/Diecimila, так и на Mega2560 . Однако расположение выводов (20 и 21) связи I 2 C на платформе Mega не соответствуют расположению тех же выводов (аналоговые входы 4 и 5) на Duemilanove/Diecimila .

Плата Arduino Mega 2560 предназначена для создания проектов, в которых не хватает возможностей обычных Arduino Uno. В этом устройстве максимальное из всех плат семейства Arduino количество пинов и расширенный набор интерфейсов. Также у Arduino Mega больше встроенной памяти. В этой статье мы познакомимся с основными особенностями платы поближе.



Схема платы Arduino Mega

Харакетристики Arduino Mega 2560

Пины платы Arduino Mega 2650

Цифровые пины

Пин Адресация в скетче Специальное назначение ШИМ
Цифровой пин 0 0 RX (Serial)
Цифровой пин 1 1 TX (Serial)
Цифровой пин 2 2 Вход для прерываний 0 ШИМ
Цифровой пин 3 3 Вход для прерываний 1 ШИМ
Цифровой пин 4 4 ШИМ
Цифровой пин 5 5 ШИМ
Цифровой пин 6 6 ШИМ
Цифровой пин 7 7 ШИМ
Цифровой пин 8 8 ШИМ
Цифровой пин 9 9 ШИМ
Цифровой пин 10 10 ШИМ
Цифровой пин 11 11 ШИМ
Цифровой пин 12 12 ШИМ
Цифровой пин 13 13 Встроенный светодиод ШИМ
Цифровой пин 14 14 TX (Serial3)
Цифровой пин 15 15 RX (Serial3)
Цифровой пин 16 16 TX (Serial2)
Цифровой пин 17 17 RX (Serial2)
Цифровой пин 18 18 TX (Serial1)

Вход для прерываний 5

Цифровой пин 19 19 RX(Serial1)

Вход для прерываний 4

Цифровой пин 20 20 I2C SDA

Вход для прерываний 3

Цифровой пин 21 21 I2C SCL

Вход для прерываний 2

Цифровой пин 22-43 22-43
Цифровой пин 44 44 ШИМ
Цифровой пин 45 45 ШИМ
Цифровой пин 46 46 ШИМ
Цифровой пин 47 47
Цифровой пин 48 48
Цифровой пин 49 49
Цифровой пин 50 50 MISO
Цифровой пин 51 51 MOSI
Цифровой пин 52 52 SCK
Цифровой пин 53 53 SCL

Аналоговые пины

У платы Arduino Mega 16 аналоговых входов. Каждый из них соединен с 10-разрадным АЦП, поэтому в скетче можно получить 1024 уровней значений с помощью функции analogRead (). Диапазон значений напряжения по отношению к земле на аналоговых пинах по умолчанию равен 0-5 В. Этот диапазон можно изменить с помощью функции analogReference () и пина AREF.

Соединение с компьютером

Подключение к компьютеру и заливка скетча осуществляется стандартно для большинства плат семейства Arduino. С помощью микросхемы ATmega16U2 устройство определяется как COM-порт, через который могут передаваться данные и осуществляется перепрошивка микроконтроллера.

Питание Arduino Mega 2560

Питание платы Mega аналогично рассмотренному ранее питанию для Ardini Uno. Рабочее напряжение – 5 В, питание осуществляется либо через встроенный блок питания, либо через подключенное USB-устройство, либо напрямую.