Artículos recientes

Novedades

Tutorial sensor de corriente ACS712

Tutorial sensor de corriente ACS712

El sensor de corriente ACS712 es una solución económica para medir corriente, internamente trabaja con un sensor de efecto Hall que detecta el campo magnético que se produce por inducción de la corriente que circula por la línea que se está midiendo. EL  sensor nos entrega una salida de voltaje proporcional a la corriente, dependiendo la aplicación podemos usar el ACS712-05A, ACS712-20A o el ACS712-30A, para rangos de 5, 20 o 30 amperios respectivamente

El ACS712 podemos encontrarlo en módulos, los cuales nos facilitan sus conexión, traen una bornera para conectar la línea que queremos medir y 3 pines, dos para conectar la alimentación y un pin para la salida analógica.

Sensor de Corriente ACS712

El rango de corriente que podemos medir y sensibilidad varían dependiendo del modelo del integrado, existen tres modelos los cuales detallamos a continuación:

Modelo

Rango

Sensibilidad

ACS712ELCTR-05B-T

-5 a 5 A

185 mV/A

ACS712ELCTR-20A-T

-20 a 20 A

100 mV/A

ACS712ELCTR-30A-T

-30 a 30 A

66 mV/A

 

El sensor nos entrega un valor de 2.5 voltios para una corriente de 0A y a partir de allí incrementa proporcionalmente de acuerdo a la sensibilidad, teniendo una relación lineal entre la salida de voltaje del sensor y la corriente.
Dicha relación es una línea recta en una gráfica Voltaje vs Corriente donde la pendiente es la sensibilidad y la intersección en el eje Y es 2.5 voltios. La ecuación de la recta seria la siguiente

ecuacion V vs I en ACS712

Donde la pendiente es m y equivale a la Sensibilidad

Despejando tendremos la ecuación para hallar la corriente a partir de la lectura del sensor:

ecuacion para la corriente ACS712

Con esta ecuación podemos pasar a realizar los ejemplos con Arduino:

 

Conexiones entre Arduino y módulo ACS712

  

 

Conexiones entre ACS712 y Arduino

 

Para las conexiones en el módulo guiarse por los nombres de los pines, en algunos modelos vienen en diferente orden, en la bornera ingresa la línea de la cual se desea medir, para medir la corriente se  debe conectar en serie con el dispositivo o carga, nunca conectar en paralelo a la fuente de voltaje.

 

Ej.1 Realizando medidas de corriente con el ACS712

Para realizar la lectura de corriente simplemente se necesita leer la entrada analógica y con la formula antes expuesta obtener la corriente.

A continuación se muestra el código para un realizar la lectura de corriente:

float Sensibilidad=0.185; //sensibilidad en Voltios/Amperio para sensor de 5A

void setup() {
  
  Serial.begin(9600);
}

void loop() {
  
  float voltajeSensor= analogRead(A0)*(5.0 / 1023.0); //lectura del sensor   
  float I=(voltajeSensor-2.5)/Sensibilidad; //Ecuación  para obtener la corriente
  Serial.print("Corriente: ");
  Serial.println(I,3); 
  delay(200);     
}

En nuestro caso estamos trabajando con un sensor de 5A por eso usamos el valor de sensibilidad de 0.185V/A que es el equivalente 185mV/A que nos da el fabricante, si están trabajando con el sensor de 20A, reemplazar el valor de la sensibilidad por 0.100 V/A.

A continuación mostramos los resultados obtenidos del monitor serial:

 

lectura de corriente ACS712

 

La Imagen anterior es para una lectura de una corriente de 0A, notar que existe ruido en la lectura, si para su aplicación el ruido presente no tiene mucha importancia, podrían trabajar con el programa de este ejercicio, sino se tendrá que aplicar un filtro, que se muestra a continuación.

 

Ej.2 Aplicando Filtro a las lecturas del ACS712

Existen varios tipos de filtros, que dependiendo de la complejidad pueden consumir recursos en la programación de nuestro Arduino, en nuestro caso  simplemente usaremos la media aritmética de varias lecturas consecutivas, implementar el promedio de las lecturas en Arduino es sencillo y fácil de entender, simplemente hay que sumar la lecturas y dividirlas en el número de muestras.
La cantidad de muestras para calcular el promedio depende del nivel de ruido que tengan.

EL programa seria el siguiente:

float Sensibilidad=0.185; //sensibilidad en Voltios/Amperio para sensor de 5A

void setup() {
  
  Serial.begin(9600);
}

void loop() {
  
  float I=get_corriente(200);//obtenemos la corriente promedio de 500 muestras 
  Serial.print("Corriente: ");
  Serial.println(I,3); 
  delay(100);     
}

float get_corriente(int n_muestras)
{
  float voltajeSensor;
  float corriente=0;
  for(int i=0;i<n_muestras;i++)
  {
    voltajeSensor = analogRead(A0) * (5.0 / 1023.0);////lectura del sensor
    corriente=corriente+(voltajeSensor-2.5)/Sensibilidad; //Ecuación  para obtener la corriente
  }
  corriente=corriente/n_muestras;
  return(corriente);
}

En nuestro caso debido a que hay bastante ruido trabajamos con 200 muestras, mientras mayor sea la cantidad de muestras obtendremos un mejor resultado pero también mayor será el tiempo que se demora el Arduino para realizar la medición, para 200 muestras Arduino se demora alrededor de 35 milisegundos que se lo puede considerar despreciable en la mayoría de aplicaciones.

 

lectura de corriente ACS712 con filtro

 

Notar que ahora el ruido es de amplitud 10mA en comparación al ejemplo anterior que era superior a 100mA, No confundir el ruido con el error del offset que en este caso es de aproximadamente +150 mA , este último error si es representativo podemos restar al resultado en la ecuación de la corriente.

El siguiente resultado es para una carga de aproximadamente 1.2A

  lectura 2 de corriente ACS712 con filtro

 

Del sensor obtenemos una medida de 1.02A aproximadamente, pero si medimos con un multitester o amperímetro el valor de la corriente es de 1.15, en nuestro caso esto nos da un error de -130 mA que es diferente al offset o el error para una corriente de 0A. Si sus resultados también son como el nuestro,  significa que la ecuación que estamos usando para calcular la corriente no es la adecuada, para corregir esto es necesarios calibrar nuestro sensor y hallar los nuevos valores de sensibilidad y el voltaje equivalente a los 0A, valores que necesitamos para la ecuación.

 

Ej.3 Calibrando nuestro ACS712

Si el error que obtenemos con los ejemplos anteriores es grande, debemos de recalibrar y hallar los valores reales puesto que los valores que nos da el fabricante no son exactos.

Recordemos la ecuación que usamos para hallar la corriente:

ecuacion para la corriente ACS712

En esta ecuación solo tenemos dos constantes: los 2.5 que es el voltaje del sensor cuando la corriente es 0V y la sensibilidad, que equivale a la pendiente de la recta Voltaje Vs Corriente; tenemos que calcular los valores reales de estas dos constantes.


Al ser una recta, basta con obtener dos puntos y con estos podemos calcular constantes. Para esto necesitamos un multitester o amperímetro, el cual debe ser de buena precisión, ya que este será la herramienta para calibrar. El amperímetro, el ACS712 y la carga deben de conectarse en serie.

Después de conectar el amperímetro y el  sensor, debemos de tomar lecturas de voltaje del sensor, esto se hace con el siguiente programa.

void setup() {
  
  Serial.begin(9600);
}

void loop() {
  
  float voltajeSensor =get_voltage(10000);//obtenemos voltaje del sensor(10000 muestras) 
  Serial.print("Voltaje del sensor: ");
  Serial.println(voltajeSensor ,3);     
}


float get_voltage(int n_muestras)
{
  float voltage=0;
  
  for(int i=0;i<n_muestras;i++)
  {
    voltage =voltage+analogRead(A0) * (5.0 / 1023.0);    
  }
  voltage=voltage/n_muestras;
  return(voltage);
}

El primer punto que debemos medir es para una corriente de 0 amperios:

 

ACS712 lectura de voltaje para 0A

 

Esta es una de las constantes, en nuestro caso 2.527, que corresponde al punto P1(2.527,0)

Para hallar la segunda constante necesitamos una segunda medida, se recomienda que no sea cercano al valor de la primera medida, en nuestro caso usaremos una carga cuya corriente es superior a 1 amperio.

 

ACS712 lectura de voltaje para 1A

 

Como se observa el sensor tiene un voltaje de 2.687, y en el amperímetro medimos 1.155A, este sería nuestro segundo punto P2(2.687,1.155) , para calcular la sensibilidad simplemente calculamos la pendiente.

Teniendo estos dos valores la ecuación para calcular la corriente es:

ecuacion de sensibilidad

Donde sensibilidad=0.139 V/A

Con estos nuevos valores debemos trabajar los ejemplos anteriores

Tener en cuenta que cada sensor tiene su propia característica

Otra forma puede ser en tomar varios puntos y al final aplicar regresión y hallara la ecuación de la recta.

 

Ej.4 Vatímetro y Amperímetro de corriente  alterna usando el módulo ACS712

En este ejemplo realizaremos mediciones de intensidad corriente alterna y con esto calcular la potencia.

Cuando realizamos una lectura del ACS712 obtenemos el valor de la corriente en ese instante, dicho valor estará oscilando a una frecuencia de 60Hz, los valores máximo en los que oscila son las corrientes picos, nuestro programa entonces deberá poder obtener los valores pico de la onda de corriente, Teniendo el valor de la corriente Pico podemos calcular la corriente eficaz o RMS y con esto la potencia.

A continuación mostramos el código de este ejemplo:

float Sensibilidad=0.139; //sensibilidad en V/A para nuestro sensor
float offset=0.100; // Equivale a la amplitud del ruido
void setup() {
  
  Serial.begin(9600);
}

void loop() {
  
  float Ip=get_corriente();//obtenemos la corriente pico
  float Irms=Ip*0.707; //Intensidad RMS = Ipico/(2^1/2)
  float P=Irms*220.0; // P=IV watts
  Serial.print("Ip: ");
  Serial.print(Ip,3);
  Serial.print("A , Irms: ");
  Serial.print(Irms,3);
  Serial.print("A, Potencia: ");
  Serial.print(P,3);  
  Serial.println("W");
  delay(500);     
}

float get_corriente()
{
  float voltajeSensor;
  float corriente=0;
  long tiempo=millis();
  float Imax=0;
  float Imin=0;
  while(millis()-tiempo<500)//realizamos mediciones durante 0.5 segundos
  { 
    voltajeSensor = analogRead(A0) * (5.0 / 1023.0);//lectura del sensor
    corriente=0.9*corriente+0.1*((voltajeSensor-2.527)/Sensibilidad); //Ecuación  para obtener la corriente
    if(corriente>Imax)Imax=corriente;
    if(corriente<Imin)Imin=corriente;
  }
  return(((Imax-Imin)/2)-offset);
}

El algoritmos consiste en realizar mediciones durante medio segundo, lo cual equivale a realizar medidas durante 30 ciclos (señal de 60Hz), durante este tiempo obtenemos las lecturas máximas y minimas que corresponden a +Ip y –Ip, la correinte Ip será el promedio de estas. A este resultado le restamos la amplitud del ruido que está presente cuando la corriente es 0.

Notar que para disminuir un poco el ruido aplicamos un filtro pasa bajos, que es similar a realizar un promedio de 10 muestras.

    corriente=0.9*corriente+0.1*((voltajeSensor-2.527)/Sensibilidad); //Ecuación  para obtener la corriente

Con estos pesos amortiguamos un poco el ruido sin afectar la señal de 60Hz

A continuación se muestra el resultado cundo no tenemos ninguna carga conectada (0 amperios)

 

corriente AC 0 watts con ACS712

 

En nuestro caso la Corriente Ip es cercano a 0, puesto que nosotros ya hemos calculado el offset, en su caso deberán poner el offset en 0, y relizar la lectura sin carga, el valor del Ip será el valor del offset que deben remmplazar en su código.


Para ver si su amperímetro está bien calibrado deben contrastar con un amperímetro, vatímetro, o verificar con una carga conocida. Por ejemplo en  continuación mostramos el resultado al trabajar con una carga de 20W (foco ahorrador)

 

corriente AC 20 watts con ACS712

 

Si su resultado no son los adecuados deberán de volver a calibrar su sensor, primero con corriente DC y encontrar la ecuación correcta para calura la corriente usando los ejemplos anteriores y posteriormente trabajarlo con AC.

 

Pueden adquirir los materiales usados en este tutorial en nuestra tienda:

Arduino Uno R3

Sensor de Corriente ACS712T-5A

Sensor de Corriente ACS712T -20A

67 Comments

    • Avatar
      fernando
      oct 26, 2016

      Hola, Excelente tutorial. Me podrías ayudar por favor explicandome que interpretación tienen estas lineas: 1. float I=get_corriente(200); 2. float get_corriente(int n_muestras); 3. return(corriente);Saludos

      • Avatar
        Naylamp
        oct 28, 2016

        Estimado Fernando, en I=get_corriente(200); llamamos a la función get_corriente la cual nos entrega el promedio de 200 muestras. La línea float get_corriente(int n_muestras) {…} se usa para implementar la función. Y return(corriente); se usa para indicar el valor del resultado de la función.

      • Avatar
        Joel
        nov 5, 2016

        Hola, el tutorial es muy bueno, pero tengo un inconveniente, al probar el sensor con corriente cero, me da valores de 3 , me podría explicar esta linea de código: "float voltajeSensor= analogRead(A0)*(5.0 / 1023.0); //lectura del sensor ", especialmente me interesa saber como obtuvo el 1023, gracias.

      • Avatar
        Naylamp
        nov 6, 2016

        Hola Joel, el valor de 1023 es el que corresponde a una lectura analógica para un voltaje de 5V, la función analogRead() devuelve un valor entre 0 y 1023 (correspondientes a 0V y 5V). En el ejmplo de Read Analog Voltage de la página de arduino puedes encontrar una mejor explicación.

      • Avatar
        majdi
        feb 7, 2018

        comment on peut determiner la vitesse de rotation d un moteur a l Aide d un genitachy et un capteur ACS712 ET une carte arduino !

    • Avatar
      Jaime
      nov 6, 2016

      Hola, consulta, cual es el maximo voltaje que puedo medir con este sensor?

      • Avatar
        Naylamp
        nov 16, 2016

        Hola Jaime, según el datasheet tiene un aislamiento de 2.1KV (rms), Nosotros lo hemos probado con cargas de 220v y 110v y trabaja normal, pero siempre teniendo en cuenta de no exceder la corriente máxima.

    • Avatar
      Kim
      nov 11, 2016

      Hola! Super tus explicaciones! Tengo un sensor de voltaje? Como programo para que solo me de cuanto voltaje genera?

      • Avatar
        Naylamp
        nov 16, 2016

        Hola Kim, te refieres a un sensor de corriente? Qué modelo de sensor tienes?

    • Avatar
      Jaime
      nov 14, 2016

      Hola, consulta, puedo hacer mediciones en circuitos con cargas conectadas a C/A de 240v?

      • Avatar
        Naylamp
        nov 16, 2016

        Hola Jaime, si es posible, en el ejemplo 4 trabajamos con 220AC.

    • Avatar
      Johnny Diaz
      nov 17, 2016

      Hola, esta muy bueno el tutorial! muchas gracias! ... Mi consulta es, como puedo medir la frecuencia en una red AC ? Gracias!

      • Avatar
        Naylamp
        dic 1, 2016

        Hola Johnny, para medir la frecuencia tienes que convertir la señal sinusoidal en una cuadrada y luego medir el tiempo entre flancos, es mejor usar otro tipo de sensor para esto, pues la amplitud en un sensor de corriente es variable.

    • Avatar
      Ricardo
      dic 5, 2016

      Hola, muy buen aporte, pero mi inquietud esos cálculos realizados es solo para medir la potencia de 1 foco, me ayudaría cual seria el proceso para medir 4 focos o bombillos

      • Avatar
        Naylamp
        dic 14, 2016

        Hola Ricardo, EL procedimiento que mostramos es para medir potencia, independiente a lo que tengas conectado, sea un foco, 4 focos o cualquier carga, Si quieres medir de forma impendiéndote diferentes cargas tendrías que usar varios sensores y básicamente repetir el código del programa para los otros.

    • Avatar
      Guillermo
      dic 22, 2016

      Hola, hay posibilidad de hacer funcionar un relay a partir del resultado de la medicion de voltaje? por ejemplo, si el voltaje es menor a 4 volts que se active el relay. gracias!

    • Avatar
      Anónimo
      dic 24, 2016

      La imprecisión en CA también puede deberse a la variabilidad del voltaje de la línea. Aquí llegan 210-220 V de 230 V que tendría que llegar. También depende de la instalación de casa, así que en diferentes puntos también varía.

    • Avatar
      Jhorman
      ene 12, 2017

      Hola una pregunta cual seria el rango de salida del sensor de 30A, cuando esta censando corriente alterna por que La grafica de Output Voltage versus Sensed Current que proporciona el data sheet dice que el rango es de 2.5v a 4.5v cuando esta censando de 0a 30A pero es para DC y quiero trabajar en corriente alterna pero no tengo información.

      • Avatar
        Naylamp
        feb 3, 2017

        Hola Jhorman, para 0A el voltaje de salida es de 2.5V, una corriente positiva o negativa hará que el voltaje aumente o disminuya respectivamente en proporción a la sensibilidad, llegando a un voltaje cercano a 5V para los 30A o cercano a 0V para corrientes -30A

    • Avatar
      Fer
      ene 16, 2017

      Hola , muy bueno el tutorial , gracias or compartirlo . Tengo una lampara led con un driver CC , se le puede ajustar la potencia entre 0.5 / 2a y 220v , me gustaria saber si podria implementar este sensor para , a traves del potenciometro (que ya lleva) saber el consumo de la lampara por el puerto serie o un display .

    • Avatar
      Francisco Michell
      ene 24, 2017

      Hola, tengo un modulo de ASC714 con sensibilidad de 66 mv/A, se puede usar el mismo procedimiento para este modulo que con el ASC712.Gracias

      • Avatar
        Naylamp
        feb 3, 2017

        Hola francisco, solo cambia las variables correspondientes a tu sensor, que en tu caso sería la sensibilidad de 66mV/A

    • Avatar
      Ricardo
      ene 28, 2017

      Les comento. Pueden medir mas de lo que da el sensor. Si tenes que medir 60A podes sacar un cable (bypass paralelo) de menor diametro (supone 1/5 del que esta puesto) asi tendrias 5 original +1 del sensor y pasaria 60A/6 = 10A que si puede medir el sensor. Ademas si falla la parte electronica por algun motivo o la tenes que sacar, el equipo sigue funcionando por el cable original. Despues en la programacion calibras el resultado porque acuerdense que miden una fraccion de la corriente. Slds.

    • Avatar
      Wirtz
      feb 7, 2017

      hola muy bueno los ejemplos me ayudaron muchisimo pero sigo con algunos problemas estoy trabajando con el sensor que tienes de ejemplo en la publicacion de 30A y tengo en la misma placa arduino conectado 2 sensores uno para medir amperaje en paneles solares y otro para medir amperaje de bateria. He aqui mi problema necesito leer los dos al mismo tiempo, y ahi se genera los erroes en el codigo del ejemplo 4, y la otra consulta es si tengo que poner alguna resistencia previa al sensor o puedo poner el cable del panel directo al sensor.

      • Avatar
        Naylamp
        feb 17, 2017

        Hola Wirtz, si puedes usar dos sensores en el mismo arduino, conecta el segundo sensor al pin A1 y crear nuevas variables para el segundo sensor, de igual forma con las funciones. Dúplica el código pero con nuevas variables. Ten en cuenta que para medir corriente se conectan en serie, si conectas en paralelo vas a malograr el sensor.

    • Avatar
      Marco
      feb 10, 2017

      Muy buena explicación, solamente tengo un par de preguntas, en tu código haces la siguiente división:voltajeSensor = analogRead(A0) * (5.0 / 1023.0);En el denominador no debería ir 1024.0 en vez de 1023.0 porque son 1024 valores del ADC (del 0 al 1023)?Y la otra pregunta, para un foco de 12 V a 50 mA al cuál quiero medir la corriente, en qué interfiere que mi fuente de poder sea de 12 V DC a 1.1 A ?Muchas gracias!

      • Avatar
        Naylamp
        feb 17, 2017

        Hola Marco, En el denominador debe ir (2^n -1) hazte la idea que el adc fuese de 1 bit (0 y 1) en el denominador la relación debería ser adc*5/1 para tener 0V y 5V correspondientes a 0 y 1. Con respecto a tu Fuente no habría ningún problema, pues los 1.1A es la corriente máxima que puede suministrar.

    • Avatar
      wirtz
      feb 11, 2017

      hola necesito a modo de controlador, poder medir la generación de energía en voltios de un panel solar con el sensor ACS712-30A esta se puede hacer?? como seria le suplico que desburren Gracias

      • Avatar
        Naylamp
        feb 17, 2017

        Wirtz, para medir el voltaje es mejor usar un sensor de voltaje, que puede ser desde un simple divisor de voltaje o con un CI Amplificador Operacional. Con el sensor ACS712 solo puedes medir la corriente, que va a depender de la carga que tengas conectado al panel.

    • Avatar
      Wirtz
      feb 20, 2017

      Hola Naylamp!. Gracias por tu respuesta ya pude solucionar los problemas que tenia con los dos censores. Ahora tengo otra consulta Tengo Conectados a un Arduino UNO. (un lector RFID, un RELE, un sensor de paso de corriente, y un modulo LAN, la coneccion física no es problema, mi consulta esta mas dirigida a la parte lógica de programación en saber si es viable) lo que deberia hacer mi codigo es reconocer la tarjeta RFID y comprobar si esta dades de alta en la base de datos de usuarios de ser asi pasar de OFF a ON al RELE, y asi iniciar el paso de corriente por el sensor y esta medicion enviarla a la base de datos de consumo mientras que se muestra mediante grafias en el sistema en Visual Basic.

      • Avatar
        Naylamp
        mar 23, 2017

        Hola Wirtz, la aplicación que plateas es totalmente viable, primero prueba la comunicación arduino y base de datos, y también por separado el RFID, después de tener funcionando ambas partes será más fácil integrarlas.

    • Avatar
      luis
      mar 15, 2017

      buenas noches como puedo comprar en colombia este producto ACS712T

    • Avatar
      Marisol
      abr 20, 2017

      Buenas tardes, he realizado el experimento de medir el voltaje de la salida del sensor con tu código para calibrarlo, mi problema es que en una corriente de 0A, el multímetro me arroja 2.48V (lo cual es teóricamente correcto, ya que el voltaje de entrada es exactamente 4.96V), sin embargo, en el monitor serial me arroja 2.58V. Pensé que quizá era un problema con el código, pero al medir el voltaje de entrada, el monitor serial me arroja exactamente los 4.96V, después intenté medir un voltaje de 3.33V, y el monitor arroja 3.56V. Cambié de pin y seguía igual.

      • Avatar
        Naylamp
        abr 30, 2017

        Hola Marisol, en el ejemplo tomamos 1000 muestras y sacamos el promedio, si durante la toma de las muestras desconectas el sensor o conectas el multímetro podría afectar la lectura, Puedes también probar el ejemplo del arduino en Archivo>Ejemplos>Basics>ReadAnalogVoltage, si allí las lecturas también son incorrectas, podría ser que los 5V de tu arduino no sean estables.

    • Avatar
      Jhonathan De La Hoz
      may 10, 2017

      Muy buenas, he hecho lo que el tutorial recomienda realizar, necesito medir unas cargas en AC, tengo un sensor de 20A pero sólo requiero medir cargas de 1A para abajo, pero no puedo utilizar el sensor de 5A porque las cargas que pasan por el cable son de hasta 15 amperios por lo que podría dañar el sensor. He hecho la respectiva calibración pero el valor del cálculo me dió bastante cerca al ya establecido 0.104 para ser exactos y ps aún así cuando mido cargas en AC me mide un consumo de 600 miliamperios aproximadamente y en realidad está consumiendo 800 miliamperios, entonces el error es bastante grande. Hay otra posibilidad para arreglar esto?.Muchas gracias.

      • Avatar
        Naylamp
        may 30, 2017

        Hola Jhonathan, en el caso de AC, nuestro método es válido si la carga es resistiva, o que la corriente mantenga su forma sinusoidal, para que la fórmula del Irms sea válido. También nosotros calculamos el Ipico midiendo la corriente mayor, pero si hay algún ruido o pico de corriente tendremos lecturas incorrectas, sobre todo si estamos midiendo corrientes pequeñas. Lo mejor es integrar y calcular el Irms. Similar a como lo hacemos en nuestro Tutorial sensor de corriente AC no invasivo SCT-013

    • Avatar
      Juan F
      may 23, 2017

      hola, primero felicitarlos por el excelente tutorial, pero he tenido unos problemas con la calibración del sensor, sin carga a veces me da 2.5V otras veces 2.7V .. etc quisiera que me ayuden con ese problema por favor

      • Avatar
        Naylamp
        may 30, 2017

        Hola Juan, Lo más probable es que se trate ruido, aumenta las muestras unas 10 veces más, si disminuye la variación entonces es ruido. Agrega un condensador a tu fuente y de igual manera en el Vcc y GND del módulo.

    • Avatar
      Fabian
      jun 6, 2017

      Hola amigo, te felicito por el tutorial, excelente pagina!Sabes estaba guiandome de tu ejemplo numero 4 y quería saber si utilizaste una diferente sensibilidad, ya que veo que tienes 0.139... Y en la tabla que definiste al principio no corresponde esa sensibilidad a ninguno de los 3 sensores hechos.Quizas me estoy perdiendo de algo que no se, tienes alguna razon para utilizar esa sensibilidad?Yo trato de realizarlo con lecturas del ACS712 de 30 Amps para leer corriente en A.Muchas gracias

      • Avatar
        Naylamp
        jun 23, 2017

        Hola Fabián en el Ejemplo 3 calculamos el valor de la sensibilidad de 0.139.

    • Avatar
      Gilber
      jun 14, 2017

      Amigo, estoy midiendo corriente con el sensor ACS712 de 5A, pero antes de conectar una carga en sensor ya me mide una corriente de 0.12, cual seria el inconveniente o que estoy haciendo mal. Agradezco mucho por su ayuda.

      • Avatar
        Naylamp
        jun 23, 2017

        Hola Gilber, si es por ruido con el ejemplo 2 debe de disminuir o desaparecer los 0.12, sino tienes que calibrar tu sensor usando el ejemplo 3.

    • Avatar
      Gerald
      jul 21, 2017

      Conectar el sensor para medir es a un brazo de la línea de 220 vac

    • Avatar
      Wil
      jul 27, 2017

      hola buenas noches tengo un sensor ACS712 y necesito mirar la corriente que genera un panel solar de 5V. ¿ como hago para conectar el panel solar ?

      • Avatar
        Naylamp
        ago 29, 2017

        Hola Wil, la corriente del panel va a depender de la carga que tengas conectada al panel, lo que va a variar en el panel va a ser la corriente máxima. Salvo quieras medir la corriente en Corto puedes conectar ambas líneas del sensor al panel, sino tienes que conectar en serie con una carga, si quieres medir la corriente máxima tiene que ser una carga grande.

    • Avatar
      elio
      ago 7, 2017

      hola muy buenas, quiero medir la coriente a un panel solar sin carga con este sensor, el panel genera su propio voltaje como haria en este caso para medirlo con este sensor.

      • Avatar
        Naylamp
        ago 29, 2017

        Hola Elio, sin carga la corriente del panel siempre va a ser 0mA, Si lo que deseas es medir su voltaje usa un simple divisor de voltaje con dos resistencias para estar a un rango de 5V y conéctalo a un pin analógico de tu arduino.

    • Avatar
      Andres
      sep 7, 2017

      Quisiera saber como se obtuvo este filtro paso bajo, el cual hace mención "corriente=0.9*corriente+0.1*((voltajeSensor-2.527)/Sensibilidad);"???

    • Avatar
      renato
      oct 18, 2017

      hola quiero hacer un proyecto, consiste en como saber si las luces de mi casa estan encendidas o si estan malogradas las bombillas, pero todo esto via wifi, osea yo encontrandome en un lugar lejos de casa como por decir controlar esto desde mi centro de trabajo. como seria la coneccion'

    • Avatar
      Jorge Gonzales
      nov 10, 2017

      porque se multiplica *5/1023 el valor de la entrada analogica A0 ? Lo correcto no sería 5/1024 ? Muy buen proyecto

    • Avatar
      JOSE
      nov 29, 2017

      Disuculpa, tendras la libreria del sensor para poder hacer la simulacion con un microcontrolador en PROTEUS?

    • Avatar
      Oscar
      dic 31, 2017

      Cpn este sensor puedo medir corriente en dc de tension entre 60 y 600 voltios?

    • Avatar
      lol
      ene 11, 2018

      tu explicacion no sirve ni para limpiarse el culo, es como explicarle a un mono como se folla a un elefante. tonta besos <3

    • Avatar
      Alexis
      ene 30, 2018

      Excelente tutorial!

    • Avatar
      DAVID HERAS
      feb 14, 2018

      Disculpa, a que te refieres en el Amperimetro con if(corriente>Imax)Imax=corriente; if(corriente

    • Avatar
      Joaquin
      feb 21, 2018

      Hola, soy de argentina y la alimentacion es 220v a 50hz y esto haciendo un medidor de consumo y mi problema es el siguiente cuando lo mido sin cargar osea no conecto nada a ip+ y ip- me da una lectura cercana a 1 (0,991 , 0,890, 1,02 etc) como soluciono eso ??'

    • Avatar
      Carlos Garcia
      mar 2, 2018

      Estimado leyendo tu articulo yo tengo este sensor ACS712-30 y estoy corriendo una prueba que durara 30 dias y necesito medir la corriente, tengo un shut en la medición de corriente y tengo oscilaciones debidas a la temperatura. La adquisición de la medición la estoy haciendo por medio de registrador de señales analógicas en mV de CD. La pregunta es posible realizar esta medición por medio del ACS712-30 . Gracias

    • Avatar
      jose alfredo
      abr 5, 2018

      Buenas tardes mi estimado una pregunta si quiero instalar elsensor de 30 amp. solo tengo que cambiar el valor de sensibilidad al programa solo eso o algo mas

    • Avatar
      Victor
      abr 30, 2018

      Buenas amigo como estas, ¿Como podría hacer para qué el sensor me mande una alerta de cuando hay cambios de corriente debido a cortes de electricidad?

    • Avatar
      Victor Perez
      may 21, 2018

      Buenas tarde podria ayudarme poniendo el sensor el voltaje a referencia de 3.3V

    • Avatar
      Fernando
      may 23, 2018

      Amigo como es el proceso de calibración que mencionas, que se hace primero con DC y luego en AC..

    • Avatar
      Diego
      jun 4, 2018

      Hola muy buen tutorial me gustaria saber como puedo agregar 3 leds indicadores con los cuales tenga como verde un estado natural de operacion (de 0A a 2A) y un amarillo cuando la corriente sea (>2A) y un rojo que nos muestre cuando es (>10A)

    • Avatar
      Miller
      ene 5, 2019

      Antes que nada felicitarte por este tutoríal muy completo y bien explicado. Mi pregunta es . Podría usar este sensor para medir la corriente consumida por un motor 220vac de un compresor ?

    • Avatar
      JUAN
      feb 26, 2019

      el mejor tutorial que he encontrado excelente gracias y felicitaciones

    • Avatar
      Aguero Luis
      mar 29, 2019

      Quisiera saber como se obtuvo este filtro paso bajo, el cual hace mención "corriente=0.9*corriente+0.1*((voltajeSensor-2.527)/Sensibilidad);"???

Leave a Reply

* Name:
* E-mail: (Not Published)
   Website: (Site url withhttp://)
* Comment: