Como alimentar o Arduino sem resetar, esquentar ou queimar a porta USB
Qual entrada de energia usar no Arduino Uno, quanto cada uma aguenta, por que motor e relé precisam de fonte própria e como calcular o calor no regulador.
Na bancada, o cabo USB resolve. O programa sobe, o LED pisca, o sensor responde. Aí você liga o primeiro servo, ou um módulo de relés, e a placa começa a reiniciar sozinha, ou o computador avisa que a porta USB foi desligada por excesso de consumo. A resposta curta: use uma entrada de energia por vez para a placa, escolhida conforme a tensão que você tem, e alimente motores, servos, relés e fitas de LED com uma fonte separada, ligando o GND dessa fonte ao GND do Arduino. A placa existe para pensar, não para empurrar carga.
Os números deste guia são do Arduino Uno R3, a placa mais comum em sala de aula. O Uno R4, o Nano, o Mega e placas compatíveis têm limites diferentes. Confira sempre a ficha técnica da sua placa antes de ligar.
As entradas de energia do Uno e o que cada uma faz
USB
A porta USB entrega 5 V vindos do computador ou de um carregador. É a opção mais simples para desenvolvimento. O Uno R3 tem um fusível rearmável na linha do USB que corta a energia se o consumo passar de cerca de 500 mA, protegendo o computador. Esse limite tem de cobrir a placa e tudo o que estiver pendurado no pino 5 V. Um servo pequeno arrancando já pode chegar perto disso.
Conector de barril (P4) e pino Vin
O conector redondo e o pino Vin entram no regulador de tensão da placa, que transforma a tensão de entrada em 5 V. A faixa recomendada pelo fabricante para o Uno R3 é de 7 a 12 V. Abaixo disso, o regulador não consegue manter os 5 V estáveis. Acima, ele esquenta. O regulador é linear: toda a tensão que sobra vira calor.
Pino 5 V
Entrar com 5 V direto nesse pino pula o regulador e a proteção. Só faça isso com uma fonte regulada de 5 V de boa qualidade, e nunca ao mesmo tempo que o USB ou o barril estão conectados. Uma tensão um pouco acima de 5 V aqui vai direto para o microcontrolador.
Pino 3,3 V
É uma saída, não uma entrada. No Uno R3, ela fornece no máximo 50 mA. Serve para um sensor ou um módulo pequeno de 3,3 V, não para um módulo Wi-Fi que consome em picos.
Por que a placa reinicia quando a carga liga
Motores, servos e bobinas de relé puxam muita corrente no instante em que ligam, bem mais que no funcionamento estável. Se eles estão ligados no mesmo 5 V que alimenta o microcontrolador, esse pico derruba a tensão por alguns milissegundos. O chip tem um circuito de proteção que o reinicia quando a tensão cai abaixo de um limite, e é isso que você vê: a placa resetando toda vez que o motor arma.
Além do pico, motores geram ruído elétrico e picos de tensão reversa ao desligar. Esse ruído volta pela alimentação e pode travar a placa ou corromper leituras de sensores. E os pinos de saída do Arduino não foram feitos para fornecer corrente: no Uno R3, o recomendado é até 20 mA por pino. Um pino serve para dar o sinal, não para alimentar a carga.
Como montar a alimentação certa
- Some o consumo. Liste cada componente e o consumo dele pela ficha técnica, incluindo o pico de partida de motores e servos.
- Escolha uma entrada para a placa. USB na bancada. Fonte de 7 a 12 V no barril quando o projeto roda longe do computador.
- Dê fonte própria às cargas. Servos e motores numa fonte que aguente o pico deles com folga. Para baixar de 12 V para 5 V, use um conversor DC-DC do tipo buck, que esquenta muito menos que um regulador linear.
- Ligue os terras. O GND da fonte das cargas vai no GND do Arduino. Sem referência comum, o sinal que sai do pino não é entendido pelo driver do motor ou pelo servo.
- Use driver ou módulo entre o pino e a carga. Transistor, ponte H ou módulo relé. Em motores e bobinas, o diodo de proteção é obrigatório.
- Coloque um capacitor eletrolítico perto da carga. Ele fornece corrente no pico e suaviza a queda de tensão.
Exemplo: quanto o regulador esquenta
Imagine o Uno alimentado por uma fonte de 12 V no barril, com a placa e alguns sensores consumindo 200 mA no 5 V. O regulador precisa derrubar 7 V (12 menos 5) com 0,2 A passando por ele:
Potência dissipada = (tensão de entrada - 5 V) x corrente
= (12 V - 5 V) x 0,2 A
= 1,4 W
Com fonte de 9 V: (9 V - 5 V) x 0,2 A = 0,8 W
Com fonte de 7,5 V: (7,5 V - 5 V) x 0,2 A = 0,5 W
Um regulador pequeno montado na placa, sem dissipador, fica muito quente com 1,4 W. Pode chegar ao ponto de desligar por proteção térmica e religar, o que parece um defeito intermitente. Com a mesma carga, uma fonte de 7,5 ou 9 V faz o regulador trabalhar bem mais folgado. A regra prática: quanto mais corrente você puxa do 5 V da placa, mais perto de 7 V deve estar a fonte do barril.
Exemplo: servo e Arduino com uma fonte de 5 V
Para um projeto com dois servos pequenos e um Uno, uma montagem segura é:
- Uma fonte de 5 V com corrente suficiente para os dois servos em pico, com folga.
- O positivo dessa fonte vai no fio vermelho dos servos, não no pino 5 V do Arduino.
- O GND da fonte vai no fio marrom ou preto dos servos e também no GND do Arduino.
- O fio de sinal de cada servo vai num pino digital do Arduino.
- O Arduino continua no USB durante o desenvolvimento.
Assim, o pico dos servos sai da fonte deles, e o Arduino só fornece o sinal. Os dois lados compartilham apenas a referência de terra. Se o projeto tiver relés, o mesmo raciocínio vale para a bobina deles. O guia sobre relé no Arduino e a rede elétrica trata do lado dos contatos e da segurança.
Sobre baterias
A bateria de 9 V retangular parece prática, mas tem pouca carga e não aguenta bem correntes altas. Para projetos portáteis, um banco de baterias USB, ou um conjunto de pilhas recarregáveis com tensão dentro da faixa do barril, dura muito mais. Baterias de lítio exigem circuito de proteção e carregador adequado.
Ordem de ligar e desligar
Monte e altere fios com tudo desligado. Ao ligar, energize a placa e depois a fonte das cargas, para que o pino de controle já esteja num estado definido quando o motor receber energia. Ao desligar, corte primeiro a fonte das cargas. E nunca encoste fio em pino com o circuito energizado se você não tem certeza de qual é o GND: um curto entre 5 V e GND no lugar errado pode queimar a placa ou a porta USB.
Erros comuns
- Alimentar servo ou motor pelo pino 5 V do Arduino. A placa reinicia a cada partida e a porta USB pode ser desligada por excesso de consumo.
- Esquecer de ligar o GND da fonte externa ao GND do Arduino. O sinal fica sem referência e a carga se comporta de forma errática ou não responde.
- Usar fonte de 12 V no barril com muita carga no 5 V. O regulador esquenta, entra em proteção e a placa liga e desliga sem motivo aparente.
- Ligar fonte externa no pino 5 V com o USB conectado. As duas fontes brigam e uma delas pode ser danificada.
- Puxar corrente de carga direto do pino de saída. O pino passa do limite e pode ser danificado de forma permanente.
- Motor ou bobina sem diodo de proteção. O pico de tensão no desligamento volta para o circuito e pode queimar o transistor ou a placa.
Checklist
- A placa recebe energia por uma única entrada.
- Fonte no barril ou no Vin está entre 7 e 12 V, de preferência mais perto do limite de baixo.
- Motores, servos, relés e fitas de LED têm fonte própria.
- O GND da fonte externa está ligado ao GND do Arduino.
- Nenhuma carga puxa corrente direto de um pino de saída.
- Motores e bobinas têm diodo de proteção, e há capacitor perto das cargas.
- O consumo total, com picos, foi somado e cabe na fonte com folga.
- Você conferiu os limites na ficha técnica da sua placa específica.
Se o seu projeto reinicia quando o atuador liga, siga o fio vermelho do motor até a origem. Ele termina no pino 5 V da placa, ou numa fonte que foi escolhida para aguentar o pico dele?
Referência: http://www.eaduino.com.br/2011/08/energizando-o-arduino/