Inhoudsopgave:

Sinilink WiFi-switch modificatie met INA219 spannings-/stroomsensor - Ajarnpa
Sinilink WiFi-switch modificatie met INA219 spannings-/stroomsensor - Ajarnpa

Video: Sinilink WiFi-switch modificatie met INA219 spannings-/stroomsensor - Ajarnpa

Video: Sinilink WiFi-switch modificatie met INA219 spannings-/stroomsensor - Ajarnpa
Video: #319 Is your Information Management ok? 2024, Juli-
Anonim
Sinilink WiFi-schakelaarmodificatie met INA219 spannings- / stroomsensor
Sinilink WiFi-schakelaarmodificatie met INA219 spannings- / stroomsensor

De Sinilink XY-WFUSB WIFI USB-schakelaar is een fijn apparaatje om op afstand een aangesloten USB-apparaat aan of uit te zetten. Helaas ontbreekt het aan de mogelijkheid om de voedingsspanning of gebruikte stroom van het aangesloten apparaat te meten.

Deze instructable laat zien hoe ik mijn USB-schakelaar heb aangepast met een INA219 spannings-/stroomsensor. Met deze wijziging kunt u het stroomverbruik van een aangesloten apparaat controleren, b.v. een smartphone, e-boeklezer enz., tijdens het opladen en automatisch uitschakelen om de stroom naar het aangesloten apparaat uit te schakelen voordat het tot 100% is opgeladen om (misschien) de levensduur van de geïntegreerde LiPo-batterij te verlengen.

Houd er rekening mee dat deze wijziging uiteindelijk resulteert in een lichte spanningsval van de 5V-ingang naar de uitgang van de module.

Stap 1: Vereisten/onderdelen

Je hebt de volgende onderdelen nodig:

  • Sinilink XY-WFUSB WIFI USB-schakelaar
  • INA219 Spannings-/stroomsensormodule (een kleinere is beter)
  • Geëmailleerde draad met een diameter van 0,4 mm
  • dikke draad, die 2-3A stroom aankan;
  • krimpkous passend bij de dikke draad
  • Krimpkous met een diameter van 25,4 mm
  • De gebruikelijke gereedschappen zoals soldeerbout, soldeer, flux
  • PC waar je Tasmota kunt compileren met INA219-ondersteuning

Stap 2: Algemene modulebeschrijving

Een zeer goede algemene beschrijving van de USB-schakelmodule, zijn onderdelen en hoe deze te openen, wordt gedaan in de gekoppelde video van Andreas Spiess. Deze video inspireerde me om de wijzigingen aan mijn module aan te brengen met een INA219 sensormodule.

Stap 3: ESP8285 ongebruikte GPIO's

ESP8285 Ongebruikte GPIO's
ESP8285 Ongebruikte GPIO's

Om erachter te komen welke Pins/GPIO's van de ESP8285 niet zijn aangesloten heb ik de chip uit de module gehaald. U hoeft dit niet te doen, kijk maar naar de afbeelding.

Met de gedesoldeerde chip en de ESP8285 datasheet kun je zien dat de volgende Pins/GPIO's ongebruikt zijn:

  • PIN10 / GPIO12
  • PIN12 / GPIO13
  • PIN18 / GPIO9
  • PIN19 / GPIO10
  • … en meer …

Je hebt er maar twee nodig voor de I2C-verbindingen (SDA + SCL) naar de INA219-module. Ik heb eerst PIN18 + PIN19 gekozen, maar ik heb de pads vernietigd tijdens het solderen omdat ik (nog) niet bekwaam genoeg ben om twee 0,4 mm-draden op die pin-afstand te solderen wanneer ze naast elkaar liggen.

Stap 4: Soldeer stroomvoerende draden aan de PCB

Soldeer stroomvoerende draden naar de PCB
Soldeer stroomvoerende draden naar de PCB
Soldeer stroomvoerende draden naar de PCB
Soldeer stroomvoerende draden naar de PCB
Soldeer stroomvoerende draden naar de PCB
Soldeer stroomvoerende draden naar de PCB

Om de stroom te meten, moet de INA219-module in de +5V-uitgang worden gestoken tussen de schakelende MOSFET en de USB-uitgang.

Til eerst de poot van de USB-aansluiting op.

Soldeer vervolgens een dikke draad (rood) aan de pad op de PCB, dit is de uitgang van de MOSFET aan de andere kant van de PCB, deze draad gaat naar "Vin+" van de INA219.

Soldeer vervolgens een dikke draad (zwart) aan de Pin van de USB-aansluiting, deze gaat naar "Vin-" van de INA219.

Ik heb er tijdens het solderen wat hittebestendige Kapton-tape tussen gedaan en daarna wat krimpkous rond de zwarte draad aangebracht. Ik liet ook de Kapton-tape op zijn plaats.

Stap 5: Soldeer datadraden aan de ESP8285-pinnen

Soldeer datadraden aan de ESP8285-pinnen
Soldeer datadraden aan de ESP8285-pinnen

Buig de draden voor voordat u ze aan de chip soldeert, u moet de pads die aan de pinnen van de chip zijn bevestigd niet te veel belasten.

Soldeer twee draden aan pin 10 en 12 van de chip.

Zoals je op de foto ziet heb ik de pinnen 18 en 19 aan de rechterkant van de chip weggebrand, dus probeer de hitte laag te houden en de soldeerduur kort te houden.

Ik heb ook beide draden aan de rand van het bord vastgelijmd om een beetje trekontlasting te hebben.

Stap 6: Soldeer Vcc/Gnd-draden naar 3V3-regelaar en USB-poort

Soldeer Vcc/Gnd-draden naar 3V3-regelaar en USB-poort
Soldeer Vcc/Gnd-draden naar 3V3-regelaar en USB-poort

Soldeer een draad aan de uitgang van de AMS1117 3V3 spanningsregelaar, deze gaat naar "Vcc" van de INA219 module. (Sorry voor de slechte foto)

Soldeer een draad aan de Gnd-pin van de mannelijke USB-aansluiting, deze gaat naar "Gnd" van de INA219-module.

Stap 7: Soldeerdraden naar INA219-module

Soldeerdraden naar INA219-module
Soldeerdraden naar INA219-module
Soldeerdraden naar INA219-module
Soldeerdraden naar INA219-module

Soldeer de zes draden aan de INA219-module. Houd voldoende ruimte tussen de hoofdprintplaat en de module om de blauwe afdekking van het Sinilink-apparaat te plaatsen.

  • Vin+ - (rood) van pad op PCB
  • Vin- - (zwart) van pin van USB-uitgang
  • Vcc - van AMS1117 3V3 spanningsregelaar
  • Gnd - van Gnd-pin van de mannelijke USB-aansluiting
  • SCL - van PIN12 / GPIO13 (SCL/SDA kan worden geschakeld in Tasmota-configuratie)
  • SDA - van PIN10 / GPIO12 (SCL/SDA kan worden geschakeld in Tasmota-configuratie)

Stap 8: Montage

samenkomst
samenkomst
samenkomst
samenkomst

Snijd enkele sleuven in de blauwe afdekking van het Sinilink-apparaat om door de kabels te gaan die u hebt gebruikt.

Plaats het deksel tussen de Sinilink-printplaat en de INA219-module en buig de draden dicht bij de behuizing.

Gebruik een krimpkous rond beide modules.

Stap 9: Bouw Tasmota met INA219-ondersteuning

Je moet Tasmota compileren met INA219-ondersteuning, de standaard tasmota-sensors.bin, die INA219-ondersteuning bevat, is te groot om in de ESP8285 te passen.

Het volgende is een zeer korte uitleg van het bouwproces met behulp van docker, meer details hier.

Maak een map aan:

$ mkdir /opt/docker/tasmota-builder

Maak docker-compose.yml

$ cat /opt/docker/tasmota-builder/docker-compose.yml versie: "3.7"services: tasmota-builder: container_name: tasmota-builder hostnaam: tasmota-builder restart: "no" # source: https://hub.docker.com/r/blakadder/docker-tasmota afbeelding: blakadder/docker-tasmota:laatste gebruiker: "1000:1000" volumes: # docker-container moet worden gestart door dezelfde gebruiker die # de broncode bezit -./tasmota_git:/tasmota

Kloon git-repository en schakel over naar een specifieke getagde release van 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

Voeg een override-bestand toe om de INA219-ondersteuning op te nemen:

$ 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: Instellingen uit dit bestand gebruiken ****#ifndef USE_INA219#define USE_INA219#endif

Start de bouw:

"-e tasmota" betekent dat het alleen het binaire bestand tasmota.bin bouwt, niets anders.

/opt/docker/tasmota-builder $ docker-compose voer tasmota-builder -e tasmota uit; docker-compose down

Het resulterende binaire bestand, tasmota.bin, bevindt zich in:

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

Stel het Sinilink-apparaat in met Tasmota zoals uitgelegd door Andreas Spiess in zijn video. Eerst knipperen en dan configuratie van de sjabloon/gebruikelijke GPIO-setup voor dit apparaat.

Ofwel gebruik je je eigen gecompileerde Tasmota binary of gebruik eerst een standaard release en upgrade dan via webgui naar je eigen gecompileerde versie.

Stap 10: Tasmota-configuratie voor INA219

Tasmota-configuratie voor INA219
Tasmota-configuratie voor INA219
Tasmota-configuratie voor INA219
Tasmota-configuratie voor INA219

De eerste stap is om de sjabloon aan te passen aan de wijziging.

Ga naar "Configuratie" -> "Sjabloon configureren", selecteer voor GPIO12 en GPIO13 de waarde "Gebruiker (255)". Druk op "Opslaan".

Ga na het opnieuw opstarten naar "Configuratie" -> "Sjabloon configureren", selecteer voor GPIO12 -> "I2C SDA (6)" en voor GPIO13 -> "I2C SCL (5)". Of verwissel die als je de draden anders hebt gesoldeerd. Druk op "Opslaan".

Wijzig de weergegeven/gerapporteerde precisie van de module. Verander naar wens.

Ga naar "Console" en voer de volgende opdrachten in.

TelePeriod 30 # verzend elke 30 seconden MQTT-sensorwaarden

VoltRes 3 # 3 cijfers precisie op spanningsmetingen WattRes 3 # 3 cijfers precisie op Watt berekeningen AmpRes 3 # 3 cijfers precisie op Stroommetingen

Stap 11: Eindresultaat

Eindresultaat
Eindresultaat
Eindresultaat
Eindresultaat

Als alles correct is gedaan, kunt u nu de spanning en stroom die wordt gebruikt door het aangesloten USB-apparaat rechtstreeks in de Tasmota Web GUI volgen.

Als je ook een opstelling voor Tasmota hebt om de meting via MQTT in een InfluxDB te rapporteren, kun je grafieken maken via Grafana om de laadstroom in de tijd weer te geven, hier is een voorbeeld van het opladen van mijn smartphone van ~10% tot ~85% capaciteit.

En na die setup kun je een automatiseringstool zoals Node-RED gebruiken om de USB-schakelaar automatisch uit te schakelen wanneer de stroom onder een bepaalde limiet komt.

Houd er rekening mee dat aangezien de INA219 een weerstand van 0,1 Ohm als stroomshunt gebruikt, u een spanningsval krijgt van de ingang naar de uitgang, afhankelijk van uw voeding en de "intelligentie" van het aangesloten apparaat, kan het langzamer opladen dan voorheen.

Aanbevolen: