Spisu treści:

Modyfikacja przełącznika WiFi Sinilink za pomocą czujnika napięcia/prądu INA219: 11 kroków
Modyfikacja przełącznika WiFi Sinilink za pomocą czujnika napięcia/prądu INA219: 11 kroków

Wideo: Modyfikacja przełącznika WiFi Sinilink za pomocą czujnika napięcia/prądu INA219: 11 kroków

Wideo: Modyfikacja przełącznika WiFi Sinilink za pomocą czujnika napięcia/prądu INA219: 11 kroków
Wideo: Moduł z czujnikiem natężenia prądu oraz KAmduino UNO 2024, Listopad
Anonim
Modyfikacja przełącznika Sinilink WiFi za pomocą czujnika napięcia/prądu INA219
Modyfikacja przełącznika Sinilink WiFi za pomocą czujnika napięcia/prądu INA219

Przełącznik Sinilink XY-WFUSB WIFI USB to ładne małe urządzenie do zdalnego włączania/wyłączania podłączonego urządzenia USB. Niestety brakuje mu możliwości pomiaru napięcia zasilania lub zużytego prądu podłączonego urządzenia.

Ta instrukcja pokazuje, jak zmodyfikowałem mój przełącznik USB za pomocą czujnika napięcia / prądu INA219. Dzięki tej modyfikacji możesz monitorować pobór mocy podłączonego urządzenia, m.in. smartfona, czytnika ebooków itp., podczas ładowania i zautomatyzowania wyłączenia zasilania podłączonego urządzenia przed jego naładowaniem do 100%, aby (być może) przedłużyć żywotność zintegrowanego akumulatora LiPo.

Należy pamiętać, że w efekcie modyfikacja ta skutkuje niewielkim spadkiem napięcia z wejścia 5V na wyjście modułu.

Krok 1: Wymagania wstępne/Części

Potrzebne będą następujące części:

  • Przełącznik Sinilink XY-WFUSB WIFI USB
  • INA219 Moduł czujnika napięcia/prądu (mniejszy jest lepszy)
  • Drut emaliowany o średnicy 0,4 mm
  • gruby drut, który wytrzyma 2-3A prądu
  • rurka termokurczliwa pasująca do grubego drutu
  • Rurka termokurczliwa o średnicy 25,4 mm
  • Zwykłe narzędzia, takie jak lut, lut, topnik
  • PC, na którym można skompilować Tasmotę z obsługą INA219

Krok 2: Ogólny opis modułu

Bardzo dobry ogólny opis modułu przełącznika USB, jego części i sposobu otwierania znajduje się w załączonym filmie od Andreasa Spiessa. Ten film zainspirował mnie do wprowadzenia zmian w moim module za pomocą modułu czujnika INA219.

Krok 3: ESP8285 Nieużywane GPIO

ESP8285 Nieużywane GPIO
ESP8285 Nieużywane GPIO

Aby dowiedzieć się, które piny/GPIO w ESP8285 nie są połączone, wyjąłem chip z modułu. Nie musisz tego robić, wystarczy spojrzeć na zdjęcie.

Dzięki wylutowanemu chipowi i arkuszowi danych ESP8285 widać, że następujące piny/GPIO są nieużywane:

  • PIN10/GPIO12
  • PIN12 / GPIO13
  • PIN18 / GPIO9
  • PIN19/GPIO10
  • … i więcej …

Potrzebujesz tylko dwóch do połączeń I2C (SDA + SCL) do modułu INA219. Najpierw wybrałem PIN18 + PIN19, ale zniszczyłem pady podczas lutowania do niego, ponieważ nie jestem (jeszcze) wystarczająco wykwalifikowany, aby przylutować dwa druty 0,4 mm w tym rozstawie pinów, gdy są obok siebie.

Krok 4: Przylutuj przewody przewodzące prąd do płytki drukowanej

Przylutuj przewody przewodzące prąd do płytki drukowanej
Przylutuj przewody przewodzące prąd do płytki drukowanej
Przylutuj przewody przewodzące prąd do płytki drukowanej
Przylutuj przewody przewodzące prąd do płytki drukowanej
Przylutuj przewody przewodzące prąd do płytki drukowanej
Przylutuj przewody przewodzące prąd do płytki drukowanej

Aby zmierzyć prąd, moduł INA219 musi być włożony do wyjścia zasilania +5V między przełączającym MOSFETem a portem wyjściowym USB.

Najpierw podnieś nóżkę gniazda USB.

Drugie przylutuj grubym drutem (czerwony) do padu na PCB, który jest wyjściem MOSFET po drugiej stronie PCB, ten przewód przejdzie do "Vin+" INA219.

Następnie przylutuj gruby drut (czarny) do pinu gniazda USB, to przejdzie do "Vin-" INA219.

Podczas lutowania włożyłem między nie żaroodporną taśmę kaptonową, a następnie wokół czarnego drutu dodałem rurkę termokurczliwą. Zostawiłem też taśmę Kapton na miejscu.

Krok 5: Przylutuj przewody danych do pinów ESP8285

Przylutuj przewody danych do pinów ESP8285
Przylutuj przewody danych do pinów ESP8285

Wstępnie zagnij przewody przed przylutowaniem ich do chipa, nie należy zbytnio obciążać podkładek przymocowanych do pinów chipa.

Przylutuj dwa przewody do pinów 10 i 12 chipa.

Jak widać na zdjęciu wypaliłem piny 18 i 19 po prawej stronie chipa, więc staraj się utrzymywać niskie ciepło i krótki czas lutowania.

Przykleiłem też oba przewody na krawędzi płyty, aby mieć trochę odciążenia.

Krok 6: Przylutuj przewody Vcc/Gnd do regulatora 3V3 i portu USB

Przylutuj przewody Vcc/Gnd do regulatora 3V3 i portu USB
Przylutuj przewody Vcc/Gnd do regulatora 3V3 i portu USB

Przylutuj przewód do wyjścia regulatora napięcia AMS1117 3V3, to przejdzie do "Vcc" modułu INA219. (Przepraszam za złe zdjęcie)

Przylutuj przewód do pinu Gnd w gnieździe USB, to przejdzie do "Gnd" modułu INA219.

Krok 7: Przylutuj przewody do modułu INA219

Przewody lutownicze do modułu INA219
Przewody lutownicze do modułu INA219
Przewody lutownicze do modułu INA219
Przewody lutownicze do modułu INA219

Przylutuj sześć przewodów do modułu INA219. Zachowaj wystarczająco dużo miejsca między płytą główną a modułem, aby włożyć niebieską osłonę urządzenia Sinilink.

  • Vin+ - (czerwony) z podkładki na PCB
  • Vin- - (czarny) z pinu gniazda wyjściowego USB
  • Vcc - z regulatora napięcia AMS1117 3V3
  • Gnd - od Gnd pinu męskiego gniazda USB
  • SCL - od PIN12/GPIO13 (SCL/SDA można przełączyć w konfiguracji Tasmota)
  • SDA - od PIN10 / GPIO12 (SCL/SDA można przełączyć w konfiguracji Tasmota)

Krok 8: Montaż

montaż
montaż
montaż
montaż

Wytnij kilka szczelin w niebieskiej obudowie urządzenia Sinilink, aby przejść przez używane kable.

Włóż osłonę między płytkę Sinilink PCB a moduł INA219 i zagnij przewody blisko obudowy.

Użyj rurki termokurczliwej wokół obu modułów.

Krok 9: Zbuduj Tasmotę z obsługą INA219

Musisz skompilować Tasmota z obsługą INA219, standardowy plik tasmota-sensors.bin, który zawiera obsługę INA219, jest zbyt duży, aby zmieścić się w ESP8285.

Poniżej znajduje się bardzo krótkie wyjaśnienie procesu budowania za pomocą dockera, więcej szczegółów tutaj.

Utwórz katalog:

$ mkdir /opt/docker/tasmota-builder

Utwórz docker-compose.yml

$ cat /opt/docker/tasmota-builder/docker-compose.yml wersja: "3.7"services: tasmota-builder: nazwa_kontenera: tasmota-builder nazwa hosta: tasmota-builder restart: "nie" # źródło: https://hub.docker.com/r/blakadder/docker-tasmota image: blakadder/docker-tasmota:latest user: "1000:1000" woluminy: # kontener docker musi być uruchomiony przez tego samego użytkownika, # który jest właścicielem kodu źródłowego -./tasmota_git:/taśmota

Sklonuj repozytorium git i przełącz się na konkretną, otagowaną wersję Tasmoty:

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

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

Dodaj plik zastąpienia, aby uwzględnić obsługę INA219:

$ 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: Używanie ustawień z tego pliku ****#ifndef USE_INA219#define USE_INA219#endif

Rozpocznij kompilację:

"-e tasmota" oznacza, że buduje tylko plik binarny tasmota.bin, nic więcej.

/opt/docker/tasmota-builder $ docker-compose uruchom tasmota-builder -e tasmota; docker-compose down

Wynikowy plik binarny, tasmota.bin, będzie zlokalizowany w:

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

Skonfiguruj urządzenie Sinilink z Tasmotą, jak wyjaśnił Andreas Spiess w swoim filmie. Najpierw flashowanie, a następnie konfiguracja szablonu/zwykłej konfiguracji GPIO dla tego urządzenia.

Albo za pomocą własnego skompilowanego pliku binarnego Tasmota, albo po prostu użyj najpierw standardowego wydania, a następnie zaktualizuj przez webgui do własnej skompilowanej wersji.

Krok 10: Konfiguracja Tasmota dla INA219

Konfiguracja Tasmota dla INA219
Konfiguracja Tasmota dla INA219
Konfiguracja Tasmota dla INA219
Konfiguracja Tasmota dla INA219

Pierwszym krokiem jest zmodyfikowanie szablonu, aby pasował do modyfikacji.

Przejdź do „Konfiguracja” -> „Konfiguruj szablon”, wybierz dla GPIO12 i GPIO13 wartość „Użytkownik (255)”. Kliknij „Zapisz”.

Po restarcie przejdź do „Konfiguracja” -> „Konfiguruj szablon”, wybierz dla GPIO12 -> „I2C SDA (6)” i dla GPIO13 -> „I2C SCL (5)”. Lub zamień je, jeśli przylutowałeś przewody inaczej. Kliknij „Zapisz”.

Zmień wyświetlaną/raportowaną precyzję modułu. Zmieniaj się, jak chcesz.

Przejdź do „Konsoli” i wprowadź następujące polecenia.

TelePeriod 30 # wysyłaj wartości czujnika MQTT co 30 sekund

VoltRes Dokładność 3 # 3 cyfry przy pomiarach napięcia WattRes Dokładność 3 # 3 cyfry przy obliczeniach watów AmpRes Dokładność 3 # 3 cyfry przy pomiarach prądu

Krok 11: Wynik końcowy

Ostateczny wynik
Ostateczny wynik
Ostateczny wynik
Ostateczny wynik

Jeśli wszystko zostało zrobione poprawnie, możesz teraz monitorować napięcie i prąd używane przez podłączone urządzenie USB bezpośrednio w interfejsie WWW Tasmota.

Jeśli masz również konfigurację dla Tasmoty, aby raportowała pomiary przez MQTT do InfluxDB, możesz tworzyć wykresy za pomocą Grafana, aby pokazać prąd ładowania w czasie, oto przykład mojego smartfona ładującego się od ~10% do ~85% pojemności.

Po tej konfiguracji możesz użyć narzędzia do automatyzacji, takiego jak Node-RED, aby automatycznie wyłączyć przełącznik USB, gdy prąd spadnie poniżej określonego limitu.

Należy pamiętać, że ponieważ INA219 wykorzystuje rezystor 0,1 Ohm jako bocznik prądowy, uzyskasz spadek napięcia z wejścia do wyjścia, w zależności od zasilacza i „inteligencji” podłączonego urządzenia, które może ładować się wolniej niż wcześniej.

Zalecana: