Arduino jednofázový měřič spotřeby/výroby

Automatizace, řízení, měření, logování a programování s využitím platformy Arduino.
solárník
Příspěvky: 1586
Registrován: pát bře 15, 2013 7:53 pm
Reputace: 70

Arduino jednofázový měřič spotřeby/výroby

Příspěvek od solárník »

Ahoj, potřeboval bych měřit jednu fázi a podle stavu (výroba/spotřeba) posílat PWM do jednoho SSR relátka spínaného v nule. Něco jako Wattrouter nebo GreenBonO v super jednoduché verzi. Prostě aby mi nic nelezlo z baráku ven, aby se přebytky utopily třeba v bojleru.

Pochopil jsem, že asi nejpoužívanější metoda je měřit napětí a proud a porovnávat vzájemnou fázi, podle které, převedené do úhlu 0-360°, budou 2 kvadranty výroba a druhé dva kvadranty spotřeba. Tolik teorie.

Zajímalo by mne, jestli někdo nemáte nějaké jednoduché řešení, jak to zprovoznit třeba na Arduinu. Program mne až tolik nezajímá (nemám problém ho napsat), jen zapojení. Preferoval bych proudové trafo radši než nějaké bočníky, mělo by to snést špičkově 25A (jedna fáze na baráku).

Nějaké nápady?

Jen mě napadá, že asi nejmíň práce by bylo využít nějaký jednofázový elektroměr (mám doma Maneler 9901M), jen tam vyměnit mozek za arduino. Ale nedaří se mi sehnat schéma.
007ToMMaS
Příspěvky: 1095
Registrován: sob zář 15, 2012 8:53 pm
Reputace: 16

Re: Arduino jednofázový měřič spotřeby/výroby

Příspěvek od 007ToMMaS »

Zdravím, pozeral si ukladanie prebytkov od dramy, vyhodnocuje zapínanie prebytkov podla napätia na batériach. Tak keď už máš plno začne pulzne zapínať ssr relé ktoré je pripojené na bojler a ak napätie prudko poklesne tak sa zvyšovanie výkonu zníži. Ak napätie bude sa držať v určitej medzi tak sa bude pulzne zvyšovať výkon. Je to jednoduché a funkčné. Tiež som chcel robiť čosi také ako popisuješ ale načo keď toto je jednoduché a funkčné :)
3,2kWp REC320NP - juh
3,6kWp - Phonosolar PS450M5GFH-24/TH- východ
2x IGridSV-IV5.6KW, 2x Li-ion - 48V / 156Ah =312Ah
solárník
Příspěvky: 1586
Registrován: pát bře 15, 2013 7:53 pm
Reputace: 70

Re: Arduino jednofázový měřič spotřeby/výroby

Příspěvek od solárník »

Logiku zapínání přifázujícího se střídače už mám vyřešenou (v závislosti na stavu regulátoru pro nabíjení aku - (Tristar)). To mi už funguje docela v pohodě.
Problém je jen v tom, že nechci střídačem napájet jen bojler. To není moc výhodné, protože tím se nahrazuje jen levný nízký tarif. Výhodnější je zapojit to do celé fáze, na které je i bojler (a navěsit na ní co nejvíc spotřebičů, kolik jističe dovolí). Pak je možné nahrazovat drobné odběry i v době vysokého tarifu, kdy je elektřina minimálně 2x dražší (a úspora tedy minimálně dvojnásobná).
Problém pak už je "jen", aby to neteklo ven z objektu přes elektroměr. Místo toho zapínat SSR v nule a řídit výkon třeba do toho bojleru. Pokud max výkon FVE není vyšší, než ten bojler, a zajistíme, aby termostat bojler nevypínal (nemyslím tím, že ho vyřadím), tak stačí jen ten bojler a uřídí se to.

Takže bych radši zůstal u té mojí původní otázky. :)
007ToMMaS
Příspěvky: 1095
Registrován: sob zář 15, 2012 8:53 pm
Reputace: 16

Re: Arduino jednofázový měřič spotřeby/výroby

Příspěvek od 007ToMMaS »

Tak osobne by som riešil toto tým že by som proste prepínal len fázu menič a DS na ktorom je ten bojler a tie spotrebiče ktoré chcem napájať.
3,2kWp REC320NP - juh
3,6kWp - Phonosolar PS450M5GFH-24/TH- východ
2x IGridSV-IV5.6KW, 2x Li-ion - 48V / 156Ah =312Ah
solárník
Příspěvky: 1586
Registrován: pát bře 15, 2013 7:53 pm
Reputace: 70

Re: Arduino jednofázový měřič spotřeby/výroby

Příspěvek od solárník »

Tak nic už jsem si poradil. Stačil na to levný elektroměr Maneler 9901M, 3 odpory, jeden optočlen a Arduino Ethernet.

Elektroměr jsem trochu upravil a přidal druhý optočlen, který okamžitě hlásí směr toku energie (výroba nebo spotřeba). Zároveň jsem zvýšil frekvenci původního optického výstupu asi o tři řády, takže je to schopné do dvou vteřin změřit i malé příkony okolo 2W (menší příkony už ten elektroměr ignoruje, což ani nějak moc nevadí). Pak už to byla jen otázka programu do Arduina, aby se výsledky daly odečítat vzdáleně po ethernetu (strávil jsem nad tím asi 2 dny než jsem to odladil a nakalibroval).

Teď už mi zbývá jen nějaké mechanické uzavření do krabičky a jednoduchý a celkem levný LAN měřič je na světě.

Pomocí PWM výstupu Arduina by mělo jít přímo řídit SSR relé, což možná taky vyzkouším, že by ho to rovnou ovládalo a pouštělo přebytky přes něj zpět do vybraného spotřebiče. Reakční doba obvodu je momentálně 2 vteřiny i při nejmenších příkonech, což je slušné. Je to nejméně, co se dalo z uvedeného hardware elektroměru vyždímat. Samozřejmě při zvýšení minimálního detekovaného příkonu třeba na 10Wattů už je možné nastavit reakční dobu na méně než vteřinu.
rob.brno
Příspěvky: 957
Registrován: sob čer 09, 2012 9:14 am
Reputace: 20

Re: Arduino jednofázový měřič spotřeby/výroby

Příspěvek od rob.brno »

solárník píše:Tak nic už jsem si poradil. Stačil na to levný elektroměr Maneler 9901M, 3 odpory, jeden optočlen a Arduino Ethernet.

Elektroměr jsem trochu upravil a přidal druhý optočlen, který okamžitě hlásí směr toku energie (výroba nebo spotřeba). Zároveň jsem zvýšil frekvenci původního optického výstupu asi o tři řády, takže je to schopné do dvou vteřin změřit i malé příkony okolo 2W (menší příkony už ten elektroměr ignoruje, což ani nějak moc nevadí).
Plánuju udělat takto nabíjení aku proměnným proudem. S nejcitlivějším elměrem jsem se ale nedostal při 1sec. reakční době pod rozlišení 300W. Zajímá mě jakým způsobem jsi zvýšil citlivost(četnost půlzů) k jednotkám W u výstupu S0?
solárník
Příspěvky: 1586
Registrován: pát bře 15, 2013 7:53 pm
Reputace: 70

Re: Arduino jednofázový měřič spotřeby/výroby

Příspěvek od solárník »

Zvýšení citlivosti:
Musí se to rozebrat. Je tam jeden optočlen a hlavní obvod je ATE (ADE) 7755. Stahnout si jeho datasheet. Původně je výstup CF zapojený do děličky, ze které leze 1000imp/kWh do optočlenu a 100imp/kWh do mechanického počítadla.

Počítadlo jsem vyhodil (ale nemusel, po úpravě by mělo stále fungovat přesně), původní vstup optočlenu přerušil (přívod poblíž R13 a R14) a mikropájkou spojil výstup CF (nemusí se odpojovat) na odpojený vstup optočlenu (je to na pořádnou lupu, použil jsem na propojení jeden drátek z licny). A je hotovo - sestavit zase zpět.

V případě, že by byly po úpravě S0 impulzy nestabilní (vynechávaly), musí se zmenšit odpor R18 u LED diody (jsou v sérii s LED v optočlenu). Já tam dal 560 ohmů ale asi by to fungovalo i s původním.

Jen upozorňuju, že to nejde pak už připojit do výrobků SDS na monitoring, protože impulzy jsou při vyšších výkonech moc rychlé (viz SDS wiki). Zvětšení četnosti impulzů oproti originálu je necelých 500x (porovnáváno s neupraveným elektroměrem). Přesné číslo bohužel nemám, nepodařilo se mi dělící integrovaný obvod identifikovat. Na pouzdře má označení "0C002", nic podobného jsem nikde nenašel. Pokud to někdo identifikuje, bude možné počet impulzů / kWh po úpravě určit přesně. Jinak je nutné to nakalibrovat podle jiného wattmetru.

Momentálně mám v Arduinu po zběžné kalibraci přepočet Výkon=FrekvenceS0 * 8.2

Připojení na Arduino je asi jasné, S0+ na +5V, S0- na datový vstup s možností přerušení a zároveň odtud odpor cca 1k5 na zem.

V programu se nastaví přerušeni na tomhle datovém pinu třeba na RISING (vzestupná hrana, nebo i sestupná, to je jedno) a odskok na proceduru. Tam se zapamatují mikrosekundy a uloží do externí proměnné. Při příštím průchodu se spočte počet mikrosekund mezi pulzy a z toho vypočte frekvence. A podle vzorce výše měřený výkon. Pro přesnější měření se počká na víc impulzů, to už je záležitost programátora, jak si s tím pohraje. ;)
rob.brno
Příspěvky: 957
Registrován: sob čer 09, 2012 9:14 am
Reputace: 20

Re: Arduino jednofázový měřič spotřeby/výroby

Příspěvek od rob.brno »

solárník píše:Zvýšení citlivosti:
Musí se to rozebrat. Je tam jeden optočlen a hlavní obvod je ATE (ADE) 7755. Stahnout si jeho datasheet. Původně je výstup CF zapojený do děličky, ze které leze 1000imp/kWh do optočlenu a 100imp/kWh do mechanického počítadla.
Díky, vyčerpávající odpověd. Já k tomu musím ještě vymyslet, jak vyřešit nabíječku s proměnlivým řiditelným prodem nabíjení - matně tuším, že to vede na využití svářecího invertoru.
solárník
Příspěvky: 1586
Registrován: pát bře 15, 2013 7:53 pm
Reputace: 70

Re: Arduino jednofázový měřič spotřeby/výroby

Příspěvek od solárník »

A jak si to přesně představuješ, aby to celé fungovalo s tou tvou nabíječkou?
rob.brno
Příspěvky: 957
Registrován: sob čer 09, 2012 9:14 am
Reputace: 20

Re: Arduino jednofázový měřič spotřeby/výroby

Příspěvek od rob.brno »

solárník píše:Tak nic už jsem si poradil. Stačil na to levný elektroměr Maneler 9901M, 3 odpory, jeden optočlen a Arduino Ethernet.

Elektroměr jsem trochu upravil a přidal druhý optočlen, který okamžitě hlásí směr toku energie (výroba nebo spotřeba). Zároveň jsem zvýšil frekvenci původního optického výstupu asi o tři řády, takže je to schopné do dvou vteřin změřit i malé příkony okolo 2W (menší příkony už ten elektroměr ignoruje, což ani nějak moc nevadí). .
Mohl by jsi ještě popsat kam jsi zapojil ten druhý optočlen a uvézt odkaz na schéma toho elměru?
U elměru udávají nabíhací proud 25mA, což je příkon přes 5VA. Jsi si jistý, že je schopen elměr zaznamenat příkon od 2W?
rob.brno
Příspěvky: 957
Registrován: sob čer 09, 2012 9:14 am
Reputace: 20

Re: Arduino jednofázový měřič spotřeby/výroby

Příspěvek od rob.brno »

solárník píše:A jak si to přesně představuješ, aby to celé fungovalo s tou tvou nabíječkou?
Elměr bude měřit dostupný výkon z FV, tak aby nic neteklo do sítě. AVR bude generovat signál(analog nebo PWM) úměrný volnému dostupnému výkonu. Tímto signálem plánuju řídit tuto nabíječku(http://eskutr.cz/cs/nabijecky-lifepo-15 ... 15-kw.html), která má vstup pro lineární řízení nabíjecího proudu do aku.
JirkaK
Příspěvky: 116
Registrován: čtv zář 27, 2012 1:38 pm
Reputace: 1

Re: Arduino jednofázový měřič spotřeby/výroby

Příspěvek od JirkaK »

Solárníku, díky za zajímavý nápad, jak udělat jednoduchý "wattrouter". Uvažuju, že bych zkusil něco podobného dát dohromady, ovšem ve verzi 3x230 V (děda má FVE o výkonu max. 4,2 kW, reálně spíš tak do 3,5 kW, a bohužel s třífázovým střídačem) - předpokládám, že by to asi neměl být problém, ne?

Jen jsem se chtěl zeptat, jaké jsi použil SSR a kde jsi ho koupil... Zběžně jsem se díval na eBay, kde se dá třeba 25 A SSR sehnat v přepočtu pod stovku, ale třeba na http://www.homebrewtalk.com/f170/fried-my-ssr-409355/ popisují, jak jim levné typy SSR občas shořely, což bych dost nerad - bylo by to trvale připojené a napájelo to bojler (počítám, že těleso by tam bylo tak max. 2,5 kW rozdělených do 3 fází), případně ještě vodní výměník pro přitápění. Na druhou stranu se mi moc nezdá platit majlant za značkové SSR, kde bych dal třeba 4K jenom za 3 SSR. Pak jsem ještě koukal, že v GM Electronics mají SSR za relativně přijatelnější ceny, ale asi to taky bude Čína, jde o to, jak (ne)kvalitní.

EDIT: Jo, a to mi nějak uniklo - mohl bych také poprosit o popis zapojení druhého optočlenu? Předem díky ;)
rob.brno
Příspěvky: 957
Registrován: sob čer 09, 2012 9:14 am
Reputace: 20

Re: Arduino jednofázový měřič spotřeby/výroby

Příspěvek od rob.brno »

JirkaK píše:Solárníku, díky za zajímavý nápad, jak udělat jednoduchý "wattrouter". Uvažuju, že bych zkusil něco podobného dát dohromady, ovšem ve verzi 3x230 V (děda má FVE o výkonu max. 4,2 kW, reálně spíš tak do 3,5 kW, a bohužel s třífázovým střídačem) - předpokládám, že by to asi neměl být problém, ne?

EDIT: Jo, a to mi nějak uniklo - mohl bych také poprosit o popis zapojení druhého optočlenu? Předem díky ;)
Nevím jestli se od solárníka ještě nějaké odpovědi dočkáme.

Problém by ani u 3f být neměl, bude to chtít, ale 3ks těch elměrů. V Brně (http://www.manelektro.cz/docs/cenik/Cenik_E_130318.pdf) je mají za 500kč.Mám dokonce podezření, že by šel použít i tento typ Elektroměr 9920M jen za 290kč.

Jinak druhý optron se zapojí na výstup REVP u ADE7755 přes odpor proti zemi nebo Ucc. Asi by měl být nějaký nízkopříkonový(proud diodou co nejméně), mám trochu obavy, aby jeho odběr nespůsobil snížení Ucc.
Jinak jsem se pokoušel připájet drátky na smd obvod ADE, ale nebyl jsem schopen, podařilo se to až kamarádovi, který to dělá profesně.
solárník
Příspěvky: 1586
Registrován: pát bře 15, 2013 7:53 pm
Reputace: 70

Re: Arduino jednofázový měřič spotřeby/výroby

Příspěvek od solárník »

rob.brno píše:Jsi si jistý, že je schopen elměr zaznamenat příkon od 2W?
Ano, testoval jsem to v praxi. Může to být kus od kusu, ale 2W to zaznamenalo spolehlivě. Zapojení druhého optočlenu jsi popsal přesně. S tím pájením jsem měl taky trochu problém. Chtélo to tak tři až čtyři ruce na držení lupy a podobně, což bohužel nemáme :) Ale nakonec se povedlo i přes to, že má třesoucí se ruka s mikropájkou měla rozkmit přes 4 ty vývody toho IO :lol:
JirkaK
Příspěvky: 116
Registrován: čtv zář 27, 2012 1:38 pm
Reputace: 1

Re: Arduino jednofázový měřič spotřeby/výroby

Příspěvek od JirkaK »

Hmmm, tak já jsem se nakonec k realizace ještě nedostal, pořád byly na práci jiné věci a hlavně zatím nemám s Arduinem žádné zkušenosti... nicméně snad se k tomu dokopu. Trochu jsem na tohle vlákno pozapomněl, vzpomněl jsem si teď, když jsem viděl v akční nabídce 1F elektroměr na DIN lištu http://www.tipa.eu/cz/elektromer-1f-na- ... /d-122362/ za 430 Kč (a digitální za 410 Kč) - nemátě někdo s tím zkušenost, jak je to vevnitř zapojené (jestli by to šlo modifikovat pro potřeby (co nejpřesnějšího) měření přes Arduino? A nebo ten Maneler 9920M(D), o kterém tu psal rob.brno?

Přecijen kdybych to chtěl dělat třífázově, tak tam už by se ty cenové rozdíly projevily víc :-). A nebo to prostě radši nemám řešit a pokud se do toho pustím, tak mám jít na jistotu? Díky :).
brumlaj
Příspěvky: 2467
Registrován: ned kvě 12, 2013 2:24 pm
Reputace: 258

Re: Arduino jednofázový měřič spotřeby/výroby

Příspěvek od brumlaj »

solárník píše: třesoucí se ruka s mikropájkou měla rozkmit přes 4 ty vývody toho IO :lol:
třesení už neodstraníme, já teď pracuji na koordinaci třesení ruky ve dvou osách tak aby se hrot dotkl patřičného pinu právě při vrcholu výchylek třesení v každé z těch os.
Moudrost nepřichází vždy s věkem, někdy věk přichází sám.
250w_gridfree
Příspěvky: 82
Registrován: pon zář 08, 2014 10:55 am
Reputace: 2

Re: Arduino jednofázový měřič spotřeby/výroby

Příspěvek od 250w_gridfree »

jednofázový měřič spotřeby/výroby právě řeším, vše funguje, tak, jak má i účiník to započítává. Běží to třeba 2 dny, někdy se ale stane, že spotřeba ukazuje nesmyslně vysokou spotřebu. Vložil jsem tedy instukci, že při dosažení hodnoty vyšší než 2000w dojde k sw restartu arduina. Arduino restartuje, ale zřejmě je problém v měřících obvodech, protože arduino restartuje stále dokola, což při normálním stavu nedělá, je nutné na chvíli přerušit napájení, aby došlo k totálnímu restartu. Přihazuji zdroják...

void (*pseudoReset)(void)=0; //funkce restart
#include "EmonLib.h" // vkládáme knihovny
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
EnergyMonitor emon1; // vytvoříme objekt spotřeby
EnergyMonitor emon2; //vytvoříme objekt výroby
LiquidCrystal_I2C lcd(0x27,16,2);
int realPowers;
int realPowerv;
int Vyroba;
int Spotreba;
int Rozdil;
int korekce = -15; //korekce spotřeby
int korekce1 = 5; //korekce výroby
int korekces = -50; //korekce vyhodnoceni bezpečného odběru bez přetoku do DS

void setup(){
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
emon1.voltage(0, 234.26, 1.7); // Voltage: input pin, calibration, phase_shift
emon2.voltage(0, 234.26, 1.7); // Voltage: input pin, calibration, phase_shift
emon1.current(1, 28.0); // Current: input pin, calibration.
emon2.current(2, 28.0); // Current: input pin, calibration.
lcd.init();
lcd.backlight();
}
void loop(){
emon1.calcVI(20,2000); // Calculate all.
emon2.calcVI(20,2000);
realPowers = emon1.realPower; //extract Real Power into variable
realPowerv = emon2.realPower;



if (realPowers > 2000) {
pseudoReset(); // restart při překročení 2000w
}

Spotreba = realPowers + korekce;
Vyroba = realPowerv * 1.03 + korekce1; //doplněno zpřesnění měření
Rozdil = Spotreba - Vyroba + korekces;
if (Rozdil >= 0)
{
digitalWrite(8, LOW);
digitalWrite(9, LOW);
}

if (Rozdil < 0 && Rozdil >= -100)
{
digitalWrite(8, HIGH); //zapneme 100w
digitalWrite(9, LOW);
}
if (Rozdil < -100)
{
digitalWrite(8, HIGH); //zapneme 100w
digitalWrite(9, HIGH); //zapneme 100w
}
if (Vyroba < 5)
{
Vyroba = 0;
}
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Spotreba: ");
lcd.print(Spotreba);
lcd.setCursor(0, 1);
lcd.print("Vyroba : ");
lcd.print(Vyroba);
}


Díky za radu
250w_gridfree
Příspěvky: 82
Registrován: pon zář 08, 2014 10:55 am
Reputace: 2

Re: Arduino jednofázový měřič spotřeby/výroby

Příspěvek od 250w_gridfree »

Soft restart nestačil, takže, pokud arduino zjistí hodnotu mimo očekávané hodnoty, zapne proud - digitalWrite(12, HIGH);
a přes 4k7 to jde do resetu na arduinu. HW restart napraví nesprávné chování celého systému... Jdu do práce...
kodl69
Příspěvky: 7379
Registrován: sob črc 19, 2014 8:56 pm
Reputace: 866
Lokalita: severně od Brna
Systémové napětí: 48V
Výkon panelů [Wp]: 8kWp
Kapacita baterie [kWh]: 12kWh
Chci prodávat energii: NE
Chci/Mám dotaci: NE

Re: Arduino jednofázový měřič spotřeby/výroby

Příspěvek od kodl69 »

Je ten stejný IO (ADE7755) i v elektroměrech s lcd displejem? Mám takový, zatím jsem ho nerozdělával, zrovna přes něj protéká proud.
ostrov skoro 8kWp neustále ve stádiu zrodu: smartshunt(ex WBJR), MPPT150/45, MPPT 250/100(ex midnitesolar 150 clasic lite), 16S a různě P cca 340Ah Winston, MP II 5000,( ex Powerjack 8kW, ex samodomo cca 4kW). 48V DC rozvody a spotřebiče.
Uživatelský avatar
emsi88
Příspěvky: 126
Registrován: pon čer 23, 2014 6:05 pm
Reputace: 3
Bydliště: SK-Vychod

Re: Arduino jednofázový měřič spotřeby/výroby

Příspěvek od emsi88 »

Teraz prave riesim meranie, ale potrebujem aj ucinnik a jednotlive fazy. Rozobral som 3f elektormer s imp. vystupom ORNO(polsky z cb elektro) a ten ma ten ADE7755(teda ATE7755). Napriklad meracia 1f zasuvka ma zase chip CS5460, ktory s displejom komunikuje cez SPI a preto zobrazuje aj ucinnik.
10x270Wp poly, VT-80, XTM4000-48, Samsung SDI 13kWh (z Audi E-tron), aktuálne v prestavbe

Odpovědět
  • Podobná témata
    Odpovědi
    Zobrazení
    Poslední příspěvek