Medir intensidad y consumo eléctrico con Arduino y ACS712 (2024)

¿Qué es el ACS712?

El ACS712 es un sensor de corriente tanto alterna como continua, que permite medir la intensidad eléctrica que atraviesa un conductor. Podemos emplear el ACS712 junto con un procesador como Arduino para medir la intensidad o potencia consumida por una carga.

Internamente el ACS712 consiste en un sensor hall de precisión y bajo offset junto con un canal de conducción localizado cerca de la superficie del integrado. Cuando la corriente fluye por el canal de cobre genera un campo magnético que es detectado por el sensor Hall y es convertido en una tensión.

La salida del sensor es una tensión proporcional a la corriente, y altamente independiente de la temperatura. El sensor viene calibrado desde fábrica, aunque para una medición de precisión hará falta un ajuste de la calibración.

El camino conductor está aislado galvánicamente del IC garantizado un mínimo 2.1 kVRMS Su resistencia es muy baja, 1.2 mO, lo que se traduce en pequeñas pérdidas.

Existen modelos para rangos de 5A, 20A, 30A. El sensor soporta corrientes hasta 5x el rango de medición del sensor. Sobrepasar el límite dañara el ACS712.

La mayor desventaja del ACS712 es que es un sensor intrusivo, es decir, es necesario insertarlo en un conductor lo cual puede suponer que tengamos que cortar un cable. Es una gran desventaja frente a sensores no intrusivos como el transformador de intensidad STC-013.

Aplicaciones típicas del ACS712 incluyen control de motores, control de cargas, fuentes de alimentación, y protecciones contra sobretensiones.

Nosotros podemos usarlo en nuestros proyectos de electrónica casera y Arduino, por ejemplo, para medir la intensidad que alimenta una carga, para medir su consumo, o como protección de dispositivos tales como motores.

Precio

El ACS712 es un sensor barato. Podemos encontrar módulos con el ACS712 en sus distintas versiones 5A, 20A y 30A, preparados para conectar de forma sencilla con Arduino, por 1.25€ en vendedores internacionales de eBay o AliExpress.

Medir intensidad y consumo eléctrico con Arduino y ACS712 (1)

Esquema de montaje

Los módulos con el ACS712 son muy sencillos de conectar. Precisamente esta es una de sus grandes ventajas. Al ACS712 proporciona una salida de tensión proporcional a la intensidad que atraviesa el sensor.

Por tanto, simplemente alimentamos el módulo conectando Gnd y Vcc, respectivamente, a Gnd y 5V en Arduino, y conectamos la salida del sensor a una entrada analógica de Arduino.

Medir intensidad y consumo eléctrico con Arduino y ACS712 (2)

Mientras que la conexión, vista desde Arduino, sería la siguiente.

Medir intensidad y consumo eléctrico con Arduino y ACS712 (3)

Ejemplos de código

Como hemos comentado, la tensión en la salida del ACS712 es proporcional a la intensidad que atraviesa sensor. Se incluye un offset de 2.5V de forma que la referencia está centrada, lo que permite medir intensidades positivas y negativas.

El factor de proporcionalidad y la resolución dependen del modelo del sensor, para rango de 5A, 20 y 30.

Max IntensidadSensibilidadTensión salidaResolucion
±5A185 mV/A1,575V a 3,425V26mA
±20A100 mV/A0,5V a 4,5V49mA
±30A66 mV/A0,52V a 4,48V74mA

El siguiente código realiza la medición de la corriente mediante el ACS712. Para reducir el ruido de la medición, se realizan varias mediciones y se calcula el promedio.

// Sensibilidad del sensor en V/Afloat SENSIBILITY = 0.185; // Modelo 5A//float SENSIBILITY = 0.100; // Modelo 20A//float SENSIBILITY = 0.066; // Modelo 30Aint SAMPLESNUMBER = 100;void setup() { Serial.begin(9600);}void printMeasure(String prefix, float value, String postfix){ Serial.print(prefix); Serial.print(value, 3); Serial.println(postfix);}void loop(){ float current = getCorriente(SAMPLESNUMBER); float currentRMS = 0.707 * current; float power = 230.0 * currentRMS; printMeasure("Intensidad: ", current, "A ,"); printMeasure("Irms: ", currentRMS, "A ,"); printMeasure("Potencia: ", power, "W"); delay(1000);}float getCorriente(int samplesNumber){ float voltage; float corrienteSum = 0; for (int i = 0; i < samplesNumber; i++) { voltage = analogRead(A0) * 5.0 / 1023.0; corrienteSum += (voltage - 2.5) / SENSIBILITY; } return(corrienteSum / samplesNumber);}

Descarga el código

Todo el código de esta entrada está disponible para su descarga en Github. Medir intensidad y consumo eléctrico con Arduino y ACS712 (4)

Medir intensidad y consumo eléctrico con Arduino y ACS712 (2024)

FAQs

¿Cómo medir la corriente usando acs712? ›

Conecte la carga al módulo del sensor de corriente ACS712. Conecte la carga en serie con el módulo sensor de corriente ACS712 . Por ejemplo, si está midiendo la corriente de un motor, conectaría el motor al módulo de sensor de corriente ACS712 y luego conectaría el otro extremo del motor a la fuente de alimentación.

¿Cómo funciona el ACS712? ›

El ACS712 es un sensor basado en el efecto Hall, donde la corriente aplicada (sea de CA o CD) que fluye a través de esta pista de conducción de cobre genera un campo magnético que es detectado por el IC integrado Hall y convertida en un voltaje de CD que va de 0 V – 5 V que se puede obtener en su terminal «OUT» .

¿Puede un Arduino medir la corriente? ›

Un Arduino no puede medir la corriente directamente, es necesario convertirla en voltaje . Si lo pasa por una resistencia de 55 Ω, los 20 mA corresponderán a 1,1 V (también conocido como voltaje de referencia interno de un ATmega328p).

¿Cómo medir la corriente de un sensor? ›

La forma más común de medir la corriente es conectar el amperímetro (un medidor para medir la corriente) o la resistencia de derivación en serie con el circuito. Un amperímetro o derivación de amperímetro no es más que una resistencia de alta precisión.

¿Cómo medir el amperaje de corriente alterna? ›

El método de conexión utilizada es en SERIE con la carga, es decir, se conecta el instrumento sobre el mismo cable. Para medir corriente se utiliza un AMPERIMETRO, el cual puede ser analógico o digital.

¿Cómo medir el amperaje en corriente alterna? ›

La forma más común de medir la corriente eléctrica es con un amperímetro que es un dispositivo que se conecta al circuito eléctrico y que te va a indicar los Amperios que tiene dicho objeto.

¿Puede el acs712 funcionar con 3,3 V? ›

Probé el ACS712 con 3V3 (del Nucleo LDO interno) y los sensores dan una buena lectura (±10 mA del objetivo) , aunque la sensibilidad pasó de 100 mV por amperio a 60 mV por amperio.

¿Cómo utilizar un sensor de corriente? ›

El bloque Current Sensor representa un sensor de corriente ideal, es decir, un dispositivo que convierte la corriente medida en cualquier rama eléctrica en una señal física proporcional a la corriente. Utilice los puertos + y - para conectar el sensor en serie con los otros bloques en la rama donde desea medir la corriente .

¿Cuánto voltaje saca un Arduino? ›

La placa tiene 14 pines digitales, 6 pines analógicos y programables con el Arduino IDE (Entorno de desarrollo integrado) a través de un cable USB tipo B. ​ Puede ser alimentado por el cable USB o por una batería externa de 9 voltios, aunque acepta voltajes entre 7 y 20 voltios.

¿Qué voltaje tiene un Arduino? ›

Arduino Leonardo

Velocidad de reloj: 16 MHz. Voltaje de trabajo: 3,3V. Voltaje de entrada: 7,5 a 12 voltios. Pinout: 20 pines digitales (7 PWM) y 12 pines analógicos.

¿Cuántos voltios consume un Arduino? ›

Según he visto por algunas páginas el Arduino consume 50mA la hora, que si lo pasamos a amperios son 0,05A hora, también sabemos que mediante el puerto USB está conectado a 5 Voltios del ordenador, por tanto la potencia será P = 5 * 0,05 = 0,25Wh, si lo multiplicamos por 24 horas son 6w al día lo que consume el Arduino ...

¿Cómo se mide la intensidad? ›

Usted o su proveedor envolverán el esfigmomanómetro cómodamente alrededor de su brazo. El borde más bajo del manguito debe estar a 1 pulgada (2.5 cm) por encima del doblez del codo. El manguito se inflará rápidamente. Esto se hace ya sea bombeando con la pera o pulsando un botón en el dispositivo.

¿Cómo se mide la corriente y la potencia electrica? ›

La potencia eléctrica se mide utilizando instrumentos como vatímetros, osciloscopios y analizadores de potencia. Estos dispositivos pueden medir la tensión y la corriente, que se utilizan para calcular la potencia.

¿Cómo se define la intensidad de la corriente? ›

La intensidad de la corriente es la cantidad de carga que pasa por un conductor por unidad de tiempo. La intensidad de la corriente se mide en Amperios (A). Más: Uno puede comparar esto con la corriente de un río.

¿Qué tipo de voltaje AC mide un multímetro? ›

Puede medir tanto corriente continua como corriente alterna de manera digital o analógica. Algunas de las funciones del multímetro son: Medición de resistencia.

¿Cómo conectar acs712 con esp32? ›

Conecte el GND del ESP32 al pin GND del módulo del sensor de corriente ACS712. Conecte el pin D33 del ESP32 al pin OUT del módulo del sensor de corriente ACS712 a través del divisor de voltaje. Conecte el pin Vin del ESP32 al pin VCC del módulo del sensor de corriente ACS712.

Top Articles
Latest Posts
Article information

Author: Rueben Jacobs

Last Updated:

Views: 5665

Rating: 4.7 / 5 (57 voted)

Reviews: 88% of readers found this page helpful

Author information

Name: Rueben Jacobs

Birthday: 1999-03-14

Address: 951 Caterina Walk, Schambergerside, CA 67667-0896

Phone: +6881806848632

Job: Internal Education Planner

Hobby: Candle making, Cabaret, Poi, Gambling, Rock climbing, Wood carving, Computer programming

Introduction: My name is Rueben Jacobs, I am a cooperative, beautiful, kind, comfortable, glamorous, open, magnificent person who loves writing and wants to share my knowledge and understanding with you.