Tabla de contenido:

Modificación del interruptor WiFi Sinilink con sensor de voltaje / corriente INA219: 11 pasos
Modificación del interruptor WiFi Sinilink con sensor de voltaje / corriente INA219: 11 pasos

Video: Modificación del interruptor WiFi Sinilink con sensor de voltaje / corriente INA219: 11 pasos

Video: Modificación del interruptor WiFi Sinilink con sensor de voltaje / corriente INA219: 11 pasos
Video: Medidor Energético Inteligente 2.0 con Arduino ⚡ | ESP32 + Raspberry Pi + Home Assistant | 2024, Mes de julio
Anonim
Modificación del interruptor WiFi Sinilink con sensor de voltaje / corriente INA219
Modificación del interruptor WiFi Sinilink con sensor de voltaje / corriente INA219

El interruptor USB WIFI Sinilink XY-WFUSB es un pequeño y agradable dispositivo para encender / apagar de forma remota un dispositivo USB conectado. Lamentablemente, no tiene la capacidad de medir el voltaje de suministro o la corriente utilizada del dispositivo conectado.

Este instructivo le muestra cómo modifiqué mi interruptor USB con un sensor de voltaje / corriente INA219. Con esta modificación, puede controlar el consumo de energía de un dispositivo adjunto, p. Ej. un teléfono inteligente, lector de libros electrónicos, etc., durante la carga y automatice para apagar el dispositivo adjunto antes de que se cargue al 100% para (tal vez) extender la vida útil de la batería LiPo integrada.

Tenga en cuenta que al final esta modificación da como resultado una ligera caída de voltaje de la entrada de 5 V a la salida del módulo.

Paso 1: requisitos previos / piezas

Necesitará las siguientes piezas:

  • Conmutador USB WIFI Sinilink XY-WFUSB
  • Módulo sensor de voltaje / corriente INA219 (uno más pequeño es mejor)
  • Alambre esmaltado de 0,4 mm de diámetro
  • alambre grueso, que puede manejar 2-3A de corriente
  • tubo termorretráctil a juego con el alambre grueso
  • Tubo termorretráctil de 25,4 mm de diámetro
  • Las herramientas habituales como soldador, soldadura, fundente.
  • PC donde puede compilar Tasmota con soporte INA219

Paso 2: Descripción general del módulo

Una muy buena descripción general del módulo de conmutación USB, sus partes y cómo abrirlo se realiza en el video vinculado de Andreas Spiess. Este video me inspiró a realizar cambios en mi módulo con un módulo sensor INA219.

Paso 3: GPIO sin usar ESP8285

ESP8285 GPIO sin usar
ESP8285 GPIO sin usar

Para averiguar qué pines / GPIO del ESP8285 no están conectados, quité el chip del módulo. No es necesario que haga esto, solo mire la imagen.

Con el chip desoldado y la hoja de datos ESP8285, puede ver que los siguientes pines / GPIO no se utilizan:

  • PIN10 / GPIO12
  • PIN12 / GPIO13
  • PIN18 / GPIO9
  • PIN19 / GPIO10
  • … y más …

Solo necesita dos para las conexiones I2C (SDA + SCL) al módulo INA219. Primero elegí PIN18 + PIN19 pero destruí las almohadillas al soldarlo porque no soy (todavía) lo suficientemente hábil para soldar dos cables de 0.4 mm en ese paso de clavija cuando están uno al lado del otro.

Paso 4: Suelde los cables portadores de corriente a la PCB

Suelde cables portadores de corriente a la PCB
Suelde cables portadores de corriente a la PCB
Suelde cables portadores de corriente a la PCB
Suelde cables portadores de corriente a la PCB
Suelde cables portadores de corriente a la PCB
Suelde cables portadores de corriente a la PCB

Para medir la corriente, el módulo INA219 debe insertarse en la salida de alimentación de + 5V entre el MOSFET de conmutación y el puerto de salida USB.

Primero levante la pata de la toma USB.

En segundo lugar, suelde un cable grueso (rojo) a la almohadilla en el PCB, que es la salida del MOSFET en el otro lado del PCB, este cable irá a "Vin +" del INA219.

Luego suelde un cable grueso (negro) al Pin de la toma USB, este irá a "Vin-" del INA219.

Puse un poco de cinta Kapton resistente al calor entre ellos mientras soldaba y luego agregué un poco de tubo termorretráctil alrededor del cable negro. También dejé la cinta Kapton en su lugar.

Paso 5: Suelde los cables de datos a los pines ESP8285

Suelde cables de datos a los pines ESP8285
Suelde cables de datos a los pines ESP8285

Dobla previamente los cables antes de soldarlos al chip, no debes ejercer mucha presión sobre las almohadillas unidas a las clavijas del chip.

Suelde dos cables a los pines 10 y 12 del chip.

Como puede ver en la imagen, quemé los pines 18 y 19 en el lado derecho del chip, así que trate de mantener el calor bajo y la duración de la soldadura corta.

También pegué ambos cables en el borde del tablero para tener un poco de alivio de tensión.

Paso 6: Suelde los cables Vcc / Gnd al regulador 3V3 y al puerto USB

Suelde cables Vcc / Gnd al regulador 3V3 y al puerto USB
Suelde cables Vcc / Gnd al regulador 3V3 y al puerto USB

Suelde un cable a la salida del regulador de voltaje AMS1117 3V3, este irá a "Vcc" del módulo INA219. (Perdón por la mala foto)

Suelde un cable al pin Gnd del conector macho USB, este irá a "Gnd" del módulo INA219.

Paso 7: Suelde los cables al módulo INA219

