Módulo Sensor de Corrente ACS712 para Arduíno e ESP32

Eletrônica

O Módulo Sensor de Corrente ACS712  foi desenvolvido para ser utilizado em  conjunto com microcontroladores na medição de correntes AC ou DC.

O módulo ACS712 nada mais é que um placa com o ACS712 e tudo que é preciso para usá-lo de maneira mais simples. Lembrando que este é um sensor de corrente invasivo, onde é necessário interromper o circuito para que ele seja instalado. Para este tutorial, será utilizado o módulo ACS712 30A, que por sua vez, consegue ler valores de corrente de até 30 Ampères.

Modelos disponíveis:
ACS712ELCTR-05B-T 
ACS712ELCTR-20A-T 
ACS712ELCTR-30A-T 

Algumas características do modulo usado em automações com Arduíno, ESP32 e ESP32
- Faixa de medição + ou - de 5A, 20A e 30A
- Alimentação de até 5.5V
- Tempo de resposta de 5µs (micro segundos)
- Saída analógica proporcional de 66 mV/A para sensor de 30A, para sensor de 5A use 185 mV/A e para  de 20A use 100 mV/A
- Dimensões 30 x 12 x 12mm

Datasheet contendo detalhes da configuração pode ser baixado do link abaixo:

[LINK DATASHEET]



Abaixo pode ver um exemplo de código para poder testar seu modulo.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
float vetCorrente[300];
float valor_medio;
float valor_Corrente;
void setup()
{
  Serial.begin(9600);
  pinMode(A0, INPUT);
}
 
void loop()
{
  double maior_Valor = 0;
  double valor_Corrente = 0;  
 
  float tensao = 127;
  float potencia = 0;
 
  for(int i = 0; i < 300; i++)
  {
    vetCorrente[i] = analogRead(A0);
    delayMicroseconds(600);
  } 
 
  int somaTotal = 0;
 
  for(int i = 0; i < 300; i++)
  {
    somaTotal = vetCorrente[i] + somaTotal;
  }
  valor_medio = somaTotal / 300;
  valor_medio = valor_medio * 0.004882812;
  valor_Corrente = valor_medio - 2.5;
  valor_Corrente = valor_Corrente * 1000;
  valor_Corrente = valor_Corrente / 66;       //sensibilidade : 66mV/A para ACS712 30A / 185mV/A para ACS712 5A
 
  Serial.print("Corrente = ");
  Serial.print(valor_Corrente);
  Serial.println(" A");
  potencia = valor_Corrente * tensao;
  Serial.print("Potência = ");
  Serial.print(potencia);
  Serial.println(" W");
  Serial.print(".");
  delay(500);
  Serial.print(".");
  delay(500);
  Serial.print(".");
  delay(500);
  Serial.println("");
}


Fonte
SuaDica
Mais Dicas