Fórum | MyPower.CZ | Obnovitelné zdroje energie - energetická soběstačnost | Poslední návštěva: pon lis 28, 2022 4:36 pm


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

Automatizace, řízení, měření, logování a programování s využitím platformy Arduino.
PředchozíDalší

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

Příspěvekod PavelR » stř led 09, 2019 5:42 pm

co ja vim tak ani na ongridech nejsou zatim pouzivany elmery co by merili po periode ale maji daleko vetsi integracni okno. Jinak by nefungovaly zadny wattroutery,greenbono regulatory a podobny hebla ktery vlastne pouzivaji tvrdost site a v ramci okna elmeru udzuji bilanci dodavka/nakup na nule.

edit: az budou elmery co meri po periode tak zacne byt aktualni velky tema jak regulovat AC vykon plynule s prijatelnyma ztratama idelane bez mech prvku.
?
PavelR
 
Příspěvky: 2735
Registrován: ned led 29, 2012 3:59 pm

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

Příspěvekod kodl69 » čtv bře 21, 2019 9:41 am

pořád vymejšlím, jak rozumně udělat měření SOC a tady tohle je možná řešení, odvody pro elektroměry!
klasickej ADE7755
má vstup na přepínání DP pro AC/DC ! a má výstup pro směr proudu, tj stačí dvěma drátama spojit s auruinem a už jenom přičítat a odečítat pulsy. Vedlejší produkt může být DC wattmetr, DC elektroměr.
Otázka je, jestli má cenu něco vyrábět, nebo koupit nějakej elektroměr, kde už je všechno vevnitř, upravit jeho napájecí zdroj na DC napětí a jenom dopojit to arduino.
ostrov 4600Wp neustále ve stádiu zrodu: midnite classic 150 lite+whizbang jr., 16S a různě P cca 300Ah Winston, Ex Powerjack 8kW (momentálně samodomo cca 6kW). 48V DC rozvody a spotřebiče.
?
kodl69
podporuje fórum
 
Příspěvky: 6511
Registrován: sob črc 19, 2014 7:56 pm

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

Příspěvekod dracekvo » čtv bře 21, 2019 9:52 am

A není už něco hotovýho?
https://www.aliexpress.com/item/JUNTEK- ... 68833.html

Ale manuál se té wifi komunikaci moc nevěnuje.

Třeba toto? Třeba by s tím šlo nějak přes wifi komunikovat.
Mě vyšlo lépe než se trápit s vývojem, stejný čas věnovat práci a vydělat si na SOC monitor od victronu.
Uživatelský avatar
dracekvo
 
Příspěvky: 1915
Registrován: čtv zář 13, 2012 3:35 pm

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

Příspěvekod kodl69 » čtv bře 21, 2019 11:36 am

Já už ho mám v midnite...
Ten čínskej krám bude mít obvyklej problém, a to, že namě stabilní nulu, čímž se SOC rozchází tak, že je to v praxi nepoužitelný. podobnejch krabiček mám už několik, s tím jsem skončil.Ale spíš mi jde o doplněk BMS, když bude systém využívat víc baterek, aby bylo vidět, kolik je v které. Takže ani ne tak kvůli vlastnímu měření SOC, ale kvůli tomu, aby se třeba při velkejch odběrech zbytečně nevypínaly baterky na podpětí článku. A to se sice dá koupit, ale za nenormální peníze...
ostrov 4600Wp neustále ve stádiu zrodu: midnite classic 150 lite+whizbang jr., 16S a různě P cca 300Ah Winston, Ex Powerjack 8kW (momentálně samodomo cca 6kW). 48V DC rozvody a spotřebiče.
?
kodl69
podporuje fórum
 
Příspěvky: 6511
Registrován: sob črc 19, 2014 7:56 pm

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

Příspěvekod solárník » ned led 16, 2022 10:03 pm

Matess píše:ma takoveto reseni smysl?
distributor vam da stejne elektromer ktery meri kazdou pulvlnu, takze ssrkem sepnutym jedna pulvlna a 99 rozepnutych v jedne vterine sice z 2000W udela prumernou spotrebu 20W, ale elektromer to stejne spocita jako 2 smery, ne ? (2000W po 1/100s a 0W po 99/100s)


Podle teď honem nevímjaké směrnice EU nemá elektroměr distributora měřit každou půlvlnu, ale vyhodnocovat určitý časový interval, který už si nepamatuju, ale bylo to určitě víc než půlvlna.

Stejně jsem to původní řešení tenkrát zavrhl a tím snímacím Arduinem začal řídit přímo triakový regulátor, který sekal půlvlny na sekanou (něco jako regulátor otáček u vysavače, kde plynule řídíš otáčení toho potenciometru Arduinem) a posílal přebytek domu do bojleru. Oficiálně to dělal i autor GreenBonO v nějaké speciální fázové verzi jeho výrobku tuším. Jaká je situace dnes, nevím. Už je to pár let. Ale směrnice EU tuším platí stále.
?
solárník
 
Příspěvky: 1526
Registrován: pát bře 15, 2013 7:53 pm

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

Příspěvekod mpcz » pon srp 22, 2022 7:33 pm

Zdravím, řešení nepovolených přetoků je jak vidno i po letech stále aktuální. Než se pustím do výzkumu, prosím dotaz, zda někdo dotáhl do konce řešení vyvedením informace o přetoku z klasického odpočtového elektroměru, jeho zpracováním na Arduinu a připojením zátěže. Nebo nabíječky baterie, čímž se dá energie navíc smysluplně využít.
Také jsem nikde nenašel info, kolik takový Modrásek, (který má víceméně funkční blokaci přetoků), alias SUN1000/2000W těch přetoků udělá ve skutečnosti. A kolik po realizaci přídavného opatření s připojením přídavné zátěže při přetoku.
Jestli to dobře čtu, tak elektroměr může načíst za jednu 1/4 hodinu průmerně 115W, pak pokuta odvozená nejasným výpočtem.
Také by potěšila informace, který dnešní cenově dostupný elektroměr má možnost bastlením vyvedení výstupu s informací o přetoku. Nejlépe s již citovaným čipem ADE7755(ARS). Díky, mpcz, 22aug2022
?
mpcz
 
Příspěvky: 56
Registrován: sob kvě 14, 2022 12:27 pm

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

Příspěvekod glottis » pon srp 22, 2022 10:15 pm

mpcz píše:Zdravím, řešení nepovolených přetoků je jak vidno i po letech stále aktuální. Než se pustím do výzkumu, prosím dotaz, zda někdo dotáhl do konce řešení vyvedením informace o přetoku z klasického odpočtového elektroměru, jeho zpracováním na Arduinu a připojením zátěže. Nebo nabíječky baterie, čímž se dá energie navíc smysluplně využít.
Také jsem nikde nenašel info, kolik takový Modrásek, (který má víceméně funkční blokaci přetoků), alias SUN1000/2000W těch přetoků udělá ve skutečnosti. A kolik po realizaci přídavného opatření s připojením přídavné zátěže při přetoku.
Jestli to dobře čtu, tak elektroměr může načíst za jednu 1/4 hodinu průmerně 115W, pak pokuta odvozená nejasným výpočtem.
Také by potěšila informace, který dnešní cenově dostupný elektroměr má možnost bastlením vyvedení výstupu s informací o přetoku. Nejlépe s již citovaným čipem ADE7755(ARS). Díky, mpcz, 22aug2022


