Innehållsförteckning:

Sinilink WiFi -switchmodifiering med INA219 spännings-/strömsensor: 11 steg
Sinilink WiFi -switchmodifiering med INA219 spännings-/strömsensor: 11 steg

Video: Sinilink WiFi -switchmodifiering med INA219 spännings-/strömsensor: 11 steg

Video: Sinilink WiFi -switchmodifiering med INA219 spännings-/strömsensor: 11 steg
Video: XY-AP50L Bluetooth 5.0 50WX2 Wireless Audio Amplifier | xy ap 50l audio amplifier explained 2024, Juli
Anonim
Sinilink WiFi -switchmodifiering med INA219 spännings-/strömsensor
Sinilink WiFi -switchmodifiering med INA219 spännings-/strömsensor

Sinilink XY-WFUSB WIFI USB-omkopplare är en trevlig liten enhet för att på distans slå på/av en ansluten USB-enhet. Tyvärr saknar den förmågan att mäta matningsspänningen eller den använda strömmen för den anslutna enheten.

Denna instruktör visar dig hur jag modifierade min USB -switch med en INA219 spännings-/strömsensor. Med denna ändring kan du övervaka en ansluten enhets strömförbrukning, t.ex. en smartphone, e -bokläsare etc., under laddning och automatisera för att stänga av strömmen till den anslutna enheten innan den laddas till 100% för att (kanske) förlänga det integrerade LiPo -batteriets livslängd.

Tänk på att denna ändring i slutändan resulterar i ett litet spänningsfall av 5V -ingången till modulens utgång.

Steg 1: Förkunskaper/delar

Du behöver följande delar:

  • Sinilink XY-WFUSB WIFI USB-switch
  • INA219 Sensormodul för spänning/ström (en mindre är bättre)
  • 0,4 mm diameter emaljerad tråd
  • tjock tråd, som klarar 2-3A ström
  • värmekrymprör som matchar den tjocka tråden
  • Krymprör med en diameter på 25,4 mm
  • De vanliga verktygen som lödjärn, lödning, flussmedel
  • PC där du kan kompilera Tasmota med INA219 -stöd

Steg 2: Allmän modulbeskrivning

En mycket bra allmän beskrivning av USB -switchmodulen, dess delar och hur man öppnar den görs i den länkade videon från Andreas Spiess. Denna video inspirerade mig att göra ändringar i min modul med en INA219 sensormodul.

Steg 3: ESP8285 oanvända GPIO: er

ESP8285 oanvända GPIO: er
ESP8285 oanvända GPIO: er

För att ta reda på vilka pins/GPIO: er på ESP8285 som inte är anslutna tog jag bort chipet från modulen. Du behöver inte göra detta, bara titta på bilden.

Med det avlödda chipet och databladet ESP8285 kan du se att följande stift/GPIO är oanvända:

  • PIN10 / GPIO12
  • PIN12 / GPIO13
  • PIN18 / GPIO9
  • PIN19 / GPIO10
  • … och mer …

Du behöver bara två för I2C -anslutningarna (SDA + SCL) till INA219 -modulen. Jag valde först PIN18 + PIN19 men jag förstörde kuddarna när jag lödde på det eftersom jag inte (ännu) är skicklig nog att lödda två 0,4 mm trådar vid den stifthöjden när de är sida vid sida.

Steg 4: Lödströmströmförande ledningar till kretskortet

Lödströmströmförande ledningar till kretskortet
Lödströmströmförande ledningar till kretskortet
Lödströmströmförande ledningar till kretskortet
Lödströmströmförande ledningar till kretskortet
Lödströmströmförande ledningar till kretskortet
Lödströmströmförande ledningar till kretskortet

För att mäta strömmen måste INA219 -modulen sättas in i utgången +5V -matning mellan omkopplaren MOSFET och USB -utgången.

Lyft först benet på USB -uttaget.

Andra löd en tjock tråd (röd) till dynan på kretskortet, som är utgången från MOSFET på andra sidan av kretskortet, denna tråd går till "Vin+" på INA219.

Löd sedan en tjock tråd (svart) till stiftet på USB-uttaget, detta går till "Vin-" på INA219.

Jag satte lite värmebeständig Kapton -tejp mellan dem under lödningen och lade sedan till lite värmekrympslang runt den svarta tråden. Jag lämnade också Kapton -bandet på plats.

Steg 5: Löddatatrådar till ESP8285 -stiften

Löddatakablar till ESP8285 -stiften
Löddatakablar till ESP8285 -stiften

Böj trådarna i förväg innan du lödar dem till chipet, du bör inte lägga för stor belastning på dynorna som är fästa på chipets stift.

Löd två trådar till stift 10 och 12 på chipet.

Som du ser på bilden brände jag bort stiften 18 och 19 på höger sida av chipet, så försök att hålla värmen låg och lödningstiden kort.

Jag limmade också ner båda trådarna vid kanten av brädet för att ha lite dragavlastning.

Steg 6: Löd Vcc/Gnd -kablar till 3V3 -regulatorn och USB -porten

Löd Vcc/Gnd -kablar till 3V3 -regulatorn och USB -porten
Löd Vcc/Gnd -kablar till 3V3 -regulatorn och USB -porten

Löd en kabel till utgången från AMS1117 3V3 spänningsregulator, detta går till "Vcc" på INA219 -modulen. (Förlåt för den dåliga bilden)

Löd en kabel till Gnd -stiftet på USB -hankontakten, detta går till "Gnd" på INA219 -modulen.

Steg 7: Lödtrådar till INA219 -modulen

Lödtrådar till INA219 -modulen
Lödtrådar till INA219 -modulen
Lödtrådar till INA219 -modulen
Lödtrådar till INA219 -modulen

Löd de sex ledningarna till INA219 -modulen. Håll tillräckligt med utrymme mellan huvudkortet och modulen för att sätta in det blå höljet på Sinilink -enheten.

  • Vin+ - (röd) från pad på PCB
  • Vin- - (svart) från stiftet på USB -uttaget
  • Vcc - från AMS1117 3V3 spänningsregulator
  • Gnd - från Gnd -stift på USB -hankontakten
  • SCL - från PIN12 / GPIO13 (SCL / SDA kan växlas i Tasmota -konfiguration)
  • SDA - från PIN10 / GPIO12 (SCL / SDA kan växlas i Tasmota -konfiguration)

Steg 8: Montering

hopsättning
hopsättning
hopsättning
hopsättning

Skär några luckor i det blå locket på Sinilink -enheten för att passera genom kablarna du använde.

Sätt i locket mellan Sinilink -kretskortet och INA219 -modulen och böj ledningarna nära höljet.

Använd värmekrympslang runt båda modulerna.

Steg 9: Bygg Tasmota med INA219 -stöd

Du måste kompilera Tasmota med INA219-stöd, standard tasmota-sensors.bin, som innehåller INA219-stöd, är för stort för att passa in i ESP8285.

Följande är en mycket kort förklaring av byggprocessen med dockare, mer information här.

Skapa en katalog:

$ mkdir/opt/docker/tasmota-builder

Skapa docker-compose.yml

$ cat /opt/docker/tasmota-builder/docker-compose.yml version: "3.7" tjänster: tasmota-builder: container_name: tasmota-builder värdnamn: tasmota-builder restart: "no" # source: https:// hub.docker.com/r/blakadder/docker-tasmota image: blakadder/docker-tasmota: senaste användare: "1000: 1000" volymer: # dockerbehållare måste startas av samma användare som äger # källkoden-./tasmota_git:/tasmota

Klona git -förvaret och byt till en specifik märkt version av Tasmota:

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

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

Lägg till en åsidosättningsfil för att inkludera INA219 -stödet:

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

#ifndef _USER_CONFIG_OVERRIDE_H_#definiera _USER_CONFIG_OVERRIDE_H_#varning **** user_config_override.h: Använda inställningar från denna fil ****#ifndef USE_INA219#definiera USE_INA219#endif

Starta bygget:

"-e tasmota" betyder att det bara bygger binär tasmota.bin, inget annat.

/opt/docker/tasmota-builder $ docker-compose run tasmota-builder -e tasmota; docker-komponera ner

Den resulterande binären, tasmota.bin, kommer att finnas i:

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

Installera Sinilink -enheten med Tasmota som förklaras av Andreas Spiess i hans video. Blinkar först och konfigurerar sedan mallen/den vanliga GPIO -inställningen för den här enheten.

Antingen använder du din egen kompilerade Tasmota -binär eller använder bara en standardversion först och uppgraderar sedan via webgui till din egen kompilerade version.

Steg 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

Första steget är att ändra mallen för att matcha ändringen.

Gå till "Konfiguration" -> "Konfigurera mall", välj värdet "Användare (255)" för GPIO12 och GPIO13. Klicka på "Spara".

Efter omstarten går du till "Konfiguration" -> "Konfigurera mall", välj för GPIO12 -> "I2C SDA (6)" och för GPIO13 -> "I2C SCL (5)". Eller byt dem om du lödde trådarna annorlunda. Klicka på "Spara".

Ändra modulens visade/rapporterade precision. Ändra som du vill.

Gå till "Konsol" och ange följande kommandon.

TelePeriod 30 # skicka MQTT -sensorvärden var 30: e sekund

VoltRes 3 # 3 siffrors precision på spänningsmätningar WattRes 3 # 3 siffrors precision på Wattberäkningar AmpRes 3 # 3 siffror precision på Strömmätningar

Steg 11: Slutresultat

Slutresultat
Slutresultat
Slutresultat
Slutresultat

Om allt gjordes korrekt kan du nu övervaka spänningen och strömmen som används av den anslutna USB -enheten direkt i Tasmota Web GUI.

Om du också har en inställning för Tasmota att rapportera mätningen via MQTT till en InfluxDB kan du skapa grafer via Grafana för att visa laddningsström över tiden, här är ett exempel på hur min smartphone laddar från ~ 10% till ~ 85% kapacitet.

Och efter den inställningen kan du använda ett automatiseringsverktyg som Node-RED för att automatiskt stänga av USB-omkopplaren när strömmen faller under en viss gräns.

Var medveten om att eftersom INA219 använder ett 0,1 Ohm motstånd som en ström shunt får du ett spänningsfall från ingången till utgången, beroende på din strömförsörjning och "intelligensen" för den anslutna enheten kan den ladda långsammare än tidigare.

Rekommenderad: