描述
DIY Arduino 巨型 PCB
Arduino Mega 2560 是基于 ATmega2560 的微控制器板。 它有 54 个数字输入/输出引脚(其中 15 个可用作 PWM 输出)、16 个模拟输入、4 个 UART(硬件串行端口)、一个 16 MHz 晶体振荡器、一个 USB 连接、一个
电源插孔、一个 ICSP 接头、和一个重置按钮。它包含支持微控制器所需的一切;只需使用 USB 电缆将其连接到计算机或使用 AC-DC 适配器或电池为其供电即可开始使用。Mega 2560 板与为 Uno 和以前的板 Duemilanove 或 Diecimila 设计的大多数屏蔽兼容。
概括
微控制器 ATmega2560
工作电压 5V
输入电压(推荐)7-12V
输入电压(限制)6-20V
数字 I/O 引脚 54 个(其中 14 个提供 PWM 输出)
模拟输入引脚 16
每个 I/O 引脚的直流电流 40 mA
3.3V 引脚的直流电流 50 mA
闪存 256 KB,其中 8 KB 由引导加载程序使用
SRAM 8 KB
EEPROM 4 KB
时钟速度 16 MHz
力量
Arduino Mega 可以通过 USB 连接或外部电源供电。自动选择电源。
外部(非 USB)电源可以来自 AC 到 DC 适配器(壁式电源)或电池。可以通过将 2.1 毫米中心正极插头插入
电路板的电源插孔来连接适配器。电池的引线可以插入 POWER 连接器的 Gnd 和 Vin 引脚接头。
该板可在 6 至 20 伏的外部电源上运行。但是,如果提供的电压低于 7V,则 5V 引脚可能会提供低于 5V 的电压,并且电路板可能会不稳定。如果使用超过 12V 的电压,稳压器可能会过热并损坏电路板。推荐的范围是 7 到 12 伏。
Mega2560 与之前所有板卡的不同之处在于它不使用 FTDI USB 转串口驱动芯片。相反,它具有 ATmega16U2(版本 1 和版本 2 板中的 ATmega8U2)被编程为 USB 到串行转换器。
Mega2560 板的修订版 2 有一个电阻器将 8U2 HWB 线拉到地,使其更容易进入 DFU 模式。
董事会的修订版 3 具有以下新功能:
1.0 引脚分配:添加了靠近 AREF 引脚的 SDA 和 SCL 引脚以及放置在 RESET 引脚附近的另外两个新引脚,IOREF 允许屏蔽适应电路板提供的电压。将来,扩展板将与使用 5V 运行的 AVR 的板和使用 3.3V 运行的 Arduino Due 兼容。第二个是未连接的引脚,保留以供将来使用。
更强的复位电路。
Atmega 16U2 替换 8U2。
电源引脚如下:
车辆识别号。Arduino 板使用外部电源时的输入电压(与来自 USB 连接或其他稳压电源的 5 伏相反)。您可以通过此引脚提供电压,或者,如果通过电源插孔提供电压,则通过此引脚访问它。
5V。稳压电源用于为板上的微控制器和其他组件供电。这可以通过板载稳压器来自 VIN,也可以由 USB 或其他稳压 5V 电源提供。
3V3。由板载稳压器产生的 3.3 伏电源。最大电流消耗为 50 mA。
接地。接地引脚。
记忆
ATmega2560 有 256 KB 的闪存用于存储代码(其中 8 KB 用于引导加载程序)、8 KB 的 SRAM 和 4 KB 的 EEPROM(可以通过 EEPROM 库进行读写)。
输入和输出
Mega 上的 54 个数字引脚中的每一个都可以用作输入或输出,使用 pinMode()、digitalWrite() 和 digitalRead() 函数。它们的工作电压为 5 伏。每个引脚可提供或接收最大 40 mA 的电流,并具有 20-50 kOhms 的内部上拉电阻(默认断开)。此外,一些引脚具有特殊功能:
串行:0(RX)和 1(TX);串行 1:19(RX)和 18(TX);序列号 2:17(RX)和 16(TX);串行 3:15(RX)和 14(TX)。用于接收 (RX) 和发送 (TX) TTL 串行数据。引脚 0 和 1 也连接到 ATmega16U2 USB-to-TTL 串行芯片的相应引脚。
外部中断:2(中断 0)、3(中断 1)、18(中断 5)、19(中断 4)、20(中断 3)和 21(中断 2)。这些引脚可配置为在低值、上升沿或下降沿或值变化时触发中断。有关详细信息,请参阅 attachInterrupt() 函数。
PWM:0 到 13。通过 analogWrite() 函数提供 8 位 PWM 输出。
SPI:50(味噌)、51(MOSI)、52(SCK)、53(SS)。这些引脚支持使用 SPI 库的 SPI
通信。SPI 引脚也在 ICSP 接头上断开,与 Uno、Duemilanove 和 Diecimila 物理兼容。
LED:13。有一个内置LED连接到数字引脚13。当引脚为HIGH值时,LED亮,当引脚为LOW时,它关闭。
TWI:20 (SDA) 和 21 (SCL)。使用 Wire 库支持 TWI 通信。请注意,这些引脚与 Duemilanove 或 Diecimila 上的 TWI 引脚的位置不同。
Mega2560 有 16 个模拟输入,每个输入提供 10 位分辨率(即 1024 个不同的值)。默认情况下,它们从接地测量到 5 伏,但可以使用 AREF 引脚和模拟参考()函数更改其范围的上限。
板上还有其他几个引脚:
AREF。模拟输入的参考电压。与analogReference() 一起使用。
重置。将此线拉低以重置微控制器。通常用于将重置按钮添加到屏蔽的屏蔽
沟通
The Arduino Mega2560 has a number of facili
ties for communicating with a computer, another Arduino, or other microcontrollers. The ATmega2560 provides four hardware UARTs for TTL (5V) serial communication. An ATmega16U2 (ATmega 8U2 on the revision 1 and revision 2 boards) 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/ATmega16U2 chip and USB connection to the computer (but not for serial communication on pins 0 and 1).
SoftwareSerial 库允许在 Mega2560 的任何数字引脚上进行串行通信。
ATmega2560 还支持 TWI 和 SPI 通信。Arduino 软件包括一个 Wire 库以简化 TWI 总线的使用;有关详细信息,请参阅文档。对于 SPI 通信,请使用 SPI 库。
编程
Arduino Mega 可以使用 Arduino 软件(下载)进行编程。有关详细信息,请参阅参考资料和教程。
Arduino Mega 上的 ATmega2560 预烧了一个引导加载程序,允许您在不使用外部硬件编程器的情况下上传新代码。它使用原始的 STK500 协议(参考,C 头文件)进行通信。
您还可以绕过引导加载程序并通过 ICSP(在线串行编程)接头对微控制器进行编程;有关详细信息,请参阅这些说明。ATmega16U2(或 rev1 和 rev2 板中的 8U2)固件源代码可在 Arduino 存储库中获得。ATmega16U2/8U2 加载了 DFU 引导加载程序,可以通过以下方式激活:
在 Rev1 板上:连接板背面的焊接跳线(靠近意大利地图),然后重置 8U2。
在 Rev2 或更高版本的板上:有一个电阻将 8U2/16U2 HWB 线拉到地,使其更容易进入 DFU 模式。然后,您可以使用 Atmel 的 FLIP 软件 (Windows) 或 DFU 编程器(Mac OS X 和 Linux)来加载新固件。或者您可以将 ISP 标头与外部编程器一起使用(覆盖 DFU 引导加载程序)。有关更多信息,请参阅此用户提供的教程。
自动(软件)复位
Arduino Mega2560 无需在上传之前物理按下重置按钮,而是设计为允许通过连接的计算机上运行的软件对其进行重置。ATmega8U2 的其中一条硬件流控制线 (DTR) 通过 100 纳法电容连接到 ATmega2560 的复位线。当这条线被置位(拉低)时,复位线下降到足以复位芯片。Arduino 软件使用此功能让您只需在 Arduino 环境中按下上传按钮即可上传代码。这意味着引导加载程序可以有更短的超时时间,因为 DTR 的降低可以与上传的开始很好地协调。
此设置还有其他含义。当 Mega2560 连接到运行 Mac OS X 或 Linux 的计算机时,每次从软件(通过 USB)连接到它时它都会重置。在接下来的半秒左右,引导加载程序在 Mega2560 上运行。虽然它被编程为忽略格式错误的数据(即除了上传新代码之外的任何内容),但它会在打开连接后截取发送到电路板的前几个字节的数据。如果板上运行的草图在第一次启动时收到一次性配置或其他数据,请确保与之通信的软件在打开连接后和发送此数据之前等待一秒钟。
Mega2560 包含一条可以切断以禁用自动复位的迹线。迹线两侧的焊盘可以焊接在一起以重新启用它。它标有“RESET-EN”。您还可以通过将 5V 的 110 欧姆电阻连接到复位线来禁用自动复位;有关详细信息,请参阅此
论坛主题。
USB过流保护
Arduino Mega2560 具有可重置的多熔断器,可保护计算机的 USB 端口免受短路和过流的影响。尽管大多数计算机都提供自己的内部保护,但保险丝提供了额外的保护层。如果对 USB 端口施加超过 500 mA 的电流,保险丝将自动断开连接,直到短路或过载消除。
物理特性和屏蔽兼容性
Meg2560 PCB 的最大长度和宽度分别为 4 英寸和 2.1 英寸,USB 连接器和电源插孔超出了原来的尺寸。三个螺丝孔使电路板可以连接到表面或外壳上。请注意,数字引脚 7 和 8 之间的距离为 160 mil (0.16"),而不是其他引脚 100 mil 间距的偶数倍。
Mega2560 旨在与为 Uno、Diecimila 或 Duemilanove 设计的大多数防护罩兼容。数字引脚 0 到 13(以及相邻的 AREF 和 GND 引脚)、模拟输入 0 到 5、电源接头和 ICSP 接头都位于相同的位置。此外,主 UART(串行端口)位于相同的引脚(0 和 1)上,外部中断 0 和 1(分别为引脚 2 和 3)也是如此。SPI 可通过 Mega2560 和 Duemilanove / Diecimila 上的 ICSP 接头获得。请注意,I2C 与 Duemilanove / Diecimila(模拟输入 4 和 5)不在 Mega(20 和 21)上的相同引脚上。