Warunkowanie dla liczników elektrycznych

Awatar użytkownika
klew
Posty: 8184
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

Na branchu develop https://github.com/SUPLA/supla-arduino/tree/develop wrzuciłem testową wersję warunkowania akcji dla liczników elektrycznych.

Nowe warunki pozwalają na wykonanie akcji na innych obiektach biblioteki zależnie od mierzonych parametrów liczników elektrycznych, takich jak: napięcie, prąd, moc aktywna, moc bierna, moc reaktywna.
Parametry te można powiązać ze wszystkimi dostępnymi warunkami (opisanymi tutaj: viewtopic.php?f=61&t=7952 )

Poniżej przykład na pseudokodzie:

Kod: Zaznacz cały

#include <supla/condition.h>
#include <supla/control/relay.h>
#include <supla/sensor/some_electricity_meter.h> // replace this with EM you want to use

// in setup:
auto r1 = new Supla::Control::Relay(...);
auto em = new Supla::Sensor::SomeElectricityMeter();

em->addAction(Supla::TURN_ON, r1, OnLess(-10, EmTotalPowerActiveW());
Powyższy kod włączy przekaźnik r1, gdy całkowita moc spadnie poniżej -10 W (ujemna moc pojawia się np. przy produkcji energii z fotowoltaiki).
"Całkowita moc" oznacza sumę mocy z faz trzech faz.

Są też dostępne metody do pobierania parametrów z konkretnych faz, np.: EmPowerActive(0) oznacza moc aktywną na pierwszej fazie. Przy licznikach jednofazowych można wpisywać 0, lub zostawić pole puste.

Oto lista dostępnych metod:

Kod: Zaznacz cały

EmVoltage(int8_t phase = 0);
EmCurrent(int8_t phase = 0);
EmTotalCurrent();
EmPowerActiveW(int8_t phase = 0);
EmTotalPowerActiveW();
EmPowerApparentVA(int8_t phase = 0);
EmTotalPowerApparentVA();
EmPowerReactiveVar(int8_t phase = 0);
EmTotalPowerReactiveVar();
Myślę, że nazwy są samowyjaśniające się ;). Do nazw zwiazanych z mocą dodałem symbol jednostki, aby było jasne jakimi jednostkami się posługujemy, czyli W, VA, var. Dla napięcia i prądu używamy odpowiednio V i A.
Mam nadzieję, że jest to wystarczający zestaw i nikt nie będzie robił warunkowania na podstawie kąta fazowego, lub częstotliwości prądu... jednak jeśli by to było potrzebne, to dajcie znać.
Składnia jest zawsze taka sama:

Kod: Zaznacz cały

instancjaLicznika->addAction(akcja_do_wykonania, obiekt_na_ktorym_wykonujemy_akcje, Warunek(wartosc_warunku, NazwaParametruEm(faza) );
Dajcie znać czy to działa :P
Widzimy się na Supla Offline Party vol. 2 :!:
piotrekk
Posty: 133
Rejestracja: czw wrz 19, 2019 7:12 am

a czy wrzucisz kawałek kodu co gdzie wstawić aby od 250V na L1 i produkcji 1kw załączyć wyjście?
Awatar użytkownika
klew
Posty: 8184
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

piotrekk pisze: czw lis 04, 2021 4:39 pm a czy wrzucisz kawałek kodu co gdzie wstawić aby od 250V na L1 i produkcji 1kw załączyć wyjście?
Aktualnie nie ma prostej opcji na łączenie warunków.
Jakiego urządzenia używasz do pomiaru?
Widzimy się na Supla Offline Party vol. 2 :!:
piotrekk
Posty: 133
Rejestracja: czw wrz 19, 2019 7:12 am

pzem-004
krycha88
Posty: 5187
Rejestracja: pt lis 16, 2018 7:25 am
Kontakt:

Dzięki za dodanie usiądę do tego po weekendzie ;)
https://gui-generic-builder.supla.io/
Awatar użytkownika
lukfud
Posty: 2091
Rejestracja: czw lis 23, 2017 11:33 pm
Lokalizacja: Warszawa

klew pisze: czw lis 04, 2021 4:23 pm Dajcie znać czy to działa :P
Działa (pomimo tego co przestało działać) :D
Połączenie z AT również.
https://www.facebook.com/groups/supladiy/
bigthomas
Posty: 234
Rejestracja: pn sie 12, 2019 3:35 pm

krycha88 pisze: pt lis 05, 2021 8:06 pm Dzięki za dodanie usiądę do tego po weekendzie ;)
Daj znać jak będzie gotowe - chętnie potestuje :)
krycha88
Posty: 5187
Rejestracja: pt lis 16, 2018 7:25 am
Kontakt:

bigthomas pisze: czw lis 11, 2021 4:35 pm
krycha88 pisze: pt lis 05, 2021 8:06 pm Dzięki za dodanie usiądę do tego po weekendzie ;)
Daj znać jak będzie gotowe - chętnie potestuje :)
Dodam ale napisz maila dla jakiego urządzenia i jaki warunek. Abym trafił w oczekiwania ;)
https://gui-generic-builder.supla.io/
Awatar użytkownika
lukfud
Posty: 2091
Rejestracja: czw lis 23, 2017 11:33 pm
Lokalizacja: Warszawa

Prośba do posiadaczy Gosund SP111 o przetestowanie.

Mam do gniazdka podpięty rzutnik. Po włączeniu przekaźnika i podaniu napięcia następuje chwilowy (1-3s) wzrost wartości. Najwyższa wartość mocy jaką zarejestrowałem to aż 168W.

Czy możecie sprawdzić u siebie zachowanie mierników jak włączacie gniazdko i idzie napięcie na np. pralkę, zmywarkę itp.
https://www.facebook.com/groups/supladiy/
bigthomas
Posty: 234
Rejestracja: pn sie 12, 2019 3:35 pm

lukfud pisze: pn lis 15, 2021 2:44 pm
Trafiłeś ... bo w tym momencie programuje te gniazdka, wgrywając GUI-Generic.v4.2.15.Gosund_SP111.m1M64.fCPU160.
Po kalibracji sprawdzałem kilkukrotnie i nie zauważyłem wzrostu wartości - sprawdzałem na żarówce 100W (na której kalibruje gniazdko) oraz czajniku elektrycznym 2,2 kW. Możliwe że to sam rzutnik potrzebuje przy starcie więcej mocy.
ODPOWIEDZ

Wróć do „Arduino IDE”