X

Medindo Corrente Alternada com Arduino e ACS712

Veja nesse pequeno projeto como usar o sensor ACS712 para medir corrente alternada com Arduino.


ACS712

O sensor de corrente ACS712 é uma ótima alternativa para realizar medições da corrente elétrica com Arduino de maneira fácil e segura.
Vejamos algumas de suas características:

  • Utiliza o efeito hall para realizar a medição e gerar no pino de saída uma tensão proporcional à corrente detectada;
  • Pode ser utilizado com corrente alternada (AC) e corrente contínua (DC) ;
  • Seus bornes são isolados do microcontrolador;
  • Ótima opção para instalações permanentes, dada a sua característica invasiva, ou seja,  precisamos interromper o circuito para realizar a medição, diferente de outros sensores em que você deve apenas envolver um dos fios do circuito para medir a corrente;
  • Disponível em vários modelos, de acordo com a faixa de amperagem a ser detectada (5, 20 e 30A).

Hardware necessário

  • Arduino Compatível (nos meus testes, usei o Arduino Mega);
  • Sensor ACS712 (Nos testes, usei o modelo de 30A);
  • Extensão elétrica e um aparelho elétrico com potência ou corrente conhecidas (no meu caso, usei uma lâmpada de 15 Watts).

Onde Comprar:
Curto Circuito – Componentes Eletrônicos e Acessórios

Software Necessário

Para facilitar a programação e evitar a realização de muitos cálculos, utilizei a library ACS712-arduino disponível no seguinte endereço:

https://github.com/rkoptev/ACS712-arduino

 Esquema de ligação

ACS712 Ligação com Arduino

Vídeo Demonstração

Let’s Sketch!

#include "ACS712.h"

// Estou usando ACS de 30A. Mude para o modelo que está usando. Valores possíveis: 5,20 e 30
// Sensor ligado na porta analópgica A0
ACS712 sensor(ACS712_30A, A0);

void setup() {
  // É necessário calibrar o sensor antes de usar a primeira vez com o método abaixo
  Serial.begin(9600);
  Serial.println("Aguarde. Calibrando..."); 
  sensor.calibrate();
  Serial.println("Fim da calibração");
}

void loop() {
  // A frequência da corrente alternada no Brasil é 60 Hz. Mude caso necessário
  // A voltagem, no meu caso é 127
  delay(5000);
  float V = 127;
  float I = sensor.getCurrentAC(60);
  float P = V * I;

  Serial.println(String("Corrente = ") + I + " A");
  Serial.println(String("Potência  = ") + P + " Watts");

}

Referências

Conclusão

Para finalizar, queria alertar que este projeto deve ser realizado com extremo cuidado, pois envolve o uso de alta tensão.

A medição de corrente nem sempre é fácil, pois envolve vários fatores que podem interferir. Por isso, nem sempre o resultado é extremamente preciso.

Uma modificação que poderia ser feita é a inclusão de um sensor de tensão em paralelo com a lâmpada. Dessa forma o resultado seria mais próximo da realidade, devido às variações da rede elétrica.
Em breve, faremos isso aqui no blog.

Até a próxima!!!

 

José Cintra:
Related Post