Tak, skoro slave to sam się nie odzywa z zasady, ale problemem się robi sama elektronika w nadmiarze - należałoby przeanalizować rozkład prądów w układzie z diodami (w ogóle to bym proponował powywalać zbędne LEDy, bo wprowadzają one zbędne obciążenie, pewnie będzie trzeba policzyć i powymieniać rezystory).
Na ten moment buduję miernik w oparciu o WT32-ETH01 i 3x PZEM-004T V3 z ewentualną opcją rozbudowy. Może kiedyś sprawdzę empirycznie takie multiple.
Witam
Po analizie kilkunastu stron internetowych udało mi się zintegrować Sonoff Basic z miernikiem PZEM-004T (V3.0) (1 faza)
Niestety nie jestem do końca zadowolony z efektu - skorzystałem z oprogramowania Tasmota 12.4.
Posiada on ograniczenia które nie przypadły mi do gustu, mianowicie:
- brak możliwości kalibracji (udało mi się znaleźć informację że kalibracja nia działa w przypadku stosowania przekładnika - wersja 100A - standarwe polecenia typu PowerSet XX.X - Unknown command)
- ograniczony interwał odświeżania - min wartość to 10 sek.
W związku z tym proszę o info czy ktoś spotkał się z działającym softem który nie ma takich ograniczeń - np odczyt mocy co 3s. Dodatkowo nie chciałbym korzystać z chmury (supla) bo to kolejne komplikacje i przy braku neta wszystko leży.
Platforma sprzętowa - preferowałbym ESP32 ale sonoff też. Od biedy arduino ale to najgorsze dla mnie bo kolejna platforma.
A co da Ci taki częsty odczyt mocy?
Humorystycznie - będę lepiej spał ;-), a na poważnie lubię patrzeć jak cyferki mi skaczą przed oczami.
Przy okazji poświęcając kolejne godziny na poszukiwania natrafiłem w końcu na niezły film tłumaczący powyższe zagadnienie. W weekend spróbuję modyfikacji do esp32 i przeprowadzę testy ![]()
Chciałbym nieco odświeżyć temat. Szukałem inspiracji w internetach a jednak wróciłem do naszego forum
Ze względu na to że minęło już trochę czasu to możecie się wypowiedzieć na temat swoich doświadczeń z PZEM a może zmienić też koncepcję mojego myślenia.
Chciałbym zamontować grzałkę wody 3x2000W (3 elementy grzewcze na 230V) w celu rozładowania napięcia w domu. Zaczęły się pierwsze mocniejsze promienie słońca więc już PV żyje swoim życiem…
Pomysł jest taki że chciałbym monitorować napięcie poszczególnych faz i włączać poszczególne grzałki. ESP +3x PZEM +3x przekaźnik wydaje się (wg mnie) dobrym rozwiązaniem ale nie pogardziłbym jakimś gotowym rozwiązaniem.
Mam PZEM założone na wszystkie odbiory w domu. W zależności od mocy która jest pobierana przez dom i produkowana przez PV steruje grzałkami (2 grzałki 1,5kW i 2kW). 3xPZEM oczywiście z przekładnikami, połączony z Wemos D1 mini i wgrałem w niego suple z Guigeneric i działa bardzo dobrze.
11 postów zostało podzielonych na nowy temat: Shelly Pro EM-50 podłączenie do istniejącej instalacji
Cześć Wam wszystkim.
Zakupiłem na aliexpress 3 szt PZEM-004 v4. Dwa spośród trzech zachowują się inaczej niż jeden nich, który działa, pomimo, że fizycznie wydają się być takie same.
Ale po kolei.
A. Każdy z PZEM-ów podłączony do portu USB przez konwerter TTL zasilany napięciem 5V poprawnie raportuje dane do programu monitorującego:
lub
B. Podłączone do ESP32-WROOM 30 pin do Rx i Tx odpowiednio GPIO16 i GPIO17
a. Jeden z nich działa poprawnie, bez błędów
b. Dwa pozostałe - brak komunikacji
Podłączałem je kolejno w ten sam układ elektryczny pomiędzy PZEM-004 a ESP32.
Zauważyłem, że ledy od komunikacji inaczej świecą, więc pomierzyłem napięcia na Rx i Tx względem masy na PZEM-ach
C. Napięcia 4,35V na Rx i 4,9V na Tx na działającym
D. Napięcia 3,45V na Rx i 2,95V na Tx na tych które nie komunikują się z ESP32
Nie sądzę żeby to był problem kodu, skoro jeden PZEM-004 działa a pozostałe nie.
Połączenie pomiędzy PZEM-004 a ESP robiłem bezpośrednio jak i za pośrednictwem konwerterów RS485 to TTL. Bez różnicy.
Proszę o poradę, co dalej robić bo doszedłem do ściany.
A ustawiłeś tym 2 kolejnym inne adresy niż ten pierwszy?
Fabrycznie każdy ma ten sam adres, więc jeśli chcesz mieć kilka na tej samej magistrali, to MUSZĄ mieć różne adresy.
Nie wiem jak się udało zrobić nieklikalne linki (coś było przekombinowane) ale to poprawiłem.
Zostaje jeszcze pytanie czym się różni PZEM-004T v3 od v4 (bo dla v3 względem v1 to była różnica kolosalna - całkiem inna konstrukcja…).
Tego zupełnie nie rozumiem, albo masz UART albo RS485 to są fizycznie niekompatybilne interfejsy
masz to (tu nie ma RS485 !!)
czy coś innego?
Uwaga pytania:
- Czy podczas testów do moułów PZEM-004 podłączone jest napięcie sieciowe 230V ovzywiście AC ?
- Jakie są adresy ustawione w każdym z trzech modułów (czy sprawdzałeś to w progrmie na PC)?
- Czy w kodzie masz ustawione `stop_bits: 2?
- Jakie jest dokładne napięcie na pinie VCC w PZEM-ie w momencie gdy jest on połączony z ESP?
- Czy masy (GND) ESP32 i PZEM-004 są ze sobą połączone?
- Jaka jest rezystancja (mierzona multimetrem przy odłączonym zasilaniu) między pinami VCC a RX oraz VCC a TX w działającym module a jaka w niedziałających?
- Czy próbowałeś zasilić niedziałające moduły z zewnętrznego zasilacza 5V (zamiast z pinu ESP)?
- Czy w programie na PC gdzie moduły działają uzywasz tych samych przewodow, których używasz do połączenia z ESP32?
- Czy próbowałeś komunikacji z tylko jednym “wadliwym” modułem podłączonym do ESP czy testujesz je w grupie?
- Czy na płytkach drukowanych (PCB) wszystkich trzech modułów znajdują się dokładnie te same oznaczenia elementów przy złączu komunikacyjnym (np. rezystory R8, R9)?
Możesz odpowiedzieć tak:
- Tak
- Tak
adresy - itd…
Jest dużo niewiadomych i trzeba je ograniczyć.
Zmień adres dla kolejnego PZEM ( umożliwia to program na PC) i użyj opisywanej wielokrotnie magistrali z tej grafiki.
Dzięki za zainteresowanie moim problemem ![]()
A ustawiłeś tym 2 kolejnym inne adresy niż ten pierwszy?
Przy wielu podejmowanych próbach zmieniałem adresy, ale w tym wypadku nie było takiej potrzeby - wpinałem w układ pojedynczo, jeden w miejsce drugiego. Nie było w układzie równocześnie dwóch PZEM-ów o tym samym adresie.
Odnośnie transferu z użyciem wspomnianych interfejsów to zerknij tutaj: https://github.com/NonaSuomy/Full-House-Power-Monitor-PZEM-004T_V4.0-RS485-ESPHome?tab=readme-ov-file
czy coś innego?
Tak, dokładnie ten model tyle że w obudowie
A nie trzeba tu czasem Level Shiftera?
Jeśli jeden przetwornik UART<->RS485 użyłeś dla MCU i trzy kolejne (po jednym dla każdego PZEM) to problemu nie widzę, ale jakoś tego nie opisałeś w jasny sposób.
A zazwyczaj jeśli ktoś nie wspomina o tak drastycznych modyfikacjach, to zwykle bezpośrednio łączy RX/TX z A/B i ma już sfajczony UART w module czy MCU.
Wygląda na to, że masz jedną sztukę V4 i dwie V3. Musisz sprawdzić jak wygląda elektronika po stronie sygnału. W V3 jest tak:
Jeśli to są rzeczywiście wersje V3, to pomoże pewien sprytny myk z dokumentacji Tasmota.
EDIT:
W tym temacie jest sporo wyjaśnione dla V4
I taki schemat:
EDIT 2
UWAGA wnioski AI:
Na schemacie PZEM-004T v4 optoizolatory nie występują – zostały usunięte w stosunku do v3, co upraszcza układ i umożliwia pracę z 3.3V TTL.
Optoizolatory w V3
W starszych wersjach (v3) optoizolatory (oznaczone jako U1, U3 (np. CT817C) izolowały piny UART między V9881D (układ pomiarowy) a interfejsem TTL (5V).
Symbol to typowy optoizolator DIP-4: LED + fototranzystor (linie wejście/wyjście z kropką dla LED).
Układ w V4
Zamiast optoizolatorów jest bezpośredni mostek RS485/TTL (np. IC SP3485E lub podobny) podłączony do U1 (E72-2G4M2051F, wariant V9881D).
To eliminuje problemy z poziomami napięć i poprawia kompatybilność z ESP32
v4 ma zmienioną elektrycznie konstrukcję, ale nie chciało mi się wnikać w szczegóły. Programowa obsługa jest ta sama.
- Tak - bez tego nie dostał bym danych z tego co działa
- Na ten moment te same, jak wspomniałem testowałem je pojedynczo
- Tak
- 5.1V
- Tak, zasilane z tego samego źródła
- Dla działającego: Vc-Rx - 4,5k, Vc-Tx - 46,7k. Dla niedziałających: Vc-Rx - 4,7k, Vc-Tx - brak wskazania…
- Zasilane z zewnętrznego
- Nie, łączę z PC za pośrednictwem przewodów do płytki stykowej
- Wszystko pojedynczo
- Tak
No to chyba dobrze rozumiem że brakuje pull up lini TX do zasilania (dobrze wnioskuje)?
W dwóch wadliwych sztukach masz “brak wskazania” (przerwę). Oznacza to, że linia TX “pływa”. Napięcie 2,95V które zmierzyłeś, to prawdopodobnie napięcie szczątkowe lub wynikające z wewnętrznej charakterystyki portu ale jest ono za niskie by ESP zinterpretowało je jako stabilny stan wysoki (logiczne “1”).
Na RX jest chyba napięcie za wysokie (dioda wewnątrz transoptora w tych nowych sztukach ma inną charakterystykę lub szeregowy rezystor jest zbyt duży) chyba
A czy czasem USB-TTL nie mają własnych pull up?
Czy to niejest czasem na GPIO16/17?
Nieczego nie jestem pewien na 100% bo nie jestem elektrykiem, ale są tu osoby które się lepiej znają i mogą to sprawdzić.
Zrobiłem zdjęcia tych PZEM-ów obok siebie.
Jest możliwe żeby to były różne wersje? Ja nie widzę różnicy pomiędzy nimi: https://ibb.co/99VMCb4D