Soldar cables al módulo INA219
Soldar cables al módulo INA219
Soldar cables al módulo INA219
Soldar cables al módulo INA219

Suelde los seis cables al módulo INA219. Deje suficiente espacio entre la PCB principal y el módulo para insertar la cubierta azul del dispositivo Sinilink.

  • Vin + - (rojo) de la almohadilla en PCB
  • Vin- - (negro) desde el pin de la toma de salida USB
  • Vcc - del regulador de voltaje AMS1117 3V3
  • Gnd: desde el pin Gnd del conector macho USB
  • SCL: desde PIN12 / GPIO13 (SCL / SDA se puede cambiar en la configuración de Tasmota)
  • SDA: desde PIN10 / GPIO12 (SCL / SDA se puede cambiar en la configuración de Tasmota)

Paso 8: Montaje

Montaje
Montaje
Montaje
Montaje

Corte algunas ranuras en la cubierta azul del dispositivo Sinilink para pasar a través de los cables que utilizó.

Inserte la cubierta entre la PCB Sinilink y el módulo INA219 y doble los cables cerca de la carcasa.

Utilice un tubo termorretráctil alrededor de ambos módulos.

Paso 9: compile Tasmota con soporte INA219

Necesita compilar Tasmota con soporte INA219, el tasmota-sensns.bin estándar, que contiene soporte INA219, es demasiado grande para caber en el ESP8285.

La siguiente es una explicación muy breve del proceso de compilación usando Docker, más detalles aquí.

Crea un directorio:

$ mkdir / opt / docker / tasmota-builder

Crear docker-compose.yml

$ cat /opt/docker/tasmota-builder/docker-compose.yml versión: "3.7" servicios: tasmota-builder: nombre_contenedor: tasmota-builder nombre de host: tasmota-builder reinicio: "no" # fuente: https:// hub.docker.com / r / blakadder / docker-tasmota imagen: blakadder / docker-tasmota: último usuario: volúmenes "1000: 1000": # el contenedor docker debe ser iniciado por el mismo usuario que posee # el código fuente -./tasmota_git: / tasmota

Clone el repositorio de git y cambie a una versión etiquetada específica de Tasmota:

/ opt / docker / tasmota-builder $ git clone https://github.com/arendst/Tasmota.git tasmota_git

/ opt / docker / tasmota-builder / tasmota_git (maestro) $ git checkout v8.5.1

Agregue un archivo de anulación para incluir el soporte de INA219:

$ cat /opt/docker/tasmota-builder/tasmota_git/tasmota/user_config_override.h

#ifndef _USER_CONFIG_OVERRIDE_H_ # define _USER_CONFIG_OVERRIDE_H_ # advertencia **** user_config_override.h: Uso de la configuración de este archivo **** # ifndef USE_INA219 # define USE_INA219 # endif

Inicie la construcción:

"-e tasmota" significa que está construyendo solo el binario tasmota.bin, nada más.

/ opt / docker / tasmota-builder $ docker-compose ejecutar tasmota-builder -e tasmota; docker-componer abajo

El binario resultante, tasmota.bin, se ubicará en:

/ opt / docker / tasmota-builder / tasmota_git / build_output / firmware /

Configure el dispositivo Sinilink con Tasmota como explica Andreas Spiess en su video. Primero flasheo y luego configuración de la plantilla / configuración GPIO habitual para este dispositivo.

Ya sea usando su propio binario compilado de Tasmota o simplemente use una versión estándar primero, y luego actualice a través de webgui a su propia versión compilada.

Paso 10: Configuración de Tasmota para INA219

Configuración de Tasmota para INA219
Configuración de Tasmota para INA219
Configuración de Tasmota para INA219
Configuración de Tasmota para INA219

El primer paso es modificar la plantilla para que coincida con la modificación.

Vaya a "Configuración" -> "Configurar plantilla", seleccione para GPIO12 y GPIO13 el valor "Usuario (255)". Presiona "Guardar".

Después del reinicio, vaya a "Configuración" -> "Configurar plantilla", seleccione GPIO12 -> "I2C SDA (6)" y GPIO13 -> "I2C SCL (5)". O cámbielos si soldó los cables de manera diferente. Presiona "Guardar".

Cambie la precisión mostrada / informada del módulo. Cambie como desee.

Vaya a "Consola" e ingrese los siguientes comandos.

TelePeriod 30 # envía valores de sensor MQTT cada 30 segundos

VoltRes 3 # 3 dígitos de precisión en las mediciones de voltaje WattRes 3 # 3 dígitos de precisión en los cálculos de Watt AmpRes 3 # 3 dígitos de precisión en las mediciones de corriente

Paso 11: Resultado final

Resultado final
Resultado final
Resultado final
Resultado final

Si todo se hizo correctamente, ahora puede controlar el voltaje y la corriente utilizados por el dispositivo USB conectado directamente en la GUI web de Tasmota.

Si también tiene una configuración para que Tasmota informe la medición a través de MQTT en un InfluxDB, puede crear gráficos a través de Grafana para mostrar la corriente de carga a lo largo del tiempo, aquí hay un ejemplo de la carga de mi teléfono inteligente de ~ 10% a ~ 85% de capacidad.

Y después de esa configuración, puede usar una herramienta de automatización como Node-RED para apagar automáticamente el interruptor USB cuando la corriente cae por debajo de un cierto límite.

Tenga en cuenta que dado que el INA219 usa una resistencia de 0.1 Ohm como derivación de corriente, obtendrá una caída de voltaje de la entrada a la salida, dependiendo de su fuente de alimentación y la "inteligencia" del dispositivo adjunto, puede cargar más lento que antes.

Recomendado: