CONTENIDO ►
- Módulo sensor ACS712 principio de funcionamiento
- Módulo sensor TA12-100 principio de funcionamiento
- Conectar sensor de corriente ACS712 con Arduino
- Código Arduino para medición de corriente con ACS712
- Conectar sensor de corriente TA12-100 con Arduino
- Código Arduino para medición de corriente con TA12-100
El sensor de corriente ACS712 se basa en el efecto Hall y tiene una relación directa entre la corriente medida y la señal de salida. Los módulos de medición de corriente ACS712 / TA12-100 se utilizan en proyectos en los que se requiere protección contra sobrecargas, por ejemplo, en la fabricación de cargadores de baterías, baterías externas y fuentes de alimentación conmutadas. Veamos cómo trabajar con sensores de corriente y Arduino.
Para esta actividad necesitaremos:
- Arduino Uno / Arduino Nano / Arduino Mega
- sensor de corriente ACS712 / TA12-100
- fuente de alimentación de 12 V
- carga, por ejemplo, motor DC 12 V
- cables de conexion
- libreria TroykaCurrent.h
Módulo sensor de corriente ACS712 pinout, datasheet

Características módulo ACS712 Arduino:
- Alimentación: 5V
- Consumo de corriente: 11 mA máx
- Tipo de interfaz: digital
- Tensión: CC y CA
- Medición de corriente: de 5 a 30 amperios
- Sensibilidad: 66 mV/A a 185 mV/A
- Temperatura de funcionamiento: -40°C a +85°C
- Tamaño de la placa del módulo: 31 x 13 mm
ACS713 y ACS712 consisten en un sensor lineal basado en el efecto Hall con un conductor de cobre. Una corriente genera un campo magnético en el conductor de cobre, que es captado por el sensor y convertido en una tensión. La intensidad del campo magnético varía linealmente con la intensidad de la corriente. La precisión está garantizada por un chip en el módulo con ajustes de fábrica. El sensor funciona con corrientes continuas y alternas.
Módulo sensor de corriente TA12-100 pinout, datasheet

Características módulo TA12-100 Arduino:
- Alimentación: 5V
- Consumo de corriente: 5 mA máx
- Tipo de interfaz: analógica
- Tensión: CC
- Corriente de medición: hasta 5 amperios
- Temperatura de funcionamiento: de -55°C a +85°C
- Tamaño de la placa del módulo: 30 x 24 mm
El sensor Arduino TA12-100 funciona según un principio diferente. El módulo mide la tensión que cae a través de un transistor de 200 ohmios, situado a la salida del transformador. El sensor TA12-100 convierte la tensión en la resistencia en una señal analógica aplicando la ley de Ohm (I = E / R). La relación del transformador es de 1000:1 y para obtener el valor de la corriente hay que multiplicar los datos por 1000.
Conectar sensor de corriente ACS712 Arduino

El sensor ACS712 es un sensor analógico, se requieren tres cables para la conexión al microcontrolador. Dos para la alimentación – GND y 5V y un cable para la señal. El sensor se conecta en el hueco entre la fuente de alimentación y la carga. Se utiliza la librería TroykaCurrent.h (descárgala aquí), que convierte los valores de la señal analógica a miliamperios. Monta el circuito, instala la librería y carga el programa en el Arduino.
Programa Arduino para medición de corriente ACS712
#include "TroykaCurrent.h" ACS712 sensorCurrent(A1); // pin de conexión del sensor void setup() { Serial.begin(9600); } void loop() { // sortie des données du capteur de courant Serial.print("I = "); Serial.print(sensorCurrent.readCurrentDC()); Serial.println(" A"); delay(1000); }
Explicación del código para medición de corriente con ACS712:
- para CA, utilice sensorCurrent.readCurrentAC();
- para valores negativos, intercambia los cables de los terminales.
Conectar sensor de corriente TA12-100 Arduino

El sensor TA12-100 sólo se utiliza para medir corriente alterna y es analógico. Necesitará dos cables para conectarse a la placa Arduino (aunque hay tres pines en el módulo) – un cable se conecta a GND y el otro a la entrada analógica. El cable donde quieres medir la corriente debe pasar por la bobina del módulo. Monta el circuito como se muestra en la imagen y carga el siguiente programa en el microcontrolador Arduino.
Programa Arduino para medición de corriente TA12-100
#define TA12 A1 // pin de conexión del sensor float nVPP; float nCurrThruResistorPP; float nCurrThruResistorRMS; float nCurrentThruWire; void setup() { Serial.begin(9600); pinMode(TA12, INPUT); } void loop() { // hallar la tensión a través de la resistencia nVPP = getVPP(); // calcular la corriente en la resistencia según la ley de Ohm nCurrThruResistorPP = (nVPP / 200.0) * 1000.0; // сonvertir valor a valor RMS nCurrThruResistorRMS = nCurrThruResistorPP * 0.707; nCurrentThruWire = nCurrThruResistorRMS * 1000; // visualizar los datos en el monitor del puerto Serial.print("Volts Peak : "); Serial.println(nVPP, 3); Serial.print("Current Through Resistor (Peak) : "); Serial.print(nCurrThruResistorPP, 3); Serial.println(" mA Peak to Peak"); Serial.print("Current Through Resistor (RMS) : "); Serial.print(nCurrThruResistorRMS, 3); Serial.println(" mA RMS"); Serial.print("Current Through Wire : "); Serial.print(nCurrentThruWire, 3); Serial.println(" mA RMS"); Serial.println(); } // valor máximo en un segundo float getVPP() { float result; int readValue; int maxValue = 0; uint32_t start_time = millis(); while ((millis() - start_time) < 1000) { readValue = analogRead(TA12); if (readValue > maxValue) { maxValue = readValue; } } result = (maxValue * 5.0) / 1024.0; return result; }
Explicación del código para medición de corriente con TA12-100:
- el factor de conversión es 1000:1, por lo que la corriente se multiplica por 1000;
- el convertidor analógico-digital convierte la tensión de la entrada A1 del rango 0-5V a un rango de valores de 0-1024.
Conclusión. El sensor de corriente Arduino presentado en este artículo, equipado con el chip ACS712 / ACS713, proporciona una tensión de salida analógica entre 0 y 5V, en función de la corriente medida. Montado en una placa con conexiones externas, es ideal para proyectos con microcontroladores. El sensor se fabrica en tres versiones con diferentes rangos de medida de 5A, 20A y 30A, pero con la misma funcionalidad.

Deja una respuesta