Como medir corrente usando Arduino e sensor de corrente ACS712

Neste tutorial, vou medir a corrente DC usando o sensor de corrente linear baseado em efeito Hall Acs712 e o Arduino Uno. O Acs712 pode medir a corrente de forma precisa e exata se for gerenciado corretamente. Eu li vários blogs na internet sobre a interface do sensor de corrente acs712 com o Arduino e outros microcontroladores. Descobri que todos eles estão medindo a corrente com fórmulas (derivadas do sensor de corrente acs712) que não são precisas. Então, decidi escrever um tutorial sobre o sensor de corrente acs712 e apresentar um exemplo prático com circuito e código. Neste tutorial, definirei o melhor método e a geração precisa da fórmula para medir a corrente DC com o sensor de corrente acs712. Definirei cada etapa do código e do circuito de forma completa e profunda com lógica. O código do projeto é de código aberto e você pode baixá-lo e modificá-lo de acordo com suas necessidades.
O sensor de corrente Acs712 pode medir corrente contínua e alternada. Para este post/tutorial/projeto vou medir apenas corrente CC. A fórmula derivada e explicada no tutorial é apenas para medição de corrente contínua. Você não pode usar a fórmula abaixo para medir a corrente alternada com o sensor de corrente de efeito Hall acs712.

Sobre Acs712

ACS712 é um sensor de corrente linear baseado em efeito Hall que pode medir CC (corrente contínua) e CA (corrente alternada). O chip do sensor é fabricado pela Allegro www.allegromicro.com. A pinagem e a descrição do pino do chip estão abaixo.

IP+ e IP-
Conecte o sensor em série ao sistema cuja corrente você deseja medir. Corte o fio do circuito e conecte uma extremidade do fio ao IP+ e a outra ao IP-. Lembre-se das palestras do ensino médio, a corrente só pode ser medida em série. Portanto, não conecte o sensor em paralelo. Você pode danificá-lo ao conectá-lo em paralelo.
VIout
Viout é o pino de saída de tensão. O ACS712 emite um sinal analógico que corresponde a qualquer variação entre os pinos IP+ e IP- ou, por outras palavras, emite tensão analógica no pino VIOUT se houver alguma variação na corrente.

Tensão de saída quiescente (VIOUT(Q)). A saída do dispositivo quando a corrente primária é zero. Para uma tensão de alimentação unipolar, ela permanece nominalmente em VCC ⁄ 2. Assim, VCC = 5 V se traduz em VIOUT (Q) = 2,5 V. A variação no VIOUT(Q) pode ser atribuída à resolução do Acs712. Se o Acs712 estiver funcionando com 5v (Vcc = 5v) e não houver corrente fluindo da entrada, a saída será de 2,5v. 2,5 V é a tensão base na entrada de 5 V, agora qualquer alteração na corrente de entrada trará alteração na saída tensão. Viout diminui quando a corrente começa a fluir pelos pinos acs712.

Acs712 está disponível no mercado em três classificações.

  • ACS712ELCTR-05B-T
  • ACS712ELCTR-20A-T
  • ACS712ELCTR-30A-T
  • ACS712ELCTR-05B-T pode medir corrente de 5 a -5 Ampere. Onde a mudança de 185mV na tensão de saída do estado inicial representa uma mudança de 1 ampere na corrente de entrada.
  • ACS712ELCTR-20A-T pode medir corrente de 20 a -20 Ampere. Onde a mudança de 100mV na tensão de saída do estado inicial representa uma mudança de 1 ampere na corrente de entrada.
  • ACS712ELCTR-30A-T pode medir corrente de 30 a -30 Ampere. Onde a mudança de 66mV na tensão de saída do estado inicial representa uma mudança de 1 ampere na corrente de entrada.

Fórmula de medição de corrente CC Acs712

Corrente = (AcsOffset – (leitura analógica medida pelo Arduino)) / Sensibilidade

  • AcsOffset é a saída de tensão normal no pino Viout quando nenhuma corrente está fluindo através do circuito.
  • Leitura analógica medida pelo Arduino é o valor do sinal analógico lido e convertido em tensão real do canal analógico ao qual a saída acs712 está conectada.
  • Sensibilidade é a mudança de corrente do Acs712 representando 1 Ampere. Para todas as versões do acs712 é mostrado na imagem acima.

Sensor de corrente Arduino acs712

Placas de sensores de corrente acs712 remontadas estão disponíveis no mercado. Eles são fáceis de instalar no circuito e as conexões são bastante simples. Eles têm três pinos. Dois são pinos de alimentação vcc e gnd. O terceiro é o pino de saída. Um conector de 2 pólos também está presente para inserir o fio do dispositivo cuja corrente precisa ser medida. Uma placa de circuito de corrente típica do Arduino acs712 se parece com a mostrada abaixo.

Foto

Agora vou fazer a interface do sensor de corrente do arduino acs712 com o arduino uno. Farei a interface de todas as diferentes placas com classificação atual, uma por uma, com o arduino uno.

ACS712ELCTR-05B-T Interface com Arduino Uno

Confira o teste que realizei com Acs712-05B -5 a +5 Amperes e arduino uno. A corrente medida é exibida no LCD 16×2. Ele mede a corrente com precisão. O código de teste e os resultados estão resumidos em outro link de postagem abaixo.

Medindo corrente DC com Arduino usando sensor de corrente acs712 e LCD 16×2

Interface ACS712ELCTR-20A-T com Arduino Uno

Código do projeto

Baixe o código do projeto nos links fornecidos na parte inferior da postagem.

Interface ACS712ELCTR-30A-T com Arduino Uno

Medição de corrente contínua do Arduino – Diagrama de circuito do projeto

A interface do Arduino uno com o diagrama de circuito do sensor de corrente acs712 é fornecida abaixo. O circuito é universal e todos os três códigos acima para diferentes versões do sensor de corrente acs712 podem funcionar com o mesmo circuito fornecido abaixo. Você só precisa inserir seu sensor de corrente acs712 no circuito e baixar seu código correspondente (fornecido no post) no arduino uno, o restante das conexões são iguais para todos os diferentes sensores de corrente nominal acs712.

Acs712 com Arduino Uno -Diagrama de circuito

Acs712 com Arduino Uno -Diagrama de circuito
Depois de fazer o circuito e baixar o código no arduino uno. Abra o monitor serial do arduino a partir do arduino ide. Assim que você abrir o monitor serial do arduino, verá o valor de corrente medido exibido na janela do monitor serial do arduino ide. Se você não viu nada no monitor serial do arduino, verifique todas as conexões. Passe por todas as conexões físicas possíveis. Se você vir alfabetos quebrados na janela do monitor serial do arduino, defina a taxa de transmissão da janela do monitor serial do arduino para 9600 bps para ver os caracteres e números de dados adequados.

Códigos para download

Conteúdo Relacionado

Voltar para o blog

Deixe um comentário

Os comentários precisam ser aprovados antes da publicação.