PZEM004 jednofazowy Licznik Energii Elektrycznej

Awatar użytkownika
klew
Posty: 815
Rejestracja: czw cze 27, 2019 12:16 pm

sob mar 14, 2020 9:57 pm

Mniej więcej da się testować nawet na 1 lub 2 PZEMach.
Powinno się odpalić i pokazywać dane z tych 2 urządzeń
Awatar użytkownika
QLQ
Posty: 1209
Rejestracja: ndz wrz 03, 2017 9:13 am
Lokalizacja: Koszalin

sob mar 14, 2020 10:29 pm

klew pisze:
sob mar 14, 2020 9:57 pm
Mniej więcej da się testować nawet na 1 lub 2 PZEMach.
Powinno się odpalić i pokazywać dane z tych 2 urządzeń
A o tym nie pomyślałem. Jutro podjadę do firmy i założę 2 Pzem w.rozdzielnicy. Zobaczumy jak.to bedzie działać testowo
andrew01
Posty: 98
Rejestracja: pt maja 24, 2019 6:49 am

ndz mar 15, 2020 11:30 am

Arduino Mega, pierwsze uruchomienie na profesjonalnym :lol: stanowisku testowym, wszystkie trzy PZEM'y mierzą tę samą fazę, podłączone do portów sprzętowych bez użycia biblioteki softwareserial (lekko zmodyfikowana biblioteka three_phase_PzemV3hs.h w załączeniu (hs = hardware serial).

Definicja kanału:

new Supla::Sensor::ThreePhasePZEMv3hs(&Serial1, &Serial2, &Serial3);
Załączniki
Screenshot_20200315-122140_SUPLA.jpg
Screenshot_20200315-122140_SUPLA.jpg (269.67 KiB) Przejrzano 319 razy
Screenshot_20200315-122137_SUPLA.jpg
Screenshot_20200315-122137_SUPLA.jpg (268.96 KiB) Przejrzano 319 razy
Screenshot_20200315-122135_SUPLA.jpg
Screenshot_20200315-122135_SUPLA.jpg (268.97 KiB) Przejrzano 319 razy
Ostatnio zmieniony ndz mar 15, 2020 11:35 am przez andrew01, łącznie zmieniany 1 raz.
andrew01
Posty: 98
Rejestracja: pt maja 24, 2019 6:49 am

ndz mar 15, 2020 11:31 am

cd
Załączniki
three_phase_PzemV3hs.rar
(1.3 KiB) Pobrany 9 razy
20200315_122110.jpg
20200315_122110.jpg (3.52 MiB) Przejrzano 319 razy
Screenshot_20200315-122143_SUPLA.jpg
Screenshot_20200315-122143_SUPLA.jpg (243.57 KiB) Przejrzano 319 razy
andrew01
Posty: 98
Rejestracja: pt maja 24, 2019 6:49 am

ndz mar 15, 2020 12:06 pm

cd

Kilka problemów:

- przy kompilacji wyskakiwał błąd w electricity_meter.h przy #include <cstring>, po zakomentowaniu kompilacja OK,
- przy PZEM + 1 przekaźnik pojawiał się już problem z rejestracją, Fatal SRPC Failure, zwiększyłem MAX_DATA_SIZE do 1536,
- największy problem będzie z pamięcią, dodanie licznika zajmuje około 2500 bajtów, co przy niewielkiej pamięci arduino MEGA jest sporym problemem, ale kolega @klew wspominał na PW, że ma w planach zmniejszenie wykorzystania pamięci przez extendedchannel więc jest nadzieja :)

i na koniec wielkie dziękuję dla @elmaya i @klew za przygotowanie softu!

Pozdrawiam
Andrzej
andrew01
Posty: 98
Rejestracja: pt maja 24, 2019 6:49 am

ndz mar 15, 2020 12:19 pm

Jednak zmiana MAX_DATA_SIZE nie rozwiązuje problemu, po chwili działania i tak pokazywał się Fatal SRPC failure, czyli sam PZEM działa ok, ale dodanie innego kanału jest problematyczne.
Awatar użytkownika
klew
Posty: 815
Rejestracja: czw cze 27, 2019 12:16 pm

ndz mar 15, 2020 1:51 pm

Szczerze, to nawet się dziwię, że z jednym kanałem extended to ruszyło ;). Pamięci tam jest mało, ale widać na styk.

Dorzucę wieczorem alternatywny konstruktor z opcją Hardware Serial. Nie trzeba do tego tworzyć osobnej klasy.'

Optymalizacja zużycia pamięci będzie robiona.
Rafaello
Posty: 96
Rejestracja: ndz maja 29, 2016 1:34 pm

ndz mar 15, 2020 2:38 pm

klew pisze:
pt mar 13, 2020 11:20 pm
Rafaello pisze:
pt mar 13, 2020 2:42 pm
wielkie dzięki, z niecierpliwością czekam
Dodane do mojego brancha (https://github.com/klew/arduino)

Kod: Zaznacz cały

#include <supla/sensor/three_phase_PzemV3.h>

...
  new Supla::Sensor::ThreePhasePZEMv3(rx1, tx1, rx2, tx2, rx3, tx3);
N
Odpalone, na razie działa super na dwóch modułach PZEM, trzeci moduł niestety dotarł wadliwy. Testowo postawione na Nodemcu ESP8266. Próbowałem kompilować na ESP32, Arduino IDE wywala kilka błędów.
Zastanawiam się czy docelowo montować konwerter układów logicznych, czy przy dłuższym użytkowaniu 5V nie zabije ESP.

ps. może ktoś ma na zbyciu jeden PZEM v3 w rozsądnej cenie, w przeciwnym razie czeka mnie odłożenie tematu przynajmniej na miesiąc.

Dzięki @klew za skrypt
andrew01
Posty: 98
Rejestracja: pt maja 24, 2019 6:49 am

ndz mar 15, 2020 7:30 pm

klew pisze:
ndz mar 15, 2020 1:51 pm
Szczerze, to nawet się dziwię, że z jednym kanałem extended to ruszyło ;). Pamięci tam jest mało, ale widać na styk.

Dorzucę wieczorem alternatywny konstruktor z opcją Hardware Serial. Nie trzeba do tego tworzyć osobnej klasy.'

Optymalizacja zużycia pamięci będzie robiona.
Z tego co widziałem, to biblioteka jest mocno rozepchana takimi stałymi jak np. SUPLA_LOCATION_CAPTION_MAXSIZE lub SUPLA_CHANNEL_CAPTION_MAXSIZE. Może dałoby radę przy Arduino Mega poobcinać je znacząco?
Awatar użytkownika
pzygmunt
Posty: 8376
Rejestracja: wt sty 19, 2016 9:26 am
Lokalizacja: Paczków
Kontaktowanie:

ndz mar 15, 2020 7:43 pm

Definicje typu SUPLA_CHANNEL_CAPTION_MAXSIZE zwykle dotyczą zmiennych, które są zmiennego rozmiaru (są przesyłane tylko w takim rozmiarze w jakim zmienna jest wypełniona) i mogą być przedefiniowane dla Arduino ale to nic nie zmienia ponieważ Arduino struktur z takimi danymi nie wykorzystuje.
ODPOWIEDZ