Stránka 1 z 2

Arduino a logování elektroměru

Napsal: úte led 21, 2014 6:46 pm
od milink
Zdravím ve spolek

dříve než začnu dimenzovat případnou FVE, rád bych zjistil jaké charakteristiky má odběr naší domácnosti v průběhu dne/týdne/roku a napadlo mne, zda by nešlo využít toho, že současný elektroměr za každou spotřebovanou kWh 500 krát blikne. (tj. blikne po každých spotřebovaných 2 Wh)

V podstatě by mi stačilo logovat přesné časy jednotlivých bliknutí a pak bych už v třeba v Excelu byl schopen dopočítat maxima, trvalý odběr, vykreslit grafy apod.

Je něco takového a arduinem možné? Co všechno bych potřeboval? Předpokládám, že by stačila asi nějaká minimální konfigurace doplněná o SD kartu (jednak není u elektroměru ethernet a druhak mi doma žádný server, kam bych mohl ukládat data nonstop neběží) a nějaké to čidlo (tady ale vůbec netuším). Za případné nasměrování na dealextreme nebo aliexpress děkuji.

Programovat sice umím, ale s arduinem nemám zatím vůbec žádné zkušenosti. Doufám, že by to fungovalo tak, že bliknutí diody vyvolá nějakou událost, já v její obsluze zapíši čas na SD kartu a program pak čeká na další událost. Po nasbírání dostatečného vzorku dat pak arduino odpojím, data stáhnu do počítače a tam zpracuji.

Myslíte, že je to reálné? Nebo na to mám jít jinak - např. raději data zpracovávat již v arduinu?

Předem dík za pomoc.

Re: Arduino a logování elektroměru

Napsal: úte led 21, 2014 6:52 pm
od matej
Ano takto to řeším s Raspberry, ale s Arduinem to půjde taky .. není to zas tak složité .. něco lze najít i na youtube

Re: Arduino a logování elektroměru

Napsal: úte led 21, 2014 8:35 pm
od vata
Zdravím, když bliká, tak má asi i SO výstup... Ten můžete připojit tak jak je bez čehokoliv k SDS, a už měříte, není potřeba ani žádný vlastní SW, jen nastavíte jednotky elektroměru. K arduinu to připojit půjde taky, ale je potřeba na to mít nějaký SW.

Re: Arduino a logování elektroměru

Napsal: úte led 21, 2014 8:46 pm
od bednar
vata píše:Zdravím, když bliká, tak má asi i SO výstup... Ten můžete připojit tak jak je bez čehokoliv k SDS, a už měříte, není potřeba ani žádný vlastní SW, jen nastavíte jednotky elektroměru. K arduinu to připojit půjde taky, ale je potřeba na to mít nějaký SW.
Ano to je možné, ale jestliže to je fakturační odečtový elektroměr - neuspějete. Nejlevnějším a zároveň asi i nejjednodušším je nákup vlastního podružného elektroměru a využití jeho SO výstupu ať již kdekoliv. Takto to mám v plánu i já. 3f elektroměr - s SO výstupem - necejchovaný se dá pořídit již kolem 1000,-kč.
Případně snímat LED diodu toho fakturačního, ale s tím jsem neměl dobré výsledky nehledě na to, že i technici ČEZu případně EONu se na to "dívají různě."
Něco povídání je zde:
http://forum.merenienergie.cz//viewtopic.php?id=395

Re: Arduino a logování elektroměru

Napsal: úte led 21, 2014 8:59 pm
od Frenky
Je něco takového a arduinem možné? Co všechno bych potřeboval? Předpokládám, že by stačila asi nějaká minimální konfigurace doplněná o SD kartu (jednak není u elektroměru ethernet a druhak mi doma žádný server, kam bych mohl ukládat data nonstop neběží) a nějaké to čidlo (tady ale vůbec netuším). Za případné nasměrování na dealextreme nebo aliexpress děkuji.
Ano potvrzuji "vatu" SDS-ko sice umí měřit S0 (elektroměry), ale SDS-ko nemá žádné logovací zařízení (čtečku SD karet). Takže na logování je potřeba nějaké připojení na internet, aby se mohla data z SDS-ka někam posílat a tam logovat (třeba na www. eportal.merenienergie.cz). Takže pán by sice měřil, ale nelogoval.

Takže pánovi nezbude nežli něco vyrobit s arduinem, nebo počkat na mikrolog až se na elektroměr dostane řada. Popřípadě nějak podpořit Filipa aby mu něco naprogramoval. :D

Re: Arduino a logování elektroměru

Napsal: úte led 21, 2014 9:32 pm
od Dreambox
Něco je zde o tomto měření. http://www.domoticaforum.eu/viewtopic.php?t=111

Re: Arduino a logování elektroměru

Napsal: úte led 21, 2014 9:37 pm
od vata
SDS si pamatuje průběh spotřeby za posledních 24 hodin.
Nebo počkat na VALC monitor a logovat s ním SDS na elektroměrech, bude mání co nevidět a myslím, že už teď vypadá dost použitelně :)

Re: Arduino a logování elektroměru

Napsal: stř led 22, 2014 9:36 am
od xmasin
Já jsem řešil stejný problém a vyřešil jsem to tak, že jsem koupil tenhle elektroměr http://www.elektromery.com/index.php?ac ... var&id=146 a snímám S0 výstup pomocí modulu Quido od fimy Papouch. Zjišťoval jsem možnost napojení na elektroměr ČEZu a koupě vlastního elektroměru byla tak 3x levnější než připojení S0 výstupu fakturačního elektroměru. Navíc fakturační elektroměry mají horší konstantu na S0 výstupu - běžně 100 - 250 impulsů/kWh, takže pro přesnější monitorování se nehodí. Bohužel jsem nesehnal třífázový elektroměr s konstantou 1000 impulsů / kWh, ten co mám má konstantu 800 impulsů / kWh.

Re: Arduino a logování elektroměru

Napsal: stř led 22, 2014 10:23 am
od milink
Děkuji všem za názory.

Asi jsem na počátku zapomněl zdůraznit, že mi nejde jen o výsledek, ale taky i to naučit se s Arduinem pracovat,
takže varianty s SDS, dalším elektroměrem a spol bych nechal jiným. :-)

Jak jsem psal, programovat umím, co neumím je hardware. V podstatě jakékoliv schéma, které obsahuje
víc jak dvě součástky zapojené sériově nebo paralelně mne děsí :-)

Potřeboval bych poradit ve smyslu "bež do elektra kup součástku XYZ, připoj ji na piny A a B a když pak v programu zavoláš digitalRead(Pin) a ono vrátí HIGH dioda na elektroměru svítí."

Začínám docházet k názoru, že i detekci bliknutí budu provádět programově. Tzn. program bude cca 10 krát za sekundu kontrolovat jestli dioda svítí nebo a pokud ano tak pak do dalšího zhasnutí jde pořád jen o jeden impuls.
Vzhledem k tomu, že dioda určitě nebude blikat rychleji než 2 krát za sekundu (což by odpovídalo příkonu 14,4 kW = 2 * 3600 * 2W) myslím, že by to mohlo fungovat. Otázka je jak, to pak zdrží ten zápis na SD kartu.

Mimochodem to Arduino zatím taky ještě nemám, takže uvítám radu, kterou verzi a kde nejlépe koupit.

Za případné další nasměřování děkuji...

Re: Arduino a logování elektroměru

Napsal: stř led 22, 2014 4:44 pm
od rob.brno
milink píše:Děkuji všem za názory.
Za případné další nasměřování děkuji...
Vše doporučuju kupovat na ebay.com:
za 150kč (hodně malé, není modulární) - http://www.ebay.com/itm/Mini-USB-Nano-V ... OU:US:3160
nebo 250kč http://www.ebay.com/itm/UNO-R3-ATmega32 ... 5147wt_900
nebo 350kč http://www.ebay.com/itm/MEGA2560-R3-Con ... 2491wt_997

Měření bych dělal přes interupt:
- spustit si 16bit čítač
- v obsluze externího interuptu od elměru(náběžná nebo sestupná hrana - je to jedno) přečíst stav čítače a vypočíst interval

Výstup z elměru připoj na zem a druhý(pozor jsou citlivé na polaritu) na vstup D3 nebo D4(externí interupt), tento vstup bud nějakým odporem 5-20k vytáhnout na plus 5V nebo zapnout v Arduinu interní pullup.

Ke studiu a tipům jak co řešit je dobré koukat na:
- mcu.cz
- http://forum.mcontrollers.com/

Re: Arduino a logování elektroměru

Napsal: stř led 22, 2014 7:39 pm
od milink
rob.brno píše: Vše doporučuju kupovat na ebay.com:
za 150kč (hodně malé, není modulární) - http://www.ebay.com/itm/Mini-USB-Nano-V ... OU:US:3160
nebo 250kč http://www.ebay.com/itm/UNO-R3-ATmega32 ... 5147wt_900
nebo 350kč http://www.ebay.com/itm/MEGA2560-R3-Con ... 2491wt_997
Děkuji za odkazy. UNO je zde dokonce levnější jak na aliexpress.com.
rob.brno píše: Měření bych dělal přes interupt:
Myslíte http://arduino.cc/en/Reference/AttachInterrupt? To vypadá zajímavě...
rob.brno píše: - spustit si 16bit čítač
- v obsluze externího interuptu od elměru(náběžná nebo sestupná hrana - je to jedno) přečíst stav čítače a vypočíst interval
A nestačí v každé obsluze přerušení přečíst aktuální stav milis()?
rob.brno píše: Výstup z elměru připoj na zem a druhý(pozor jsou citlivé na polaritu) na vstup D3 nebo D4(externí interupt), tento vstup bud nějakým odporem 5-20k vytáhnout na plus 5V nebo zapnout v Arduinu interní pullup.
Elektroměr je zaplombovaný. Jediná přístupná část je ta dioda. Jenomže co na ni přilepit?

rob.brno píše: Ke studiu a tipům jak co řešit je dobré koukat na:
- mcu.cz
- http://forum.mcontrollers.com/
To už je na mne moc odborné. Ale třeba to jednou využiji. Děkuji.

Re: Arduino a logování elektroměru

Napsal: stř led 22, 2014 7:41 pm
od solárník
rob:

Jednodušší je

nastavit INT jedno na jakou hranu (většinou tu ostřejší, pokud máš osciloskop)

kostra ISR (zbytecne neprodluzovat):
{
const unsigned long PStart=micros();
LastInterval = PStart - LastPulseTime;
LastPulseTime = PStart;
PulseCounter++;
}

Vsechny promenne jsou definovane na zacatku programu jako volatile unsigned long. V loop ctes pocet pulzu (PulseCounter) popripade okamzity vykon (perioda je v LastInterval s přesností na mikrosec) a dal s tim jakkoli pracujes.

Programoval jsem to takto v hardwarovém zařízení, které nemůžu jmenovat a celý program bohužel nemůžu ani publikovat, zařízení je stále v prodeji. Pulzni vystup mel daleko vyssi frekvenci nez S0 (az 6 kHz, coz nevadi, naopak) a funguje to dodnes v tech zarizenich bez uprav.

Pro neznalce upozorňuji, že Arduino má jen pár digital pinů, na kterých jde chytat přerušení, záleží samozřejmě na typu Arduina.

Re: Arduino a logování elektroměru

Napsal: stř led 22, 2014 8:21 pm
od Frenky
Tabulka pinů, kde je možno nastavit přerušení:

Kód: Vybrat vše

0    1    2    3    4    5     Arduino
2    3    --    --    --    --    UNO
2    3    21    20    19    18   Mega 2560
3    2    0    1    7    --    Leonardo
Před časem jsem s tím docela bojoval :lol:

Re: Arduino a logování elektroměru

Napsal: stř led 22, 2014 8:50 pm
od Frenky
Našel jsem nějaký projekt ohledně elektroměrů a posílání dat na pachube, třeba to bude k užitku.

Re: Arduino a logování elektroměru

Napsal: čtv led 23, 2014 8:21 am
od milink
Vypadá to, že debata jde správným směrem. :yes:

Dalším hledáním jsem našel http://forum.arduino.cc/index.php/topic,15417.0.html

Vypadá to, že to hledané čidlo je fototranzistor.

Víte někdo jaké označení mám chtít v českém elektru? Případně jaké má mít parametry, aby Arduino
správně detekovalo hranu impulzu?

Re: Arduino a logování elektroměru

Napsal: čtv led 23, 2014 8:22 am
od rob.brno
Milink:
Jo, asi by to šlo i tím milis() - já to nepoužívám, někdy je třeba totiž mít kratší čas. základnu než 1ms.
Měl jsem za to, že je k dispozici u elměru výstup S0. Jestli není S0, tak bych tam dal další elměr(např. jednofáz Maneler 9901M,). Dá se pak dělat i přesnější měření, po úpravě elměru viz.:
https://forum.mypower.cz/viewtopic.php? ... elm%C4%9Br

Re: Arduino a logování elektroměru

Napsal: čtv led 23, 2014 8:29 am
od rob.brno
solarnik,Frenky:
Jen doplním, že ty Atmegy uměj externí interrupty dokonce na všech pinech, ale jen jako změnu signálu. Extra vstupy, co byly jmenovány výše uměj jak úrovnové, tak i naběžný i sestupný hrany.

Re: Arduino a logování elektroměru

Napsal: čtv led 23, 2014 11:16 am
od solárník
rob.brno píše:Dá se pak dělat i přesnější měření, po úpravě elměru viz.:
https://forum.mypower.cz/viewtopic.php? ... elm%C4%9Br
Jo to byl můj topic o úpravě elektroměru. Už jsem na něj úplně zapomněl.

Re: Arduino a logování elektroměru

Napsal: čtv úno 06, 2014 10:46 am
od Bobik
Zdravim všechny,
Dělám právě podobné pokusy. Výstupy s elektroměru stačilo připojit na GND a jednotlivé piny. Program pak zjištuje změnu a měří čas a funguje i bez používání přerušení (je otázka, jestli při věší frekvenci impulzů po úpravě elektroměru to zvládne správně). Kromě millis() je tam i funkce micros()

Zatím jsem připojil jen 3 (1F) elektroměry a výsledek se mi zobrazuje na připojeném LCD.

SDS a podobná zařízení mají problém v tom, že těch S0 vstupů moc nemají. Já bych jich potřeboval v aktuálním stavu 13.
Pokud se bude informace posílat do databaze (historie, grafy atd), tak je otázka, jestli nebude problém s dobou odesílání na siť, ale to vyzkouším později (shield už dorazil).

Re: Arduino a logování elektroměru

Napsal: čtv úno 06, 2014 10:52 am
od mypower.cz
Zdravim, pokud v takovem pripade nepouzivate preruseni, pak se v momente odesilani informace do databaze muze stat, ze o nejaky ten impuls prijdete a nebude merenim odchycen. Leda ze by jste napsal program tak, ze i pri odesilani dat nekam dal, budete stale dostatecne casto sledovat pulsy na pinech. Preruseni by bylo urcite dobre prave z techto duvodu pouzit.