Оглавление:

Модификация переключателя Sinilink WiFi с датчиком напряжения / тока INA219: 11 шагов
Модификация переключателя Sinilink WiFi с датчиком напряжения / тока INA219: 11 шагов

Видео: Модификация переключателя Sinilink WiFi с датчиком напряжения / тока INA219: 11 шагов

Видео: Модификация переключателя Sinilink WiFi с датчиком напряжения / тока INA219: 11 шагов
Видео: Session Sensation: An IT Admin's Guide to OSI Layer 5 2024, Июль
Anonim
Модификация переключателя Sinilink WiFi с датчиком напряжения / тока INA219
Модификация переключателя Sinilink WiFi с датчиком напряжения / тока INA219

Переключатель 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

ESP8285 Неиспользуемые GPIO
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

Припаяйте провода данных к контактам ESP8285
Припаяйте провода данных к контактам ESP8285

Предварительно согните провода перед тем, как припаять их к микросхеме, не следует сильно нагружать контактные площадки, прикрепленные к контактам микросхемы.

Припаяйте два провода к выводам 10 и 12 микросхемы.

Как вы видите на картинке, я сжег контакты 18 и 19 на правой стороне микросхемы, поэтому старайтесь поддерживать низкий уровень нагрева и короткую продолжительность пайки.

Я также приклеил оба провода по краю платы, чтобы немного уменьшить натяжение.

Шаг 6: Припаяйте провода Vcc / Gnd к регулятору 3V3 и USB-порту

Припаяйте провода Vcc / Gnd к регулятору 3V3 и USB-порту
Припаяйте провода Vcc / Gnd к регулятору 3V3 и USB-порту

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

Припаяйте провод к контакту Gnd штекерного разъема USB, он перейдет к «Gnd» модуля INA219.

Шаг 7: Припаяйте провода к модулю INA219

Припаять провода к модулю INA219
Припаять провода к модулю INA219
Припаять провода к модулю INA219
Припаять провода к модулю 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

Конфигурация Tasmota для INA219
Конфигурация Tasmota для INA219
Конфигурация Tasmota для INA219
Конфигурация 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 Ом в качестве токового шунта, вы получите падение напряжения со входа на выход, в зависимости от вашего источника питания и «интеллекта» подключенного устройства, оно может заряжаться медленнее, чем раньше.

Рекомендуемые: