Menu mobile
Y nuestro circuito de potencia a medir, que explicaremos más adelante.
Para medir la intensidad que pasa por un circuito y tener el control en tu proyecto o programa, este módulo amperímetro Allegro ACS712 es ideal, ya que puede medir tanto corriente continua cómo alterna. El amperímetro tiene una salida analógica, que indicará con una precisión del 1,5% la corriente que le atraviesa. Se alimenta a través de los 5V de tu controlador, como un Arduino UNO en nuestro caso.
Con este tutorial aprenderás a usarlo en un ejemplo sencillo en Arduino IDE.
Conexión
La conexión es extremadamente sencilla, ya que el "módulo" se conecta sobre la placa Arduino UNO y ya. Conectaremos primero los pines del módulo a Arduino UNO de la siguiente manera:
En cuanto al circuito de potencia, podremos utilizar tanto un circuito de corriente alterna donde le podemos conectar por ejemplo una bombilla o un pequeño motor o un circuito de corriente continua, donde podemos utilizar un LED.
Con esto podremos saber el consumo de corriente de nuestro componente (bombilla, motor, etc). De la misma forma, aplicando la Ley de Ohm, podremos conocer la potencia consumida ya que conoceremos el voltaje de alimentación.
Código
Ahora, abre un nuevo sketch y pega el siguiente código:
/*
* Arduino Sketch for Allegro ACS712 Current Sensor
* this sensor can measure current at range of up to 30A
* It operates with 5V
*
*/
#define VIN A0 // define the Arduino pin A0 as voltage input (V in)
const float VCC = 5.0;// supply voltage is from 4.5 to 5.5V. Normally 5V.
const int model = 2; // enter the model number (see below)
float cutOffLimit = 1.01;// set the current which below that value, doesn't matter. Or set 0.5
SELECCIONA EL MODELO DE TU SENSOR
"ACS712ELCTR-05B-T",// for model use 0
"ACS712ELCTR-20A-T",// for model use 1
"ACS712ELCTR-30A-T"// for model use 2
sensitivity array is holding the sensitivy of the ACS712
current sensors. Do not change. All values are from page 5 of data sheet
float sensitivity[] ={
0.185,// for ACS712ELCTR-05B-T
0.100,// for ACS712ELCTR-20A-T
0.066// for ACS712ELCTR-30A-T
};
const float QOV = 0.5 * VCC;// set quiescent Output voltage of 0.5V
float voltage;// internal variable for voltage
void setup() {
//Robojax.com ACS712 Current Sensor
Serial.begin(9600);// initialize serial monitor
Serial.println("ACS712 Current Sensor");
}
void loop() {
float voltage_raw = (5.0 / 1023.0)* analogRead(VIN);// Read the voltage from sensor
voltage = voltage_raw - QOV + 0.012 ;// 0.000 is a value to make voltage zero when there is no current
float current = voltage / sensitivity[model];
if(abs(current) > cutOffLimit ){
Serial.print("V: ");
Serial.print(voltage,3);// print voltage with 3 decimal places
Serial.print("V, I: ");
Serial.print(current,2); // print the current with 2 decimal places
Serial.println("A");
}else{
Serial.println("No Current");
delay(500);
Una vez pegado, deberás seleccionar el modelo del módulo que hayas usado. Si es el de 20A deberás poner un 1 y para el de 30A un 2. Para ello deberás ir a la tercera línea de código y sustituir el número: const int model = 2; // enter the model number (see below)
Una vez tengas el código configurado, ya puedes conectar tu circuito de potencia, en nuestro caso, conectaremos una fuente de alimentación y subiremos la corriente. Hemos usado el módulo de 30A.
Por último, ya puedes subir el programa, y podrás ver a través del Monitor Serie, el mensaje en pantalla de la tensión y la corriente que mide.