Como saber quanta corrente um circuito está consumindo, em tempo real, sem colocar o multímetro no meio? O ACS712 resolve isso usando campo magnético e o efeito Hall — e ainda mantém o seu Arduino eletricamente isolado da parte de potência.

Mas existe um detalhe de ligação que confunde muita gente e vale esclarecer logo de cara.

⛔ Importante: o ACS712 NÃO é um sensor tipo 'clamp' (garra). A corrente medida precisa passar por dentro dele. Você tem que interromper o fio e prender as duas pontas nos bornes de parafuso (IP+ e IP−), ligando o sensor em série com a carga. Quem mede sem cortar o fio é o sensor tipo alicate (ex.: SCT-013), que é outro produto.

⚡ Como funciona o efeito Hall

Toda corrente elétrica cria um campo magnético ao seu redor. O ACS712 aproveita isso:

  1. A corrente a medir atravessa uma trilha de cobre interna do chip (de resistência baixíssima, ~1,2 mΩ).
  2. Essa corrente gera um campo magnético proporcional.
  3. Um sensor Hall integrado mede esse campo.
  4. O chip converte o campo em uma tensão de saída proporcional à corrente.

E o melhor: entre a trilha de potência e o circuito de saída existe isolação galvânica (na ordem de 2,1 kV). Seu Arduino não tem contato elétrico com a corrente medida.

📊 A saída: 2,5 V é o zero

A saída é analógica e funciona de forma bidirecional: sem corrente, ela fica em metade da alimentação — ou seja, 2,5 V quando alimentado com 5 V.

  • Corrente num sentido → tensão sobe acima de 2,5 V.
  • Corrente no sentido oposto → tensão desce abaixo de 2,5 V.
  • É por isso que ele mede tanto DC quanto AC.
I = (V_lida − V_zero) ÷ sensibilidadeV_zero ≈ 2,5 V (mas calibre!) · sensibilidade conforme a versão

🔢 As três versões

VersãoFaixaSensibilidadeMelhor para
ACS712-05B± 5 A185 mV/AMaior precisão em correntes pequenas
ACS712-20A± 20 A100 mV/AUso geral em projetos maker
ACS712-30A± 30 A66 mV/ACargas pesadas (menor resolução)
🌡️ Escolha pela sua corrente real: usar a versão de 30 A para medir 0,5 A dá uma resolução péssima (o sinal fica no meio do ruído). Prefira sempre a menor faixa que comporte seu pico.

🎯 Calibração: o passo que ninguém pode pular

O 'zero' teórico é 2,5 V, mas na prática varia com a tolerância do componente e da alimentação. Sem calibrar, sua leitura tem um erro fixo.

  1. Monte o circuito sem corrente passando pelo sensor.
  2. Leia o valor analógico várias vezes e tire a média — esse é o seu zero real.
  3. Guarde esse valor (numa constante ou na EEPROM).
  4. Nas medições, subtraia sempre esse zero antes de dividir pela sensibilidade.
🔎 Dica de estabilidade: a leitura do ACS712 é naturalmente ruidosa. Faça a média de 50 a 200 amostras por medição e considere um capacitor de filtro na saída. Para medir AC, você precisa calcular o valor RMS (amostrar o ciclo inteiro), e não simplesmente a média.

🧮 Exemplo prático: monitorando o consumo de um motor

📖 Motor DC de 12 V com pico de ~3 A

1) Versão: pico de 3 A → o ACS712-05B (±5 A, 185 mV/A) é o ideal (melhor resolução).

2) Ligação: interrompa o fio positivo que vai ao motor e leve as duas pontas aos bornes IP+ e IP−.

3) Alimentação do sensor: 5 V e GND do Arduino; saída no pino analógico.

4) Calibração: com o motor parado (sem corrente), leia o zero — digamos 512.

5) Cálculo: converta a leitura em tensão, subtraia o zero e divida por 0,185 V/A.

Fio interrompido + em série · zero calibrado · média de amostras

🆚 ACS712 x Sensor Clamp (SCT-013) x Shunt

MétodoPrecisa cortar o fio?Mede DC?Observação
ACS712Sim (em série)SimIsolado, fácil, ruidoso
Clamp SCT-013Não (abraça o fio)Não (só AC)Ideal para medir consumo da casa
Resistor shuntSim (em série)SimMuito preciso, mas sem isolação
INA219Sim (em série)SimDigital (I2C), preciso, corrente menor
🔎 Escolha rápida: quer medir o consumo da casa sem mexer na fiação? Clamp. Quer medir um projeto DC com isolação? ACS712. Quer precisão em corrente pequena? INA219.

🎯 Onde usar

  • Monitorar consumo de motores, bombas e aquecedores.
  • Proteção por sobrecorrente (desligar se passar de um limite).
  • Medidores de energia e monitoramento de painéis solares.
  • Detectar travamento de motor (a corrente sobe quando ele trava).

🛠️ Problemas comuns

SintomaCausa provávelSolução
Leitura oscilando muitoRuído (normal do sensor)Média de 50–200 amostras + capacitor
Mostra corrente sem cargaZero não calibradoMeça e subtraia o zero real
Valor sempre 0 ou máximoSensor não está em sérieInterrompa o fio e passe pelos bornes
Resolução ruimVersão de faixa alta demaisTroque para a versão de menor faixa
Leitura de AC erradaUsando média em vez de RMSCalcule o RMS amostrando o ciclo
🛒 Na Mamute Eletrônica tem ACS712 (5 A, 20 A e 30 A), sensores clamp SCT-013 e módulos INA219 — a solução certa para cada tipo de medição.

🚀 Conclusão

O ACS712 mede corrente por campo magnético, com isolação galvânica e capacidade de ler AC e DC. Em troca, ele exige que você interrompa o fio e o ligue em série — ele não é um alicate.

Calibre o zero, faça média das amostras e escolha a versão certa para a sua faixa: com isso, você tem um monitor de corrente confiável e barato.

Dúvidas? Comenta aí! 🦣⚡

Mamute Eletrônica · Componentes, Módulos e Robótica · Rua Vitória, 125 — Santa Efigênia/SP · mamuteeletronica.com.br

Para montar o que você acabou de ler

A de 30 A cobre cargas maiores e o multímetro é o que se usa para calibrar o zero.