GUI+WeMos + HLW8012

Adamo28
Posty: 138
Rejestracja: ndz lis 08, 2020 2:54 pm

Witam. Czy ktoś z płytką HLW8012 https://pl.aliexpress.com/i/32954977038.html może sprawdzić czy z online owego buildera działa poprawnie? Skończyły mi się pomysły. Po wgraniu binarki do Wemosa i skalibrowaniu pod żarówką 40W wskazania w apce są w punkt, napięcie, natężenie (sprawdzony multimetrem) oraz moc. Zmiana na 100W żarówkę powoduje, że wskazania napięcia skaczą do 560V, natężenie zostaje z 40W żarówki tylko moc się zgadza. I tak z każdą zmianą obciążenia. Ciekawe jest to, że apka pokazuje tylko moc prawidłowo.
Wgrałem w ten sam układ przykład z biblioteki HLW8012_Basic i w terminalu po kalibracji wszystko działa, moc i natężenie zmienia się zgodnie do obciążenia.
I faktycznie trzeba uważać z tym modułem ze względu na brak separacji.
elmaya
Posty: 1482
Rejestracja: śr cze 27, 2018 5:48 pm
Lokalizacja: El Saucejo - Sevilla

Please be very careful with this device, it is directly connected to the electrical network and is very dangerous.
on the "HLW8012" pin 8 "SEL" switches between current and voltage reading,
SEL low = current mode
SEL high = voltage mode
my opinion is that in your case SEL is not properly connected to wemos or is shorted to ground

please be very careful
Adamo28
Posty: 138
Rejestracja: ndz lis 08, 2020 2:54 pm

Układ z NodeMcu v3 :
CF -D1
CF1-D2
SEL-D5

Kalibruje układ na 40W zwykłej żarówce:(Moc:40,01 Napięcie 232,01)

Przeliczone wartości:

Current Multi: 651.86
Voltage Multi: 20699192.89
Power Multi: 11820432.52

Apka pokazuje
-Napięcie:233V
-Natężenie:0,174A
-Moc: 39W

Po wyciągnięciu wtyczki z gniazdka (zabieram zasilanie 230V na hlw8012) apka pokazuje 42V napięcia reszta wartości 0

Podłączam 100W żarówkę:
-Napięcie:589V
-Natężenie:0,172A
-Moc: 99W

Pin SEL połączony solidnie bez zwarcia do gnd. Odłącznie go sprawia że pomiary jakie by nie były zmieniają się, tak samo podłączanie go do 5V/gnd sprawia że wskazania w aplikacji się zmieniają, niestety na żadne prawidłowe. Póki co tylko moc zgadza się za każdym razem.

W ten sam układ wgrałem przykład z biblioteki HLW8012_Interrupts, zmieniłem piny których używam, zmieniłem żarówkę z 60W na 40W do kalibracji i od komentowałem //calibrate(); w setup. Po uruchomieniu układ skalibrował się pod żarówkę 40W

[HLW] Default current multiplier : 14484.49
[HLW] Default voltage multiplier : 408636.51
[HLW] Default power multiplier : 10343611.74

(Od razu widać różnicę w odczytanych wartościach pomiędzy suplowym wsadem)

Odczyt z terminala dla 40W:
[HLW] Active Power (W) : 40
[HLW] Voltage (V) : 242
[HLW] Current (A) : 0.17
[HLW] Apparent Power (VA) : 41
[HLW] Power Factor (%) : 97
[HLW] Agg. energy (Ws) : 1813

Odczyt z terminala dla 100W:
[HLW] Active Power (W) : 103
[HLW] Voltage (V) : 233
[HLW] Current (A) : 0.44
[HLW] Apparent Power (VA) : 101
[HLW] Power Factor (%) : 100
[HLW] Agg. energy (Ws) : 5636

Odczyt z terminala dla 60W:
[HLW] Active Power (W) : 60
[HLW] Voltage (V) : 233
[HLW] Current (A) : 0.26
[HLW] Apparent Power (VA) : 59
[HLW] Power Factor (%) : 100
[HLW] Agg. energy (Ws) : 8811

Odczyt z terminala bez podawania napięcia na wejście HLW8012:
[HLW] Active Power (W) : 0
[HLW] Voltage (V) : 0
[HLW] Current (A) : 0.00
[HLW] Apparent Power (VA) : 0
[HLW] Power Factor (%) : 0
[HLW] Agg. energy (Ws) : 9603

Oczywiście nie odłączałem node z zasilania podczas zmiany obciążeń. Wsad z onlinowego buildera wgrywałem 3 różnymi programami za każdym razem z czyszczeniem (ten sam node z innymi wsadami (bme/DSy itp) działa bez problemów). Na tą chwile zostaje jeszcze spróbować skompilować GUI u siebie i wgrać Arduino albo spróbować wartości z przykładu HLW8012_Interrupts "polepić" do przykładów z innych mierników energii i pominąć GUI. Na tą chwile skończyły mi się pomysły.
elmaya
Posty: 1482
Rejestracja: śr cze 27, 2018 5:48 pm
Lokalizacja: El Saucejo - Sevilla

in your module there is a transistor that inverts the SEL signal.
you would have to edit the library or remove the transistor.
the change in the library would be in this line: https://github.com/krycha88/GUI-Generic ... 8012.h#L35

which would look like this:
"currentWhen = HIGH" instead of "currentWhen = LOW"

Kod: Zaznacz cały

  HLW_8012(int8_t pinCF, int8_t pinCF1, int8_t pinSEL, bool currentWhen = HIGH, bool use_interrupts = true);
Adamo28
Posty: 138
Rejestracja: ndz lis 08, 2020 2:54 pm

Heh to było to :) Jak zwykle kolega elmaya imponuje. Kalibracja i testy na 3 różnych obciążeniach wypadają prawidłowo. Tylko okazuje się że nie mogę po nocy robić dyskoteki tymi żarówkami w mieszkaniu... Reszta testów jutro. Jeszcze raz dzięki.
krycha88
Posty: 5187
Rejestracja: pt lis 16, 2018 7:25 am
Kontakt:

Mógłbym dodać ten parametr do GUI.
https://gui-generic-builder.supla.io/
Awatar użytkownika
dawidd
Posty: 615
Rejestracja: wt gru 19, 2017 12:45 pm

Adamo28 możesz zaktualizować link do tego hlw8012. Link z pierwszego postu nie działa jak wpisuje hlw8012 to wyskakują mi same układ scalone. Jak się tylko poprawka pojawi w Gui generic to tez spróbuje sobie takie cos zbudować
Dzięki za wasza prace
krycha88
Posty: 5187
Rejestracja: pt lis 16, 2018 7:25 am
Kontakt:

U mnie działa ale zobacz tego linka
https://a.aliexpress.com/_vlXyG3

Uważajcie na ten układ jak nie wiecie co robicie to lepiej nie bierzcie się za niego.
https://gui-generic-builder.supla.io/
Adamo28
Posty: 138
Rejestracja: ndz lis 08, 2020 2:54 pm

W obu linkach jak się przeklika te 3 fotki z tym układem to widać że różnią się miedzy sobą. Ja mam ten z środkowego obrazka ten ze spinaczem do porównania i faktycznie na pinie SEL a HLW8012 jest tranzystor odwracający. Na tym z pierwszego zdjęcia tego nie widać. Wygląda to na jakieś nieścisłości u majfrendów. I to prawda jak ktoś nie nie wie co robi to lepiej nie próbować. U mnie przy zasilaniu laptopa i HLW8012 z jednego gniazdka gdzie node mam wpięte w USB laptopa wyzwala RCD, aby podejrzeć terminal muszę odpiąć zasilanie od laptopa, przyjże się temu w "innym środowisku testowym". Niech koledzy się nie martwią zawodowo zajmuje się takimi rzeczami. Mam jeszcze pytanie, z jaką częstotliwością zapisywana jest energia czynna pobrana w kWh ? Wykresy pojawiały się w apce a raczej tylko siatka ale nie mam żadnych wartości. Kalibracja z "ręki" działa ale jak mam wpiętą 100W żarówkę przez te 30 min to powinno to już nabić jakiś ułamek kWh. Czy jednak liczy dopiero od drugiego miejsca po przecinku?

Update.
Bez dodanego i włączonego przekaźnika nie ma pomiaru. Dodatkowo jak go dodałem w GUI kalibracja HLW8012 się wysypała plus w supli powstał konflikt kanałów i to pewnie z tym ma związek. Pomiar wydaje się ok 100W żarówka, 6 minut, 0,01kWh
elmaya
Posty: 1482
Rejestracja: śr cze 27, 2018 5:48 pm
Lokalizacja: El Saucejo - Sevilla

krycha88 pisze: sob maja 08, 2021 8:48 pm Mógłbym dodać ten parametr do GUI.
it would probably be useful for Sonoff Pow which is also "currentWhen = HIGH" ;)
ODPOWIEDZ

Wróć do „GUI Generic”