Inhaltsverzeichnis:

Sinilink WiFi Switch Modifikation mit INA219 Spannungs- / Stromsensor - Gunook
Sinilink WiFi Switch Modifikation mit INA219 Spannungs- / Stromsensor - Gunook

Video: Sinilink WiFi Switch Modifikation mit INA219 Spannungs- / Stromsensor - Gunook

Video: Sinilink WiFi Switch Modifikation mit INA219 Spannungs- / Stromsensor - Gunook
Video: #317 A new cheap Wi-Fi-USB Switch. Test and "tasmotizing" (Sinilink, Tasmotizer) 2024, Juli
Anonim
Sinilink WiFi Switch Modifikation mit INA219 Spannungs-/Stromsensor
Sinilink WiFi Switch Modifikation mit INA219 Spannungs-/Stromsensor

Der Sinilink XY-WFUSB WIFI USB-Schalter ist ein nettes kleines Gerät, um ein angeschlossenes USB-Gerät aus der Ferne ein- und auszuschalten. Leider fehlt die Möglichkeit, die Versorgungsspannung oder den verwendeten Strom des angeschlossenen Geräts zu messen.

Dieses anweisbare zeigt Ihnen, wie ich meinen USB-Schalter mit einem INA219 Spannungs- / Stromsensor modifiziert habe. Mit dieser Modifikation können Sie den Stromverbrauch eines angeschlossenen Geräts überwachen, z. B. B. ein Smartphone, E-Book-Reader usw., während des Ladevorgangs und automatisch, um das angeschlossene Gerät auszuschalten, bevor es zu 100% aufgeladen ist, um (vielleicht) die Lebensdauer des integrierten LiPo-Akkus zu verlängern.

Beachten Sie, dass diese Modifikation am Ende zu einem leichten Spannungsabfall des 5V-Eingangs zum Ausgang des Moduls führt.

Schritt 1: Voraussetzungen/Teile

Sie benötigen folgende Teile:

  • Sinilink XY-WFUSB WIFI USB-Schalter
  • INA219 Spannungs-/Stromsensormodul (ein kleineres ist besser)
  • Lackdraht mit 0,4 mm Durchmesser
  • dicker Draht, der 2-3A Strom verarbeiten kann
  • Schrumpfschlauch passend zum dicken Draht
  • Schrumpfschlauch mit 25,4 mm Durchmesser
  • Die üblichen Werkzeuge wie Lötkolben, Lot, Flussmittel
  • PC, auf dem Sie Tasmota mit INA219-Unterstützung kompilieren können

Schritt 2: Allgemeine Modulbeschreibung

Eine sehr gute allgemeine Beschreibung des USB-Schaltmoduls, seiner Teile und wie man es öffnet, findet sich im verlinkten Video von Andreas Spiess. Dieses Video hat mich inspiriert, die Änderungen an meinem Modul mit einem INA219-Sensormodul vorzunehmen.

Schritt 3: ESP8285 Unbenutzte GPIOs

ESP8285 Ungenutzte GPIOs
ESP8285 Ungenutzte GPIOs

Um herauszufinden, welche Pins/GPIOs des ESP8285 nicht verbunden sind, habe ich den Chip aus dem Modul entfernt. Sie müssen dies nicht tun, schauen Sie sich einfach das Bild an.

Mit dem entlöteten Chip und dem ESP8285 Datenblatt sieht man, dass folgende Pins/GPIOs ungenutzt sind:

  • PIN10 / GPIO12
  • PIN12 / GPIO13
  • PIN18 / GPIO9
  • PIN19 / GPIO10
  • … und mehr …

Für die I2C-Verbindungen (SDA + SCL) zum INA219-Modul benötigen Sie nur zwei. Ich habe zuerst PIN18 + PIN19 gewählt, aber ich habe die Pads beim Löten zerstört, weil ich (noch) nicht geschickt genug bin, um zwei 0,4-mm-Drähte mit diesem Pinabstand zu löten, wenn sie nebeneinander liegen.

Schritt 4: Löten Sie stromführende Drähte auf die Platine

