
Оглавление:
- Шаг 1: Предварительные условия / Детали
- Шаг 2: Общее описание модуля
- Шаг 3: ESP8285 Неиспользуемые GPIO
- Шаг 4: Припаяйте токоведущие провода к печатной плате
- Шаг 5: Припаяйте провода передачи данных к контактам ESP8285
- Шаг 6: Припаяйте провода Vcc / Gnd к регулятору 3V3 и USB-порту
- Шаг 7: Припаяйте провода к модулю INA219
- Шаг 8: Сборка
- Шаг 9: Создайте Tasmota с поддержкой INA219
- Шаг 10: настройка Tasmota для INA219
- Шаг 11: окончательный результат
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:04

Переключатель Sinilink XY-WFUSB WIFI USB - это симпатичное маленькое устройство для удаленного включения / выключения подключенного USB-устройства. К сожалению, нет возможности измерить напряжение питания или используемый ток подключенного устройства.
В этом руководстве показано, как я модифицировал свой USB-переключатель с датчиком напряжения / тока INA219. С помощью этой модификации вы можете контролировать энергопотребление подключенного устройства, например смартфон, устройство для чтения электронных книг и т. д. во время зарядки и автоматическое отключение питания подключенного устройства до того, как оно будет заряжено до 100%, чтобы (возможно) продлить срок службы встроенного LiPo аккумулятора.
Имейте в виду, что в конечном итоге эта модификация приводит к небольшому падению напряжения на входе 5 В на выходе модуля.
Шаг 1: Предварительные условия / Детали
Вам потребуются следующие детали:
- Переключатель Sinilink XY-WFUSB WIFI USB
- Модуль датчика напряжения / тока INA219 (чем меньше, тем лучше)
- Эмалированный провод диаметром 0,4 мм
- толстый провод, выдерживающий ток 2-3А
- термоусадочная трубка в тон толстой проволоке
- Термоусадочная трубка диаметром 25,4 мм
- Обычные инструменты, такие как припой, припой, флюс.
- ПК, на котором можно скомпилировать Tasmota с поддержкой INA219
Шаг 2: Общее описание модуля
Очень хорошее общее описание модуля USB-переключателя, его частей и того, как его открывать, можно найти в видео по ссылке от Андреаса Списс. Это видео вдохновило меня на внесение изменений в мой модуль с сенсорным модулем INA219.
Шаг 3: ESP8285 Неиспользуемые GPIO

Чтобы выяснить, какие контакты / GPIO ESP8285 не подключены, я удалил микросхему из модуля. Делать это не нужно, достаточно посмотреть на картинку.
С распаянным чипом и таблицей данных ESP8285 вы можете увидеть, что следующие контакты / GPIO не используются:
- PIN10 / GPIO12
- PIN12 / GPIO13
- PIN18 / GPIO9
- PIN19 / GPIO10
- … и более …
Вам нужно только два для подключения I2C (SDA + SCL) к модулю INA219. Сначала я выбрал PIN18 + PIN19, но я разрушил контактные площадки при пайке к нему, потому что я (еще) недостаточно квалифицирован, чтобы припаять два провода 0,4 мм с таким шагом контактов, когда они находятся рядом.
Шаг 4: Припаяйте токоведущие провода к печатной плате



Для измерения силы тока модуль INA219 необходимо вставить в выходной канал +5 В между переключающим полевым МОП-транзистором и выходным портом USB.
Сначала поднимите ножку гнезда USB.
Во-вторых, припаяйте толстый провод (красный) к контактной площадке на печатной плате, которая является выходом полевого МОП-транзистора на другой стороне печатной платы, этот провод пойдет на «Vin +» INA219.
Затем припаяйте толстый провод (черный) к контакту USB-разъема, он пойдет на «Vin-» INA219.
Я поместил между ними термостойкую каптоновую ленту во время пайки, а затем добавил термоусадочную трубку вокруг черного провода. Я также оставил каптоновую ленту на месте.
Шаг 5: Припаяйте провода передачи данных к контактам ESP8285

Предварительно согните провода перед тем, как припаять их к микросхеме, не следует сильно нагружать контактные площадки, прикрепленные к контактам микросхемы.
Припаяйте два провода к выводам 10 и 12 микросхемы.
Как вы видите на картинке, я сжег контакты 18 и 19 на правой стороне микросхемы, поэтому старайтесь поддерживать низкий уровень нагрева и короткую продолжительность пайки.
Я также приклеил оба провода по краю платы, чтобы немного уменьшить натяжение.
Шаг 6: Припаяйте провода Vcc / Gnd к регулятору 3V3 и USB-порту

Припаяйте провод к выходу регулятора напряжения AMS1117 3V3, он пойдет на «Vcc» модуля INA219. (Извините за плохую картинку)
Припаяйте провод к контакту Gnd штекерного разъема USB, он перейдет к «Gnd» модуля INA219.
Шаг 7: Припаяйте провода к модулю INA219


Припаяйте шесть проводов к модулю INA219. Оставьте достаточно места между основной платой и модулем, чтобы вставить синюю крышку устройства Sinilink.
- Vin + - (красный) от контактной площадки на плате
- Vin- - (черный) от контакта выходного USB-разъема
- Vcc - от регулятора напряжения AMS1117 3V3
- Gnd - от пина Gnd штекерного разъема USB
- SCL - от PIN12 / GPIO13 (SCL / SDA можно переключить в конфигурации Tasmota)
- SDA - с PIN10 / GPIO12 (SCL / SDA можно переключить в конфигурации Tasmota)
Шаг 8: Сборка


Вырежьте несколько прорезей в синей крышке устройства Sinilink, чтобы пропустить используемые вами кабели.
Вставьте крышку между печатной платой Sinilink и модулем INA219 и согните провода вплотную к корпусу.
Используйте термоусадочную трубку вокруг обоих модулей.
Шаг 9: Создайте Tasmota с поддержкой INA219
Вам нужно скомпилировать Tasmota с поддержкой INA219, стандартный файл tasmota-sensor.bin, содержащий поддержку INA219, слишком велик для ESP8285.
Ниже приводится очень краткое объяснение процесса сборки с использованием docker, подробнее здесь.
Создайте каталог:
$ mkdir / opt / docker / tasmota-builder
Создайте docker-compose.yml
$ cat /opt/docker/tasmota-builder/docker-compose.yml версия: "3.7" services: tasmota-builder: container_name: tasmota-builder имя хоста: tasmota-builder restart: "no" # source: https:// hub.docker.com / r / blakadder / docker-tasmota image: blakadder / docker-tasmota: последний пользователь: "1000: 1000" тома: # контейнер докеров должен запускаться тем же пользователем, который # владеет исходным кодом -./tasmota_git: / tasmota
Клонируйте репозиторий git и переключитесь на конкретную версию Tasmota с тегами:
/ opt / docker / tasmota-builder $ git clone https://github.com/arendst/Tasmota.git tasmota_git
/ opt / docker / tasmota-builder / tasmota_git (мастер) $ git checkout v8.5.1
Добавьте файл переопределения, чтобы включить поддержку 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: Использование настроек из этого файла **** # ifndef USE_INA219 # define USE_INA219 # endif
Запускаем сборку:
«-e tasmota» означает, что он создает только двоичный файл tasmota.bin и ничего больше.
/ opt / docker / tasmota-builder $ docker-compose запустить tasmota-builder -e tasmota; докер-компоновка
Полученный двоичный файл, tasmota.bin, будет расположен в:
/ opt / docker / tasmota-builder / tasmota_git / build_output / прошивка /
Настройте устройство Sinilink с помощью Tasmota, как объяснил Андреас Списс в своем видео. Сначала прошивка, а затем настройка шаблона / обычной настройки GPIO для этого устройства.
Либо используйте свой собственный скомпилированный двоичный файл Tasmota, либо просто сначала используйте стандартный выпуск, а затем обновите через webgui до вашей собственной скомпилированной версии.
Шаг 10: настройка Tasmota для INA219


Первый шаг - изменить шаблон в соответствии с модификацией.
Перейдите в «Конфигурация» -> «Настроить шаблон», выберите для GPIO12 и GPIO13 значение «Пользователь (255)». Нажмите «Сохранить».
После перезагрузки перейдите в «Конфигурация» -> «Настроить шаблон», выберите для GPIO12 -> «I2C SDA (6)» и для GPIO13 -> «I2C SCL (5)». Или поменяйте местами, если вы припаяли провода по-другому. Нажмите «Сохранить».
Измените отображаемую / сообщаемую точность модуля. Меняйте по своему желанию.
Перейдите в «Консоль» и введите следующие команды.
TelePeriod 30 # отправлять значения датчика MQTT каждые 30 секунд
VoltRes 3 # 3-значная точность при измерениях напряжения WattRes 3 # 3-значная точность при расчетах ватт AmpRes 3 # 3-значная точность при измерениях тока
Шаг 11: окончательный результат


Если все было сделано правильно, теперь вы можете отслеживать напряжение и ток, используемые подключенным USB-устройством, прямо в веб-интерфейсе Tasmota.
Если у вас также есть настройка для Tasmota, чтобы сообщать об измерениях через MQTT в InfluxDB, вы можете создавать графики с помощью Grafana, чтобы показывать ток зарядки с течением времени, вот пример зарядки моего смартфона от ~ 10% до ~ 85% емкости.
И после этой настройки вы можете использовать инструмент автоматизации, такой как Node-RED, для автоматического выключения USB-переключателя, когда ток падает ниже определенного предела.
Имейте в виду, что, поскольку INA219 использует резистор 0,1 Ом в качестве токового шунта, вы получите падение напряжения со входа на выход, в зависимости от вашего источника питания и «интеллекта» подключенного устройства, оно может заряжаться медленнее, чем раньше.
Рекомендуемые:
Карманный измеритель напряжения постоянного тока DIY: 5 шагов

Карманный измеритель напряжения постоянного тока DIY: в этой инструкции я покажу вам, как сделать самодельный карманный измеритель напряжения постоянного тока с пьезозуммером для проверки цепи самостоятельно. Все, что вам нужно, это базовые знания в области электроники и немного времени. Если у вас есть какие-либо вопросы или проблемы, вы можете
Понижающий преобразователь напряжения постоянного тока в понижающий режим понижающего напряжения (LM2576 / LM2596): 4 ступени

Понижающий преобразователь напряжения постоянного и понижающего режима понижающего напряжения (LM2576 / LM2596): создание высокоэффективного понижающего преобразователя - сложная работа, и даже опытным инженерам требуется несколько конструкций, чтобы найти правильный. представляет собой преобразователь постоянного тока в постоянный, который понижает напряжение (при повышении
Взаимодействие Arduino с ультразвуковым датчиком и бесконтактным датчиком температуры: 8 шагов

Взаимодействие Arduino с ультразвуковым датчиком и бесконтактным датчиком температуры: в настоящее время производители и разработчики предпочитают Arduino для быстрой разработки прототипов проектов. Arduino - это электронная платформа с открытым исходным кодом, основанная на простом в использовании аппаратном и программном обеспечении. У Arduino очень хорошее сообщество пользователей. В этом проекте
Преобразование 35 В постоянного тока в 9 В постоянного тока с помощью регулятора напряжения 7809: 7 шагов

Преобразование 35 В постоянного тока в 9 В постоянного тока с помощью регулятора напряжения 7809: Привет друг, сегодня я собираюсь сделать схему контроллера напряжения. С помощью этой схемы мы можем преобразовать до 35 В постоянного тока в постоянное 9 В постоянного тока. В этой схеме мы будем использовать только напряжение 7809. регулятор. Приступим
Измеритель низкого омического сопротивления с датчиком тока INA219: 5 шагов

Измеритель низкого омического сопротивления с датчиком тока INA219: это недорогой миллиомметр, который можно собрать, используя датчик тока 2X INA219, Arduino nano, ЖК-дисплей 2X16, нагрузочный резистор 150 Ом и простой код Arduino, библиотеку которого можно найти в Интернете. . Красота этого проекта не пред