Pomiar zużycia energii elektrycznej z wykorzystaniem diody w liczniku. [część 1]

 

Dziś postaram się opisać krok, po kroku tani sposób na monitorowanie w Domoticzu zużycia energii elektrycznej. Rozwiązanie to jest idealne dla osób które nie chcą inwestować w drogie urządzenia, czy po prostu nie mają w swoich planach przeróbki istniejącej instalacji elektrycznej. Cały pomiar polega tak na prawdę na „paczeniu” w licznik, więc nikt nie zarzuci nam jakiejkolwiek ingerencji w jego pracę. 🙂

 

W obudowie prawie każdego cyfrowego licznika zużycia energii elektrycznej znajduje się błyskająca dioda LED. Pulsuje ona „w takt” bieżącego zużycia, a częstotliwość jej błysków zależy od modelu licznika który posiadamy, oraz jego „rozdzielczości”, a ta zwykle podana jest na obudowie w pobliżu samej diody.

Czujnik światła „fotodioda” obserwująca licznik.

 

Dla przykładu – w swoim domu posiadam dwa liczniki, jeden z nich błyska z częstotliwością 1500 impulsów/kWh, a drugi generuje aż 4700 impulsów/kWh. Jeśli chodzi o dokładność –  w skali np. godziny nie ma to większego znaczenia. Jednak w przypadku drugiego licznika daje mi to większe pole do popisu, gdy rozważamy dokładność podglądu zużycia chwilowego. Większa rozdzielczość daje więcej błysków w krótszym czasie próbkowania, przy takiej samej ilości zużywanej energii – otrzymujemy dokładniejsze odwzorowanie zużycia chwilowego.

 

W mojej instalacji  zastosowałem prosty układ diody wraz z modułem, który pozwala nam na ustawienie progu światła (błysku) po którym generuje sygnał przekazywany do ESPEasy, a następnie do Domoticza. (Próg wyzwalania sygnału regulujemy przy pomocy niebieskiego potencjometru).

Światłoczuła dioda, wraz z modułem bramki

 

Aby podłączyć nasz moduł do ESP8266, będą nam potrzebne trzy przewody. Dwa zasilające oraz jeden do przekazywania impulsów, który należy podłączyć do wolnego portu GPIO, u mnie był to port GPIO13.

ESPEasy posiada gotowy „Device” służący własnie do tego zadania, tak więc z listy rozwijanej wybieramy Pulse Counter. Następnie wskazujemy port GPIO, oraz pozostałe ustawienia, w tym IDX urządzenia w Domoticzu.

W międzyczasie w Domoticzu dodajemy nowe urządzenie Dummy:

Następnie w zakładce Użytkowe edytujemy:

 

Wracamy do ESPEasy – Na wartościach Count oraz Total będziemy musieli zastosować odpowiednie, dostosowane do naszego licznika mnożniki. Wykorzystamy do tego obsługę formuł ESPEasy. Jako przykład na screenie udostępniam moje ustawienia dla licznika 1500imp/kWh. Dobrym narzędziem testowym na koniec całej zabawy może być np. grzałka czajnika 2kW – taki łopatologiczny test poprawności wskazań 🙂

Jeśli dane wprowadziliśmy poprawnie nasz licznik powinien już działać:

 

Widzimy chwilowy pobór energii w Watach, oraz sumaryczne zużycie w kWh. Po wejściu w logi, gdy uzbieramy odpowiednią liczbę danych zobaczymy:

 

W ustawieniach Domoticza możemy również podać koszty jednostkowe, które będą przemnażane przez nasze zużycie. Ich wartości możemy wydedukować z ostatniej faktury za energię.

Jak już może zauważyliście Domoticz posiada możliwość obsługi dwóch taryf. Dla osób które posiadają zmienne stawki w zależności od pory dnia w kolejnym wpisie postaram się wyjaśnić w jaki sposób dokonać zapisu dwutaryfowego.

 

Na dziś to tyle.
Mam nadzieję, że choć troszkę udało mi się rozjaśnić temat pomiaru zużycia prądu 🙂

Facebook Comments Box

Ten post ma 25 komentarzy

  1. Doman

    Jaki to dokładnie czujnik – moduł fotorezystora?

  2. Kris

    A czy da radę bez ESPEasy? Mam skrętne przy liczniku …

  3. gregaicha

    Hej.
    Też mnie to interesuje czy da się to zrobić bez ESP.
    Mam sygnał z licznika który mi zwiera się 800 razy na kilowat. sygnał mam po kablu przy Raspbery jak być to zrobił ???

    1. Sławek

      Musisz mieć czujnik z fotdiodą, taki jak użył autor tego opisu. Złącze D0 podpinasz pod GPIO w Raspberry.

      1. Rafi

        Jest tańsze i proste rozwiązanie:
        Fototranzystor wpięty pomiędzy GPIO a GND.
        dla wejścia GPIO włączamy wewnętrzny pull up i działa bez błędów.

  4. arti0013

    WItam a bez ESPEasy da rate tak zrobić na skrętce ?

  5. Piotr

    Witam

    Czy mógłbym prosić o wyjaśnienie wartości „25” w formule pola 'Count’.

  6. duda

    a moglbys jakos wyjasnic ta wartosc ? %value%/25*1000 co mam wyszukac na swoim liczniku aby tu dopadowac, i jak mam wpisac 10000 impulsow ? w %value%/1.5

    1. Sławek

      Autor nie wyjaśnił skąd wziął takie współczynniki i wydaje mi się że dane w Domoticzu nie odpowiadają rzeczywistym. Ja po kilku dniach siedzenia doszedłem jakie zależności są w zbieraniu danych w Domoticzu.
      1. W konfiguracji liczników w domoticzu trzeba ustawić podzielnik odpowiedni do parametrów licznika. U mnie 2500 na KW
      2. W EasyESP :
      Counter type: Delta/Total
      Interval: 300s – Domoticz nalicza dane co 5 minut. Jeżeli ustawimy niższa wartość to zostanie zaliczona tylko ostatnia watośc przesłana przed naliczeniem.
      w Values Formula
      dla Count %value% (domoticz sam podzieli ta wartość przez współczynnik 2,5 dla 2500 impulsów, niestety będzie wyświetlał złą wartość na pulpicie podając ilość impulsów jako Waty. w raporcie będzie prawidłowo)
      dla Total %value%/2.5
      współczynnik 2,5 bierze się z przeliczenia impulsów na Waty, takiej wartości oczekuje domoticz
      W ESP Rules należy ustawić resetowanie wartości Total o północy.

      1. Arek

        A jak powinno być ustawione „Debounce Time (mSec)” ?
        To ma wpływ na pokazywanie chwilowego zużycia, wg. mnie najbardziej zbliżone do realnego chyba jest 100mSec przy liczniku 1000imp.
        Formuły dla Delta „%value%*3600/60” a dla Total „%value%/1000”

  7. lukas

    Szuka urządzenia, które będzie obserwowało lampkę w bojlerze elektrycznym c.w.
    Co ile się załącza i na jaki czas. Może jakiś mały tutorial?

  8. Rafał

    Cześć,
    Możesz napisać jaka jest tolerancja błędu między licznikiem a wartością którą podaje Ci domoticz po pewnym czasie ?

  9. leszektg

    Też proszę o wyjaśnienie danych które trzeba wpisać w ESP Easy

  10. Marcin

    Jezeli masz licznik na 1000 impulsow to wg. mnie formuly powinny byc takie:
    Count: %value%*3600/60 to bedzie chwilowe
    Total: %value%/1000 to bedzie dzienne , godzinowe itd/

  11. GregoR

    Witam jest możliwość podłączenia czujnika bezpośrednio do raspberry pi bez esp easy jak tak to jest możliwość pokazania jak ?

  12. Krzysztofg

    Witam mam licznik 3 gazowy 400 im /1kw jakie przelicznik zastosować/ jaką jest idea count total i jaka wartość w domoticz pozdrawiam proszę o informację

  13. Adam

    Nie ogarniam zupełnie tych count/total/time.
    Jakie tam mają być wartości? mój licznik ma 2000 impulsów na minutę.
    Co liczy domoticz i ESP? czas pomiędzy błyskami czy ilość błysków na minutę?

  14. Rafi

    Witam – właśnie to zrobiłem na bazie fototranzystora i dziala bardzo dobrze do tego jest prościej i taniej.
    w pinie GPIO ustawiłem internal pullup i wpialem fototranzystor bezpośrednio w pin GPIO i do GND
    nastepnie użyłem pigs do zliczania impulsów i działa…
    r

  15. mjab

    Oto opcja zliczania impulsów z GPIO w samym Raspberry bez ESP.

    — najpierw w konsoli piszemy: —
    cd /
    mkdir /sterownik
    chmod -R 777 /sterownik
    sudo apt-get install bc
    sudo nano /sterownik/energia.sh

    [TU WKLEJAMY PONIŻSZY KOD BASH]

    sudo chmod -R 777 /sterownik/energia.sh
    sh /sterownik/energia.sh

    skrypt proponuję dodać do autostartu w rasbianie.

    — kod programu w bash: —
    #!/bin/bash
    cd /tmp

    gpio=[nr portu GPIO]
    host=”localhost:8080″
    user=”[login w domoticz]”
    pass=”[Hasło do konta]”
    idx=[IDX wirtualnego licznika]
    dzielnik=[ilość impulsów do 1 kWh]

    if [ -e /sterownik/energia.txt ] ; then
    obr=$(sudo cat /sterownik/energia.txt)
    else
    obr=0
    sudo echo „$obr” > /sterownik/energia.txt
    sudo chmod 777 /sterownik/energia.txt
    fi

    kwh=0
    x=0

    echo ” —- POMIAR ZUŻYCIA PRĄDU – START ! —-
    Inpulsy liczone na GPIO$gpio.
    Host: $host IDX: $idx
    ————————————–

    while [ $x -lt 1 ]; do
    gpio -g wfi $gpio falling
    gpio -g wfi $gpio rising
    obr=$(echo „$obr + 1” | bc)
    kwh=$(echo „scale=3; $obr / $dzielnik” | bc | sed -r 's/^(-?)\./\10./’)
    domoticz_count=$(echo „$kwh * 1000” | bc | sed -r 's/^(-?)\./\10./’)

    echo „— STAN: $obr obr = $kwh kWh —”

    sudo echo „$obr” > /sterownik/energia.txt
    sudo chmod 777 /sterownik/energia.txt

    value=”0;$domoticz_count”
    echo ” — Domoticz: $value —”
    curl „http://$user:$pass@$host/json.htm?type=command&param=udevice&idx=$idx&nvalue=0&s$
    value=””
    done

  16. Damian

    Witam.
    Zrobiłem wszystko jak opisane, niestety nie pokazuję w ogóle pomiarów.
    Czy w ESP w zakładce „Hardware” trzeba przy wybranym GPIO wybrać jedno z 4 ustawień?
    Obecnie mam ustawione „Default”.

    Dziękuję za pomoc

  17. Damian

    Dodam jeszcze, że zrobiłem to na module prostego czujnika zmierzchu.
    W stanie spoczynku podaje na wyjściu napięcie 5V, w momencie mignięcia diody na liczniku napięcie zanika na ułamek sekundy.
    Czy jest to poprawne działanie?

  18. Andrzej

    Panowie, przecież nawiasy są fajne.
    Aby domoticz pokazywał chwile zużycie energii trzeba wpisać: (%value%/5)*60
    gdzie 5 (5000 impulsów na 1 kW), a 60 to co ile wysyła zliczone impulsy

  19. Pawel

    Witam.
    Czyli jak powinna wyglądać konfiguracja dla licznika 1500 impulsów /kWh?
    Mam na myśli Count, Total oraz interval co jaki czas ma wysyłać dane do domoticza
    Ustawiłem jak w opisie i mam kosmiczne wartości, Poratuje ktos ?

    1. admin

      Cześć,

      Dla 1500 powinno pasować:
      60s.
      Count %value%/25*1000
      Total %value%/1500

      I pamiętaj jeszcze aby dodać odpowiednio obsługę kilku miejsc po przecinku.

Dodaj komentarz