- pretok dela podle profilu zateze a nastaveni. Muze to byt 0-0,5kwh za den co mam vysledovane v normalnimprovozu.
- pridavne opatreni mam resene odpojenim menicu od site. Pokud v myslim 2 minutovem prumeru zjistim pretok vetsi nez 60 wattu, odpojim menic na 10 minut
- pretok merim pomoci shelly em3. Tim si posilam co 2s aktualni prikon domu po mqtt do esp32 (esphome) a pocitam ten klouzavy prumer
- ano, pri prekroceni 115W v prumeru 15 minut nasleduje trest. Vypocet ale je celkem jasny. Nechce se mi to hledat ale bere se vykon mikrozdroje a pri prekroceni nejakych procent tohoto vykonu jsou snad tri velikosti pokuty. Vyplati se mit registrovano co nejvic w mikrozdroj eprotoze pak je vwetsi misto k pretoku za min penez.
- ktery elektromer to umi nevim ale me vyhovuje to shelly em3. Mel jsme ale na stole 1f jednoduchy elektromer a chip v nem mel pin, ktery korespondoval s tim, jestli je odber nebo dodavka. Necetl jsme datasheet do podrobna. Asi pak proste dal pocitam impulzy a jen se bere jiny smer. Bylo by to celkem uchopitelne. Nemel jsem cas to zatim vic zkouset
?
glottis
 
Příspěvky: 471
Registrován: stř úno 02, 2022 10:30 am

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

Příspěvekod solárník » úte srp 23, 2022 8:55 am

mpcz píše:Zdravím, řešení nepovolených přetoků


Něco se řeší v tématu o přetocích tady na fóru, ale konkrétní řešení tam není. Já jsem nakoupil nějaké modrásky, takže to podle mé staré myšlenky, se kterou jsem zakládal toto vlákno, hodlám zrovna zbastlit. Měření přetoků mám, při dvou modráscích jsou denně mezi 10 a 35 Wh na jedné fázi.

POZOR, zjistil jsem, že nový malý Maneller elměr s displejem už nemá ADE7755, ani tedy netuším, zda ho kdy měl, já kdysi dělal první pokusy s malým Manellerem s mechanickým počítadlem a ten ho měl, tak doufám, že ho má i dnes.

V podstatě asi stačí použít pouze vývod REVP na detekci přetoku, jeho měření hodnoty vyřazením děličky pulzů stejně nebude podle mne asi tak rychlé, aby bylo k něčemu dobré. Okamžitě sepnout SSRkem (asi ideálně v nule, bude mít sice zpoždění o max půlvlnu, ale tak rychle stejně žádný elměr přetoky neměří, dle směrnice EU ani nesmí, ale se spínám v nule přpíadné zátěže vydrží nesrovnatelně déle, kamarádovi po týdnu spínání obyčejným relé nabíječka vybouchla).

Otázkou poslední je typ zátěže. Abychom na řešení přetoků neztratili víc, než je nutné. Obecně má přetok charakter pulzu, který se s časem exponenciálně snižuje až na nulu. Tedy budou vhodné všechny zátěže, u kterých nastává po zapnutí špička. Například tedy všechny spínané zdroje, čím prasáčtější (že nemají omezení nabíjecího proudu elektrolytů), tím lépe. Taky z klasických zátěží by měla dobře odpovídat například obyčejná žárovka, která má ve studeném stavu vysoký odběr a po zahřátí se sníží. Očividně asi nejekonomičtější bude spínat například nabíječku solárních baterií, kde žádnou energii v podstatě zbytečně neztratíme, pouze na účinnosti nabíječky. Popřípadě spirálu bojleru. Je ale otázkou, zda zapínací pulz, který bývá u spínaných zdrojů někdy značný, bude stačit na anulování přetoku. U bojleru určitě, u slabších zátěží musejí mít dostatečný zapínací pulz.

Moje myšlenka je taková, že budu spínat zátěž přesně podle signálu REVP z ADE7755. Nic víc, nic míň. Jednoduché jak facka a účinné. U některých SSR s malým spínacím proudem není ani třeba cokoli řešit Arduinem, lze připojit přímo SSR na signál REVP elměru (ADE), popřípadě s tranzistorovým mezistupněm, pokud by proud nestačil. Pozor, pak celý obvod není izolován od sítě, tedy člověk musí dávat bacha, ale izolace od sítě ani při použití SSR není nutná. U použití Arduina už musíte dát optočleny, abyste to odizolovali, jinak se při připojování do sítě nebo přes USB můžete škaredě ulovit nebo něco zničit.
?
solárník
 
Příspěvky: 1526
Registrován: pát bře 15, 2013 7:53 pm

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

