пока ехало заказанное железо, пока я паял, прошивал и настраивал, вышла новая версия Tasmota 15.5.0 - в ней добавили нативную подддержку PZEM-017, соответственно ничего теперь паять не надо.
мало того, с тем что напаяно - оно стало несовместимо, при обновлении - будет циклическая перезагрузка, а при попытке настроить с нуля - настройки не сохраняются. т.е. для описанного далее, максимальная версия Tasmota - 15.4.0
такая вот ерунда. впрочем, того что я хотел - добился, а обновлять - и не понадобится поди никогда.
--
Итак. и дома и на даче, есть сеть 12v - аварийка. Питаются всякие точки доступа, подсветки кухни/чуланов, сервера умного дома, исполнительные устройства перекрытия кранов и прочее по мелочи
соответственно реализация в обоих случаях - тупо прикручен на стену безвентиляторный блок питания 12v, 120w и 200w, наверное от лент светодиодных. что было, короче, то и поставил.
щас занялся - вешаю шкафчик (от старых сигналок на работе кучу отдали), в нём питальник, батарейка 3S c BMS, предохранители и собственно PZEM-017 - который надо по wifi научить отдавать данные
на момент выбора устройства мониторинга, поддержка Tasmota для PZEM-017 была на уровне - отпаиваем конвертер TTL/RS485, припаиваем перемычки и радуемся работе
ну собственно такое и реализовал.
корпус на защёлках, разбираем. режем дорожки на A/B, они не нужны. я покрыл лаком то что срезал - у жены какой-то самый вонючий и дешовый отжал для своих нужд
обклеиваем термоскотчем по бокам микросхемы U5 (диодная сборка для альтернативного питания) и U6 (преобразователь UART/RS485) и отпаиваем их. вместо U5 напаиваем перемычки.
имплантируем понижающий преобразователь. у меня 2-16v->3.3v - будет на входе всего 12v, поэтому достаточно.
настоятельно рекомендую на преобразователе не экономить. я вначале впаял самый дешовый. он конечно работает, но спалил мне три штуки ESP-02 - в момент подачи питания он скакал выше 3.3v, другого объяснения у меня нет...
питание на него берём с выхода D1 - это диод для защиты от переполюсовки, землю находим любую удобную тестером - она общая у всей измерительной части, я взял с отпаянного MircoUSB, он мне не нужен.
также, подаём 3.3v на часть ответственную за передачу данных - коричневый провод - земля, зелёный +3.3.v
вообще, она на 5v расчитана, но от 3.3 работает нормально. брать можно с любых мест, мне показалось так удобней
землю вообще можно с обратной стороны платы припаять с высокой части на низкую.
в общем, плясать надо от коненсатора - тестором искать где звонятся его +/- и туда паяться где удобно
собственно, внешний 3.3v припаял не сразу. можно не отпаивать U6 и взять питание с конденсатора, там 3.3v
но, при включении в схему ESP начинают нормально так греться Q1 (при входных напряжениях более 12v) и Z1 - всегда, при любых входных.
палец обжигают, т.е. температуры около или более разрешённых 70 градусов, для Z1
погонял, посмотрел - решил, что лучше впаять преобразователь, а встроенную схему на 3.3v не использовать
впаиваем ESP. можно любую, даже ESP-01, я припаял ESP-02s
плюс, минус, RX->PTC2, TX->PTC1
GPIO12->B
GPIO14->A
между GPIO14 и +3.3v припаиваем резистор на 5-10k.
я впаял 8.2, что под руку первое попалось из указанного диапазона.

настройки Tasmota
в консоли задаём параметры шунта - у меня 50А, но цифры соответствующие реальности, почему-то на 100 стало показывать
Код: Выделить всё
EnergyConfig range=100Код: Выделить всё
TimeZone +3Код: Выделить всё
VoltRes 2
итого получилось такое
собственно, имеем коробочку с мониторингом потребления, и два выхода GPIO наружу.
GPIO14 у меня под мониторинг температуры DS18B20 приспособлен, GPIO12 пока свободен. можно управлять релюшкой или светодиодом. ну или ещё что-то зацепить что необходимо будет.
как-то так выглядит в итоге. платы внутри ничем ник чему не крепил, я в качестве проводов использовал медные одножильные из витой пары - они жёсткие, оттянул повыше от основной платы, и всё, ничего никогда не коротнёт - ну, если не ронять коробку.
