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é 30A.
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 5ms (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:
Abaixo pode ver um exemplo de código para poder testar seu modulo.
#include "ACS712.h"
/*
This example shows how to measure the power consumption
of devices in 230V electrical system
or any other system with alternative current
*/
// We have 30 amps version sensor connected to A0 pin of arduino
// Replace with your version if necessary
ACS712 sensor(ACS712_30A, A0);
void setup() {
Serial.begin(9600);
// calibrate() method calibrates zero point of sensor,
// It is not necessary, but may positively affect the accuracy
// Ensure that no current flows through the sensor at this moment
// If you are not sure that the current through the sensor will not leak during calibration - comment out this method
Serial.println("Calibrating... Ensure that no current flows through the sensor at this moment");
sensor.calibrate();
Serial.println("Done!");
}
void loop() {
// We use 230V because it is the common standard in European countries
// Change to your local, if necessary
float U = 230;
// To measure current we need to know the frequency of current
// By default 50Hz is used, but you can specify desired frequency
// as first argument to getCurrentAC() method, if necessary
float I = sensor.getCurrentAC();
// To calculate the power we need voltage multiplied by current
float P = U * I;
Serial.println(String("I = ") + I + " A");
Serial.println(String("P = ") + P + " Watts");
delay(1000);
}
Equipe SuaDica