Příspěvekod glottis » úte srp 23, 2022 11:21 am

pretok muze byt klidne i o rad vetsi. Treba indukcni deska nebo trouba, jak spina a rozpina tak pretoku muze nasekat hodne. Kdyz se blbe trefi frekvence spinani do pomale regulacni smycky modraska je to vetsi.

Presne co popisujes jsme chtel zkusit. Zajimavejsi by bylo jeste reagovat na velikost pretoku a fazove ridit treba topnou spiralu do bojleru.
?
glottis
 
Příspěvky: 471
Registrován: stř úno 02, 2022 10:30 am

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

Příspěvekod solárník » úte srp 23, 2022 1:24 pm

glottis píše:pretok muze byt klidne i o rad vetsi. Treba indukcni deska nebo trouba, jak spina a rozpina tak pretoku muze nasekat hodne. Kdyz se blbe trefi frekvence spinani do pomale regulacni smycky modraska je to vetsi.

Presne co popisujes jsme chtel zkusit. Zajimavejsi by bylo jeste reagovat na velikost pretoku a fazove ridit treba topnou spiralu do bojleru.


To by šlo na výstupu CF z ADE7755 je poměrně rychlý impulzní výstup (už si nepamatuju, ale myslím cca stovky Hertz při kW), ale nejsem si jist, jestli by se podařilo tak rychle uřídit nějaký triak. Ta rychlost reakce by musela být blesková, tedy žádná zpětnovazební regulace, ale asi přímo tabulka hodnot střídy (tedy PWM) triaku ku periode CF impulzů, pak by to rychlostně nějakou šanci mělo. GreenBonO má tohle v podstatě už ve fázové verzi udělané (ale asi zpětnovazebně, tedy to bude pomalé), tam si nejsem jist, zda to má takovou rychlost, aby to na ten jehlový peak nějak rychle zareagovalo.

Otázkou je, jestli už nebude jednodušší porochat se v modráskovi, aby reagoval rychleji a přetoky nedělal :)
?
solárník
 
Příspěvky: 1526
Registrován: pát bře 15, 2013 7:53 pm

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

Příspěvekod glottis » úte srp 23, 2022 4:09 pm

solárník píše:
glottis píše:pretok muze byt klidne i o rad vetsi. Treba indukcni deska nebo trouba, jak spina a rozpina tak pretoku muze nasekat hodne. Kdyz se blbe trefi frekvence spinani do pomale regulacni smycky modraska je to vetsi.

Presne co popisujes jsme chtel zkusit. Zajimavejsi by bylo jeste reagovat na velikost pretoku a fazove ridit treba topnou spiralu do bojleru.


To by šlo na výstupu CF z ADE7755 je poměrně rychlý impulzní výstup (už si nepamatuju, ale myslím cca stovky Hertz při kW), ale nejsem si jist, jestli by se podařilo tak rychle uřídit nějaký triak. Ta rychlost reakce by musela být blesková, tedy žádná zpětnovazební regulace, ale asi přímo tabulka hodnot střídy (tedy PWM) triaku ku periode CF impulzů, pak by to rychlostně nějakou šanci mělo. GreenBonO má tohle v podstatě už ve fázové verzi udělané (ale asi zpětnovazebně, tedy to bude pomalé), tam si nejsem jist, zda to má takovou rychlost, aby to na ten jehlový peak nějak rychle zareagovalo.

Otázkou je, jestli už nebude jednodušší porochat se v modráskovi, aby reagoval rychleji a přetoky nedělal :)


Pokud znas prikon zateze (u cinneho jo), presne bych napocital tabulku delky sepnuti a treba nejaky dobeh.

Jestli se ti povede neco v modraskovi porochnat nevim :) Jsou o nem vasnive diskuze vse mozne, vsichni neco zkousi a nikdo nic neudelal. Dobre pokusy byli, kdyz mel jeste externi limiter. To by totiz byla parada a skoro by to slo jen pripojit na ten pin co signalizuje pretok :) Bohuzel to prestali delat.

Pak je tam konektor na nejake teplotni cidlo ale to zase vypne limiter. A pak jsme jeste zkousel zasahovat do proudoveho cidla. Jedine co slo, ze odpojeni cidla stahlo vykon menice na 0. Jednou se to posralo, preteklo mi v pulhodine asi 0,6kwh a stalo me to asi 1200kc :) Mel jsem jeste v planu zkratovani cidla a reverzaci polarity ale od te doby na pokusy kaslu a jen kdyz detekuju problem, menice proste odpojim. Mam to aspon i jako dalkove zastaveni, kdyz klesne SOC na bateriich, kdyz je pretok a kdyz nejakej cas nedostanu info o prikonu domu. Pak je poplach a vypnuti :)

Takze si klidne pohraj :) Ale doporucuju to delat na pripojce, kde to nemas hlasene ofiko :D jinak te to muze bolet.
?
glottis
 
Příspěvky: 471
Registrován: stř úno 02, 2022 10:30 am

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

Příspěvekod mpcz » sob srp 27, 2022 7:14 am

Zdravím. K těm přetokům (Modrásek SUN1000/2000. Dlouhodobým zkoušením jsem nalezl "indikátor přetoku" s online = nepostřehnutelnou délkou reakce. Je to kupodivu nejlevnější elektroměr na trhu Maneler 9920M. Bohužel je to starší věc, takže není jednoduché ho ještě koupit v krámu. O to jednodušší je vytažení indikace přetoku. Má totiž LED blikačku na S0 a také LED přetoku (bez vyvedeného výstupu). Takže stačí svorku SO přepojit na LED přetoku a je to. Elektroměr dál měří tak, jak před tím. Navíc ta destička je maličká, lehce vyjmutelná a zapojení naprosto čitelné.
Ohledně těch přetoků Modráska: asi by to chtělo nějaký kvalifikované výzkum s konkrétními výsledky. Protože informace zde jsou velmi všeobecné a mnohdy jen dohady. Navíc hodnoty přetoků od různých uživatelů Modráska se řádově liší. Bylo by asi dobré vědět, kolik kusů přetoků třeba za 1 den vznikne a jaká energie za jeden přetok vznikne. Je sice pravda, že pokud celkově za 1 den někomu vznikne sumárně třeba xxxWh, je jasné, že se do limitu vleze i v rámci jedné 1/4hodiny. Toto ujištění ale není dlouhodobě bezpečné. Výzkum pokračuje ... mpcz, 27aug2022
?
mpcz
 
Příspěvky: 56
Registrován: sob kvě 14, 2022 12:27 pm

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

Příspěvekod mpcz » pon zář 05, 2022 4:44 pm

Tak máme další posun. Našel jsem elektroměr, který splňuje vše, co potřebujeme k analýze stavu a případným obranným opatřením proti nežádoucím přetokům, přičemž je schopnost měřit odběr i dodávku zachována. Nemusí se nic HW upravovat.
Na obyč. elektroměr 1U s LCD jsem se napojil opticky oddělenou 485-kou, což zas není takový problém a tím mám k dispozici online dodávku = přetok vč. hodnoty. Takže dodávka = přetok > 0 spíná alarm = opatření proti přetoku. To ještě nevím, jaké bude. Ale snad už to tu někdo řešil, dám se poučit o spolehlivé cestě.
Taká lze součtově vyčíst dodávku v rámci 1/4 hodiny, což je doba, za kterou to počítá ERU / ČEZ / EGD a stanovuje sankce. Takže pokud už mám za 1/4 hodinu načteno nebezpečně moc, raději to celé odpojím.
Převod 485 na LAN a do mobilu s Androidem již mám vyřešeno a v provozu, takže to zas celé takový problém není. Jen ten výzkum něco času zabere. A taky se hromadí staré nepotřebné krámy ze "slepých uliček".
Z registrů elektroměru lze taky vyčíst a součtově načítat celkovou dodávku a odběr za stanovenou dobu, takže i grafy a analýzy.
Celé je to postavené na Arduinu UNO za pár korun + Moxa převodník dělá provoz do Android mobilu. mpcz, 5sep2022
?
mpcz
 
Příspěvky: 56
Registrován: sob kvě 14, 2022 12:27 pm

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

Příspěvekod solárník » ned říj 09, 2022 11:50 pm

Ještě jsem to zkoumal, pár postřehů:

- všechny malé jednofázové elměry S MECHANICKYM POCITADLEM maji ADE7755, včetně cejchovaných. Digitalni s displejem nemají, maji jiný obvod!

- v současnosti (10/2022) vyhovuje velmi levně prodávaný Huttermann HT-1PM je pro tohle ideální, stojí pár stovek a má dvojitou LEDku, tedy už připojený výstup REVP! Tedy se to nemusí riskantně pájet na vývody ADE7755! Stačí pouze vypájet IO děličky a pár součástek okolo optočlenu, přidat další optočlen a zapojit podle návodu na začátku tohoto vlákna k Arduinu.

- někdo se tu ptal na časování výstupu REVP - zahledal jsem v manuálu ADE7755 a tam se píše, že REVP (=znaménko toku energie) se nemění nezávisle, ale POUZE SOUČASNĚ s pulzem na CF. Tedy spolu s pulzem elektroměru. To je důležité zjednodušení pro programování - nemusíte řešit dvě přerušení, ale nastavíte pouze jedno na výstup pulzů CF a po spuštění přerušovací rutiny se pouze dotážete na stav vstupu REVP.

- zkoumal jsem přetoky modráska takto upraveným elektroměrem s připojením k Arduinu a délka přetoků z modráska nepřesahuje v naprosté většině 5 sekund, do té doby zpětná vazba modráska dokázala v podstatě vždy přetok zastavit sama. Velikost přetoků dělá většinou 1 až 2 Watthodiny denně (u poslední verze modrásků koupené letos), tedy ani za rok vám elektroměr na domě nezaznamená ani kiloWatthodinu přetoku P a distributor nebude vyvádět. Ale pozor, přetok se dramaticky zvyšuje při vykrývání spotřeby přístrojů, které rychle vypínají a zapínají zátěž. Příklad může být elektrická trouba, která reguluje teplotu. Tam je při dosažení teploty přepnuto na PWM řízení topidla, což znamená periodické spínání a vypínání. Pak jsem naměřil za den přetok modráska až 10Wh do sítě, tedy by vám to za rok mohlo natočit 3kWh přetoku P na elektroměru a průser by byl na spadnutí, pokud nemáte přihlášený mikrozdroj.

- při programování Arduina můžete postupovat většionu dvěma způsoby - buď vyhodnocovat čas mezi dvěma pulzy (méně přesné), nebo zpracovávat celé například minuty (počet pulzů děleno časem). Pro obě verze potřebujete pracovat s funkcí micros(), která však každých cca 70 minut přeteče (=čas se vrátí na nulu a jede zase od začátku)! Musíte tedy ošetřit dobře tuto situaci, jinak vám to bude každých 70 minut hlásit nesmyslné údaje, pokud se vám to zcela nezasekne.
?
solárník
 
Příspěvky: 1526
Registrován: pát bře 15, 2013 7:53 pm

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

Příspěvekod kodl69 » pon říj 10, 2022 12:42 am

Jenom detail: pro micros() , nestačí milis() ? když se počítají pulsy za celou minutu, tak není důvod. A to přetečení je nepříjemný i u milis(), ale někde jsem na to našel knihovnu, která to u časovačů řeší.
ostrov 4600Wp neustále ve stádiu zrodu: midnite classic 150 lite+whizbang jr., 16S a různě P cca 300Ah Winston, Ex Powerjack 8kW (momentálně samodomo cca 6kW). 48V DC rozvody a spotřebiče.
?
kodl69
podporuje fórum
 
Příspěvky: 6511
Registrován: sob črc 19, 2014 7:56 pm

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

Příspěvekod solárník » pon říj 10, 2022 12:56 am

kodl69 píše:Jenom detail: pro micros() , nestačí milis() ? když se počítají pulsy za celou minutu, tak není důvod. A to přetečení je nepříjemný i u milis(), ale někde jsem na to našel knihovnu, která to u časovačů řeší.


Celou minutu možná stačí. Ono je to stejně jedno, jak píšete, u obou s tím musíte počítat.
Pokud ale někdo dělá i samostatné pulzy (pokud chce třeba vidět i minimum a maximum za tu minutu), pak už by měl použít micros, protože jak koukám do dat při 1,74 kW bylo mezi pulzy jen okolo 4300 mikrosekund. Tedy při milis to bude mít chybu 25 % a to nemluvíme o vyšších výkonech.
?
solárník
 
Příspěvky: 1526
Registrován: pát bře 15, 2013 7:53 pm

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

Příspěvekod solárník » pon říj 10, 2022 1:11 am

Jinak to řešení přetečení

- hlavně zachovávat stále všechny zůčastněné proměnné unsigned long (jako jsou millis a micros), protože klasický long přetéká už na poloviční hodnotě.

- při porovnávání času minulého a současného neprovádět žádné operace, pouze porovnávat, zda je minulý<současný, jinak to taky přeteče nechtěně, mimochodem - rozdíl dvou unsigned long bude vždy kladný :) tedy tudy cesta nevede, pokud to někdo dá do podmínky třeba jako if (současný-minulý>0) {pak nepřeteklo} tedy nebude fungovat.

- když si představíte, že by vám ta proměnná přetekla při třeba stovce, určitě vám dojde, jak to správně pro případ přetečení naprogramovat a jak spočítat výsledek správně, i když to přeteklo ;) Pak už si stačí najít, při kolika přetéká unsigned long a napsat to zcela stejně.
?
solárník
 
Příspěvky: 1526
Registrován: pát bře 15, 2013 7:53 pm

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

Příspěvekod glottis » pon říj 10, 2022 7:56 am

pro ostatni ... spravna podminka pro reseni preteceni by mela vypadat takhle
Kód: Vybrat vše
if(millis() - time_now > period){
        time_now = millis();
        Serial.println("Hello");
    }


tedy pri odcitani unsigned log jak je v tom ifu je vzdy spravne rozdil ikdy zto pretece.

vysvetlene a ukazane je to treba tu: https://www.norwegiancreations.com/2018 ... nd-micros/

Pretoky co jsme nameril s shelly 3em jsou na trech modrascich dohromady asi 100wh za den kdyz nejsme doma a je spotreba stala. Kdyz jsme doma je to horsi. Treba 300-400wh denne. Vetsina je pak na fazi, kde je treba ta zminena trouba nebo indukce.
?
glottis
 
Příspěvky: 471
Registrován: stř úno 02, 2022 10:30 am

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

Příspěvekod solárník » pon říj 10, 2022 9:48 am

glottis píše:pro ostatni ... spravna podminka pro reseni preteceni by mela vypadat takhle
Kód: Vybrat vše
if(millis() - time_now > period){
        time_now = millis();
        Serial.println("Hello");
    }



Tohle se dá použít, jestli to dobře chápu, když víte, jak dlouho přibližně bude ta operace trvat (hodnota period), když třeba stopujete minutu. U měření délky pulzů nevíte nic, tedy je to k ničemu.
?
solárník
 
Příspěvky: 1526
Registrován: pát bře 15, 2013 7:53 pm

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

Příspěvekod glottis » pon říj 10, 2022 10:05 am

neni pravda. kdyz si ulozim cas pri impulzu tak udelam jen millis() - posledni_cas_impulzu tak pri pristim impulzu mi tohle rekne cas mezi impulzy

tedy v pseudokodu kdy v time j epak trvani toho casu mezi pulzy
Kód: Vybrat vše

unsigned long last = 0;
unsigned int time = 0;

ISR() {
unsigned long now = millis();
time  = now  - last;
last= millis();
}



to zkus, melo by to tak byt
?
glottis
 
Příspěvky: 471
Registrován: stř úno 02, 2022 10:30 am

PředchozíDalší

Zpět na Arduino

Kdo je online

Uživatelé procházející toto fórum: CC [Bot] a 0 návštevníků

Reputation System ©'