Arduino MEGA 2560

Arduino-Mega-2560-destaque
Este post faz parte da série Placas Arduino. Leia também os outros posts da série:

Introdução à Arduino MEGA 2560

A placa Arduino Mega 2560 é mais uma placa da plataforma Arduino que possui recursos bem interessantes para prototipagem e projetos mais elaborados. Baseada no microcontrolador ATmega2560, possui 54 pinos de entradas e saídas digitais onde 15 destes podem ser utilizados como saídas PWM. Possui 16 entradas analógicas, 4 portas de comunicação serial. Além da quantidade de pinos, ela conta com maior quantidade de memória que Arduino UNO, sendo uma ótima opção para projetos que necessitem de muitos pinos de entradas e saídas além de memória de programa com maior capacidade. A seguir serão apresentadas as suas características construtivas, passando pelos principais recursos que essa placa apresenta. Você conhecerá o poder dessa placa!

Alimentação da placa Arduino MEGA

A alimentação da placa Arduino Mega, como ocorre na Arduino UNO pode ser feita tanto pela USB, como por uma alimentação externa. A seguir são apresentados os conectores para alimentação:

Arduino-Mega-2560-POWER-01
Figura 1 - Alimentação da placa Arduino Mega

Como na placa Arduino UNO, a alimentação externa é feita através do conector Jack com positivo no centro, onde o valor de tensão da fonte externa deve estar entre os limites 6V. a 20V., porém se alimentada com uma tensão abaixo de 7V., a tensão de funcionamento da placa, que no Arduino MEGA 2560 é de 5V, pode ficar instável e quando alimentada com tensão acima de 12V, o regulador de tensão da placa pode sobreaquecer e danificar a placa. Dessa forma, é recomendado para tensões de fonte externa valores de 7V. a 12V.

O circuito regulador para entrada externa é idêntico ao da Arduino Uno e é exibido a seguir. Nota-se que o CI responsável pela regulação de tensão é o OnSemi NCP1117:

Arduino-Mega-2560-circuito-alimentação-02
Figura 2 - Circuito regulador de tensão

Quando o cabo USB é plugado a um PC, por exemplo, a tensão não precisa ser estabilizada pelo regulador de tensão, dessa forma a placa é alimentada diretamente pela USB. O circuito da USB apresenta alguns componentes que protegem a porta USB do computador em caso de alguma anormalidade. Na figura abaixo é exibido o circuito de proteção da USB da placa Arduino MEGA 2560.

Arduino-Mega-2560-circuito-USB-03
Figura 3 - Circuito de proteção da USB da placa Arduino MEGA 2560

O dois varistores (Z1 e Z2) podem suportar picos elevados de SURGE e energias elevadas de transientes. Seria preferível se, ao invés de varistores, fossem conectados diodos supressores de ESD que tem capacitância bem baixa, já que estão ligados a pinos rápidos de comunicação, mas o circuito funciona bem mesmo assim. O resistores de 22 Ohms (RN2A e RN2D), limitam uma corrente resultante de alguma descarga elétrica eventual de um usuário em contato com o conector USB, protegendo, dessa forma, os pinos do microcontrolador.

O fusível resetável (F1) de 500 mA. impede que a porta USB do computador queime, caso ocorra algum problema de projeto ou uma falha no circuito e ultrapasse a corrente de 500 mA. quando a  placa estiver conectada ao PC. O ferrite L1 foi incluído no circuito para que ruídos da USB externa não entrem no circuito da placa Arduino, através de seu terra.

Além dos recursos apresentados anteriormente a  placa conta com um circuito pra comutar a alimentação automaticamente entre a tensão da USB e a tensão da fonte externa. Esse circuito está apresentado na figura abaixo. Caso haja uma tensão no conector DC e a USB é conectada, a tensão de 5V será proveniente da fonte externa e USB servirá apenas para comunicação com o PC.

Arduino-Mega-2560-circuito-comparador-04
Figura 4 - Circuito de seleção de fonte na arduino MEGA

Como pode-se observar na figura anterior existe na placa um regulador de 3,3V. (U2- LP2985). Este componente é responsável por fornecer uma tensão continua de 3,3V para alimentação de circuitos ou shields que necessitem desse valor de tensão. Deve-se ficar atento ao limite máximo valor de corrente  que este regulador pode fornecer, que no caso é de 50 mA.

A seguir são exibidos os conectores de alimentação para conexão de shields e módulos na placa Arduino MEGA:

Arduino-Mega-2560-conectores-alimentação-05
Figura 5 - Conectores de alimentação para conexão de shields e módulos na placa Arduino MEGA

IOREF - Fornece uma tensão de referência para que shields possam selecionar o tipo de interface apropriada, dessa forma shields que funcionam com a placas Arduino que são alimentadas com 3,3V. podem ser adaptar para ser utilizados em 5V. e vice-versa.

RESET - pino conectado a pino de RESET do microcontrolador. Pode ser utilizado para um reset externo da placa Arduino.

3,3 V. -  Fornece tensão de 3,3V. para alimentação de shield e módulos externos. Corrente máxima de 50 mA.

