arduino mega 2560

7
Arduino Mega 2560 Overview

Upload: gustavomartinez

Post on 11-Oct-2015

28 views

Category:

Documents


2 download

TRANSCRIPT

  • Arduino Mega 2560

    Overview

  • The Arduino Mega 2560 is a microcontroller board based on the ATmega2560 (datasheet). It has 54 digital input/output

    pins (of which 14 can be used as PWM outputs), 16 analog inputs, 4 UARTs (hardware serial ports), a 16 MHz crystal

    oscillator, a USB connection, a power jack, an ICSP header, and a reset button. It contains everything needed to support

    the microcontroller; simply connect it to a computer with a USB cable or power it with a AC-to-DC adapter or battery to

    get started. The Mega is compatible with most shields designed for the Arduino Duemilanove or Diecimila.

    Schematic & Reference DesignEAGLE files: arduino-mega2560-reference-design.zip

    Schematic: arduino-mega2560-schematic.pdf

    Summary

    Microcontroller ATmega2560

    Operating Voltage 5V

    Input Voltage (recommended) 7-12V

    Input Voltage (limits) 6-20V

    Digital I/O Pins 54 (of which 14 provide PWM output)

    Analog Input Pins 16

    DC Current per I/O Pin 40 mA

    DC Current for 3.3V Pin 50 mA

    Flash Memory 256 KB of which 8 KB used by bootloader

    SRAM 8 KB

    EEPROM 4 KB

    Clock Speed 16 MHz

    PowerThe Arduino Mega can be powered via the USB connection or with an external power supply. The power source is selected

    automatically.

    External (non-USB) power can come either from an AC-to-DC adapter (wall-wart) or battery. The adapter can be

    connected by plugging a 2.1mm center-positive plug into the board's power jack. Leads from a battery can be inserted in

    the Gnd and Vin pin headers of the POWER connector.

    The board can operate on an external supply of 6 to 20 volts. If supplied with less than 7V, however, the 5V pin may supply

    less than five volts and the board may be unstable. If using more than 12V, the voltage regulator may overheat and damage

    the board. The recommended range is 7 to 12 volts.

    The Mega2560 differs from all preceding boards in that it does not use the FTDI USB-to-serial driver chip. Instead, it

    features the Atmega8U2 programmed as a USB-to-serial converter.

    The power pins are as follows:

  • VIN. The input voltage to the Arduino board when it's using an external power source (as opposed to 5 volts from the

    USB connection or other regulated power source). You can supply voltage through this pin, or, if supplying voltage via

    the power jack, access it through this pin.

    5V. The regulated power supply used to power the microcontroller and other components on the board. This can come

    either from VIN via an on-board regulator, or be supplied by USB or another regulated 5V supply.

    3V3. A 3.3 volt supply generated by the on-board regulator. Maximum current draw is 50 mA.

    GND. Ground pins.

    MemoryThe ATmega2560 has 256 KB of flash memory for storing code (of which 8 KB is used for the bootloader), 8 KB of SRAM

    and 4 KB of EEPROM (which can be read and written with the EEPROM library).

    Input and OutputEach of the 54 digital pins on the Mega can be used as an input or output, using pinMode(), digitalWrite(), and

    digitalRead() functions. They operate at 5 volts. Each pin can provide or receive a maximum of 40 mA and has an internal

    pull-up resistor (disconnected by default) of 20-50 kOhms. In addition, some pins have specialized functions:

    Serial: 0 (RX) and 1 (TX); Serial 1: 19 (RX) and 18 (TX); Serial 2: 17 (RX) and 16 (TX); Serial 3: 15

    (RX) and 14 (TX). Used to receive (RX) and transmit (TX) TTL serial data. Pins 0 and 1 are also connected to the

    corresponding pins of the ATmega8U2 USB-to-TTL Serial chip.

    External Interrupts: 2 (interrupt 0), 3 (interrupt 1), 18 (interrupt 5), 19 (interrupt 4), 20 (interrupt

    3), and 21 (interrupt 2). These pins can be configured to trigger an interrupt on a low value, a rising or falling edge,

    or a change in value. See the attachInterrupt() function for details.

    PWM: 0 to 13. Provide 8-bit PWM output with the analogWrite() function.

    SPI: 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS). These pins support SPI communication using the SPI library.

    The SPI pins are also broken out on the ICSP header, which is physically compatible with the Uno, Duemilanove and

    Diecimila.

    LED: 13. There is a built-in LED connected to digital pin 13. When the pin is HIGH value, the LED is on, when the

    pin is LOW, it's off.

    I2C: 20 (SDA) and 21 (SCL). Support I2C (TWI) communication using the Wire library (documentation on the

    Wiring website). Note that these pins are not in the same location as the I2C pins on the Duemilanove or Diecimila.

    The Mega2560 has 16 analog inputs, each of which provide 10 bits of resolution (i.e. 1024 different values). By default they

    measure from ground to 5 volts, though is it possible to change the upper end of their range using the AREF pin and

    analogReference() function.

  • There are a couple of other pins on the board:

    AREF. Reference voltage for the analog inputs. Used with analogReference().

    Reset. Bring this line LOW to reset the microcontroller. Typically used to add a reset button to shields which block

    the one on the board.

    CommunicationThe Arduino Mega2560 has a number of facilities for communicating with a computer, another Arduino, or other

    microcontrollers. The ATmega2560 provides four hardware UARTs for TTL (5V) serial communication. An ATmega8U2

    on the board channels one of these over USB and provides a virtual com port to software on the computer (Windows

    machines will need a .inf file, but OSX and Linux machines will recognize the board as a COM port automatically. The

    Arduino software includes a serial monitor which allows simple textual data to be sent to and from the board. The RX and

    TX LEDs on the board will flash when data is being transmitted via the ATmega8U2 chip and USB connection to the

    computer (but not for serial communication on pins 0 and 1).

    A SoftwareSerial library allows for serial communication on any of the Mega2560's digital pins.

    The ATmega2560 also supports I2C (TWI) and SPI communication. The Arduino software includes a Wire library to

    simplify use of the I2C bus; see the documentation on the Wiring website for details. For SPI communication, use the SPI

    library.

    ProgrammingThe Arduino Mega can be programmed with the Arduino software (download). For details, see the reference and tutorials.

    The ATmega2560 on the Arduino Mega comes preburned with a bootloader that allows you to upload new code to it

    without the use of an external hardware programmer. It communicates using the original STK500 protocol (reference, C

    header files).

    You can also bypass the bootloader and program the microcontroller through the ICSP (In-Circuit Serial Programming)

    header; see these instructions for details.

    The ATmega8U2 firmware source code is available in the Arduino repository. The ATmega8U2 is loaded with a DFU

    bootloader, which can be activated by connecting the solder jumper on the back of the board (near the map of Italy) and

    then resetting the 8U2. You can then use Atmel's FLIP software (Windows) or the DFU programmer (Mac OS X and

    Linux) to load a new firmware. Or you can use the ISP header with an external programmer (overwriting the DFU

    bootloader). See this user-contributed tutorial for more information.

    Automatic (Software) ResetRather then requiring a physical press of the reset button before an upload, the Arduino Mega2560 is designed in a way

    that allows it to be reset by software running on a connected computer. One of the hardware flow control lines (DTR) of

    the ATmega8U2 is connected to the reset line of the ATmega2560 via a 100 nanofarad capacitor. When this line is

    asserted (taken low), the reset line drops long enough to reset the chip. The Arduino software uses this capability to allow

    you to upload code by simply pressing the upload button in the Arduino environment. This means that the bootloader can

  • have a shorter timeout, as the lowering of DTR can be well-coordinated with the start of the upload.

    This setup has other implications. When the Mega2560 is connected to either a computer running Mac OS X or Linux, it

    resets each time a connection is made to it from software (via USB). For the following half-second or so, the bootloader is

    running on the Mega2560. While it is programmed to ignore malformed data (i.e. anything besides an upload of new

    code), it will intercept the first few bytes of data sent to the board after a connection is opened. If a sketch running on the

    board receives one-time configuration or other data when it first starts, make sure that the software with which it

    communicates waits a second after opening the connection and before sending this data.

    The Mega2560 contains a trace that can be cut to disable the auto-reset. The pads on either side of the trace can be

    soldered together to re-enable it. It's labeled "RESET-EN". You may also be able to disable the auto-reset by connecting a

    110 ohm resistor from 5V to the reset line; see this forum thread for details.

    USB Overcurrent ProtectionThe Arduino Mega2560 has a resettable polyfuse that protects your computer's USB ports from shorts and overcurrent.

    Although most computers provide their own internal protection, the fuse provides an extra layer of protection. If more

    than 500 mA is applied to the USB port, the fuse will automatically break the connection until the short or overload is

    removed.

    Physical Characteristics and Shield CompatibilityThe maximum length and width of the Mega2560 PCB are 4 and 2.1 inches respectively, with the USB connector and

    power jack extending beyond the former dimension. Three screw holes allow the board to be attached to a surface or case.

    Note that the distance between digital pins 7 and 8 is 160 mil (0.16"), not an even multiple of the 100 mil spacing of the

    other pins.

    The Mega2560 is designed to be compatible with most shields designed for the Uno, Diecimila or Duemilanove. Digital

    pins 0 to 13 (and the adjacent AREF and GND pins), analog inputs 0 to 5, the power header, and ICSP header are all in

    equivalent locations. Further the main UART (serial port) is located on the same pins (0 and 1), as are external interrupts

    0 and 1 (pins 2 and 3 respectively). SPI is available through the ICSP header on both the Mega2560 and Duemilanove /

    Diecimila. Please note that I2C is not located on the same pins on the Mega (20 and 21) as the Duemilanove / Diecimila

    (analog inputs 4 and 5).

  • ICSP

    +5V

    GND

    +5V

    GND

    GND

    +5V

    GNDGND

    47u 47u

    GND GND

    GND

    GND

    GREEN

    GND

    +5V

    M7

    GNDMC33269D-5.0

    MC33269ST-5.0T3

    100n

    GND100n

    100n

    +3V3

    +5V

    +5V

    ATMEGA1280-16AU

    100n100n

    22p

    +5V

    GND

    100n

    GND

    100n

    YELLOW

    YELLOW

    500mA

    +5V

    100n

    GND

    YELLOW

    GND

    100n

    FDN340P

    LM358DLM358D

    GND

    100n

    GND

    +5V

    100n

    +5V

    GND

    +5V

    GND

    1u

    +5V

    ATMEGA8U2-MU

    ICSP

    +5V

    GND

    GND

    16MHz

    GND

    GND

    BLM21

    PGB1

    0106

    04

    PGB1

    0106

    04

    16MHz

    GND

    1M

    1k

    1k

    1k

    1k

    10K

    10K

    10K

    10K10

    K

    10K

    10K

    10K

    1k1k

    1k

    1k

    22R

    22R22R

    22R

    GNDTS42

    1M

    16MH

    z

    16MH

    z

    22p

    22p

    22p

    22p

    GND

    GND

    GND

    27R

    27R

    1 23 45 6

    ICSP

    12345678

    PWML

    12345678

    PWMH

    PC1 PC2

    OND111

    22

    3 3

    VI3

    1

    VO 2

    IC2

    ADJ

    1

    IN3 OUT 42IC1

    123456

    POWER

    C3C6

    C2

    12345678

    ADCL

    12345678

    COMMUNICATION

    (A8)PC0 53(A9)PC1 54

    (A10)PC2 55(A11)PC3 56(A12)PC4 57(A13)PC5 58(A14)PC6 59(A15)PC7 60

    (AD0)PA0 78(AD1)PA1 77(AD2)PA2 76(AD3)PA3 75(AD4)PA4 74(AD5)PA5 73(AD6)PA6 72(AD7)PA7 71

    (ADC0)PF0 97(ADC1)PF1 96(ADC2)PF2 95(ADC3)PF3 94

    (ADC4/TCK)PF4 93(ADC5/TMS)PF5 92(ADC6/TDO)PF6 91(ADC7/TDI)PF7 90

    (ALE)PG2 70

    (CLKO/ICP3/INT7)PE7 9

    (ICP1)PD4 47

    (MISO/PCINT3)PB3 22(MOSI/PCINT2)PB2 21

    (OC0A/OC1C/PCINT7)PB7 26

    (OC0B)PG5 1

    (OC1A/PCINT5)PB5 24(OC1B/PCINT6)PB6 25

    (OC2A/PCINT4)PB4 23

    (OC3A/AIN1)PE3 5(OC3B/INT4)PE4 6(OC3C/INT5)PE5 7

    (RD)PG1 52

    (RXD0/PCIN8)PE0 2

    (RXD1/INT2)PD2 45

    (SCK/PCINT1)PB1 20

    (SCL/INT0)PD0 43(SDA/INT1)PD1 44

    (SS/PCINT0)PB0 19

    (T0)PD7 50(T1)PD6 49

    (T3/INT6)PE6 8

    (TOSC1)PG4 29(TOSC2)PG3 28

    (TXD0)PE1 3

    (TXD1/INT3)PD3 46

    (WR)PG0 51

    (XCK0/AIN0)PE2 4

    (XCK1)PD5 48

    AGND99AREF98AVCC100

    GND11326281

    PH0(RXD2)12PH1(TXD2)13PH2(XCK2)14PH3(OC4A)15PH4(OC4B)16PH5(OC4C)17PH6(OC2B)18PH7(T4)27PJ0(RXD3/PCINT9)63PJ1(TXD3/PCINT10)64PJ2(XCK3/PCINT11)65PJ3(PCINT12)66PJ4(PCINT13)67PJ5(PCINT14)68PJ6(PCINT15)69PJ779PK0(ADC8/PCINT16)89PK1(ADC9/PCINT17)88PK2(ADC10/PCINT18)87PK3(ADC11/PCINT19)86PK4(ADC12/PCINT20)85PK5(ADC13/PCINT21)84PK6(ADC14/PCINT22)83PK7(ADC15/PCINT23)82PL0(ICP4)35PL1(ICP5)36PL2(T5)37PL3(OC5A)38PL4(OC5B)39PL5(OC5C)40PL641PL742

    RESET30

    VCC10316180

    XTAL134XTAL233

    GNDGNDGND

    VCCVCC

    VCC

    IC3

    C5C4

    12345678

    ADCH

    C1

    C8

    C13

    RX

    TX

    1234P$

    1P$

    1P$

    2P$

    2

    X2 F1

    C9

    L

    C7

    T2

    2

    31

    IC5A6

    57

    IC5B

    84

    C12C11

    1 23 45 67 89 10

    11 1213 1415 16

    XIOH

    1 23 45 67 89 10

    11 1213 1415 16

    XIOL

    1 JP11 JP21 JP31 JP4

    21RESET-EN

    C10

    (PCINT9/OC1B)PC5 25(PCINT10)PC4 26

    (INT4/ICP1/CLK0)PC7 22(OC1A/PCINT8)PC6 23

    (AIN2/PCINT11)PC2 5

    (PCINT5)PB5 19(T1/PCINT4)PB4 18

    (PD0/MISO/PCINT3)PB3 17(PDI/MOSI/PCINT2)PB2 16

    (SCLK/PCINT1)PB1 15(SS/PCINT0)PB0 14

    (CTS/HWB/AIN6/TO/INT7)PD7 13(RTS/AIN5/INT6)PD6 12

    (XCK/AIN4/PCINT12)PD5 11(INT5/AIN3)PD4 10

    (TXD1/INT3)PD3 9(RXD1/AIN1/INT2)PD2 8

    (AIN0/INT1)PD1 7(OC0B/INT0)PD0 6

    GND3VCC4

    AVCC32

    UVCC31

    XTAL11XTAL2(PC0)2

    RESET(PC1/DW)24

    UGND28

    IC4

    PADEXP

    UCAP27

    D-30D+29

    (PCINT6)PB6 20(PCINT7/OC0A/OC1C)PB7 21

    1 23 45 6

    ICSP1

    Y2

    21U

    BOOT

    L1

    Z1 Z2

    21GROUND

    Y1R1

    1 8RN4A

    2 7RN4B

    3 6RN4C

    4 5RN4D

    18

    RN5A

    27

    RN5B

    36

    RN5C

    4 5RN5D

    18

    RN1A

    27

    RN1B

    36

    RN1C

    4 5RN1D

    1 8RN3A2 7RN3B

    3 6RN3C

    45RN3D

    18 RN2A

    2 7RN2B3 6RN2C

    45 RN2D

    134 2

    RESET

    5

    R2

    21Q1

    21Q2

    C14

    C15

    C16

    C17

    IN1

    EN3

    NC/FB 4

    OUT 5

    GND2

    R3

    R4

    +5V+5V

    GNDAREF

    AREF

    AREF

    RESET

    RESET

    RESET

    RESET

    RESET

    VIN

    VIN

    VIN

    M8RXD

    M8RXD

    M8TXD

    M8TXD

    PWRIN

    ADC0ADC2ADC1ADC3ADC4ADC5ADC6ADC7

    +3V3

    +3V3+3V3

    SDA

    SDA

    SCL

    SCL

    ADC9ADC8

    ADC10ADC11ADC12ADC13ADC14ADC15

    PB3

    PB3

    PB3

    PB2

    PB2

    PB2

    PB1

    PB1

    PB1

    PB5PB4

    PE5PE5

    PE4PE4

    PE3PE3

    PE1 PE1

    PE1

    PE0 PE0

    PE0

    DTR

    USBVCC

    USBVCC

    USBVCC

    GATE_CMD

    CMP

    PB6

    PH3

    PH3

    PH4

    PH4

    PH5

    PH5

    PH6

    PH6

    PG5

    PG5

    RXD1TXD1RXD2

    RXD2

    RXD3

    RXD3

    TXD2

    TXD2

    TXD3

    TXD3

    PC0

    PC0

    PC1

    PC1

    PC2

    PC2

    PC3

    PC3

    PC4

    PC4

    PC5

    PC5

    PC6

    PC6

    PC7

    PC7

    PB0

    PB0

    PG0

    PG0

    PG1

    PG1

    PG2

    PG2

    PD7

    PD7

    PA0 PA0PA1

    PA1PA2

    PA2PA3

    PA3

    PA4PA4

    PA5

    PA5

    PA6

    PA6

    PA7

    PA7

    PL0

    PL0

    PL1

    PL1

    PL2PL2

    PL3PL3 PL4

    PL4PL5

    PL5

    PL6

    PL6

    PL7

    PL7

    PB7

    VUCAP

    RD-

    RD-

    RD+

    RD+

    RESET2

    RESET2

    MISO2

    MISO2

    MOSI2

    MOSI2

    SCK2

    SCK2

    XVCC

    RXLTXL

    D-D+

    UGND

    UGND

    USHI

    ELD

    XTAL2

    XTAL2

    XTAL1

    XTAL1

    XT2

    XT2

    XT1

    XT1

    XTAL1R

    XT1R

    + +

    USB

    01234567

    8910111213

    15161718192021

    14

    (SCK)(MISO)

    (MOSI)

    pwmpwmpwmpwm

    pwmpwmpwm

    pwmpwmpwmpwmpwm

    pwmpwmpwm

    (TX0)(RX0)

    515253

    pwmpwm

    pwm

    pwmpwm

    (MISO)(SCK)(MOSI)

    (SS)(MOSI)

    (SCK)(MISO)

    222324252627282930323436

    31333537

    494745434139

    50484644424038

    pwmpwmpwmpwmpwm

    USB b

    oot E

    n

    Arduino Mega 2560 Reference DesignTMReference Designs ARE PROVIDED "AS IS" AND "WITH ALL FAULTS". Arduino DISCLAIMS ALL OTHER WARRANTIES, EXPRESS OR IMPLIED,

    Arduino may make changes to specifications and product descriptions at any time, without notice. The Customer must notREGARDING PRODUCTS, INCLUDING BUT NOT LIMITED TO, ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE

    rely on the absence or characteristics of any features or instructions marked "reserved" or "undefined." Arduino reservesthese for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them.The product information on the Web Site or Materials is subject to change without notice. Do not finalize a design with this information.