Sommario:
- Fase 1: Prerequisiti/Parti
- Passaggio 2: descrizione generale del modulo
- Passaggio 3: GPIO ESP8285 non utilizzati
- Passaggio 4: saldare i fili che trasportano corrente al PCB
- Passaggio 5: saldare i cavi dati ai pin ESP8285
- Passaggio 6: saldare i cavi Vcc/Gnd al regolatore 3V3 e alla porta USB
- Passaggio 7: saldare i fili al modulo INA219
- Passaggio 8: assemblaggio
- Passaggio 9: crea Tasmota con il supporto INA219
- Passaggio 10: configurazione Tasmota per INA219
- Passaggio 11: risultato finale
Video: Modifica dell'interruttore WiFi Sinilink con sensore di tensione/corrente INA219: 11 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 09:59
L'interruttore USB WIFI Sinilink XY-WFUSB è un piccolo dispositivo per accendere/spegnere da remoto un dispositivo USB collegato. Purtroppo manca la capacità di misurare la tensione di alimentazione o la corrente utilizzata del dispositivo collegato.
Questa istruzione mostra come ho modificato il mio interruttore USB con un sensore di tensione/corrente INA219. Con questa modifica è possibile monitorare il consumo energetico di un dispositivo collegato, ad es. uno smartphone, un lettore di ebook ecc., durante la ricarica e automatizzare per spegnere l'alimentazione al dispositivo collegato prima che venga caricato al 100% per (forse) prolungare la durata della batteria LiPo integrata.
Tieni presente che alla fine questa modifica si traduce in una leggera caduta di tensione dall'ingresso 5V all'uscita del modulo.
Fase 1: Prerequisiti/Parti
Avrai bisogno delle seguenti parti:
- Sinilink XY-WFUSB Interruttore USB WIFI
- INA219 Modulo sensore tensione/corrente (meglio uno più piccolo)
- Filo smaltato da 0,4 mm di diametro
- filo spesso, in grado di gestire 2-3A di corrente
- tubo termoretraibile abbinato al filo spesso
- Tubo termoretraibile da 25,4 mm di diametro
- I soliti strumenti come saldatore, saldatura, flusso
- PC dove è possibile compilare Tasmota con supporto INA219
Passaggio 2: descrizione generale del modulo
Un'ottima descrizione generale del modulo switch USB, delle sue parti e di come aprirlo è contenuta nel video collegato di Andreas Spiess. Questo video mi ha ispirato ad apportare le modifiche al mio modulo con un modulo sensore INA219.
Passaggio 3: GPIO ESP8285 non utilizzati
Per capire quali Pin/GPIO dell'ESP8285 non sono collegati ho rimosso il chip dal modulo. Non è necessario farlo, basta guardare l'immagine.
Con il chip dissaldato e la scheda tecnica ESP8285 puoi vedere che i seguenti Pin/GPIO non sono utilizzati:
- PIN10 / GPIO12
- PIN12 / GPIO13
- PIN18 / GPIO9
- PIN19 / GPIO10
- …e altro ancora…
Ne servono solo due per le connessioni I2C (SDA + SCL) al modulo INA219. Ho scelto per la prima volta PIN18 + PIN19 ma ho distrutto i pad durante la saldatura perché non sono (ancora) abbastanza esperto da saldare due fili da 0,4 mm a quel passo dei pin quando sono fianco a fianco.
Passaggio 4: saldare i fili che trasportano corrente al PCB
Per misurare la corrente è necessario inserire il modulo INA219 nell'alimentazione di uscita +5V tra il MOSFET di commutazione e la porta di uscita USB.
Per prima cosa sollevare la gamba della presa USB.
In secondo luogo saldare un filo spesso (rosso) al pad sul PCB, che è l'uscita del MOSFET sull'altro lato del PCB, questo filo andrà a "Vin+" dell'INA219.
Quindi saldare un filo spesso (nero) al Pin della presa USB, questo andrà a "Vin-" dell'INA219.
Ho messo del nastro Kapton resistente al calore tra di loro durante la saldatura e successivamente ho aggiunto del tubo termoretraibile attorno al filo nero. Ho anche lasciato il nastro Kapton al suo posto.
Passaggio 5: saldare i cavi dati ai pin ESP8285
Pre-piega i fili prima di saldarli al chip, non dovresti mettere a dura prova i pad attaccati ai pin del chip.
Saldare due fili ai pin 10 e 12 del chip.
Come vedi nella foto ho bruciato i pin 18 e 19 sul lato destro del chip, quindi cerca di mantenere il calore basso e la durata della saldatura breve.
Ho anche incollato entrambi i fili sul bordo della scheda per avere un po' di tensione.
Passaggio 6: saldare i cavi Vcc/Gnd al regolatore 3V3 e alla porta USB
Saldare un filo all'uscita del regolatore di tensione AMS1117 3V3, questo andrà a "Vcc" del modulo INA219. (Scusa per la brutta immagine)
Saldare un filo al pin Gnd del jack USB maschio, questo andrà a "Gnd" del modulo INA219.
Passaggio 7: saldare i fili al modulo INA219
Saldare i sei fili al modulo INA219. Mantenere uno spazio sufficiente tra il PCB principale e il modulo per inserire il coperchio blu del dispositivo Sinilink.
- Vin+ - (rosso) da pad su PCB
- Vin- - (nero) dal pin della presa di uscita USB
- Vcc - da AMS1117 Regolatore di tensione 3V3
- Gnd - dal pin Gnd del jack USB maschio
- SCL - da PIN12 / GPIO13 (SCL/SDA può essere commutato in configurazione Tasmota)
- SDA - da PIN10 / GPIO12 (SCL/SDA può essere commutato in configurazione Tasmota)
Passaggio 8: assemblaggio
Taglia delle fessure nella cover blu del dispositivo Sinilink per far passare i cavi che hai usato.
Inserire il coperchio tra la scheda Sinilink e il modulo INA219 e piegare i fili vicino al case.
Utilizzare un tubo termoretraibile attorno a entrambi i moduli.
Passaggio 9: crea Tasmota con il supporto INA219
È necessario compilare Tasmota con il supporto INA219, lo standard tasmota-sensors.bin, che contiene il supporto INA219, è troppo grande per adattarsi a ESP8285.
Quella che segue è una breve spiegazione del processo di compilazione utilizzando la finestra mobile, maggiori dettagli qui.
Crea una directory:
$ mkdir /opt/docker/tasmota-builder
Crea docker-compose.yml
$ cat /opt/docker/tasmota-builder/docker-compose.yml versione: "3.7"services: tasmota-builder: container_name: tasmota-builder hostname: tasmota-builder restart: "no" # source: https://hub.docker.com/r/blakadder/docker-tasmota immagine: blakadder/docker-tasmota:latest user: "1000:1000" volumes: # il contenitore docker deve essere avviato dallo stesso utente che possiede # il codice sorgente -./tasmota_git:/tasmota
Clona il repository git e passa a una versione con tag specifica di 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
Aggiungi un file di sostituzione per includere il supporto 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: utilizzo delle impostazioni da questo file ****#ifndef USE_INA219#define USE_INA219#endif
Avvia la compilazione:
"-e tasmota" significa che sta costruendo solo il binario tasmota.bin, nient'altro.
/opt/docker/tasmota-builder $ docker-compose esegui tasmota-builder -e tasmota; docker-componi giù
Il binario risultante, tasmota.bin, si troverà in:
/opt/docker/tasmota-builder/tasmota_git/build_output/firmware/
Configura il dispositivo Sinilink con Tasmota come spiegato da Andreas Spiess nel suo video. Prima lampeggio e poi configurazione del modello/configurazione GPIO usuale per questo dispositivo.
Usando il tuo binario Tasmota compilato o semplicemente usa prima una versione standard, quindi aggiorna tramite webgui alla tua versione compilata.
Passaggio 10: configurazione Tasmota per INA219
Il primo passo è modificare il modello in modo che corrisponda alla modifica.
Vai su "Configurazione" -> "Configura modello", seleziona per GPIO12 e GPIO13 il valore "Utente (255)". Premi "Salva".
Dopo il riavvio vai su "Configurazione" -> "Configura modello", seleziona per GPIO12 -> "I2C SDA (6)" e per GPIO13 -> "I2C SCL (5)". Oppure scambiali se hai saldato i fili in modo diverso. Premi "Salva".
Modificare la precisione visualizzata/riportata del modulo. Cambia come desideri.
Vai su "Console" e inserisci i seguenti comandi.
TelePeriod 30 # invia i valori del sensore MQTT ogni 30 secondi
VoltRes 3 # Precisione di 3 cifre sulle misure di Tensione WattRes 3 # Precisione di 3 cifre sui calcoli di Watt AmpRes 3 # Precisione di 3 cifre sulle misure di Corrente
Passaggio 11: risultato finale
Se tutto è stato eseguito correttamente, ora puoi monitorare la tensione e la corrente utilizzate dal dispositivo USB collegato direttamente nella GUI Web di Tasmota.
Se hai anche una configurazione per Tasmota per riportare la misurazione tramite MQTT in un InfluxDB puoi creare grafici tramite Grafana per mostrare la corrente di carica nel tempo, ecco un esempio del mio smartphone che si ricarica da ~10% a ~85% di capacità.
E seguendo questa configurazione puoi utilizzare uno strumento di automazione come Node-RED per spegnere automaticamente l'interruttore USB quando la corrente scende al di sotto di un certo limite.
Tieni presente che poiché l'INA219 utilizza un resistore da 0,1 Ohm come shunt di corrente, otterrai una caduta di tensione dall'ingresso all'uscita, a seconda dell'alimentatore e dell'"intelligenza" del dispositivo collegato, potrebbe caricarsi più lentamente di prima.
Consigliato:
Monitor di tensione per batterie ad alta tensione: 3 passaggi (con immagini)
Monitor di tensione per batterie ad alta tensione: in questa guida ti spiegherò come ho costruito il mio monitor di tensione della batteria per il mio longboard elettrico. Montalo come vuoi e collega solo due fili alla batteria (Gnd e Vcc). Questa guida presume che la tensione della batteria superi i 30 volt, con
Convertitore di tensione buck in modalità interruttore di riduzione della tensione CC - CC (LM2576/LM2596): 4 passaggi
Convertitore di tensione buck in modalità interruttore di riduzione della tensione CC - CC (LM2576/LM2596): Realizzare un convertitore buck altamente efficiente è un lavoro difficile e anche gli ingegneri esperti richiedono più progetti per arrivare a quello giusto. Un convertitore buck (convertitore step-down) è un convertitore di alimentazione CC-CC, che riduce la tensione (mentre aumenta
Misuratore di tensione e corrente Wi-Fi multicanale: 11 passaggi (con immagini)
Misuratore di tensione e corrente Wi-Fi multicanale: durante il breadboard, spesso è necessario monitorare diverse parti del circuito contemporaneamente. Per evitare il dolore di dover attaccare le sonde del multimetro da un punto all'altro, ho voluto progettare un misuratore di tensione e corrente multicanale. La scheda Ina260
Misuratore di resistenza ohmica bassa con sensore di corrente INA219: 5 passaggi
Misuratore di resistenza ohmica bassa con sensore di corrente INA219: questo è un misuratore di milliohm a basso costo che può essere assemblato utilizzando il sensore di corrente 2X INA219, Arduino nano, display LCD 2X16, resistenza di carico da 150 Ohm e semplice codice Arduino che la libreria può essere trovata online . La bellezza di questo progetto non è pre
Metodi di rilevamento del livello dell'acqua Arduino utilizzando il sensore a ultrasuoni e il sensore dell'acqua Funduino: 4 passaggi
Metodi per rilevare il livello dell'acqua Arduino utilizzando il sensore ad ultrasuoni e il sensore dell'acqua Funduino: in questo progetto, ti mostrerò come creare un rilevatore d'acqua economico utilizzando due metodi: 1. Sensore a ultrasuoni (HC-SR04).2. Sensore acqua Funduino