Mi punto fuerte siempre ha sido la programación. Para mi ha sido una pasión y, durante muchos años, mi profesión. Sin embargo, la electrónica es algo que siempre me ha llamado y por eso decidí hace tiempo introducirme en el mundo de Arduino. Hoy te voy a hablar del sensor de corriente alterna SCT-013, un mundo desconocido para mi.
Tengo muy poca práctica en este área, salvo las pequeñas chapuzas que hago en casa. Pero gracias a este artículo he descubierto y recordado cosas que tenía casi olvidadas. Esto es lo que quiero compartir contigo hoy, las nociones básicas que te permitan medir el consumo eléctrico de aparatos en tu hogar.
Antes de empezar una advertencia: MUCHO OJO CON REDES DE ALTA TENSIÓN. Ni que decir que lo más importante es la seguridad de uno mismo así que si no estás seguro de algo de lo que cuento aquí, no lo pongas en práctica, no me hago responsable de los daños que pueda ocasionar.
Por otro lado, agradecería a todos los profesionales electricistas su opinión y consejo.
Dicho todo esto, con mucho respeto pero sin miedo, vamos a comenzar este tutorial sobre cómo medir el consumo eléctrico en nuestros electrodomésticos con el sensor SCT-013.
Indice de contenidos
- 1 ¿Qué es la corriente alterna?
- 2 Consumo eléctrico de los electrodomésticos
- 3 Conceptos generales de la energía alterna
- 4 Sensor SCT-013
- 5 Cómo calcular la resistencia de carga del SCT-013
- 6 Desplazar la señal del SCT-013
- 7 SCT-013 y Arduino, circuito eléctrico
- 8 Programación del SCT-013 con Arduino
- 9 Cómo calibrar el sensor de corriente alterna SCT-013
- 10 Alternativas al sensor SCT-013
- 11 Enlaces de interés del sensor SCT-013
- 12 Conclusiones sensor de corriente alterna SCT-013
¿Qué es la corriente alterna?
Como ya te he dicho, voy a ser bastante breve en este aspecto ya que no soy un experto en la materia. No pretendo crear cátedra, solo quiero compartir mis horas de investigación en este área. Entiendo que hay mucha más gente con experiencia que puede aportar más datos que yo e invito a cualquiera a que deje un comentario en este artículo.
La corriente alterna se llama de esta manera porque precisamente va alternando su valor entre valores positivos y negativos. Esto lo hace en forma de onda sinusoidal (la más común) es decir, aplicando la función trigonométrica del seno. Esto es debido a dos factores, a que se consigue una transmisión más eficiente de la energía y a como se genera la electricidad en su origen.
Básicamente lo que sucede es que la intensidad varía entre un máximo y un mínimo de forma periódica. El máximo es un número positivo y el mínimo es un número negativo. La frecuencia con la que cambia es rápida, entre 50 o 60 veces por segundo.
Precisamente a esto se le conoce como frecuencia y se mide en Hercios (Hz).
La amplitud nos indica el máximo y el mínimo del eje Y. En el caso de la corriente nos indica el valor máximo en amperios.
Hasta ahora solo he hablado de la corriente o intensidad pero el voltaje también varía de la misma forma. Si representamos las dos magnitudes juntas podríamos tener algo como se muestra en la siguiente imagen.
Al contrario que ocurre con los circuitos de corriente continua como Arduino, para medir el consumo de un aparato, electrodoméstico o dispositivo, tenemos que tener en cuenta esta característica del voltaje y la corriente.
Pero empecemos por el principio ¿cómo se mide el consumo eléctrico?
Consumo eléctrico de los electrodomésticos
Voy a intentar resumir lo máximo posible los factores, unidades y demás particularidades que tenemos que tener en cuenta a la hora de medir el consumo eléctrico en nuestras casas. Esta parte es la clave para poder hacer medidas con nuestro sensor de corriente alterna SCT-013.
Hagamos un poco de ingeniería inversa, creo que así se entenderá mejor. La unidad de energía en la que la compañías eléctricas nos facturan es el kWh. Esto equivale a la energía consumida por un electrodoméstico u otro aparato cuya potencia fuese un kilovatio y estuviese funcionando durante una hora.
Dicho así, seguramente no sepas de que te estoy hablando. Pongamos un ejemplo sencillo para entender el concepto que hay detrás de esta unidad de energía.
Imagínate que tienes un aparato que consume 1.000 vatios es decir 1 kilovatio. En este caso si queremos mantener encendido este aparato durante una hora, tendríamos un consumo de 1 kWh.
Pero también podemos mantener alimentada una máquina que consume 2.000 vatios (2 kW) durante media hora con un 1 kWh. O incluso encender 1 bombilla de 100 vatios durante 10 horas.
Lo que vengo a decir es que esta unidad no nos dice el tiempo en el que se consume la energía eléctrica, solo indica la cantidad de energía. Da lo mismo si se consume en una hora o en unos minutos.
Por ejemplo, en el gráfico anterior muestro el tiempo en horas que tarda en consumirse 1 kWh para diferentes aparatos. Si consume 100 W tardará 10 horas pero si consume 2.000 W tardará media hora.
Ahora, si tenemos un aparato que consume 1.000W y lo tenemos encendido durante 4 horas, su consumo energético será el siguiente.
Sencillo ¿verdad? Veamos ahora que es eso de los vatios y cómo podemos calcularlos a partir de un voltaje y una corriente.
El vatio como unidad de energía
Ya hemos visto como se mide la energía eléctrica o consumo eléctrico pero, ¿de dónde sacamos los vatios? El vatio es la unidad de potencia del Sistema Internacional. Se puede expresar de diferentes maneras pero la que nos interesa a nosotros es la que se relaciona con la electricidad.
Un vatio es la potencia eléctrica producida por una diferencia de potencial de 1 voltio y una corriente eléctrica de 1 amperio
Por lo tanto ya tenemos algo por lo que empezar, el voltaje y la intensidad. La potencia es proporcional a la corriente y a la tensión.
Si multiplicamos las ondas de voltaje y corriente alternas que hemos visto antes, el resultado es algo parecido a esto.
Esto es lo que sucedería en un caso ideal donde la corriente y el voltaje están en fase es decir, no existe un desplazamiento en el tiempo. En la realidad esto solo sucede cuando el aparato que está consumiendo la energía es puramente resistivo.
No voy a entrar muy en detalle en explicar qué son las cargas resistivas y cargas reactivas. Ya te he dicho que no soy un experto y lo más probable es que meta la pata :). Lo que si que quiero es que entiendas su significado y como afecta esto al consumo eléctrico.
Cargas resistivas
Digamos que son aquellos aparatos puramente resistivos, usan toda la energía que se les suministra. Por ejemplo, las bombillas incandescentes, un calentador de agua, un secador de pelo o una plancha. Vamos, todo aquello que sea capaz de iluminar y calentar.
En estos casos la potencia se puede aproximar a la imagen que hemos visto antes, donde el voltaje y la corriente están en fase.
Resumiendo mucho podemos decir que sólo con multiplicar estas dos magnitudes ya tendríamos la potencia eléctrica (sería la potencia instantánea). Lo más importante es que en todo momento esta potencia es positiva.
Cargas reactivas
Aquí es donde se complica la cosa. En algunos aparatos ocurre que se libera algo de energía en sentido opuesto es decir, desde el propio dispositivo a la fuente de alimentación. Aparatos como frigoríficos, lavadoras, taladros o soldadores.
Estos electrodomésticos tienen componentes inductivos o capacitivos como los motores. Esto complica bastante la cosa a la hora de medir el consumo. Aquí es donde se produce el desfase que no es más que un desplazamiento en el tiempo.
Por ejemplo, si para 0º de la onda sinusoidal teníamos que estar en los 0 segundos, la corriente se desplaza y esos cero grados están 1 segundo, 2 segundos o el tiempo que sea más adelante. Se ve claramente en la gráfica.
Se produce un desfase en la corriente (rojo) de 90º cuando se comporta como un condensador y de -90º cuando se comporta como una bobina. Esto implica que la potencia ahora tiene ciclos negativos y eso precisamente es lo que va en sentido contrario. Por lo tanto, ya no se consume toda la energía generada, parte se libera del dispositivo a la fuente de alimentación.
Te dejo a continuación un vídeo donde podrás profundizar más en la energía resistiva y reactiva.
Conceptos generales de la energía alterna
Por último vamos a ver unos conceptos generales que debemos tener claros para medir el consumo en nuestras casas con el sensor SCT-013.
Valor de pico
Es simplemente la amplitud de la onda es decir, cual es el valor máximo positivo que tiene la onda.
Valor eficaz
También lo vamos a encontrar como RMS (del inglés root mean square). Es el valor cuadrático medio de una magnitud eléctrica. Se trata de un valor estadístico de una magnitud variable. Más o menos podemos decir que calcula la media de dicho valor.
Este nos viene muy bien para el tipo de onda que estamos analizando, sinusoidal. Se calcula dividiendo el valor de pico entre la raíz cuadrada de 2.
Detrás del valor eficaz existe un desarrollo matemático que te puede ayudar a entender de dónde viene. Aquí te dejo un vídeo de Enrique de Rinconingieril que lo explica perfectamente.
Sensor SCT-013
Una vez que tenemos claros ciertos conceptos sobre energía, voltaje, corriente y potencia, vamos a pasar a ver el sensor SCT-013. Una de las ventajas más interesantes es su precio, podemos encontrarlo desde un poco más de 4€ hasta los 11€. Como siempre dependerá de la prisa que tengas en tenerlo en casa.
Y otra de las ventajas que tiene este sensor es que no tenemos que manipular el cable ya que se trata de un sensor de corriente alterna no invasivo. Bueno, veremos más adelante que realmente si que hay que hacer alguna modificación mínima.
Este tipo de sensores funciona como un transformador de corriente. Pero ¿cómo funciona un transformador?
SCT-013 principio de funcionamiento
Entramos en otro área donde tengo ponga experiencia práctica. He tenido que desempolvar los apuntes de la carrera y ver muchos vídeos en YouTube. Básicamente vamos a tener 3 partes en un transformador: devanado primario, devanado secundario y núcleo ferromagnético.
Cuando una corriente circula por el devanado primario, gracias al efecto de la inducción magnética, en el devanado secundario se produce una intensidad de corriente proporcional a la que pasa por el devanado primario.
Así es como funciona a grandes rasgos un transformador de intensidad. El mismo principio es el que utiliza el sensor de corriente alterna SCT-013 y las típicas pinzas amperimétricas.
Imagen obtenida de Amazon
Un factor importante dentro de los transformadores de corriente es el número de espiras o número de vueltas que da el cable al núcleo ferromagnético. Conociendo estos datos y la corriente que circula por uno de los devanados podemos calcular la corriente por el otro devanado.
Esto es debido a que guardan la siguiente relación:
A esta fórmula se le llama relación de transformación. Relaciona el número de espiras del primario (Np), del secundario (Ns), las intensidades del primario (Ip), del secundario (Is), el voltaje del primario (Vp) y del secundario (Vs).
En el caso del sensor de corriente alterna SCT-013 el devanado primario es el cable del aparato que queremos medir y el número de vueltas sería uno. El devanado secundario tiene 2.000 vueltas. Un poco más adelante usaremos estos datos para configurar el sensor.
Si aplicamos la relación de transformación a esta situación y suponiendo que queremos medir una intensidad de 10 Amperios, el resultado sería el siguiente.
Como puedes comprobar se produce una transformación de energía. Hemos bajado de 10 A (imposible de medir esta corriente con Arduino) hasta los 0,005 A (esto ya si que lo podemos medir con Arduino).
Al final es como si estuviéramos haciendo un cambio de escala para poder medir mejor. Ahora nos faltaría conocer cómo medir la intensidad con Arduino a través de una resistencia de carga o resistencia burden.
Pero antes de meternos en ello, vamos a ver los tipos de sensores de corriente alterna SCT-013 que podemos encontrar.
Tipos de sensores SCT-013
Podemos comprar diferentes tipos de sensores de corriente alterna SCT-013 que se pueden organizar en dos grupos. Los que proporcionan una corriente o los que proporcionan un voltaje. La gran diferencia entre ellos es que en los primeros no viene incluida una resistencia de carga y en los segundos sí.
Ahora te estarás preguntando ¿qué es una resistencia de carga? Lo primero que hay que decir es que se trata de una resistencia normal, no es especial. El nombre resistencia de carga o resistencia burden se refiere a la función que hace, no a como están fabricadas.
Su función es convertir la corriente en un voltaje limitado que podamos medir, por ejemplo, con Arduino.
El SCT-013-000 es el único que nos proporciona una corriente y no tiene resistencia de carga. Puede medir una corriente de entre 50 mA y 100 A.
El resto de la familia de sensores SCT-013 si que tienen incluida la resistencia de carga. Podemos encontrar varios modelos pero todos tienen un voltaje de salida entre 0V y 1V.
Imagen obtenida del datasheet SCT-013
En este artículo vamos a trabajar con el SCT-013-000 debido a que no tiene resistencia de carga. Esto nos va a permitir seleccionar la resistencia de carga más adecuada para medir con mucha precisión el consumo eléctrico de un electrodoméstico como el frigorífico. Precisamente esto es lo que hacemos en el proyecto IoT Fridge Saver.
Elegir uno u otro sensor SCT-013 dependerá de las necesidades. Como vemos en la tabla anterior, deberás elegir la intensidad de corriente que mejor se acople a tus necesidades.
Cómo calcular la resistencia de carga del SCT-013
Esta parte, donde se calcula la resistencia de carga, solo es aplicable al tipo de sensor SCT-013 donde no viene incluida la resistencia de carga, el SCT-013-000.
Con Arduino y otra placas como NodeMCU, solo podemos medir voltajes. Si además ese voltaje varía entre un mínimo y un máximo, solo podremos hacerlo a través de una entrada analógica.
Por otro lado, en estos cálculos debemos conocer el consumo aproximado del aparato que vamos a medir. Esto nos permitirá ajustar la precisión. El SCT-013-000 puede medir desde 50 mA hasta los 100 A.
Imagínate que el aparato que vas a medir tiene una corriente de 4A. No tiene sentido utilizar toda la escala hasta los 100A ya que estaríamos perdiendo precisión.
Vamos entonces a ver los cálculos que necesitamos hacer.
Calculo resistencia de carga del SCT-013
El objetivo de esta parte es obtener una resistencia que nos permite leer el voltaje de la corriente que pasa por el sensor SCT-013. Debemos de conseguir la máxima resolución posible y para ello debemos conocer la potencia aproximada del aparato o electrodoméstico que vamos a medir.
El consumo aproximado en vatios debes sacarlo de las características técnicas del electrodoméstico o aparato que quieras medir. Por ejemplo, si quieres medir el consumo de un frigorífico como hacemos en el proyecto IoT Fridge Saver, ponemos un máximo de 1.000W (1kW).
Puedes ver una relación de consumos de diferentes electrodomésticos aquí.
#1 Calcula la corriente que quieres medir
Sigamos con el ejemplo del frigorífico. Hacemos los cálculos para 1.000W y un voltaje típico, 220V. Como sabemos la fórmula de potencia, calculamos la corriente.
#2 Convertir la corriente máxima eficaz en corriente de pico
La corriente que hemos obtenido en el paso anterior es corriente eficaz. Ahora hay que convertirla en corriente de pico con la siguiente fórmula.
#3 Calcular la corriente de pico en el devanado secundario
Con la fórmula de relación de transformación que hemos visto antes, podemos calcular la corriente de pico en el devanado secundario.
#4 Maximizar la resolución con el máximo valor de la entrada analógica
En este punto entra en juego la placa que estés utilizando ya que depende de cada placa la referencia interna de la entrada analógica. Esta referencia se llama AREF y nos informa del voltaje máximo que podemos medir en una entrada analógica. Por ejemplo, NodeMCU y Arduino MKR1000 utilizan 3,3V y Arduino UNO utiliza 5V.
En este ejemplo vamos a utilizar el AREF de Arduino UNO, 5V.
La idea es aplicar la Ley de Ohm pero utilizando la mitad de voltaje. Lo que hemos hecho en los pasos anteriores es calcular la corriente de pico lo que significa que todavía tenemos una onda sinusoidal que varía de positivo a negativo.
El objetivo es ajustar la resistencia para que se cumpla la Ley de Ohm y tengamos un voltaje entre 2,5V y -2,5V ya que la corriente la tenemos fija. Por eso, como veremos ahora en la fórmula, debemos dividir AREF entre dos.
#5 Obteniendo un valor coherente para la resistencia de carga
El valor que nos ha dado para la resistencia de carga es de 778Ω. Este valor no es un valor que podamos encontrar fácilmente. Por eso debemos utilizar varias resistencias en serie que sean más comunes para conseguir un valor aproximado.
También se podría hacer con resistencias en paralelo.
Por ejemplo, podemos poner en serie dos resistencias de 330Ω y una de 100Ω. Esto nos daría un valor de 760Ω más o menos aproximado al que habíamos calculado. Siempre que lo hagas quédate por debajo del valor calculado.
Esto evitará que nos salgamos del límite de voltaje establecido por AREF ya que podemos llegar a dañar la placa de desarrollo con el sensor SCT-013.
Desplazar la señal del SCT-013
Como ya te he dicho en el apartado anterior, en la resistencia de carga vamos a tener un voltaje que varía de 2,5V a -2,5V. Sigue siendo una señal sinusoidal.
El problema que existe es que ni Arduino ni NodeMCU leen voltajes negativos. Así que tenemos que modificar la señal para que pase a estar en el rango de 0V a 5V. Eso se hace añadiendo un offset en DC a nuestra señal.
Basta con sumar 2,5V y estaría resuelto. Esto lo haremos a través de un circuito conocido como circuito offset en DC. Básicamente consiste en poner un divisor de tensión y un condensador. El condensador tiene que ser de 10μF y unos pocos cientos de voltios. Esto hace que la reactancia sea baja y la corriente alterna evite la resistencia.
El valor de las resistencias del divisor de tensión puede ser 10kΩ siempre y cuando lo alimentemos a través de la red eléctrica. Si tu dispositivo va a funcionar con pilas utiliza unas resistencias de 470kΩ para que el consumo sea mínimo.
SCT-013 y Arduino, circuito eléctrico
Con todo lo que hemos visto, ya podemos montar el circuito eléctrico donde conectemos el SCT-013 y Arduino. Antes de ver como conectar los componentes vamos a echar un vistazo al conector que viene incluido en toda la familia SCT-013.
Conector del SCT-013
Se trata del típico conector de audio que tenemos en todos los auriculares, conocido como jack. Bueno, últimamente las empresas están apostando por eliminarlo de los terminales :)
La mejor opción es conectarlo con un jack hembra que lo puedes comprar en cualquier tienda de electrónica en Internet. Te dejo unos enlaces para que veas cuales son:
Cada tipo de jack hembra es diferente. Deberás investigar como se hacen las conexiones.
Del lado del sensor de corriente alterna SCT-013 el jack macho tiene las siguientes conexiones.
La otra opción si no tienes un conector jack hembra es cortar el cable, sin miedo :) Si lo haces encontrarás dos cables, uno rojo y otro blanco. Estos colores pueden variar dependiendo del fabricante y del modelo. Si no sabes muy bien como los tienes que conectar lo mejor es que pruebes.
En mi caso tengo dos cables, rojo y blanco. El rojo va a al pin analógico y el blanco va a la conexión al punto medio de las resistencias. No te preocupes si todavía no entiendes las conexiones, ahora mismo veremos el circuito completo.
Da lo mismo como lo hagas, lo que sea más sencillo para ti. Como siempre digo, hay que ponerse en acción y si tienes que esperar dos semanas a que te llegue el conector hembra más vale que cortes el cable ;)
Circuito completo SCT-013 y Arduino
Ahora sí, vamos a dar sentido a todo lo que hemos ido viendo y vamos a montar el circuito completo en la protoboad con el SCT-013 y Arduino. Incluimos en este circuito la resistencia de carga y el offset en DC.
Con un conector jack hembra, más o menos quedaría así. El que yo utilizo tiene 5 salidas y como ya te he dicho, tendrás que investigar que configuración utiliza tu conector jack hembra.
Si has decidido cortar el cable, el circuito es el mismo. Este sería el esquema que es igual pero sin el jack hembra.
Colocación correcta del SCT-013
Por último vamos a ver cómo tenemos que abrazar los cables de alta tensión con el sensor de corriente alterna SCT-013. No vale de cualquier forma, hay que hacerlo de una manera determinada ya que de lo contrario, no estaremos midiendo correctamente el consumo.
Quizás esta sea una de las partes más complejas de la conexión ya que en muchos casos tendremos que quitar la funda que recubre los cables y dejar al descubierto la fase y el neutro. Lo más importante es que tenemos que abrazar solo uno de estos cables, en caso contrario la medición será cero.
Esto es debido a que por uno de los cables la corriente fluye en un sentido y por el otro cable fluye en sentido contrario. Si abrazamos los dos cables un flujo magnético compensará al otro flujo magnético y se anulará.
Si recuerdas en las clases del colegio o instituto, recordarás la regla de la mano derecha. Esta regla nos dice en que sentido fluye el campo magnético dada la dirección de corriente eléctrica.
Mi consejo es que te hagas con una regleta o con un alargador. Lo modifiques y hagas todas las mediciones sobre ese cable. De esa manera si quieres medir otro aparato eléctrico solo tendrás que llevarlo donde quieras y hacer de nuevo las conexiones.
Es importante utilizar cables de buena calidad. Por tu seguridad y para conseguir una buena precisión.
Seguramente encuentres tres cables cuando quites la funda que cubre todo. Los colores de la fase suelen ser azul o negro y para el neutro marrón. En uno de estos cables es donde tienes que abrazar el sensor SCT-013. El tercer cable suele ser de color verde y amarillo y sirve para la toma de tierra.
Programación del SCT-013 con Arduino
Llegamos a la parte final de este artículo bueno, a la penúltima sección ya que la última será algo muy importante, la calibración. Pero vamos paso a paso, veamos cómo programar el sensor de corriente alterna SCT-013 con Arduino.
Para ayudarnos en esta tarea lo mejor es apoyarnos en una librería. En concreto vamos a utilizar Emonlib creado por el proyecto Open Energy Monitor. En este proyecto puedes ver muchas cosas de las que te he ido contando aquí. Ha sido la fuente de inspiración de este artículo.
Open Energy Monitor es un proyecto que nos proporciona diferente hardware para medir el consumo en multitud de dispositivos y aparatos. Han creado sus propias placas compatibles con Arduino.
Respecto al software hay dos partes. Una parte que se encarga del desarrollo del firmware para sus placas y otra parte que se centra en la nube. Al tratarse de hardware compatible con Arduino podemos utilizar su firmware y librerías en nuestros proyectos con Arduino.
Esta es una de las grandes ventajas del Open Source y del Open Hardware.
Instalando la librería Emonlib
A estas alturas ya estarás familiarizado con las librerías de Arduino, nuestras grandes amigas. De todas formas si no comprendes algo, puedes seguir este tutorial de cómo instalar librerías en Arduino.
Abre el gestor de librerías y busca Emonlib. También puedes descargarlo desde el repositorio en GitHub.
Si quieres profundizar en el funcionamiento de GitHub entra aquí.
Ahora ya si que podemos programar el SCT-013.
Programa para obtener la potencia con el sensor SCT-013
Como ya te he dicho, las librerías son nuestras amigas. Gracias a Emonlib no tenemos que hacer cálculos complejos. Con unas pocas líneas de código obtendremos de una forma muy sencilla la potencia que está consumiendo el aparato.
Este sería el código que tienes que cargar a tu Arduino. Ahora te explicaré algunas cosas que debes tener en cuenta.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
// Include Emon Library #include "EmonLib.h" // Crear una instancia EnergyMonitor EnergyMonitor energyMonitor; // Voltaje de nuestra red eléctrica float voltajeRed = 220.0; void setup() { Serial.begin(9600); // Iniciamos la clase indicando // Número de pin: donde tenemos conectado el SCT-013 // Valor de calibración: valor obtenido de la calibración teórica energyMonitor.current(0, 2.6); } void loop() { // Obtenemos el valor de la corriente eficaz // Pasamos el número de muestras que queremos tomar double Irms = energyMonitor.calcIrms(1484); // Calculamos la potencia aparente double potencia = Irms * voltajeRed; // Mostramos la información por el monitor serie Serial.print("Potencia = "); Serial.print(potencia); Serial.print(" Irms = "); Serial.println(Irms); } |
Lo primero es el voltaje de tu red eléctrica. Más adelante vamos a ver cómo obtener dicho voltaje con un multímetro. De momento partimos de la suposición que es 220V (lo más típico).
En la función setup() iniciamos la comunicación serie para poder mostrar los datos a través del monitor serie.
Luego iniciamos el objeto que hemos creado de la clase EnergyMonitor con la función current(pinAnalogico, factorCalibracion). Esta función admite dos parámetros:
- pinAnalogico: es el pin analógico donde hemos conectado el sensor de corriente alterna SCT-013.
- factorCalibracion: es un valor que tenemos que calcular para corregir errores de diferentes tipos como la tolerancia de la resistencia de carga o del propio sensor SCT-013.
El pin analógico no tiene duda. Según el esquema mostrado más arriba vamos a utilizar el A0 así que pasamos como argumento un 0. El factor de corrección de momento lo dejamos a 2,6. En el siguiente apartado veremos como se calcula.
Por último en la función loop() obtenemos la corriente eficaz llamando a la función calcIrms(numMuestras). Esta función admite un parámetro:
- numMuestras: indica cuantas muestras tiene que tomar para calcular la corriente eficaz.
El número de muestras es importante. Como hemos estado hablando a lo largo de todo este artículo, estamos trabajando con una señal sinusoidal. Esto quiere decir que tiene ciclos que se van repitiendo en el tiempo.
El número de muestras indica el número de veces que se va a leer la señal para obtener el valor de la corriente eficaz. Es interesante que estas muestras sean en ciclos completos. Según la velocidad de acceso a los pines analógicos con Arduino UNO, aproximadamente podemos medir 106 muestras en cada ciclo.
Si estás utilizando otro microcontrolador este valor puede variar.
Si queremos medir 14 ciclos (un valor recomendado por el proyecto Open Energy Monitor), tendremos que medir
Por último mostramos toda esta información a través del monitor serie.
Ahora solo nos falta conectarlo a un aparato eléctrico y listo…, bueno, todavía queda una cosa.
Cómo calibrar el sensor de corriente alterna SCT-013
Ya hemos llegado a la parte final y a la más peligrosa. Tenemos que calibrar el sensor pero ¿por qué?
Debemos partir del concepto de que nuestros aparatos no son perfectos. Es imposible fabricar cualquier cosa con absoluta precisión. Hay una relación directamente proporcional (incluso exponencial) entre precisión y precio. Cuanto más preciso más caro es el aparato.
Hay tres factores importantes a tener en cuenta y que influyen en la precisión (fuente Open Energy Monitor):
- La relación de transferencia del transformador
- El valor de la resistencia de carga y su tolerancia
- La precisión del ADC a la hora de medir el voltaje en la resistencia de carga
Esta parte es muy importante para tener unos datos satisfactorios de consumo con el sensor SCT-013. Para que te hagas una idea podemos llegar a reducir el error en aproximadamente unas 10 veces. Hay dos formas de hacerlo: una opción teórica y otra práctica.
En las dos opciones obtenemos el factor de calibración que hemos visto en el sketch que hemos cargado a Arduino.
La idea es empezar con la teórica y luego corregir ese valor con la fase experimental. Mucho ojo en la parte experimental. Vamos a trabajar con alto voltaje y puede ser muy peligroso. SI NO ESTÁS SEGURO NO HAGAS LA PARTE EXPERIMENTAL.
Proceso de calibración teórico del SCT-013
El proceso de calibración es sencillo. Solo tenemos que aplicar la siguiente fórmula.
Lo que hacemos es calcular el factor de calibración dividiendo el factor de transformación (corriente máxima eficaz dividida entre la corriente mínima eficaz) entre la resistencia de carga.
El valor que nos da sería el valor que tenemos que poner en el sketch del SCT-013. Si sustituimos los valores para la resistencia de carga que hemos calculado quedaría de la siguiente manera.
Este sería el valor teórico. Ya tendríamos algo por donde empezar. Para asegurarnos de que realmente este factor de calibración es bueno sería interesante conectar un aparato del cual sepamos su consumo aproximado.
Por ejemplo, podemos utilizar una bombilla incandescente. Se recomienda una con bastante potencia para no perder resolución. El sensor SCT-013 nos dará una resolución de 2 decimales por lo tanto, si queremos calibrar bien este sensor debemos utilizar un aparato que consuma más de 20W.
Yo voy a utilizar el foco con el que grabo los vídeos de YouTube que tiene nada más y nada menos que ¡¡¡¡¡ 80W !!!!!
Sustituyendo el valor en el sketch y encendiendo la bombilla, obtengo el siguiente resultado.
Como puedes comprobar obtengo una potencia de más de 120W y una corriente de 0,53A. Esto dista mucho de ser real y tenemos que comprobarlo de forma experimental.
Proceso de calibración práctico del SCT-013
Aquí llega la complejidad. Tenemos que medir la corriente real con la corriente que está dando el sensor SCT-013. Se puede hacer de varias maneras dependiendo del material que tengas disponible. Lo más sencillo es utilizar una pinza amperimétrica, por unos 30€ la puedes comprar.
En el caso de que no tengas una pinza de este tipo, como yo, y quieras calibrar el SCT-013, puedes utilizar un multímetro. Es más peligroso pero se consiguen los mismos resultados.
Así que empecemos con el proceso de calibración del SCT-013 miendo el voltaje para saber si son 220V o 230V.
#1 Midiendo el voltaje de la red eléctrica
Para medir el voltaje necesitarás un multímetro. Lo primero es configurar el aparato correctamente. Tienes que seleccionar voltaje en alterna y el rango correspondiente a 220V. Además tienes que conectar el cable rojo (suele ser de este color) en voltios y el cable negro en COM.
Una vez configurado debes meter las dos puntas en un enchufe. Cada una en un agujero. Da lo mismo en que agujero metas la punta. La diferencia es que te dará o positivo o negativo. Esto te dará un valor de voltaje y es el que tienes que apuntar y actualizar en el sketch.
Las mediciones en este punto dependen mucho de la calidad del multímetro. Este es otro caso claro donde el precio tiene que ver mucho con la precisión.
#2 Midiendo la corriente alterna con el multímetro
La corriente es algo más complicado ya que tenemos que cortar el cable y poner el mutímetro en serie con el cable, como si fuera una resistencia. En estos casos es interesante tener una clema, bornera o ficha de empalme.
Eso sí, que soporte la corriente que va a pasar por la bornera. No pongas una de electrónica porque puedes dañar la instalación.
Antes de nada vamos a ver cómo configurar el multímetro para medir una corriente alterna. Es diferente a la configuración de voltaje en alterna.
Para que te hagas una idea voy a ponerte un esquema de cómo tienes que conectar todo.
Es importante que también tengas conectado el sensor de corriente alterna SCT-013 para poder comparar una medida y otra. Cuando mido con el multímetro obtengo el siguiente resultado.
Me da una medida de 0,33A. Si hacemos los cálculos para obtener la potencia se obtiene lo siguiente.
Con los datos obtenidos anteriormente donde teníamos una potencia de unos 120W, comprobamos que este factor de calibración hay que ajustarlo.
Por lo tanto, el factor de calibración está mal. Hay que corregirlo. Pero ahora que tenemos los datos experimentales resulta sencillo. Si el valor obtenido a través del sensor de corriente alterna SCT-013 es mayor, baja el factor de corrección.
Ajusta dicho valor hasta conseguir un dato aproximado al que has obtenido en el multímetro. Solo es cuestión de ir modificando y cargando el código en la placa hasta que tener un valor correcto. No te olvides de modificar también el valor del voltaje obtenido.
Al final con un factor de calibración de 1.6 y un voltaje de 230V consigo ajustarme a la corriente que nos mostraba el multímetro.
Código final
Aquí te dejo el código con los valores finales.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
// Include Emon Library #include "EmonLib.h" // Crear una instancia EnergyMonitor EnergyMonitor energyMonitor; // Voltaje de nuestra red eléctrica float voltajeRed = 230.0; void setup() { Serial.begin(9600); // Iniciamos la clase indicando // Número de pin: donde tenemos conectado el SCT-013 // Valor de calibración: valor obtenido de la calibración teórica energyMonitor.current(0, 1.6); } void loop() { // Obtenemos el valor de la corriente eficaz // Pasamos el número de muestras que queremos tomar double Irms = energyMonitor.calcIrms(1484); // Calculamos la potencia aparente double potencia = Irms * voltajeRed; // Mostramos la información por el monitor serie Serial.print("Potencia = "); Serial.print(potencia); Serial.print(" Irms = "); Serial.println(Irms); } |
Alternativas al sensor SCT-013
No me quiero despedir sin antes ofrecerte alternativas a este sensor. Aunque depende mucho de las necesidades del aparato que quieras medir, estos sensores invasivos (debes alterar el cable que conecta el aparato) pueden ser una buena alternativa.
Cualquiera de estos sensores puede hacer la misma función. Solo tendrás que elegir aquel que se amolde mejor a tus necesidades de corriente.
Enlaces de interés del sensor SCT-013
Toda esta información forma parte de la investigación en diferentes blogs y artículos. Aquí te dejo una relación de todas las fuentes de las que me he nutrido.
- Calibración del SCT-013
- Cómo crear un monitor de energía con Arduino
- Cálculo de la resistencia de carga del SCT-013
- Datos teóricos del sensor SCT-013
- Información sobre aplicaciones de transformadores
- Paper sobre resistencias de carga
- Datasheet del conector jack hembra
Conclusiones sensor de corriente alterna SCT-013
En este artículo hemos visto cómo podemos medir la corriente alterna con el sensor SCT-013 y como consecuencia el consumo eléctrico en los aparatos de nuestra casa. El proceso se divide en varias fases.
Lo primero es entender qué es la corriente alterna, el voltaje y la potencia. También es importante comprender qué son los kWh, magnitud con la que las empresas energéticas nos facturan en casa.
El sensor SCT-013 funciona como un transformador de corriente con un devanado primario con 1 espira y un devanado secundario con 2.000 espiras. Hay diferentes modelos de la misma familia pero si queremos una buena precisión debemos elegir el SCT-013-000.
Para ajustar la resolución del SCT-013 tendremos que calcular la resistencia de carga que es igual que cualquier resistencia pero su función es diferente. Nos permite medir un voltaje entre sus bornes.
Otra parte importante en el circuito es desplazar la señal. Esto lo hacemos con un divisor de tensión y un condensador. Consiste en sumar a la señal sinusoidal un offset en DC.
Con todo esto ya tendríamos nuestro dispositivo funcionando. Ahora solo nos faltaría la calibración tanto teórica como experimental.
Una vez lo tengamos calibrado, ya podemos medir el consumo de cualquier aparato eléctrico.
¿Te ha parecido interesante el artículo del SCT-013?
¿Añadirías algo que no hemos visto del sensor SCT-013?
¿Te interesaría saber cómo mandar los datos del sensor SCT-013 a una plataforma en al nube?
Cualquier duda o sugerencia en los comentarios de este artículo.
Agradecimientos
No me puedo despedir sin dar las gracias por su ayuda y apoyo a José Manuel y a Germán. Sin su ayuda este artículo nunca habría visto la luz.