Índice:
- Etapa 1: Pré-requisitos / peças
- Etapa 2: Descrição geral do módulo
- Etapa 3: ESP8285 GPIOs não usados
- Etapa 4: Soldar os fios condutores de corrente para o PCB
- Etapa 5: Soldar os fios de dados para os pinos ESP8285
- Etapa 6: Soldar os fios Vcc / Gnd para o regulador 3V3 e a porta USB
- Etapa 7: Fios de solda para o módulo INA219
- Etapa 8: Montagem
- Etapa 9: Construir Tasmota com suporte INA219
- Etapa 10: Configuração do Tasmota para INA219
- Etapa 11: Resultado final
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
O seletor Sinilink XY-WFUSB WIFI USB é um pequeno dispositivo agradável para ligar / desligar remotamente um dispositivo USB conectado. Infelizmente, não é possível medir a tensão de alimentação ou a corrente usada do dispositivo conectado.
Este instrutível mostra como eu modifiquei meu switch USB com um sensor de tensão / corrente INA219. Com esta modificação, você pode monitorar o consumo de energia de um dispositivo conectado, por exemplo, um smartphone, leitor de e-book, etc., durante o carregamento e automatizar para desligar a energia do dispositivo conectado antes de ser 100% carregado para (talvez) estender a vida útil da bateria LiPo integrada.
Esteja ciente de que no final essa modificação resulta em uma ligeira queda de tensão da entrada de 5 V para a saída do módulo.
Etapa 1: Pré-requisitos / peças
Você precisará das seguintes peças:
- Chave Sinilink XY-WFUSB WIFI USB
- Módulo sensor de tensão / corrente INA219 (um menor é melhor)
- Fio esmaltado de 0,4 mm de diâmetro
- fio grosso, que pode lidar com 2-3A de corrente
- tubo termorretrátil combinando com o fio grosso
- Tubo termorretrátil de 25,4 mm de diâmetro
- As ferramentas usuais como ferro de solda, solda, fluxo
- PC onde você pode compilar Tasmota com suporte INA219
Etapa 2: Descrição geral do módulo
Uma descrição geral muito boa do módulo de chave USB, suas partes e como abri-lo é feita no link de vídeo de Andreas Spiess. Este vídeo me inspirou a fazer alterações no meu módulo com um módulo sensor INA219.
Etapa 3: ESP8285 GPIOs não usados
Para descobrir quais pinos / GPIOs do ESP8285 não estão conectados, removi o chip do módulo. Você não precisa fazer isso, basta olhar para a foto.
Com o chip dessoldado e a folha de dados ESP8285, você pode ver que os seguintes pinos / GPIOs não são usados:
- PIN10 / GPIO12
- PIN12 / GPIO13
- PIN18 / GPIO9
- PIN19 / GPIO10
- … e mais …
Necessita apenas de duas para as ligações I2C (SDA + SCL) ao módulo INA219. Eu escolhi primeiro o PIN18 + PIN19, mas destruí as almofadas ao soldá-lo porque (ainda) não sou hábil o suficiente para soldar dois fios de 0,4 mm com o passo do pino quando eles estão lado a lado.
Etapa 4: Soldar os fios condutores de corrente para o PCB
Para medir a corrente, o módulo INA219 precisa ser inserido na alimentação de saída + 5V entre o MOSFET de comutação e a porta de saída USB.
Primeiro, levante a perna do soquete USB.
Depois solde um fio grosso (vermelho) na almofada do PCB, que é a saída do MOSFET do outro lado do PCB, este fio irá para "Vin +" do INA219.
Em seguida solde um fio grosso (preto) no pino do soquete USB, este irá para "Vin-" do INA219.
Eu coloquei um pouco de fita Kapton resistente ao calor entre eles durante a soldagem e depois adicionei um pouco de tubo termorretrátil ao redor do fio preto. Eu também deixei a fita Kapton no lugar.
Etapa 5: Soldar os fios de dados para os pinos ESP8285
Pré-dobre os fios antes de soldá-los ao chip, você não deve forçar muito as almofadas presas aos pinos do chip.
Solde dois fios nos pinos 10 e 12 do chip.
Como você pode ver na foto, queimei os pinos 18 e 19 no lado direito do chip, então tente manter o calor baixo e a duração da soldagem curta.
Também colei os dois fios na borda da placa para ter um pouco de alívio de tensão.
Etapa 6: Soldar os fios Vcc / Gnd para o regulador 3V3 e a porta USB
Solde um fio na saída do regulador de tensão 3V3 AMS1117, este irá para "Vcc" do módulo INA219. (Desculpe pela foto ruim)
Solde um fio no pino Gnd do conector USB macho, este irá para "Gnd" do módulo INA219.
Etapa 7: Fios de solda para o módulo INA219
Solde os seis fios ao módulo INA219. Mantenha espaço suficiente entre o PCB principal e o módulo para inserir a tampa azul do dispositivo Sinilink.
- Vin + - (vermelho) do pad no PCB
- Vin- - (preto) do pino da tomada de saída USB
- Vcc - do regulador de tensão AMS1117 3V3
- Gnd - do pino Gnd do conector USB macho
- SCL - de PIN12 / GPIO13 (SCL / SDA pode ser alternado na configuração Tasmota)
- SDA - de PIN10 / GPIO12 (SCL / SDA pode ser alternado na configuração Tasmota)
Etapa 8: Montagem
Corte alguns slots na tampa azul do dispositivo Sinilink para passar pelos cabos que você usou.
Insira a tampa entre o Sinilink PCB e o módulo INA219 e dobre os fios perto da caixa.
Use tubo termorretrátil ao redor de ambos os módulos.
Etapa 9: Construir Tasmota com suporte INA219
Você precisa compilar o Tasmota com suporte para INA219, o tasmota-sensores.bin padrão, que contém suporte para INA219, é muito grande para caber no ESP8285.
A seguir está uma breve explicação do processo de construção usando docker, mais detalhes aqui.
Crie um diretório:
$ mkdir / opt / docker / tasmota-builder
Crie docker-compose.yml
$ 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.docker.com / r / blakadder / docker-tasmota imagem: blakadder / docker-tasmota: último usuário: "1000: 1000" volumes: # docker container deve ser iniciado pelo mesmo usuário que possui # o código-fonte -./tasmota_git: / tasmota
Clone o repositório git e mude para uma versão com tag específica do 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
Adicione um arquivo de substituição para incluir o suporte 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: Usando configurações deste arquivo **** # ifndef USE_INA219 # define USE_INA219 # endif
Inicie a construção:
"-e tasmota" significa que ele está construindo apenas o binário tasmota.bin, nada mais.
/ opt / docker / tasmota-builder $ docker-compose executa tasmota-builder -e tasmota; docker-compose down
O binário resultante, tasmota.bin, estará localizado em:
/ opt / docker / tasmota-builder / tasmota_git / build_output / firmware /
Configure o dispositivo Sinilink com Tasmota conforme explicado por Andreas Spiess em seu vídeo. Primeiro piscando e depois a configuração do template / configuração GPIO usual para este dispositivo.
Usando seu próprio binário compilado do Tasmota ou apenas use uma versão padrão primeiro, e então atualize via webgui para sua própria versão compilada.
Etapa 10: Configuração do Tasmota para INA219
A primeira etapa é modificar o modelo para corresponder à modificação.
Vá para "Configuração" -> "Configurar modelo", selecione para GPIO12 e GPIO13 o valor "Usuário (255)". Clique em "Salvar".
Após a reinicialização, vá para "Configuração" -> "Configurar modelo", selecione para GPIO12 -> "I2C SDA (6)" e para GPIO13 -> "I2C SCL (5)". Ou troque-os se você soldou os fios de maneira diferente. Clique em "Salvar".
Altere a precisão exibida / relatada do módulo. Mude como desejar.
Vá para "Console" e digite os seguintes comandos.
TelePeríodo 30 # enviar valores do sensor MQTT a cada 30 segundos
VoltRes 3 # 3 dígitos precisão nas medições de tensão WattRes 3 # 3 dígitos precisão nos cálculos Watt AmpRes 3 # 3 dígitos precisão nas medições de corrente
Etapa 11: Resultado final
Se tudo foi feito corretamente, agora você pode monitorar a tensão e a corrente usadas pelo dispositivo USB conectado diretamente no Tasmota Web GUI.
Se você também tiver uma configuração para Tasmota para relatar a medição via MQTT em um InfluxDB, você pode criar gráficos via Grafana para mostrar a corrente de carga ao longo do tempo. Aqui está um exemplo de meu smartphone carregando de ~ 10% a ~ 85% da capacidade.
E seguindo essa configuração, você pode usar uma ferramenta de automação como o Node-RED para desligar automaticamente a chave USB quando a corrente cair abaixo de um certo limite.
Esteja ciente de que como o INA219 usa um resistor de 0,1 Ohm como um shunt de corrente, você obterá uma queda de tensão da entrada para a saída, dependendo da fonte de alimentação e da "inteligência" do dispositivo conectado, ele pode carregar mais devagar do que antes.