Sensor de Corriente ACS712 de 5, 20 y 30 A
Publicado por Victor Arrieta en
El módulo sensor de corriente ACS712 es un módulo que consta de un sensor de efecto hall con el cual es capaz de medir el campo magnético que fluye alrededor del conductor y así, de hacernos saber la cantidad de corriente que fluye por el conductor. La medida de la cantidad de corriente que fluye por los bornes del conductor se da a través de una señal análoga en la salida del módulo, la cual es proporcional a la corriente que fluye. Debido a su forma de funcionamiento, el sistema es tan capaz de medir corriente DC como AC,ya que internamente se hace la conversión a valor rms, sin embargo debe mencionarse que esta cualidad también lo hace propenso al ruido electromagnético.
Esquema de conexión con Arduino UNO
Código Arduino
int LedPin = 13;
int Sensor = A0;
void setup() {
pinMode(LedPin, OUTPUT);
}
float medir(void) // esta funcion toma el promedio de 100 mediciones
{
float corriente = 0;
for (int i = 0; i < 100 ; i++) {
float voltage = (float) analogRead(A0) * 5.0 / 1023.0;
corriente += (float) 1000*(voltage - 2.5) / 0.185;
//para el sensor de 5A es 0.185, para el de 20A es 0.1
//y para el de 30A es 0.066
delay(1);
}
return (corriente / 100);
}
void loop() {
float medicion = medir();
if (medicion > 15) { //en 15 mA para evitar errores por el ruido
digitalWrite(LedPin, HIGH);
delay(3000);
}
else
{
digitalWrite(LedPin, LOW);
}
}
Una vez subido el código, el led interno de la placa Arduino, el del pin 13, se encenderá cada vez que se mida una corriente mayor a 15mA fluyendo hacia la carga.