Instalación NILMTK en Windows


Aunque NILMTK se puede instalar muy facilmente en sistemas basados en Linux , es posible instalarlo tambien desde windows . Basicamente necesitaremos instalar Anaconda ( y Git si no lo tiene instalado ) y realizar la identificación de la carga, encontrar el paquete de instalación de NILMTK y registrar el proceso deliberadamente.

Instalación de GIT Windows

Hay varias maneras de instalar Git en Windows. La forma más oficial está disponible para ser descargada en el sitio web de Git. Solo tiene que visitar http://git-scm.com/download/win y la descarga empezará automáticamente. Observe que éste proyecto conocido como Git para Windows (también llamado msysGit), es diferente de Git «normal». Para más información acerca de este proyecto visita http://msysgit.github.io/.

Otra forma de obtener Git fácilmente es mediante la instalación de GitHub para Windows. El instalador incluye la versión de línea de comandos y la interfaz de usuario de Git. Además funciona bien con Powershell y establece correctamente «caching» de credenciales y configuración CRLF adecuada. Puede descargar este instalador del sitio web de GitHub para Windows en http://windows.github.com.

Instalación de Anaconda

  • Descargar el instalador de Anaconda . Nos recomiendan que  verifiquemos la integridad de los datos con SHA-256 .
  • Haga doble clic en el instalador para iniciar.Para evitar errores de permisos, no inicie el instalador desde la carpeta Favoritos .Si tiene problemas durante la instalación, desactive temporalmente su software antivirus durante la instalación y vuelva a activarlo una vez que concluya la instalación. Si instaló para todos los usuarios, desinstale Anaconda y vuelva a instalarlo solo para su usuario y vuelva a intentarlo.
  • Haga clic en Siguiente.
  • Lea los términos de la licencia y haga clic en «Acepto».
  • Seleccione una instalación para «Solo yo» a menos que esté instalando para todos los usuarios (lo que requiere privilegios de administrador de Windows) y haga clic en Siguiente.
  • Seleccione una carpeta de destino para instalar Anaconda y haga clic en el botón Siguiente. Nota: Instale Anaconda en una ruta de directorio que no contenga espacios ni caracteres Unicode..No lo instale como administrador a menos que se requieran privilegios de administrador.
../../../_images/win-install-destination.png
  • Elija si desea agregar Anaconda a su variable de entorno PATH. Se Recomienda no agregar Anaconda a la variable de entorno PATH, ya que esto puede interferir con otro software. En su lugar, use el software Anaconda abriendo Anaconda Navigator o Anaconda Prompt desde el menú Inicio.
../../../_images/win-install-options.png
  • Elija si desea registrar Anaconda como su Python predeterminado. A menos que planee instalar y ejecutar múltiples versiones de Anaconda o múltiples versiones de Python, acepte el valor predeterminado y deje esta casilla marcada.
  • Haga clic en el botón Instalar. Si desea ver los paquetes que está instalando Anaconda, haga clic en Mostrar detalles.
  • Haga clic en el botón Siguiente.
  • Opcional: para instalar PyCharm para Anaconda, haga clic en el enlace a https://www.anaconda.com/pycharm .
../../../_images/win-install-pycharm.png
  • O para instalar Anaconda sin PyCharm, haga clic en el botón Siguiente.
  • Después de una instalación exitosa, verá el cuadro de diálogo «Gracias por instalar Anaconda»:
  • Si desea leer más sobre Anaconda.org y cómo comenzar con Anaconda, marque las casillas “Tutorial de Anaconda Edición Individual” y “Aprenda más sobre Anaconda”. Haga clic en el botón Finalizar.
  • Verifique su instalación .Nota: Si está detrás de un proxy de la empresa, es posible que deba realizar una configuración adicional.

Instalación manual del NILMTK

Suponiendo que Anaconda se ha instalado en esa máquina, el entorno es Python3 y la dirección del proyecto del paquete NILMTK es: https://github.com/nilmtk/nilm_metadata/ , Como se supone tenemos instalado el comando git para descargar los recursos de git, en primer lugar descargaremos nilmtk con Git usando el siguiente comando:

git clone https://github.com/nilmtk/nilmtk.git

Y este seria el resultado:

C:\Users\carlo\anaconda3>git clone https://github.com/nilmtk/nilmtk.git
Cloning into 'nilmtk'…
remote: Enumerating objects: 12331, done.
remote: Counting objects: 100% (121/121), done.
remote: Compressing objects: 100% (72/72), done.
remote: Total 12331 (delta 69), reused 84 (delta 48), pack-reused 12210
Receiving objects: 100% (12331/12331), 51.87 MiB | 6.81 MiB/s, done.
Resolving deltas: 100% (8775/8775), done.

Encontrará la carpeta nilmtk-metadata en el directorio y hay un archivo setup.py. Cambie a este directorio y luego instale, el comando es:

python setup.py develop

Resultado de ejecucion del comando;

C:\Users\carlo\anaconda3\nilmtk>python setup.py develop
running develop
running egg_info
creating nilmtk.egg-info
writing nilmtk.egg-info\PKG-INFO
writing dependency_links to nilmtk.egg-info\dependency_links.txt
writing requirements to nilmtk.egg-info\requires.txt
writing top-level names to nilmtk.egg-info\top_level.txt
writing manifest file 'nilmtk.egg-info\SOURCES.txt'
reading manifest file 'nilmtk.egg-info\SOURCES.txt'
writing manifest file 'nilmtk.egg-info\SOURCES.txt'
running build_ext
Creating c:\users\carlo\appdata\local\programs\python\python39\lib\site-packages\nilmtk.egg-link (link to .)
Adding nilmtk 0.4.0.dev1+git.45a50c8 to easy-install.pth file
Installed c:\users\carlo\anaconda3\nilmtk
Processing dependencies for nilmtk==0.4.0.dev1+git.45a50c8
Searching for matplotlib==3.1.3
Reading https://pypi.org/simple/matplotlib/
Downloading https://files.pythonhosted.org/packages/be/74/24d058c17b155d131359f1cd01e120b3954686bf8b7853172b279237e1dc/matplotlib-3.1.3.tar.gz#sha256=db3121f12fb9b99f105d1413aebaeb3d943f269f3d262b45586d12765866f0c6
Best match: matplotlib 3.1.3
Processing matplotlib-3.1.3.tar.gz
Writing C:\Users\carlo\AppData\Local\Temp\easy_install-qhium5qh\matplotlib-3.1.3\setup.cfg
Running matplotlib-3.1.3\setup.py -q bdist_egg --dist-dir C:\Users\carlo\AppData\Local\Temp\easy_install-qhium5qh\matplotlib-3.1.3\egg-dist-tmp-gu_he1dr
Edit setup.cfg to change the build options
BUILDING MATPLOTLIB
matplotlib: yes [3.1.3]
python: yes [3.9.4 (tags/v3.9.4:1f2e308, Apr 6 2021, 13:40:21) [MSC
v.1928 64 bit (AMD64)]]
platform: yes [win32]
OPTIONAL SUBPACKAGES
sample_data: yes [installing]
tests: no [skipping due to configuration]
OPTIONAL BACKEND EXTENSIONS
agg: yes [installing]
tkagg: yes [installing; run-time loading from Python Tcl/Tk]
macosx: no [Mac OS-X only]
OPTIONAL PACKAGE DATA
dlls: no [skipping due to configuration]
UPDATING build\lib.win-amd64-3.9\matplotlib_version.py
set build\lib.win-amd64-3.9\matplotlib_version.py to '3.1.3'
error: Setup script exited with error: Microsoft Visual C++ 14.0 is required. Get it with "Build Tools for Visual Studio": https://visualstudio.microsoft.com/downloads/

Ahora debemos descargar nilmtk-metadata por lo que una vez mas usaremos el comando git:

git clone https://github.com/nilmtk/nilm_metadata/

Y este seria el resultado:

C:\Users\carlo\anaconda3>git clone https://github.com/nilmtk/nilm_metadata/
Cloning into 'nilm_metadata'…
remote: Enumerating objects: 2053, done.
Receiving objects:
Receiving objects: 100% (2053/2053), 2.16 MiB | 6.17 MiB/s, done.
Resolving deltas: 100% (1380/1380), done.

Encontrará la carpeta nilmtk-metadata en el directorio y hay un archivo setup.py. Cambie a este directorio y luego instale, el comando es:

python setup.py develop

Resultados de la ejecucion del comando:

C:\Users\carlo\anaconda3\nilm_metadata>python setup.py develop
running develop
running egg_info
creating nilm_metadata.egg-info
writing nilm_metadata.egg-info\PKG-INFO
writing dependency_links to nilm_metadata.egg-info\dependency_links.txt
writing requirements to nilm_metadata.egg-info\requires.txt
writing top-level names to nilm_metadata.egg-info\top_level.txt
writing manifest file 'nilm_metadata.egg-info\SOURCES.txt'
reading manifest file 'nilm_metadata.egg-info\SOURCES.txt'
writing manifest file 'nilm_metadata.egg-info\SOURCES.txt'
running build_ext
Creating c:\users\carlo\appdata\local\programs\python\python39\lib\site-packages\nilm-metadata.egg-link (link to .)
Adding nilm-metadata 0.2.5 to easy-install.pth file
Installed c:\users\carlo\anaconda3\nilm_metadata
Processing dependencies for nilm-metadata==0.2.5
Searching for pandas==1.3.3
Best match: pandas 1.3.3
Processing pandas-1.3.3-py3.9-win-amd64.egg
pandas 1.3.3 is already the active version in easy-install.pth
Using c:\users\carlo\appdata\local\programs\python\python39\lib\site-packages\pandas-1.3.3-py3.9-win-amd64.egg
Searching for six==1.16.0
Best match: six 1.16.0
Processing six-1.16.0-py3.9.egg
six 1.16.0 is already the active version in easy-install.pth
Using c:\users\carlo\appdata\local\programs\python\python39\lib\site-packages\six-1.16.0-py3.9.egg
Searching for pyyaml==5.4.1
Best match: pyyaml 5.4.1
Processing pyyaml-5.4.1-py3.9-win-amd64.egg
pyyaml 5.4.1 is already the active version in easy-install.pth
Using c:\users\carlo\appdata\local\programs\python\python39\lib\site-packages\pyyaml-5.4.1-py3.9-win-amd64.egg
Searching for pytz==2021.1
Best match: pytz 2021.1
Processing pytz-2021.1-py3.9.egg
pytz 2021.1 is already the active version in easy-install.pth
Using c:\users\carlo\appdata\local\programs\python\python39\lib\site-packages\pytz-2021.1-py3.9.egg
Searching for python-dateutil==2.8.2
Best match: python-dateutil 2.8.2
Processing python_dateutil-2.8.2-py3.9.egg
python-dateutil 2.8.2 is already the active version in easy-install.pth
Using c:\users\carlo\appdata\local\programs\python\python39\lib\site-packages\python_dateutil-2.8.2-py3.9.egg
Searching for numpy==1.21.2
Best match: numpy 1.21.2
Processing numpy-1.21.2-py3.9-win-amd64.egg
numpy 1.21.2 is already the active version in easy-install.pth
Installing f2py-script.py script to C:\Users\carlo\AppData\Local\Programs\Python\Python39\Scripts
Installing f2py.exe script to C:\Users\carlo\AppData\Local\Programs\Python\Python39\Scripts
Using c:\users\carlo\appdata\local\programs\python\python39\lib\site-packages\numpy-1.21.2-py3.9-win-amd64.egg
Finished processing dependencies for nilm-metadata==0.2.5

Instalación semiautomática de NILMTK

Abra una ventana de terminal de conda, crearemos un nuevo entorno de Conda y lo activaremos con los comandos:

conda create --name nilmtk-env 
conda activate nilmtk-env

Si aún no está presente en su instalación de Conda, agregue el conda-forge a la lista de canales:

conda config --add channels conda-forge

Finalmente, instale la última versión de NILMTK de conda-forge :

conda install -c nilmtk nilmtk=0.4.3

Observe que el signo igual no lleva espacios(piense estamos usando Python). La ejecución del comando puede tardar un rato. Mientras tanto, consulte otros paquetes en Forge de NILMTK .

Como puede experimentar algunos problemas posteriores a la instalación con NILMTK y Matplotlib., para solucionarlos, aplique el comando:

conda install matplotlib 

Verificar la instalación Para verificar que Matplotlib está instalado, intente invocar la versión de Matplotlib en Python REPL. Use desde el interprete Python los comandos a continuación que incluyen llamar a .__ version__, un atributo común a la mayoría de los paquetes de Python.

>>> import matplotlib

>>> matplotlib.__version__

Ejemplo de salida:

(nilmtk-env) C:\Users\carlo>python
Python 3.6.13 (default, Sep 7 2021, 06:39:02) [MSC v.1916 64 bit (AMD64)] on win32
Type «help», «copyright», «credits» or «license» for more information.

import matplotlib
matplotlib.version
‘3.1.3’

Agregar un kernel de Jupyter

Básicamente, NILMTK ahora está instalado en su ordenador. El siguiente paso involucra los cuadernos de Jupyter. Trabajar con Jupyter abre muchas posibilidades y se dice que es una herramienta imprescindible. Por lo tanto, agregue el entorno NILMTK a Jupyter:

python -m ipykernel install --user --name nilmtk-env --display-name "Python (nilmtk-env)"

Prueba de la instalación

Ha llegado el momento de comprobar su instalación. Antes que nada, cree una nueva carpeta y descargue el conjunto de prueba aleatorio de Github:

md nilmtk_test
cd nilmtk_test 
 wget https://raw.githubusercontent.com/nilmtk/nilmtk/master/data/random.h5

Como puede comprobar random.h5 es el fichero de de datos en en formato hdf5 .A continuación, levante Jupyter:

notebook jupyter

Para probar su instalación, intente importar el conjunto de datos aleatorio usando NILMTK y trazar todos los medidores:https://klemenjak.medium.com/media/9ba2be16d331653a7b4093a0fe412434

La salida debe ser:

MeterGroup (metros =   ElecMeter (instancia = 1, edificio = 1, conjunto de datos = Ninguno, electrodomésticos = [])   ElecMeter (instancia = 2, edificio = 1, conjunto de datos = Ninguno, electrodomésticos = [])   ElecMeter (instancia = 3, edificio = 1, conjunto de datos = Ninguno, electrodomésticos = [])   ElecMeter (instancia = 4, edificio = 1, conjunto de datos = Ninguno, electrodomésticos = [])   ElecMeter (instancia = 5, edificio = 1, conjunto de datos = Ninguno, electrodomésticos = []) )

¡Felicitaciones! Lo ha logrado. ¡NILMTK parece funcionar según lo previsto! La próxima vez, discutiremos cómo usar la API de NILMTK para una experimentación rápida y conveniente.

Medidor de energía Arduino – V2.0


OpenEnergy publicaron un Instructables el circuito Arduino Energy Meter que fue diseñado principalmente para monitorear la energía del panel solar (DC Power) en un pueblo. Este proyecto se hizo muy popular en Internet, de modo que muchas personas en todo el mundo han construido las suyas propias. También muchos estudiantes lo han logrado para su proyecto universitario gracias a este idea mi ayuda. .

En este resumen de Instructables, veremos cómo hacer un medidor de energía de CA habilitado para wifi mediante el uso de la placa Arduino / Wemos. Al usar este medidor de energía, puede medir el consumo de energía de cualquier electrodoméstico. Además al final del proyecto, el autor hice una bonita carcasa impresa en 3D para este proyecto que también ha compartido con la comunidad de makers.

El objetivo final es pues crear una mayor conciencia sobre el consumo de energía sería la optimización y reducción del uso de energía por parte del usuario pues esto reduciría sus costos de energía, además de ahorrar energía. Por supuesto, ya existen muchos dispositivos comerciales para el monitoreo de energía, pero esta idea es simple y de bajo costo.

Componentes requeridos:

1. Wemos D1 mini pro

2. Sensor de corriente -ACS712

3. Pantalla OLED

4. Fuente de alimentación de 5 V

5. Placa de prototipo – 4 x 6 cm

6. Cable de 24 AWG

7. Pines de encabezado

8. Cables de puente macho-hembra

9. Terminal de tornillo

10. Standoff

11. Toma corriente de CA

12. Enchufe de CA

13. Conector con resorte

14. Interruptor basculante

15. PLA Filamento-Plata

16. Filamento PLA-Rojo

DIGRAMA DE BLOQUES

Como funciona ?

El diagrama de bloques de todo el proyecto se muestra arriba.

La energía de la red de CA se extrae y pasa a través de un fusible para evitar cualquier daño a la placa de circuito durante el cortocircuito accidental.

Luego, la línea de alimentación de CA se distribuye en dos partes:

1. A la carga a través del sensor de corriente (ACS712)

2. Módulo de fuente de alimentación 230V AC / 5V DC

El módulo de fuente de alimentación de 5 V proporciona energía al microcontrolador (Arduino / Wemos), el sensor de corriente (ACS712) y la pantalla OLED.

La corriente alterna que pasa a través de la carga es detectada por el módulo sensor de corriente (ACS712) y alimentada al pin analógico (A0) de la placa Arduino / Wemos. Una vez que se le da la entrada analógica a Arduino, la medición de potencia / energía se realiza mediante el boceto de Arduino.

La potencia y la energía calculadas por Arduino / Wemos se muestran en un módulo de pantalla OLED de 0,96 «.

El chip WiFi incorporado de Wemos está conectado al enrutador doméstico y vinculado a la aplicación Blynk. Para que pueda controlar los parámetros, así como calibrar y modificar diferentes configuraciones desde su teléfono inteligente a través de OTA.Agregar sugerenciaPreguntaComentarioDescargar

Comprensión de los conceptos básicos de CA

En el análisis de circuitos de CA, tanto el voltaje como la corriente varían sinusoidalmente con el tiempo.

Poder real (P):

Esta es la potencia utilizada por el dispositivo para producir un trabajo útil y se expresa en kW.

Potencia real = Voltaje (V) x Corriente (I) x cosΦ

Potencia reactiva (Q):

Esto a menudo se denomina potencia imaginaria, que es una medida de la potencia que oscila entre la fuente y la carga, que no realiza ningún trabajo útil. Se expresa en kVAr.

Potencia reactiva = Voltaje (V) x Corriente (I) x sinΦ

Poder aparente (S):

Se define como el producto de la tensión cuadrática media (RMS) y la corriente RMS. Esto también se puede definir como la resultante de la potencia real y reactiva. Se expresa en kVA

Potencia aparente = Voltaje (V) x Corriente (I)

Relación entre potencia real, reactiva y aparente:

Potencia real = Potencia aparente x cosΦ

Potencia reactiva = potencia aparente x senΦ

(kVA) ² = (kW) ² + (kVAr) ²

Factor de potencia (pf):

La relación entre la potencia real y la potencia aparente en un circuito se denomina factor de potencia.

Factor de potencia = potencia real / potencia aparente

De lo anterior, está claro que podemos medir todas las formas de potencia, así como el factor de potencia, midiendo el voltaje y la corriente.

Crédito de la imagen: openenergymonitor.orgAgregar sugerenciaPreguntaComentarioDescargar

Sensor de corriente

Sensor de corriente
Sensor de corriente

2 Más imágenes

La corriente CA se mide convencionalmente utilizando un transformador de corriente, pero para este proyecto, se eligió el ACS712 como sensor de corriente debido a su bajo costo y tamaño más pequeño. El sensor de corriente ACS712 es un sensor de corriente de efecto Hall que mide con precisión la corriente cuando se induce. Se detecta el campo magnético alrededor del cable de CA, lo que proporciona el voltaje de salida analógico equivalente. Luego, el microcontrolador procesa la salida de voltaje analógico para medir el flujo de corriente a través de la carga.

Para saber más sobre el sensor ACS712, puede visitar este sitio . Para una mejor explicación sobre el funcionamiento del sensor de efecto Hall, he utilizado la imagen de arriba de Embedded-lab.Agregar sugerenciaPreguntaComentarioDescargar

Medición de corriente por ACS712

Medición de corriente por ACS712

La salida del sensor de corriente ACS712 es una onda de voltaje CA.Tenemos que calcular la corriente rms, esto se puede hacer de la siguiente manera

1. Medición del voltaje pico a pico (Vpp)

2. Divida el voltaje pico a pico (Vpp) por dos para obtener el voltaje pico (Vp)

3. Multiplíquelo por 0,707 para obtener el voltaje rms (Vrms)

Luego multiplique la Sensibilidad del sensor de corriente (ACS712) para obtener la corriente rms.

Vp = Vpp / 2

Vrms = Vp x 0,707

Irms = Vrms x Sensibilidad

La sensibilidad del módulo ACS712 5A es de 185 mV / A, el módulo de 20 A es de 100 mV / A y el módulo de 30 A es de 66 mV / A.

La conexión para el sensor de corriente es la siguiente

ACS712 Arduino / Wemos

VCC ——–> 5 V

FUERA ——-> A0

TIERRA ——-> TIERRAAgregar sugerenciaPreguntaComentarioDescargar

Cálculo de potencia y energía

Anteriormente he descrito los conceptos básicos de las diversas formas de alimentación de CA. Al ser un usuario doméstico, la potencia real (kW) es nuestra principal preocupación. Para calcular la potencia real necesitamos medir el voltaje rms, la corriente rms y el factor de potencia (pF).

Por lo general, el voltaje de la red en mi ubicación (230 V) es casi constante (la fluctuación es insignificante). Así que dejo un sensor para medir el voltaje. Sin duda, si conecta un sensor de voltaje, la precisión de la medición es mejor que en mi caso. De todos modos, este método es una forma barata y sencilla de completar el proyecto y cumplir el objetivo.

Otra razón para no usar el sensor de voltaje se debe a la limitación del pin analógico Wemos (solo uno). Aunque se puede conectar un sensor adicional usando un ADC como ADS1115, por el momento, lo dejo. En el futuro, si tengo tiempo, definitivamente lo agregaré.

El factor de potencia de la carga se puede cambiar durante la programación o desde la aplicación Smartphone.

Potencia real (W) = Vrms x Irms x Pf

Vrms = 230V (conocido)

Pf = 0.85 (conocido)

Irms = lectura del sensor de corriente (desconocido)

Crédito de la imagen: imgoatAgregar sugerenciaPreguntaComentarioDescargar

Interfaz con la aplicación Blynk

Interfaz con la aplicación Blynk
Interfaz con la aplicación Blynk
Interfaz con la aplicación Blynk
Interfaz con la aplicación Blynk

Como la placa Wemos tiene un chip WiFi incorporado, pensé en conectarlo a mi enrutador y monitorear la energía de los electrodomésticos desde mi teléfono inteligente. Las ventajas de usar la placa Wemos en lugar de Arduino son: calibración del sensor y cambio del valor del parámetro desde el teléfono inteligente a través de OTA sin programar físicamente el microcontrolador repetidamente.

Busqué la opción simple para que cualquier persona con poca experiencia pueda hacerlo. La mejor opción que encontré es usar la aplicación Blynk . Blynk es una aplicación que permite un control total sobre Arduino, ESP8266, Rasberry, Intel Edison y mucho más hardware. Es compatible tanto con Android como con iPhone. En Blynk todo funciona con ⚡️Energy. Cuando crea una nueva cuenta, obtiene ⚡️2,000 para comenzar a experimentar; Cada widget necesita algo de energía para funcionar. Para este proyecto, necesita ⚡️2400, por lo que debe comprar energía adicional ️⚡️400 (el costo es menos de $ 1)

I. Calibre – 2 x ⚡️200 = ⚡️400

ii. Pantalla de valor etiquetado – 2 x ⚡️400 = ⚡️800

iii. Deslizadores – 4 x ⚡️200 = ⚡️800

iv. Menú – 1x ⚡️400 = ⚡️400

Energía total requerida para este proyecto = 400 + 800 + 800 + 400 = ⚡️2400

Siga los pasos a continuación:

Paso 1: descargue la aplicación Blynk

1. Para Android

2. Para iPhone

Paso 2: Obtén el token de autenticación

Para conectar la aplicación Blynk y su hardware, necesita un token de autenticación.
1. Cree una nueva cuenta en la aplicación Blynk.

2. Presione el icono QR en la barra de menú superior. Cree un clon de este proyecto escaneando el código QR que se muestra arriba. Una vez que se detectó correctamente, todo el proyecto estará en su teléfono de inmediato.

3. Una vez creado el proyecto, le enviaremos un token de autenticación por correo electrónico.

4. Revise la bandeja de entrada de su correo electrónico y busque el token de autenticación.

Paso 3: preparación de Arduino IDE para Wemos Board

Para cargar el código Arduino en la placa Wemos, debe seguir este Instructables

Paso 4: instalar las bibliotecas

Entonces tienes que importar la biblioteca a tu Arduino IDE

Descarga la biblioteca Blynk

Descargue las bibliotecas para OLED Display: i. Adafruit_SSD1306 ii. Biblioteca Adafruit-GFX

Paso 5: Boceto de Arduino

Después de instalar las bibliotecas anteriores, pegue el código de Arduino que se proporciona a continuación.

Ingrese el código de autenticación del paso 1, ssid y contraseña de su enrutador.

Luego cargue el código.

Archivos adjuntos

Agregar sugerenciaPreguntaComentarioDescargar

la placa de circuito

Prepare la placa de circuito
Prepare la placa de circuito

6 Más imágenes

Para hacer el circuito limpio y ordenado, el autor hizo una placa de circuito usando una placa prototipo de 4×6 cm. Primero soldé el pin de encabezados macho a la placa Wemos. Luego soldó los encabezados hembra en la placa prototipo para montar las diferentes placas:

1. Tablero Wemos (encabezado hembra de 2 x 8 pines)

2. Placa de fuente de alimentación de 5 V CC (2 pines + 3 pines Encabezado hembra)

3. Módulo de sensor de corriente (cabezal hembra de 3 pines)

4. Pantalla OLED (encabezado hembra de 4 pines)

Por fin, soldé un terminal de tornillo de 2 pines para el suministro de CA de entrada a la unidad de suministro de energía.

Después de soldar todos los pines de los encabezados, realizó la conexión como se muestra arriba. Usó alambre de soldadura de 24 AWG para todas las conexiones.

Las conexiones es la siguiente

1. ACS712:

ACS712 -> Wemos

Vcc —-> 5 V

Gnd —-> GND

Vout —-> A0

2. Pantalla OLED:

OLED -> Wemos

Vcc —-> 5 V

Gnd —-> GND

SCL —-> D1

SDA —-> D2

3.Módulo de fuente de alimentación:

El pin de entrada de CA (2 pines) del módulo de fuente de alimentación conectado al terminal de tornillo.

La salida V1pin está conectada a Wemos 5V y el pin GND está conectado al pin Wemos GND.Agregar sugerenciaPreguntaComentarioDescargar

