
ACS712
- Chip
- ACS712, de efecto Hall
- Rango
- 5 A: ±5 A · 30 A: ±30 A
- Sensibilidad
- 5 A: 185 mV por amperio · 30 A: 66 mV por amperio
- Salida
- Analógica: 2,5 V sin corriente; sube o baja según el sentido de la corriente
Características
Módulo para medir corriente con el chip ACS712, que usa el efecto Hall: la corriente pasa por la bornera y el chip entrega un voltaje proporcional, aislado del circuito de potencia. Mide corriente continua y alterna.
Hay dos versiones: la de 5 A, más precisa para corrientes pequeñas, y la de 30 A, para motores y cargas grandes.
| Chip | ACS712, de efecto Hall |
|---|---|
| Rango | 5 A: ±5 A · 30 A: ±30 A |
| Sensibilidad | 5 A: 185 mV por amperio · 30 A: 66 mV por amperio |
| Salida | Analógica: 2,5 V sin corriente; sube o baja según el sentido de la corriente |
| Alimentación | 5 V |
| Aislamiento | 2,1 kV entre la bornera y la salida |
| Resolución con el UNO | 5 A: unos 26 mA por paso · 30 A: unos 74 mA por paso |
¿Para qué sirve?
- Medir el consumo de motores, bombas y tiras LED
- Proteger un circuito cortando la carga si pasa de cierta corriente
- Medir la carga y descarga de baterías
Diagrama de conexión de prueba
Placa usada: Arduino UNO
| Cable | Módulo | Arduino UNO | Nota |
|---|---|---|---|
| rojo | VCC | 5V | |
| amarillo | OUT | A0 | Salida analógica |
| negro | GND | GND |
Código de prueba
// Prueba del sensor de corriente ACS712: mide corriente continua (DC).
// Al encender toma como cero la lectura sin corriente: enciende sin carga.
const int PIN_OUT = A0;
// Voltios por amperio: 5 A -> 0.185 · 20 A -> 0.100 · 30 A -> 0.066
const float SENSIBILIDAD = 0.185;
float cero = 2.5; // salida sin corriente (cerca de 2,5 V)
// Promedio de 100 lecturas para reducir el ruido
float leerVoltaje() {
long suma = 0;
for (int i = 0; i < 100; i++) suma += analogRead(PIN_OUT);
return (suma / 100.0) * 5.0 / 1023.0;
}
void setup() {
Serial.begin(9600);
delay(500);
cero = leerVoltaje();
Serial.print("Cero en ");
Serial.print(cero, 3);
Serial.println(" V");
}
void loop() {
float corriente = (leerVoltaje() - cero) / SENSIBILIDAD;
Serial.print("Corriente: ");
Serial.print(corriente, 2);
Serial.println(" A");
delay(500);
}
Cambia SENSIBILIDAD según tu versión (5 A o 30 A). La carga va en serie con la bornera. Para corriente alterna hay que calcular el valor eficaz, como en la ficha del SCT-013. Abre el Monitor serie a 9600 baudios.
Precauciones
- Se conecta en serie con la carga: toda la corriente que quieres medir pasa por la bornera.
- Mantén lejos imanes y cables con mucha corriente: alteran la medición.
- Con 120/220 V la salida queda aislada, pero la bornera tiene tensión: cúbrela y no la toques con el equipo encendido.
Fuentes consultadas: Allegro: hoja de datos ACS712 · Wolles Elektronikkiste: sensor de corriente ACS712 · Circuits DIY: módulo ACS712. Ficha preparada por Electrodrone; verifica siempre el voltaje de tu módulo antes de conectarlo.