5 V - Fornece tensão de 5 V para alimentação de shields e circuitos externos.

GND  - pinos de referencia, ground, terra.

VIN - pino para alimentar a placa através de shield ou bateria externa. Quando a placa é alimentada através do conector Jack a tensão da fonte estará nesse pino.

Comunicação USB

Como interface USB para comunicação com o computador, há na placa um microcontrolador ATMEL ATMEGA16U2.

Arduino-Mega-2560-atmega16u2-06
Figura 6 - Conversor USB-serial com ATmega16u2

Este microcontrolador é o responsável pela forma transparente como funciona a placa ARDUINO MEGA 2560, possibilitando o upload do código binário gerado após a compilação do programa feito pelo usuário. Possui um conector ICSP para gravação de firmware através de um programador ATMEL, para atualizações futuras.

Nesse microcontrolador também estão conectados dois leds (TX, RX), controlados pelo software do microcontrolador, que indicam o envio e recepção de dados da placa para o computador. Ele possui um cristal externo de 16 MHz. É interessante notar a conexão entre este microcontrolador com o ATMEL ATMEGA2560 onde é feita pelo canal serial desses microcontroladores. Outro ponto interessante que facilita o uso da placa Arduino é a conexão do pino 13 do ATMEGA16U2 ao circuito de RESET do ATMEGA2560, possibilitando a entrada no modo bootloader automaticamente quando é pressionado o botão Upload na IDE. Essa características não acontecia nas primeiras placas Arduino onde era necessário pressionar o botão de RESET antes de fazer o Upload na IDE.

Arduino-Mega-2560-circuito-serial-07
Figura 7 - Circuito de comunicação serial

Microcontrolador da placa Arduino MEGA 2560

O microcontrolador utilizado na Arduino MEGA 2560  é o ATMEL ATmega2560, um microcontrolador de 8 bits de arquitetura RISC avançada. Esse microcontrolador possui mais recursos comparado ao ATmega328 da Arduino UNO. Ele conta com 256 KB de Flash (mais 8 KB são utilizados para o bootloader), 8 KB de RAM e 4 KB de EEPROM. Chega 16 MIPS, operando em 16 MHz. Possui multiplicador por Hardware e diversos periféricos que aumentam as possibilidades da plataforma Arduino baseada em Atmel ATMEGA, dentre as quais pode-se destacar 4 canais de comunicação serial, 16 entradas analógicas e 15 saídas PWM. Possui ainda comunicação SPI, I2C e 6 pinos de interrupções externas.

Segue abaixo uma imagem deste microcontrolador com encapsulamento TQFP, o mesmo utilizado na placa Arduino Mega 2560:

Arduino-Mega-2560-pinos-08
Figura 8 - Microcontrolador ATmega2560

Pinos de entradas e Saídas da placa Arduino MEGA 2560

A placa Arduino MEGA 2560 possui 54 pinos de entradas e saídas digitais que podem ser utilizadas como entrada ou saída conforme a necessidade de seu projeto, através das funções pinMode(), digitalWrite(), e digitalRead().  Os pinos operam com tensão de 5V e podem fornecer ou drenar até 40 mA.  Cada pino possui resistor de pull-up interno que pode ser habilitado por software. Alguns desse pinos possuem funções especiais como exibido a seguir:

  • Comunicação Serial - Serial 0 (RX) e 1 (TX); Serial 1: 19 (RX) e 18 (TX); Serial 2: 17 (RX) e 16 (TX); Serial 3: 15 (RX) e14 (TX). Os pinos 0 e 1 estão conctados aos pinos do ATmega16U2  responsável pela comunicação USB

  • Interrupções externas -  2 (interrupt 0), 3 (interrupt 1), 18 (interrupt 5), 19 (interrupt 4), 20 (interrupt 3), and 21 (interrupt 2).  estes pinos podem ser configurados para disparo da interupção tanto na borda de subida ou descida, ou em niveis lógicos alto ou baixo, conforme a necessidade do projeto. Veja a função attachInterrupt() para mais detalhes.

  • PWM: os pinos 2 a 13 e 44 a 46 podem ser utilizados como saídas PWM. O sinal PWM possui 8 bits de resolução e é implemetado com a função analogWrite().

  • Comunicação SPI: Pinos: 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS). A comunicação SPI pode se manipulada pela função SPI library. Estes pinos estão ligados ao conector ICSP.

  • Comunicação I2C: (TWI): pinos 20 (SDA) and 21 (SCL).  

A Arduino Mega2560 possui 16 entradas analógicas (pinos A0 a A15), onde pode ser feita a conversão com uma resolução de 10 bits, ou seja, o valor será convertido entre 0 e 1023. Por padrão o tensão de referência é conectada a 5V. Porém é possível mudar o valor de referência através do pino AREF e a função analogReference().

Abaixo é exibido os pinos de entradas analógicas no Arduino MEGA2560

Arduino-Mega-2560-entradas-analógicas-09
Figura 9 - Pinos de entradas Analógicas

Abaixo é exibido a pinagem do ATMEGA2560 em relação a pinagem do Arduino:

Arduino-Mega-2560-arduino-pinout-10
Figura 10 - ATmega2560 Arduino pinout

Características físicas

A placa Arduino MEGA 2560 possui dimensões relativamente pequenas para a quantidades de pinos disponíveis. Possui dimensões de 4”X 2,1”. A imagem a seguir da uma ideia da dimensão desta placa:

Arduino-Mega-2560-dimensões-11
Figura 11 - Dimensões da Arduino Mega 2560

Fonte: http://blog.arduino.cc/2011/01/05/nice-drawings-of-the-arduino-uno-and-mega-2560/

Resumo da placa Arduino MEGA 2560

 

Arduino-Mega-2560-recursos
Figura 12 - resumo de recursos da Arduino MEGA 2560

Conclusão

A placa Arduino MEGA 2560 é uma ótima opção para expandir seus projetos, quando há a necessidade de mais pinos ou quantidade de memória FLASH. Possui desempenho parecido com a placa Arduino UNO, porém possibilitando maior quantidades de  recursos, como mais entradas analógicas e saídas PWM. Pode ser aplicada em automação residencial, robótica e em vários projetos eletrônicos que necessitem de muitos pinos digitais ou analógicos.

E você já utilizou a arduino MEGA? Conte suas experiências e ideia de projetos.

 

Para aprender mais sobre Arduino

Arduino - Primeiros Passos

 

 

Referências

Site Arduino - Arduino MEGA 2560

 Arduino UNO

 Atmel - Atmega2560

Outros artigos da série

<< Arduino LeonardoArduino Esplora >>
Engenheiro com experiência no desenvolvimento de projetos eletrônicos embarcados. Também atuou no ensino técnico de eletrônica e programação. Hoje é responsável pelo operacional do Embarcados, onde trabalha para levar conteúdo de eletrônica, programa de sistemas embarcados e IoT para o Brasil. Entusiastas do movimento maker, DIY e do compartilhamento de conhecimento, publica diversos artigos sobre eletrônica e sistemas Embarcados, além de projetos open hardware. Realiza palestras e workshops onde leva conhecimento para as pessoas de forma presencial.

Deixe um comentário

43 Comentários em "Arduino MEGA 2560"

Notificar
avatar
 
Ordenar por:   recentes | antigos | mais votados
flav silva lima
Visitante
flav silva lima

Tem como conectar parear 2 dispositivos na mesma placa e fazer com os mesmos funcionem simultaneamente ??

Maiko Stefini
Visitante
Maiko Stefini

Boa tarde Fábio, muito bom este site, estou desenvolvendo um projeto e achei o arduino bem interessante pra isso, só que tenho algumas dúvidas, eu vou precisar trabalhar com 3 módulos termopar enviando a temperatura para um sistema no Pc, além disso vou precisar instalar módulos relé, consigo fazer isso com um arduino só? Transportando os dados pela USB?

Carlos Aguiar
Visitante
Carlos Aguiar

Ninguém responsável por este sítio revê estes comentários? Na verdade, nenhum 'links' para as imagens de referência, está funcionando.

Natanael França Moura
Visitante
Natanael França Moura

As imagens não estão carregando ( https://www.embarcados.com.br/arduino-mega-2560/ )

Matheus Martins
Visitante
Matheus Martins

Estou querendo usar o arduino para injeção eletronica, pois irei trabalhar com a eletrolise de hidrogenio e estou pensando em utilizar ele no controle de produção do gas e na mistura de combustivel.. gostaria de controlar os bicos injetores do carro tambem.. seria possivel utilizando o arduino mega?

Thiago Lima
Admin
Thiago Lima

Oi Matheus, para sistemas embarcados mais sofisticados ou q exigem seguranca nao recomendamos o uso de arduino.
como fabio disse abaixo, se for so uma experiencia tudo bem. 🙂

trackback
Arduino: Como utilizar o TIMER do ATmega328 - Embarcados

[…] Arduino MEGA 2560 […]

Carlos Renck
Visitante
Carlos Renck

Estou querendo usar o Arduino Mega 2560 R3 para controlar
Relés de Estado Sólidos (SSR). Gostaria que o arduino guardasse sempre o estado
das saídas e em quedas de energia o arduino iniciasse as saídas no estado
anterior à queda. Também gostaria de alterar o estado das saídas do arduino via
USB através do computador com um programa de configuração e comunicação com o
arduino.

Isso é possível???

trackback
ESP8266 com Arduino - Aprenda a fazer essa interface!

[…] Com ênfase para o módulo ESP-01, que se destaca pelo fato de ser projetado para operar como ponte Serial-WiFi ou como um simples controle de IO, será então demonstrado um passo a passo de configuração e uso junto com a placa Arduino Mega 2560. […]

trackback
Arduino - Comunicação Serial - Embarcados

[…] Arduino MEGA 2560 […]

trackback
Simulador de Arduino - Virtual BreadBoard - Embarcados

[…] Arduino MEGA 2560 […]

wpDiscuz