Como usar com Arduino – Sensor de Corrente (AC e DC) ACS712 (5A / 20A / 30A)

Como usar com Arduino – Sensor de Corrente (AC e DC) ACS712 (5A / 20A / 30A)

img00_como_usar_com_arduino_sensor_de_corrente_ac_e_dc_acs712_5a_20a_30a_medidor_amperimetro_potencia

– Descrição:

Sensor de Corrente (AC e DC) ACS712 possibilita realizar a leitura de corrente alternada (AC) e contínua (DC). Este sensor utiliza efeito hall para fazer a detecção do campo magnético que é gerado pela passagem da corrente e no pino de saída do mesmo é identificado uma tensão proporcional à entrada. Os terminais de ligação são totalmente isolados da saída do MCU (microcontrolador).

OBS: para esta prática foi utilizado o ACS712-30A, contudo, os passos mencionados aqui são válidos para o ACS712-5A e ACS712-20A.

– Especificações e características (ACS712-30A):

– Controlador: ACS712-30A
– Tensão de operação: 5VDC
– Faixa de medição: -30A a +30A
– Tempo de resposta: 5µs
– Saída analógica proporcional: 66mV/A
– Largura de banda: 80KHz

– Aplicações:

Projetos com Arduino ou outras plataformas microcontroladas em que seja necessário fazer a detecção de corrente AC ou medir o valor de corrente AC (amperímetro). Este sensor é comumente aplicado em projetos de automação residencial, onde é necessário monitorar o consumo de um equipamento elétrico (dentro das especificações do sensor), por exemplo. Para isto, o mesmo deve ser aliado a um Sensor de Tensão AC de forma que seja possível fazer o cálculo de potência.

– Proposta da prática:

Utilizar o Sensor de Corrente (AC e DC) ACS712 (5A / 20A / 30A) em conjunto com o Arduino e medir a corrente AC consumida por uma lâmpada.

– Lista dos itens necessários:

01 – Arduino com Cabo USB
01 – Sensor de Corrente (AC e DC) ACS712 (5A ou 30A)
03 – Cabos Jumper macho-fêmea
01 – Lâmpada
01 – Receptáculo (boquilha)
01 – Cabo paralelo de 1,5mm ou 2,5mm
01 – Tomada (Rede alternada de 127V)

– Esquema de ligação da prática:

ATENÇÃO: MUITO CUIDADO AO EXECUTAR PRÁTICAS QUE ENVOLVAM TENSÃO / CORRENTE ALTERNADA! FAÇA TODAS AS LIGAÇÕES COM O CIRCUITO COMPLETAMENTE DESLIGADO E ANTES DE FAZER OS TESTES VERIFIQUE CADA UMA DAS LIGAÇÕES PARA ELIMINAR A POSSIBILIDADE DE CURTO ENTRE FASE / NEUTRO OU FASE / FASE.

img01_como_usar_com_arduino_sensor_de_corrente_ac_e_dc_acs712_5a_20a_30a_medidor_amperimetro_potencia

– Tutorial de instalação e configuração do ambiente de programação do Arduino:

Arduino – Instalação e Configuração da IDE no Windows

– Biblioteca:

Download EmonLib

– Importando bibliotecas para o ambiente de programação do Arduino:

Arduino – Importando bibliotecas para a IDE

– Código (Calibração):

1) No código há a variável de calibração CURRENT_CAL. Esta variável tem como função fazer uma compensação no cálculo de forma que o sensor possa ficar calibrado e efetuar medições o mais próximo do real.

2) No código, a variável CURRENT_CAL está com o valor de 18.40, contudo, pode ser necessário que você altere ela para um valor menor ou maior. Isto vai depender do valor de corrente AC que será apresentado no monitor serial do ambiente de programação do Arduino.

3) Após efetuar o carregamento do código abaixo no Arduino, vai ser necessário o uso do multímetro para fazer a medição da corrente que está sendo consumida pela carga. Se você não sabe medir corrente com o multímetro, recomendo que assista alguns vídeos no Youtube que ensinam a fazer a medição de corrente. Em seguida com a lâmpada acesa faça o ajuste do valor de CURRENT_CAL até que consiga uma medição no monitor serial, próxima da medição mostrada pelo multímetro:

4) O ACS712 possui um pequeno ruído no sinal de leitura, logo, o ideal é encontrar este valor. Para isto, utilizando o código anterior já com a variável CURRENT_CAL calibrada, deixe a lâmpada desligada e veja no monitor serial o valor de corrente que está sendo apresentado mesmo com a lâmpada apagada. O valor que estiver sendo mostrado é o ruído produzido na saída do sensor. Este valor você deverá colocar no lugar do 0.08 que está definido na variável ruído no código que está mais abaixo.

– Código (Final):

5) Na variável float ruído substitua o valor 0.08 pelo valor de ruído que você encontrou anteriormente.

6) Para esta prática, foi utilizado uma lâmpada de 70W. No momento em que a medição da lâmpada estava sendo feita pelo sensor, o multímetro estava apresentado uma corrente de 570mA e no monitor serial a corrente RMS estava variando entre 550mA e 570mA. A tensão AC medida pelo multímetro foi de aproximadamente 121V. Logo, fazendo o cálculo de potência (P = V * I à P = 121 * 0,57 à P = 68,97W), temos que a potência da lâmpada estava se mantendo em 68,97 watts.