Caja impresa en 3D

Caja impresa en 3D
Caja impresa en 3D

2 Más imágenes

Para darle un aspecto agradable al producto comercial, el autor diseño una caja para este proyecto utilizando Autodesk Fusion 360 para diseñar el gabinete. El gabinete tiene dos partes: tapa inferior y superior. Puede descargar los archivos .STL de Thingiverse .

La parte inferior está diseñada básicamente para adaptarse a la PCB principal (4 x 6 cm), el sensor de corriente y el portafusibles. La tapa superior sirve para montar la toma de CA y la pantalla OLED.

Uso una  impresora 3D Creality CR-10S y filamento PLA plateado y PLA rojo de 1,75 mm para imprimir las piezas tomandoalrededor de 5 horas imprimir el cuerpo principal y alrededor de 3 horas imprimir la tapa superior.

Configuraciones :

Velocidad de impresión: 60 mm / s

Altura de la capa: 0.3

Densidad de relleno: 100%

Temperatura de la extrusora: 205 ° C

Temperatura de la cama: 65 ° CAgregar sugerenciaPreguntaComentarioDescargar

Diagrama de cableado de CA

Diagrama de cableado de CA

El cable de alimentación de CA tiene 3 cables: Línea (rojo), Neutro (negro) y Tierra (verde).

El cable rojo del cable de alimentación está conectado a un terminal del fusible. El otro terminal del fusible está conectado a dos conectores terminales cargados por resorte. El cable negro conectado directamente al conector con resorte.

Ahora, la energía requerida para la placa de circuito (Wemos, OLED y ACS712) se corta después del conector con resorte. Para aislar la placa de circuito principal, se conecta un interruptor basculante en serie. Vea el diagrama de circuito anterior.

Luego, el cable rojo (línea) se conecta al terminal «L» de la toma de CA y el cable verde (tierra) se conecta al terminal central (marcado como G).

El terminal neutral está conectado a un terminal del sensor de corriente ACS712. El otro terminal del ACS712 se conecta de nuevo al conector con resorte.

Cuando se hayan terminado todas las conexiones externas, realice una inspección muy cuidadosa de la placa y límpiela para eliminar los residuos de fundente de soldadura.


Nota: No toque ninguna parte del circuito mientras esté encendido. Cualquier toque accidental puede provocar lesiones fatales o la muerte. Esté seguro durante el trabajo, no seré responsable de ninguna pérdida.Agregar sugerenciaPreguntaComentarioDescargar

Instalación de todos los componentes

Inserte los componentes (toma de CA, interruptor basculante y pantalla OLED) en las ranuras de la tapa superior como se muestra en la imagen. Luego asegure los tornillos. La parte inferior tiene 4 separadores para montar la placa PCB principal. Primero, inserte el separador de latón en el orificio como se muestra arriba. Luego, asegure el tornillo 2M en las cuatro esquinas.

Coloque el portafusibles y el sensor de corriente en la ranura provista en la caja inferior. Usé cuadrados de montaje de 3M para pegarlos en la base. Luego, enrute todos los cables correctamente.

Finalmente, coloque la tapa superior y asegure las 4 tuercas (3M x16) en las esquinas.Agregar sugerenciaPreguntaComentarioDescargar

Prueba final

Prueba final

Enchufe el cable de alimentación del Energy Meter a la toma de corriente.

Cambie los siguientes parámetros de la aplicación Blynk

1. Deslice el control deslizante CALIBRAR para obtener el cero actual cuando no hay carga conectada.

2. Mida el voltaje de suministro de CA de la casa usando un multímetro y configúrelo deslizando el control deslizante SUPPLY VOLTAGE.

3. Configure el factor de potencia

4. Ingrese la tarifa de energía en su ubicación.

A continuación, conecte el aparato cuya potencia se va a medir a la toma del contador de energía. Ahora está listo para medir la energía que consume.

FUENTE https://www.instructables.com/Arduino-Energy-Meter-V20/