Stromführende Drähte an die Leiterplatte anlöten
Stromführende Drähte an die Leiterplatte anlöten
Stromführende Drähte an die Leiterplatte anlöten
Stromführende Drähte an die Leiterplatte anlöten
Stromführende Drähte an die Leiterplatte anlöten
Stromführende Drähte an die Leiterplatte anlöten

Um den Strom zu messen, muss das INA219-Modul in die +5V-Ausgangsspeisung zwischen dem Schalt-MOSFET und dem USB-Ausgangsanschluss gesteckt werden.

Heben Sie zuerst das Bein der USB-Buchse an.

Zweitens löten Sie einen dicken Draht (rot) an das Pad auf der Platine, der der Ausgang des MOSFET auf der anderen Seite der Platine ist. Dieser Draht geht zu "Vin +" des INA219.

Dann einen dicken Draht (schwarz) an den Pin der USB-Buchse anlöten, dieser geht auf "Vin-" des INA219.

Ich habe beim Löten etwas hitzebeständiges Kaptonband dazwischen gelegt und danach etwas Schrumpfschlauch um den schwarzen Draht gelegt. Ich habe auch das Kapton-Band an Ort und Stelle gelassen.

Schritt 5: Datendrähte an die ESP8285-Pins anlöten

Löten Sie Datenkabel an die ESP8285-Pins
Löten Sie Datenkabel an die ESP8285-Pins

Biegen Sie die Drähte vor dem Löten an den Chip vor, Sie sollten die Pads, die an den Pins des Chips befestigt sind, nicht zu stark belasten.

Löten Sie zwei Drähte an Pin 10 und 12 des Chips.

Wie Sie auf dem Bild sehen, habe ich die Pins 18 und 19 auf der rechten Seite des Chips weggebrannt, also versuchen Sie, die Hitze gering und die Lötdauer kurz zu halten.

Ich habe auch beide Drähte am Rand der Platine verklebt, um ein bisschen Zugentlastung zu haben.

Schritt 6: Vcc/Gnd-Drähte an 3V3-Regler und USB-Port anlöten

Vcc/Gnd-Drähte an 3V3-Regler und USB-Port anlöten
Vcc/Gnd-Drähte an 3V3-Regler und USB-Port anlöten

Löten Sie einen Draht an den Ausgang des AMS1117 3V3-Spannungsreglers, dieser geht an "Vcc" des INA219-Moduls. (Entschuldigung für das schlechte Bild)

Löten Sie einen Draht an den Gnd-Pin des USB-Steckers, dieser geht an "Gnd" des INA219-Moduls.

Schritt 7: Lötdrähte an das INA219-Modul

Lötdrähte an INA219-Modul
Lötdrähte an INA219-Modul
Lötdrähte an INA219-Modul
Lötdrähte an INA219-Modul

Löten Sie die sechs Drähte an das INA219-Modul. Lassen Sie zwischen der Hauptplatine und dem Modul genügend Platz, um die blaue Abdeckung des Sinilink-Geräts einzuführen.

  • Vin+ - (rot) vom Pad auf PCB
  • Vin- - (schwarz) vom Pin der USB-Ausgangsbuchse
  • Vcc - von AMS1117 3V3 Spannungsregler
  • Gnd - vom Gnd-Pin des USB-Steckers
  • SCL - von PIN12 / GPIO13 (SCL/SDA in Tasmota-Konfiguration umschaltbar)
  • SDA - ab PIN10 / GPIO12 (SCL/SDA in Tasmota-Konfiguration umschaltbar)

Schritt 8: Montage

Montage
Montage
Montage
Montage

Schneiden Sie einige Schlitze in die blaue Abdeckung des Sinilink-Geräts, um die verwendeten Kabel durchzuführen.

Setzen Sie die Abdeckung zwischen der Sinilink-Platine und dem INA219-Modul ein und biegen Sie die Drähte nahe am Gehäuse.

Verwenden Sie Schrumpfschlauch um beide Module.

Schritt 9: Erstellen Sie Tasmota mit INA219-Unterstützung

Sie müssen Tasmota mit INA219-Unterstützung kompilieren, die Standard-Tasmota-sensors.bin, die INA219-Unterstützung enthält, ist zu groß, um in den ESP8285 zu passen.

Im Folgenden finden Sie eine sehr kurze Erläuterung des Build-Prozesses mit Docker, weitere Details hier.

Erstellen Sie ein Verzeichnis:

$ mkdir /opt/docker/tasmota-builder

Docker-compose.yml erstellen

$ cat /opt/docker/tasmota-builder/docker-compose.yml version: "3.7"services: tasmota-builder: container_name: tasmota-builder hostname: tasmota-builder restart: "no" # source: https://hub *:/tasmota

Klonen Sie das Git-Repository und wechseln Sie zu einer bestimmten getaggten Version von Tasmota:

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

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

Fügen Sie eine Überschreibungsdatei hinzu, um die INA219-Unterstützung einzuschließen:

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

#ifndef _USER_CONFIG_OVERRIDE_H_#define _USER_CONFIG_OVERRIDE_H_#warning **** user_config_override.h: Einstellungen aus dieser Datei verwenden ****#ifndef USE_INA219#define USE_INA219#endif

Starten Sie den Build:

"-e tasmota" bedeutet, dass nur die Binärdatei tasmota.bin erstellt wird, sonst nichts.

/opt/docker/tasmota-builder $ docker-compose tasmota-builder ausführen -e tasmota; docker-compose down

Die resultierende Binärdatei tasmota.bin befindet sich in:

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

Richten Sie das Sinilink-Gerät mit Tasmota ein, wie von Andreas Spiess in seinem Video erklärt. Zuerst Flashen und dann Konfiguration des Templates/üblichen GPIO-Setups für dieses Gerät.

Entweder verwenden Sie Ihre eigene kompilierte Tasmota-Binärdatei oder verwenden Sie einfach zuerst eine Standardversion und aktualisieren Sie dann über das Webgui auf Ihre eigene kompilierte Version.

Schritt 10: Tasmota-Konfiguration für INA219

Tasmota-Konfiguration für INA219
Tasmota-Konfiguration für INA219
Tasmota-Konfiguration für INA219
Tasmota-Konfiguration für INA219

Der erste Schritt besteht darin, die Vorlage so zu ändern, dass sie der Änderung entspricht.

Gehen Sie zu "Konfiguration" -> "Vorlage konfigurieren", wählen Sie für GPIO12 und GPIO13 den Wert "Benutzer (255)". Klicken Sie auf "Speichern".

Gehen Sie nach dem Neustart zu "Konfiguration" -> "Vorlage konfigurieren", wählen Sie für GPIO12 -> "I2C SDA (6)" und für GPIO13 -> "I2C SCL (5)". Oder tauschen Sie diese aus, wenn Sie die Drähte anders gelötet haben. Klicken Sie auf "Speichern".

Ändern Sie die angezeigte/gemeldete Genauigkeit des Moduls. Ändern Sie nach Belieben.

Gehen Sie zu "Konsole" und geben Sie die folgenden Befehle ein.

TelePeriod 30 # alle 30 Sekunden MQTT-Sensorwerte senden

VoltRes 3 # 3 Stellen Genauigkeit bei Spannungsmessungen WattRes 3 # 3 Stellen Genauigkeit bei Watt Berechnungen AmpRes 3 # 3 Stellen Genauigkeit bei Strommessungen

Schritt 11: Endergebnis

Endergebnis
Endergebnis
Endergebnis
Endergebnis

Wenn alles richtig gemacht wurde, können Sie jetzt die vom angeschlossenen USB-Gerät verwendete Spannung und Strom direkt in der Tasmota Web-GUI überwachen.

Wenn Sie auch ein Setup für Tasmota haben, um die Messung über MQTT in eine InfluxDB zu melden, können Sie über Grafana Grafiken erstellen, um den Ladestrom im Zeitverlauf anzuzeigen. Hier ist ein Beispiel für mein Smartphone, das von ~10% auf ~85% Kapazität aufgeladen wird.

Und nach diesem Setup können Sie ein Automatisierungstool wie Node-RED verwenden, um den USB-Schalter automatisch auszuschalten, wenn der Strom unter einen bestimmten Grenzwert fällt.

Beachten Sie, dass der INA219 einen Spannungsabfall vom Eingang zum Ausgang erhält, da er einen 0,1-Ohm-Widerstand als Strom-Shunt verwendet.

Empfohlen: