PZEM004 jednofazowy Licznik Energii Elektrycznej

User avatar
klew
Posts: 13908
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

Mniej więcej da się testować nawet na 1 lub 2 PZEMach.
Powinno się odpalić i pokazywać dane z tych 2 urządzeń
Najlepsze suple dla Twojego domu :mrgreen:
QLQ
Posts: 2512
Joined: Sun Sep 03, 2017 9:13 am

Post

klew wrote: Sat 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
jak coś nie działa to włącz zasilanie.....
andrew01
Posts: 163
Joined: Fri May 24, 2019 6:49 am

Post

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);
You do not have the required permissions to view the files attached to this post.
Last edited by andrew01 on Sun Mar 15, 2020 11:35 am, edited 1 time in total.
andrew01
Posts: 163
Joined: Fri May 24, 2019 6:49 am

Post

cd
You do not have the required permissions to view the files attached to this post.
andrew01
Posts: 163
Joined: Fri May 24, 2019 6:49 am

Post

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
Posts: 163
Joined: Fri May 24, 2019 6:49 am

Post

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.
User avatar
klew
Posts: 13908
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

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.
Najlepsze suple dla Twojego domu :mrgreen:
Rafaello
Posts: 108
Joined: Sun May 29, 2016 1:34 pm

Post

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

Code: Select all

#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
Posts: 163
Joined: Fri May 24, 2019 6:49 am

Post

klew wrote: Sun 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?
User avatar
pzygmunt
Posts: 20302
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków
Been thanked: 59 times

Post

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.
SUPLA.... Nareszcie w domu.

Return to “Nowości”