Nesta série de posts vamos mudar um pouco a forma de falar sobre o Arduino. Desta vez quero mostrar de forma geral como o Arduino Uno foi construído.
Vou fazer isto a partir da apresentação do esquemático eletrônico e a função de cada parte que compõe o circuito da placa que é, provavelmente, a mais utilizada da plataforma.
Antes de começarmos é preciso salientar que o Arduino como um todo, não apenas o Uno, é uma plataforma opensource. Isso quer dizer que é de software e hardware abertos, onde qualquer pessoa pode replicar sua própria placa com base no original.
O foco deste post é trazer uma visão sobre o Arduino Uno original, utilizando como referência o esquemático disponível no site oficial do Arduino, www.arduino.cc.
Os modelos similares adquiridos em sites não oficiais, como Aliexpress e diversos outros, podem ter uma construção diferente do que veremos neste artigo.
Introdução
Quando vamos começar a estudar a plataforma Arduino nós seguimos alguns passos. Podemos começar pegando uma placa, ou utilizando um simulador como o Tinkercad. Em seguida buscamos meios de entender como programar a placa, por meio de vídeos ou cursos talvez. Seguimos testando vários exemplos, começando possivelmente pelo blink.
Esta facilidade que a plataforma Arduino proporciona, de partir direto para o que interessa, foi uma das coisas que alavancou o uso da plataforma nas mais diversas áreas, desde educação maker até seu uso em soluções industriais.
Apesar deste caminho ser uma forma comum de começar a aprender Arduino, é possível dar um passo atrás para entender as coisas de forma mais profunda.
A Visão na Engenharia
Nos cursos de engenharia, seja eletrônica, mecatrônica ou computação, é possível apresentar a plataforma Arduino em disciplinas como microcontroladores ou prototipação de circuitos.
Nesses cursos você não aprenderia sobre a plataforma da forma que mencionei anteriormente, mas de uma forma mais profunda com foco no microcontrolador. No caso do Arduino Uno seria o ATmega328.
Outra forma seria olhar para o Arduino Uno é utilizando seu esquema elétrico. Com esta abordagem é possível entender algumas possibilidades e limitações da plataforma.
O esquema elétrico é o documento que modela um circuito apresentando seus componentes e todas as suas interligações. O esquemático do Arduino Uno pode ser visto na Figura 1.1. Para uma visão mais detalhada acesse o PDF neste link.
Uma visualização mais completa e detalhada pode ser observada abaixo no visualizador da Altium. Nele temos a visão do esquemático, da placa do circuito, a visão tridimensional da placa e a lista de componentes.
Neste visualizador é possível selecionar um componente e visualiza-lo em destaque em outro formato.
Diagrama de Blocos
Antes de apresentar os detalhes do esquemático é pertinente observarmos o Arduino Uno em blocos.
A Figura 1.2 mostra um diagrama em blocos simplificado do Arduino Uno. Nele podemos ver que o Arduino Uno pode ser dividido em três grandes blocos: a Fonte de Alimentação, a Comunicação USB e o bloco de Processamento e Periféricos.
O bloco Fonte de Alimentação é responsável por alimentar a placa Arduino Uno e disponibilizar a alimentação dos pino 5VCC e 3,3VCC que comumente são utilizados para fornecer corrente aos módulos, sensores, atuadores etc. Devemos sempre respeitar os limites desta alimentação.
Também na Figura 1.2 temos o bloco Comunicação USB. Ele é responsável por permitir que o Arduino Uno se comunique com o computador para qualquer objetivo, seja ele gravação do código ou não.
Por fim, o bloco Processamento e Periféricos tem a responsabilidade de processar tudo o que programamos na IDE do Arduino. É ele que realizar as operações do nosso código e responde às entradas e saídas. Enfim, os pinos digitais e analógicos do Arduino Uno estão ligados a este bloco.
A Figura 1.3 mostra o esquemático com as separações por bloco.
Conhecendo o Esquemático
Agora que conhecemos os principais blocos do Arduino Uno podemos seguir para a análise do esquemático.
Nas seções a seguir adicionei algumas imagens para ilustrar o que quero passar. Mesmo assim sugiro que também acesse o esquemático original em PDF neste link para ter uma melhor qualidade de visualização e poder dar ampliar as partes citadas.
Além de observar o esquemático nós vamos fazer um paralelo com a própria placa do Arduino Uno. A Figura 1.4 mostra a placa e a nomenclatura dos pinos na placa. Vamos fazer referência a esta imagem ao longo do texto.
Fonte de Alimentação
Como mencionado anteriormente este bloco é responsável por fornecer alimentação para o Arduino Uno como um todo. Além disso é este bloco que fornece acesso aos pinos 5VCC e 3,3VCC que tem como função alimentar dispositivos externos à placa.
A Figura 1.5 mostra apenas o esquemático do bloco em questão. Adicionei alguns marcadores para facilitar a explicação.
Vamos começar observando na Figura 1.5 a seta que indica o VIN. Apesar de estar escrito na seta azul VIN, este indicador também está no esquemático como uma linha que não está conectando dois pontos. Ele vai para um circuito divisor de tensão com os resistores RN1A e RN1B, ambos de 10 kΩ.
Comparador na entrada do pino VIN
Este detalhe pode ser visto na Figura 1.6. Observe o VIN, indicado pela seta vermelha no canto superior-esquerdo. Este ponto de entrada é refletido no pino de mesmo nome, VIN, presente na placa do Arduino e mostrada na Figura 1.4.
O detalhe apresentado na Figura 1.6 mostra um circuito integrado amplificador operacional sendo utilizado como comparador. A saída do divisor resistivo, nomeado como CMP no circuito, é metade da tensão em VIN e é comparado com a tensão de 3,3 V pelo LVM358IDGKR. Caso CMP seja menor que 3,3 V a saída do amp-op U5A será zero.
Desta forma, com a saída em zero, o GATE do MOSFET de canal P, FDN340P, ficará com este valor e vai conduzir o USBVCC (tensão que vem da USB) para o +5V e para o U2, indicado pela seta na Figura 1.6.
Entrada pelo Power Supply.
Seguindo para outra parte do bloco de alimentação, temos o detalhe na Figura 1.7 da entrada da alimentação pelo conector Power Supply. Ele é o conector preto que fica do mesmo lado do conector USB da placa e que usamos para conectar uma fonte externa. Na Figura 1.7 ele é o X1 e está destacado como POWER SUPPLY.
Este conector pode receber uma tensão recomentada de 7 à 12 volts. A linha positiva desta alimentação é nomeada como PWRIN e segue para o diodo D1. Este diodo pode gerar uma queda de tensão de aproximadamente 1 V segundo o datasheet neste link. Este valor pode mudar de acordo com o fabricante, que não está especificado na documentação do Arduino Uno.
Continuando a análise pela Figura 1.7, após que de tensão gerada pelo diodo, temos a interligação do cátodo do D1 com um capacitor PC1 e com o circuito integrado U1. Observe que neste ponto também vemos o VIN, que significa que após o D1 a valor da tensão existente vai estar presente no pino VIN.
O U1 é um circuito integrado regulador de tensão para +5 V (NCP1117ST50T3G). Ele é responsável por fornecer os 5 volts da placa quando usamos uma fonte externa, seja por VIN ou não. Sua saída, nos pinos 2 e 4, está destacada na Figura 1.7 pelo circulo tracejado vermelho.
Perceba que quando alimentamos o Arduino Uno com a fonte externa o pino VIN vai receber o valor da fonte externa menos a queda gerada pelo D1 de aproximadamente 1 V.
É importante respeitar os limites de corrente que o componente fornece sendo tipicamente 1 A e no máximo 2,2 A. Se observarmos o datasheet circuito integrado também veremos que sua tensão máxima de entrada é 20 V. Por isso esta é a recomendação máxima para a fonte para alimentar o Arduino.
Ou ponto importante destacado datasheet é que a queda de tensão (dropout voltage) necessária para o circuito integrado realizar a regulagem é de aproximadamente 1 V, dependendo da corrente drenada de acordo com o gráfico apresentado no datasheet. Assim, se queremos uma saída de 5 V devemos pelo menos fornecer entre 6 V como entrada. Idealmente, como versa a documentação do Arduino, utilizamos 7 V no mínimo devido às aproximações e condições individuais de cada circuito.
Para fechar este tópico, tenha em mente que qualquer referência aos +5V em todo o circuito indicará que os pontos estão interconectados. Do mesmo jeito que o VIN na Figura 1.6 está conectado ao VIN da Figura 1.7.
Regulador de 3,3 volts
Apesar de o circuito do Arduino Uno não utilizar a tensão de 3,3 volts para alimentar os componentes da placa, ela fornece esta alimentação para ser utilizada em módulos externos.
A Figura 1.8 mostra o detalhe desta etapa. Nela podemos ver que a entrada do regulador de tensão U2 (LP2985-33DBVR) é no pino 1 que recebe +5V, destacado pelo círculo tracejado vermelho.
De acordo com o datasheet deste circuito integrado, ele fornece apenas 150 mA de corrente em sua saída. Devemos então ficar atentos para não exceder este limite quando estamos alimentando outros componentes pela saída de 3,3 V do Arduino Uno.
LEDs
Para finalizar o bloco da Fonte de Alimentação temos mais dois conjuntos de componentes.
O primeiro, apresentado à esquerda na Figura 1.9, utliza o amp-op LMV358IDGKR é um driver de corrente. Neste caso é utilizado o mesmo circuito integrado apresentado anteriormente como comparador, o U5, porém outro amp-op internamente. Este LED vai representar a existência ou não do sinal SCK. Vale ressaltar que este é o LED do pino digital 13 do Arduino.
O outro conjunto, à direita na Figura 1.9, é apenas um o LED que se mantém aceso quando ligamos o Arduino Uno. Ele recebe a tensão +5V e utiliza dois resistores de 1 kΩ em paralelo, resultando 500 Ω. O uso de dois resistores se dá, provavelmente, para aproveitar resistores sobressalentes em uma componente RN (Resistor Network).
Considerações Finais
Neste post começamos a ver o Arduino sobre um novo ponto de vista: o esquema elétrico.
Começamos pelo o bloco Fonte de Alimentação, destacado na Figura 1.1. Vimos que esta etapa do circuito do Arduino Uno conta com dois reguladores de tensão. Um para 5 V e outro para 3,3 V, sendo 2,2 A de corrente fornecida na linha dos 5 V e 150 mA em 3,3 V.
Com as observações realizadas vimos que é possível alimentar o Arduino pelo pino VIN e que idealmente a tensão mínima para alimentação é no mínimo 7 V para evitar problemas de aproximação inerentes ao funcionamento dos componentes .
No próximo post da série veremos o bloco Comunicação USB.
Referências
ARDUINO. Arduino UNO REV3. [S. l.], 2010. Disponível em: https://store.arduino.cc/usa/arduino-uno-rev3/. Acesso em: 29 mai. 2021.
Ótimo conteúdo, parabéns