Arduino - open energy monitor

Automatizace, řízení, měření, logování a programování s využitím platformy Arduino.
Odpovědět
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

Arduino - open energy monitor

Příspěvek od kodl69 »

Po naťuknutí z fóra se snažím zprovoznit open energy moinitor - měření celkem v pořádku, jenom mám problémy s přenosem dat mezi RFM69CW - komunikace v pořádku, pokud odesílám hodnoty do proměnných "napsané" ručně, tak taky v pořádku, ale pokud posílám naměřené a arduinem vypočtené hodnoty, tak to píše nesmysly. Už nevím co s tím. V emonu mám nahrané: https://github.com/openenergymonitor/em ... oltage.ino
v druhém arduinu co je jako gatevay mám sketch, co jenom zobrazí data na sériový port, https://github.com/openenergymonitor/Na ... tiNode.ino
samozřejmě mám nastaveny parametry co patří, jinak nechodilo nic. Dokonce jsem po bezesné noci vylaboroval, že vstup D2 arduina je nutno zatížit rezistorem 2k2 proti zemi, jinak se na něm indukují chybné signály přerušení a data nechodí vůbec.
Vyzkoušel jsem příklady z knihovny RFM 69 https://github.com/LowPowerLab/RFM69/bl ... e/Node.ino to všechno funguje dobře.
Mám podezření, že chyba vzniká, když se hodnota proměnné typu "double" ukládá do "int" kvůli naplnění bufferu k odeslání dat, ale nějak nevím co s tím. Odesílám např 23920 a přijímám 30975, pokud ale zadám hodnotu proměnné ručně, tak je přenos v pořádku, asi to má nějakou souvislost s datovými typy, ale internet mlčí nebo odpovídá jako pracovník microsoftu (správně, ale informace je k ničemu).
Prosím o tipy, jak to řešit.
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
rottenkiwi
Příspěvky: 5451
Registrován: pát úno 13, 2015 2:24 pm
Reputace: 285
Lokalita: SO, SK
Bydliště: SO, SK

Re: Arduino - open energy monitor

Příspěvek od rottenkiwi »

Odkial si to 2. arduino berie dlzku buffra ? Je spravna ?
DC-AC inverter REC Lion DC-AC ESP32 DIY inv. 15 GB za sekundu DIY MPPT Holder
Zjedz vsetko, co si kupil, v obchode a netreba ti tasku, auto ci chladnicku.
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 - open energy monitor

Příspěvek od kodl69 »

délka se posílá jako součást paketu, vyčítá se to z knihovny co je k tomu rfm69 (rfm 12), to je určitě správně, rádio si kontroluje CRC a pokud nesedí, tak se ta zpráva zahodí.
Spíš bude problém v typu proměnných, to co se vypočítá je double (v arduinu uno float) a pak se z toho dělá integer do proměnné typu struct, protože když zadám ty hodnoty do vstupního bufferu (proměnná struct obsahující int) "natvrdo", je to ok., přijde to co má. v emontx_3phase... jsou proměnné double def. na ř. 215 a dál, struct na 239, a je nazvaná emontx , na 335 a dál je proměnná naplněná, když si to dám vypsat na serial, vypadá to ok, ale chodí to jenom když přímo zadám hodnoty číselně. Prostě potřebuju nějak korektně ten double nebo float převést na int, a je hotovo. Je zajímavý, že to je na githubu, a ostatním to asi chodí, jinak to nechápu, mám IDE 1.6.5, tak nevím, kde by mohla být chyba, snad už jenom v tom IDE
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
rottenkiwi
Příspěvky: 5451
Registrován: pát úno 13, 2015 2:24 pm
Reputace: 285
Lokalita: SO, SK
Bydliště: SO, SK

Re: Arduino - open energy monitor

Příspěvek od rottenkiwi »

Tak potom tam treba na riadky 335 až 339 pridať:

emontx.power1 = (int) realPower1;
.
.
.
DC-AC inverter REC Lion DC-AC ESP32 DIY inv. 15 GB za sekundu DIY MPPT Holder
Zjedz vsetko, co si kupil, v obchode a netreba ti tasku, auto ci chladnicku.
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 - open energy monitor

Příspěvek od kodl69 »

to už jsem taky zkoušel, dokonce jsem zkusil i další meziproměnnou s přetypováním, a pořád je výsledek např. 3170 místo 2398. Pokud do té proměnné uložím přímo tohle číslo, je to ok, tak už nevím. Jestli není chyba to přetypování na straně příjmu: int num = ((unsigned char)rf12_data[i+1] << 8 | (unsigned char)rf12_data);
Nejhorší je, že jsem zkoušel i jiný knihovny (RFM69 od lowpowerlab), jejich příklad se vstupem analog. hodnoty jako int šlape ok, a když jsem to narouboval do emonitoru, tak to zas bylo blbě přenesený. Prostě z jednoduché věci se stává drama.
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.
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 - open energy monitor

Příspěvek od kodl69 »

takže pro případné další uživatele open energy monitoru: vysílací strana s RFM 69, pokud se sketch kompiluje a nahrává z
IDE v.1.06, tak všechno funguje správně. Trochu alchymie....
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.

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