Sledování spotřeby elektřiny domu – EmonTx

EmonTX2Pro svou zvažovanou fotovoltaickou elektrárnu jsem potřeboval znát spotřebu naší domácnosti včetně rozložení zátěže během dne. Hledal jsem tedy jednoduché řešení jak spotřebu měřit a naměřené údaje ukládat a zobrazit.

Na webu jsem nalezl stránky projektu OpenEnergyMonitor a toto řešení mi plně vyhovovalo. EmonTX je součástí projektu OpenEnergyMonitor pro sledování spotřeby elektrické energie , data jsou pak odesílána na EmonBase (EmonHUB) který pomocí Raspberry Pi  data odešle na server EmonCMS, kde jsou ukládána do databáze a dále je možné data zobrazit a vytvářet z nich grafy. EmonTX měří proud ve třech fázích a napětí fáze L1. Z proudů jednotlivých fází a napětí vypočítává zatížení jednotlivých fází. Zařízení jsem upravil pro svou potřebu a použité součástky.

EmonTX1

 

EmonTX-3f schema

 

EmonTX-RS485 brd

Proud je měřen pomocí proudových transformátorů AC-1010 s převodem 1000/1. Pro měření napětí jsem použil malé trafo 230/12V z napáječe.

ac-1010-obrazek-1

 

Napájení jednotky je modulem z USB nabíječky 5V/1A, které se na eBay prodávají za asi 1$. U modulu jsem ve zpětné vazbě vyměnil zenerku aby bylo napětí na výstupu 7,5V

Nabijecka USB1 Nabijecka USB2

Podle použitých transformátorů proudů a napětí je nutné nejprve jednotku zkalibrovat a do programu uložit kalibrační konstanty. Vše je podrobně popsáno na stránkách projektu openenergymonitor.org.

Program pro jednotku EmonTX jsem upravil pro svoji potřebu. Moje jednotka navíc sleduje stav tarifu elektrické energie (noční proud) a je vybavena třemi optočleny pro uvažované řízení nebo blokování měničů fotovoltaické elektrárny při hrozím přetoku do distribuční sítě.

Originální EmonBase (EmonHUB)  používá bezdrátovou komunikaci s moduly RFM12B nověji RFM69CW. Já jsem měl ale problémy se signálem z uzavřeného domovního rozváděče kde je EmonTX umístěn do garáže kde mám EmonHUB.  Proto  jsem pro komunikaci s EmonHUBem  zvolil kabelové propojení přes rozhraní RS485. Jako komunikační protokol jsem zvolil knihovnu SoftEasyTransfer.

Modul rozhraní RS485 s obvodem MAX485

modul RS485

Zapojení proudových transformátorů v rozváděči.

proudov tafa EmonTX2

 

Na EmonCMS je pak možné si data zobrazit do grafů, stránku je možné si plně nastavit a zobrazit informace jaké člověk chce včetně historie, denní spotřeby atd.

EmonCMS1

Download:

emonTX_3faze_v3.ino
EmonTX.zip

Příspěvek byl publikován v rubrice Arduino, Elektronika se štítky , , , , , , , . Můžete si uložit jeho odkaz mezi své oblíbené záložky.

43 komentářů u Sledování spotřeby elektřiny domu – EmonTx

  1. Pingback: Emon HUB RS485 | TN Web

  2. Roman Pavlik napsal:

    Dobry den,
    děkuj za článek, přesně stejný problém právě řeším – potřebuji znát spotřebu domácnosti včetně rozložení zátěže pro úvahy na téma FVP.
    K popsaném systému mám dva dotazy:
    a) EMON TX3 umí pracovat s HDO nebo je nějaká vaše úprava. Díval jsem se na http://shop.openenergymonitor.com/emontx-arduino-shield-smt/ a neměl jsem pocit, že by se tam řešilo HDO
    b) nepřemluvil bych Vás, abyste celý systém pro mě nainstaloval „na klíč“. Bydlím v Brně. Ušetřilo by mi to hrozně moc času a Vám to samozřejmě zaplatím.

    Děkuji a zdravím,

    Roman Pavlík

    • Tom napsal:

      Zdravím, ano program i zapojení jsem upravil pro své potřeby, největší změna je, že nepoužívám bezdrátovou komunikaci ale RS485.
      A co se týká instalace na klíč, tím se nezabývám (zatím) mám to spíše jako koníčka.

  3. Ondrej Gottwald napsal:

    Zdravím,
    řeším měření proudu pomocí proudových traf jako Talema AC1050.
    Odkaz1 http://openenergymonitor.org/emon/buildingblocks/ct-sensors-introduction
    Ale použiju trafa Talema AC1050, primární proud 50A, maximální proud 125A

    Tohle trafo má na výstupu 5VAC s odporem 100R. Pokud se držím Odkaz1, tak musím dostat na výstupu 2,5 VAC, to je po výpočtu odpor 50R. Dělič R2 R3 vyrobí +2,5VDC a k nim se přičte AC napětí z R1. Pak bude napětí na svorce Arduino ADC kopírovat sinusovku, ale v kladných hodnotách. Při průchodu napětí zápornou půlvlnou -2,5+2,5=0VDC, při průchodu nulou 0+2,5=2,5VDC a při průchodu kladnou půlvlnou bude na svorce Arduino ADC +2,5+2,5=5VDC.

    Žádám o ověření, děkuji.

  4. Nezmar napsal:

    Zdravím, rád bych se zeptal jaká je odhadovaná přesnost zařízení a jak to šlape po cca půl roce provozu?

    • Tom napsal:

      Když srovnám měsíční odečty fakturačního elektroměru s tím co naměřilo zařízení tak se chyba pohybuje od -1% do +1% ale když vezmu posledních 9 měsíců tak dokonce jen -0,5%. Takže docela slušné na to že to měří napětí jen v jedné fázi, počítal jsem, že to bude horší.

  5. Nezmar napsal:

    Můžu se zeptat jak je to s tím měřením napětí 230V přes to 12V trafo, omylem jsem objednal 15V trafo a nevím jestli budu muset měnit odpory nebo to půjde vyřešit nastavením kalibrace. Divné je že trafíčko dáva 25,5V

    • Tom napsal:

      Odpory budeš asi muset upravit na analogový vstup arduina by se nemělo dostat více jak 5V. Střed je 2,5V a napětí se pak na vstupu arduina pohybuje od +5V přes umělou nulu 2,5V až k 0V. Ty odpory to trošku zatíží, takže tam nebude tolik. Moje trafo mělo naprázdno myslím něco okolo 18V. Kalibrací se pak už jen doladí konstanta v programu tak aby to měřilo stejné napětí 230V jako ve skutečnosti.
      Stejně je pak potřeba zkalibrovat jednotlivé proudy.

  6. david dvorak napsal:

    Dobry den, muzete mi rici co pripojujete na SIG1-3 a SPOL. Dekuji

    • Tom napsal:

      Mám to do budoucna v případě, že budu mít fotovoltaickou elektrárnu, tak těmito výstupy chci blokovat, nebo omezovat měniče při hrozícím přetoku do sítě. V současné verzi software to není nijak využito.

  7. Alda napsal:

    Dobrý den, vaše řešení mne velmi zaujalo, jediné co nějak nechápu je ta procedura pro kalibraci. Šlo by ji prosím nějak lépe popsat ? Moc by mi to pomohlo při vlastním návrhu a realizaci. Děkuji

    • Tom napsal:

      Ahoj, kalibrace je potřeba, protože každý použije trochu jiné trafo 230/12V, které slouží pro měření napětí sítě a proudové transformátory mohou mít také jiný převod. Pokud chceš modul otestovat samostatně ta se na začátek programu vloží #define SERIALPRINT, aby se aktivoval výpis na serial port. Pak se modul připojí na napětí 230V to zároveň měříš multimetrem a sleduješ na výpisu serial monitoru co změřil modul, konstantu Vcal pak upravíš aby výsledek byl stejný. Výpočet nové konstanty je pak:
      Nová konstanta = stará konstanta *(změřené napětí / napětí zobraz. EmonTx).

      Stejně se provede kalibrace proudu. Připojíš odporovou zátěž na L1 (nejlépe žárovku) a měříš proud. Hrubé nastavení konstanty je:
      Převod proudového trafa /rezistor R1. (u mě 1000/1/100 = Ical = 10)
      Dále se upraví konstanta Phasecal1 tak aby EmonTX při připojené odporové zátěži vypisoval PF (účinník) okolo 1.00. To stejné se provede pro L2 a L3

      • Aleš Střelka napsal:

        Super díky, to mi moc pomůže. Ještě jeden dotaz k tomu spínání fotovoltaiky z důvodu přetoků. Pozná ten měřák přetok ? = pozná jestli distribuční síť dodává nebo já dodávám do ní ?

        • Tom napsal:

          V aktuálním programu to není využito, jen jsem si připravil hardware do budoucna. Zvažoval jsem sledovat odběr ze sítě v každé fázi zvlášť a pokud by odběr klesnul třeba pod 30-50W přes optočlen by se poslal signál na vypnutí měniče z fotovoltaiky v příslušné fázi (mají být tři měniče), nebo se připnula užitečná zátěž, třeba spirála do bojleru, ale to jsou zatím jen plány. Fotovoltaiku kterou mám mi zatím „jen“ ohřívá vodu, od konce srpna 2015 už to vyrobilo okolo 1880kWh.

          • Alda napsal:

            Díky, Šlo mi o to, jestli by to mělo poznat zda výkon teče „tam“ či „zpátky“, ale v grafech vidím poklesy odběru výkonu na jednotlivých fázích, takže asi jo. Jaký máte výkon panelů ? Měniče máte hned u panelů nebo to máte svedené všechno někam k rozvaděči ?

  8. Tom napsal:

    Dodávku do sítě jsem zkoušel, ale už si nepamatuju jak se to zobrazí předpokládám že výkon bude záporný. Dá se to odzkoušet tak že otočíš vodič prostrčený přes proudové trafo.
    Měnič mám jeden a je umístěný u ohřívače vody v kotelně panelů je 8 x 255Wp. Vše mám popsáno zde http://tnweb.tode.cz/fotovoltaicky-ohrev-vody-v-bojleru/ a zde http://tnweb.tode.cz/fotovoltaicky-mppt-menic-pro-bojler/

    • Alda napsal:

      Já trošku bádám, kam měnič umístit, kvůli ztrátám. Jestli nejdříve vést napětí od panelů až ke kotli a tam ho měničem předělat nebo ho předělat hned na střeše a pak vést ke kotli.
      Druhá věc je, jak ten měnič do budoucna spínat, neboť rozvaděč mám dost daleko od místa kde by měnič měl být.

  9. Alda napsal:

    Dobrý den, ještě jeden dotaz, DPS jste dělal v Eagle nebo KiCad ? Bylo by možno někde nasdílet, udělal bych si úpravy – zrušení HDO.
    Také jsem nějak hledal popis posílání dat přes wifi, ale nějak jsem to na originálních stránkách nenašel.
    Díky za pomoc

  10. Alda napsal:

    Ahoj díky, budu teď za trotla, ale já tu sekci ani odkaz na ni nějak nemůžu na stránkách najít.

  11. Alda napsal:

    už jsem to našel, díky

  12. Lukas napsal:

    Dotaz: proc misto 12V trafa nepouzit senzor zvany ACS712 Hall Effect ?

    • Tom napsal:

      Trafo 12V slouží jen pro měření napětí. Proudové a napěťové trafa tam jsou proto aby šel vyhodnotit účinník a z toho činný odběr.

      • Lukas napsal:

        Ale tim senzorem jde merit taky ne? Jde mi o to zda by neslo zjednodusit schema. Jinak dekuji za nametny clanek.

  13. Alda napsal:

    No já to předělal na předávání dat přes wifi (ESP8266). Jediné so mě docela překvapuje, že to 12V trafo docela hřeje i když vlastně nemá zátěž. Je to normální ?
    Díky
    Alda

    • Tom napsal:

      Záleží na kvalitě trafa, ty levnější mají šizené primární vinutí a celkově vyšší ztráty naprázdno.

  14. Alda napsal:

    mám trošku problém s výpočtem :
    Napeti: 234.50
    Proud L1: 0.03 Prikon L1: 1.15 VA L1: 6.25 PF L1: 0.18
    Proud L2: 0.00 Prikon L2: 0.00 VA L2: 0.00 PF L2: nan
    Proud L3: 0.02 Prikon L3: 2.13 VA L3: 5.52 PF L3: 0.39

    na L2 mám stále nula a nan ať dělám co dělám, ostatní dvě fáze proud měří, ale jestli má být PF bez zátěže cca 1, pak jsem taky zcela mimo.

    • Tom napsal:

      PF bude 1.00 jen při odporové zátěži, naprázdno bude ukazovat nesmysly. Zkus přepojit proudové trafo z L1 nebo L3 na L2, jestli bude měřit a připoj větší zátěž, kalibraci pak proveď podle postupu který píšu v diskusi pod článkem, pak to měří až překvapivě přesně při srovnání s elektroměrem distributora.

  15. Alda napsal:

    Ano, test se žárovkou 60W na L1, L2 a L3.
    Ještě budu muset nastavit tedy proudy a PF aby bylo kolem 1:

    Napeti: 235.51
    Proud L1: 0.25 Prikon L1: 53.85 VA L1: 58.63 PF L1: 0.92
    Proud L2: 0.00 Prikon L2: -0.08 VA L2: 0.82 PF L2: -0.10
    Proud L3: 0.00 Prikon L3: -0.00 VA L3: 0.00 PF L3: -0.05

    Napeti: 235.14
    Proud L1: 0.00 Prikon L1: 0.00 VA L1: 0.08 PF L1: 0.04
    Proud L2: 0.26 Prikon L2: 5.61 VA L2: 60.26 PF L2: 0.09
    Proud L3: 0.00 Prikon L3: -0.00 VA L3: 0.07 PF L3: -0.07

    Napeti: 235.52
    Proud L1: 0.00 Prikon L1: 0.08 VA L1: 0.82 PF L1: 0.10
    Proud L2: 0.01 Prikon L2: -0.24 VA L2: 1.82 PF L2: -0.13
    Proud L3: 0.25 Prikon L3: 47.98 VA L3: 59.36 PF L3: 0.81

    Alda

  16. Marek napsal:

    lze neco podobneho udelat aby se kazde treba, 2A odebrane ze site , seplo rele? Potrebuji to na 3F rozvody v dome.
    na kazde rele bude spinat mensi fv panel na grid free stridac.

  17. Miki napsal:

    Ahoj, když používáš na měření napětí pouze 1 fázi, zjišťoval jsi o kolik voltů se jednotlivé
    fáze liší.
    V naši ulici se napětí mezi fazemi liší i o 22V, tak jsem uvažovál použit rovnou 3 ks
    „napěťových traf“.

    • Tom napsal:

      Ano, kontroloval jsem to, rozdíly byly minimální cca 1-2V.

      • Miki napsal:

        Díky, chtěl jsem se zeptat jak to vypadá s přesnosti měření po 5 letech?
        Neuvažoval jsi aby zpřesnit měření tak použit místo Arduino mini Pro třeba Arduino due ( 12 bitů), nebo k tomu Arduinu mini Pro použít ještě MCP3424 ADC ( 4 kanálový / 18 bitů), nebo HX711 ADC ( 2 kanálový / 24 bitů – 2ks) ?

        • Tom napsal:

          Přesnost hodně záleží na kalibraci. Nevím jestli by šel externí AD převodník použít, protože co si tak vzpomínám tak Arduino dělalo rychlých 200 vzorků napětí a proudu, které se uložily do pole kde se pak srovnal posun sinusovek proudu a napětí pro výpočet účiníku.
          Přesnost je pro mé použití dostatečná. Jediné co bych snad upravil, že bych kWh počítal přímo v Arduinu, a né až na serveru, protože se mi už dvakrát stalo, že jsem si hodnotu nějak vynuloval.

  18. Tomáš napsal:

    Dobrý den, Ahoj,

    chtěl bych se zeptat jestli měření bude fungovat, když mám regulátor fve k boileru (MR4316AC+) s PWM , regulační kmitočet 122 Hz?

    díky

    • Tom napsal:

      To netuším, zkoušel jsem jen 50Hz a původní sw jsem si jen upravil pro své potřeby. Informace o tom je třeba hledat na webu Open Energy Monitoru.

  19. Miki napsal:

    Ahoj,
    chtěl bych se zeptat podle čeho jste vybíral proudové transf. (velikost měřeného proudu jednotlivých fází)?

      • Miki napsal:

        Ok,
        podle zde uveřejněného grafu spotřeby mi vychází že proud jednotlivých fázi nepřekročil cca 2,3A. Nemate tedy proud.transformátory předimenzované?

        Pokud mám větší odběr domácnosti které proud.transf. by jste doporučil?
        – DL-CT08CL5-20A/10mA 2000/1 0~120A Micro Current Transformer
        – DL-CT1005A 50A 10A/5mA miniature transformer current transformer
        – SCT-013-030 Non-invasive AC Current Sensor Split Core Current Transformer 30A/1V
        – SCT-013-000 Non-invasive AC Current Sensor Split Core Current Transformer 100A/50mA

        Děkuji

        • Tom napsal:

          Mám trafa s převodem 1000/1, a počítám s max. proudem 25A (podle hlavního jističe) kdy bude na sekundáru trafa 25mA, což na zátěžovém odporu 100R vyvolá 2,5V, k němu se přičte napětí 2,5V děliče. Napětí na analogovém vstupu Arduina se bude podle sinusovky pohybovat od 0V do 5V, které nesmí být překračováno. Takže podle zvoleného proudu zvolit vhodné trafa a k tomu zátěžový odpor aby nebyl překročený napěťový limit na analogovém vstupu Arduina.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *