Estoy haciendo un sistema IOT que intercomunica diversos controladores compatibles con Arduino entre sí para recopilar información de interés.
Entre otros datos, el sistema recopila el consumo de corriente de mi casa y lo despliega en watts y amperes, refrescando la información en una pantalla LCD a cada segundo y graficando vía WEB tanto «en tiempo real» los últimos 3 minutos como el consumo de las últimas 9 horas.
En el futuro, planeo agregar otras gráficas en el servidor web, incluyendo consumo diario y mensual.
¿ Qué utilizo para medir el consumo eléctrico con Arduino ?
Como procesador para el proyecto voy a utilizar el módulo ESP8266 de la firma Elecrow ya que tiene una gran velocidad de proceso, suficiente memoria y el hardware necesario para la conectividad WIFI integrado en un sólo paquete.
Este módulo ESP8266 además incluye el conector y circuito de recarga para una batería de polímero de litio que servirá (en otros proyectos) para mantener al procesador funcionando durante horas en caso de corte energético.
La pantalla LCD es una estándar de 20 caracteres por 4 renglones (20×4) retroiluminada de azul y con el módulo de comunicación serial ya presoldado atrás (y así simplificar la conectividad con el Arduino).
Como sensor de consumo estoy utilizando una pinza amperimétrica modular, removible (se puede poner y quitar en un cable ya instalado porque se abre al medio permitiendo su inserción) con una capacidad máxima de medición de 30 amperes.
¿Cómo funciona el medidor de consumo eléctrico ?
La pinza amperimétrica mide hasta 30 amperes y retorna un voltaje de hasta 1 volt de amplitud en forma lineal, directamente proporcional a los amperes que pasan por el cable que mide.
Atención: El voltaje que devuelve la pinza va de -0.5 a 0.5 volts, correspondiendo su dinámica a la señal alterna que mide.
El Arduino solamente leerá voltajes positivos con su conversor analógico digital, por lo que podremos medir efectivamente solamente la señal que va de 0 a 0.5 volts.
Por añadidura, el ESP8266 mide voltajes en un rango muy acotado, de 0 a 1.1 volts aprox con su conversor AD.
Por suerte y como apreciamos, estos números son bastante compatibles entre si: El ESP8266 puede leer de 0 a 1.1v y la pinza le entregará de 0 a 0.5v (dentro del rango soportado).
La librería que se encarga del muestreo de los datos de la pinza amperimétrica es la EmonLiteESP, de Xose Pérez.
Xose Pérez se tomó el trabajo de adaptar la librería EmonLib que se utiliza para Arduino en general del proyecto Open Energy Monitor.
Deberás descargar e incorporar esa librería a tu proyecto en Arduino.
En el próximo artículo veremos el código fuente para este proyecto de sensor de corriente alterna …