– Resultado final:

Gostou desta prática? Então deixa seu comentário, dúvida ou sugestão aí embaixo!

Loja online: https://www.masterwalkershop.com.br
Fan page no Facebook: https://www.facebook.com/masterwalkershop

Nos ajude a espalhar conhecimento clicando no botão de compartilhar (f Like) que está mais abaixo.

Obrigado e até a próxima!

Seu feedback é muito importante! Que tal dar uma nota para esta postagem?! Faça sua avaliação aqui embaixo.



Postagem anterior:
Próxima postagem:
Postagem feita por

Formado em Engenharia da Computação pela Faculdade Presidente Antônio Carlos, fundador e CEO da MasterWalker Electronic Shop. Se preocupa com o aprendizado dos seus clientes e daqueles interessados em aprender sobre Arduino e plataformas embarcadas em geral.

Existem 24 comentários para esta postagem
    • Euler Oliveira Autor às 09:46

      Olá Geovanna.

      Agradeço pelo comentário!

      Auxilio em projetos nós não fazemos, apenas compartilhamos tutoriais ensinando a montar práticas específicas para que o usuário possa ter um norte e começar a implementar o próprio projeto.

  1. PEDRO às 15:39

    Olá. Eu preciso instalar um sensor de corrente que meça em 127v quando a corrente atingir 1ah para ligar e desligar um inversor de tensão on-grid num sistema fotovoltaico. Ou seja, o inversor só vai ligar quando a corrente exigida pela carga ultrapassar 1ah. Essa paquinha faz isso?? Dá para acionar um relê de estado sólido ou daqueles comuns com ela??

  2. Luiz Henrique às 00:01

    Oi, tudo bem Euler Oliveira , então queria saber ae esta medindo AC , queria saber quasi ajustes pra eu medirem DC, pq quero medir e ter resultados em mah… pra possivel calculo do projeto com bateria….

    • Euler Oliveira Autor às 09:09

      Olá Luiz Henrique.

      Agradeço pelo comentário!

      Conforme informado no tutorial, foi medido corrente AC.

      No momento não temos nenhum tutorial usando o sensor para medir corrente DC.

  3. otoniel rodrigues às 12:12

    bom dia obrigado por repassar conhecimento,uma duvida como seria a ligação se fosse usar só o acs ou seja sem o modulo pra montar em outra placa no caso

    • Euler Oliveira Autor às 13:26

      Olá Otoniel.

      Agradeço pelo comentário!

      Nesse caso o ideal é que você leia o datasheet do ACS712 e em seguida prossiga nas implementações desta placa própria.

      Não temos nenhum tutorial similar a este tipo de projeto que quer implementar.

  4. Kleber às 18:24

    Olá, preciso verificar 21 lampadas da minha (se estão ligadas ou apagadas) residencia. comprei 21 sensor de 5a. parece que essa ligação é com a porta analógica minha placa não tem essas 21 portas o que devo fazer?

          • Kleber às 17:31

            Olá, Euler Oliveira. Estou tendo problemas para verificar o estado da lâmpada com o acs712.
            Baseado 100% no seu código (Estou sem multímetro para alterar o VALOR DA CALIBRAÇÃO ) deixei o console rodando por uns 10 minutos. Com a lâmpada de led desligada as medidas no console ficaram assim: Valor menor de 0.13 e valor maior de 0.31. Então eu só teria que verificar se o valor lido é menor do que 0.31 se for a lâmpada está apagada.
            Ex: com a lâmpada desligada. https://i.imgur.com/YSVWm6g.gif

            Então fiz os testes com a lâmpada ligada, primeiro fui colher os dados do valor menor e maior. O valor menor teria que ser maior do que o valor maior com a lâmpada desligada ou seja maior do que 0.31. Para minha surpresa o valor menor foi de 0.16 e o maior de 0.36. Então terá momentos que a lâmpada está acesa e o programa achará que está apagada 🙁
            Ex: com a lâmpada ligada. https://i.imgur.com/JknZlJQ.gif

            Se eu partir para lâmpadas fluorescentes consigo verificar o estado das lâmpadas por essa consumir um pouco mais.

            Alguma dica?

          • Euler Oliveira Autor às 09:23

            Olá Kleber.

            Agradeço pelo comentário!

            Você vai precisar de um multímetro para fazer a calibração no código e precisa verificar certinho o valor do ruído produzido no sensor enquanto a lâmpada estiver desligada para que este valor seja inserido no código (variável “ruido”.

            Outro ponto importante é que para lâmpadas de potência inferior a 50W (em 127V) o sensor não irá conseguir fazer leituras confiáveis ou pode até mesmo nem conseguir fazer a leitura.

    • Euler Oliveira Autor às 09:20

      Olá Filipe.

      Agradeço pelo comentário!

      Para uma corrente tão baixa o ideal é usar junto ao sensor e o Arduino, um CI ou módulo de portas analógicas externas e com resolução de 16 bits.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *