Skocz do zawartości

Obliczanie kW/h


Marcin1922

Pomocna odpowiedź

32 minuty temu, Marcin1922 napisał:

@ethanak  I teraz sumujesz tylko moc a nie ma obliczanie w czasie rzeczywistym ile kWh zostało pobranych i aktualizowanie jak to się dzieję na liczniku energii elektrycznej 

Co sekunde liczysz ile watt pobrales i dodajesz do starego wyniku...czekasz na 3600 pomiarow i masz ile energii zezarles w ciagu godziny..

Wroc!! Pomylka...wynik sekundowy dzielisz przez 3600 i dopiero dodajesz do starego i po godzinie masz zuzycie

Edytowano przez farmaceuta
Link do komentarza
Share on other sites

13 minut temu, Marcin1922 napisał:

@farmaceuta No rozumiem ale program nie jest mi w stanie dokładnie co sekundę obliczyć bo pętla programu trwa dłużej jak 1 s 

To licz co 2 sekundy, albo co 5, albo co 127 sekund...😉 Jak Ci wygodnie😉 tyle ze im rzadzej liczysz tym wiekszy bedzie blad...no i oczywiscie uwzglednij zmiane przy dzieleniu...jesli chcesz liczyc co 10 sekund to 3600/10 = 360 wiec dzielisz  wynik przez 360 bo tyle wynikow otrzymasz w ciagu godziny...

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

@farmaceuta  @ethanak a takie coś np. ? Było by poprawnie co minutę obliczanie ale waty są sumowane i wyciągana średnia w celu zwiększenia dokładności ?

Bo tak to nie wiem  jak poprawnie zapisać kod na podstawie tego co sugerujecie.

przsejscia = przsejscia +1;
Paa= Pa+Paa;

if ( h+1 == now.minute){
Kwhaa = Paa/przsejscia/60
przsejscia = 0;
Paa = 0;
}
h = now.minute;

 

Link do komentarza
Share on other sites

if ( h+1 == now.minute){ 

Rozumiem, że nie dopuszczasz sytuacji kiedy coś się stanie, ustrojstwo się zablokuje i now.minute będzie wynosić np. h+2?

if (h != now.minute) {

Poza tym reszta wygląda dobrze, tylko jednostki... w czym to wreszcie liczysz? W watach Ci wystarczy?

  • Lubię! 1
Link do komentarza
Share on other sites

(edytowany)

@ethanak  Ma być KWh  czyli zamiast 60 dam 6000 bo jak bym zrobił to np co 5s ale nie wiem jak to zapisać by nie było problemów. a co w przypadku gdy minuty będą przeskakiwać z 59 na 00 w taki przypadku przez 2 minut nie dokona obliczania. A jak by to było oparte na sekundach ten błąd zdarzał  by się o wile częściej  

Edytowano przez Marcin1922
Link do komentarza
Share on other sites

1 minutę temu, Marcin1922 napisał:

co w przypadku gdy minuty będą przeskakiwać z 59 na 00

W Twoim przypadku wszystko zdechnie, w tym co proponowałem będzie działać normalnie (w końcu 59 != 0)

 

  • Lubię! 1
Link do komentarza
Share on other sites

46 minut temu, Marcin1922 napisał:

@ethanak  Ma być KWh  czyli zamiast 60 dam 6000 bo jak bym zrobił to np co 5s ale nie wiem jak to zapisać by nie było problemów.

No to zostaje jeszcze opcja uzycia biblioteki "Timerone" czy cos takiego? I w przerwaniu dokladnie co 5 sekund obliczysz...ale to ciut mniej dokladne niz rtc...no albo tak kod przerobic zeby chociaz 10 razy na sekunde robil obieg w loop()

Link do komentarza
Share on other sites

11 minut temu, ethanak napisał:

Ale poco tak kombinować...robisz pomiary co jakiś czas a w każdej minucie dzielisz przrz ilość pomiarów.

Ale wtedy mi wychodzi srednia z minuty...to tez zalezy jak bardzo i jak dynamicznie zmienia sie obciazenie..

W sumie tak...na jedno wychodzi..i tak o dokladnosci decyduje czestotliwosc pomiaru

Edytowano przez farmaceuta
Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.