Re: vykreslování grafů z velkého množství dat

Vláďa Anděl vaelektronik na vaelektronik.cz
Pondělí Prosinec 9 13:29:53 CET 2024


Dobrý den,
data nebudu sbírat přes PC. Původně jsem chtěl udělat dataloger s ESP32, 
jenže s tím nemám zkušenosti a na tom jsem ztroskotal. Na Github jsem si 
stáhnul ovládání SD karty přes Bluepill, jenže i když se dají najít 
detailní videa jak pro blbce, jak nainstalovat Cube, jak tam nahrát celý 
projekt z Github, nepřeložilo mi to, že tomu prý nějaký soubor chybí. 
Pak problémy s programovadlem STlink. Taky to nechodilo, protože je tam 
čínská kopie a nakonec tam šel program nahrát něčím alternativním (kdyby 
šel přeložit), tak jsem na tom rozblikal ledku a tím moje úsilí skončilo.

Na dataloger jsem si koupil tenhle modulek 
https://pajenicko.cz/openlog-microsd-data-logger který, světe div se, má 
v sobě nějaký Atmega. Komunikuje přes sériovou linku, dá se přepnout na 
115200 Bd a to už je rychlost, při které v úsporném formátu wav, kde 
posílám v binárním tvaru dva bajty jeden kanál, dva druhý kanál, to ty 2 
KHz stíhá. Takže tam dám mého oblíbeného silabse, který bude ty dva 
galvanicky oddělené převodníky přes SPI ovládat, těch měření bude dělat 
víc a bude to průměrovat a ještě si k tomu připojím DCF přijímač (modul, 
které jsem dřív vyráběl), aby to z něj bralo čas.
To obrovské množství dat se dá snadno zobrazit třeba přes audacity. Umí 
v tom hledat maxima a i když si to prohlídnu jen tak přehledově, uvidím 
přibližně, co tam kde je. Můžu si to měřítko různě roztahovat a detaily, 
které mě zajímají, si uložím jako už malé wav soubory a převedu do csv 
pro zobrazení v excelu. To je pro mě zatím cesta s nejmenším bádáním.

V podstatě mi jde o to, že u polarizovaných drenáží, které už 15 let 
dělám, se mi v posledních dvou instalacích hodně často stávalo, že to 
vypálilo pojistku. Napětí mezi kolejí a potrubím, které ten proud z 
kolejí má chránit proti vlivu bludných proudů (tedy proti korozi), by 
nemělo být větší, než 70V. Jenže jsem to musel dělat na 250V v závěrném 
směru (celá polarizovaná drenáž vlastně funguje jako dioda s regulací 
proudu v propustném směru) s tím, že je tam omezovač přepětí, který to 
dokáže na 50 ms zatížit proudem max. 160A. Varistorová přepěťovka při 
prvních pokusech za pár dní chytla plamenem. V propustném směru se 
napětí omezuje na 150V odporem, který v provozním stavu (do 80V) 
reguluje proud a dokáže obvod zatížit proudem 300A po dobu 1,5 vteřiny. 
Až když tohle nestačí, jako další stupeň ochrany to jde do zkratu a 
vypálí to pojistku.

Impulzní přepetí řádu KA a mikrosekund tam není,  na přívodu je 
vícekomorové jiskřiště 50 KA/350 us a za ním drenážní tlumivka 16,5 
mH/100A. Ta slouží k tomu, aby to neovlivňovalo zabezpečovací obvody. 
Impulz 350 us omezený jiskřištěm na 2,5 KV změní proud v tlumivce o 50A, 
což je v pohodě. Ale dějou se tam jiné věci, kdy ty impulzy jsou jen ve 
stovkách voltů a jsou dlouhé desítky ms až několik vteřin. A tohle 
potřebuju sledovat.

Takže provizorně je v sérii s drenáží omezovač proudu s 32 halogenkama 
230V 1KW a prý si to občas blikne, nebo i se to na nějakou vteřinu 
rozsvítí. Pokud to sepne do zkratu, nevypálí to pojistku. Z historických 
zkušeností, když se dělaly ještě žárovkové polarizované drenáže ( 60. 
léta, dioda a s ní v sérii kombinace žárovek pro stabilizaci proudu) se 
ví, že 60V žárovky i když byly v sérii, praskaly, ale 220V halogenka prý 
vydržela vždycky všechno.

Takže dělám moduly s SiC tranzistory na 650V s tím, že kvůli ostatním 
věcem (kondenzátory, odpory, nechci dělat nové verze desek) tam bude jen 
do 500V a chtěl bych to tam měřit aspoň týden, abych věděl, co od toho 
mohu očekávat. Jestli těch 500V bude stačit. Jinak je tam dálkové 
sledování přes GSM, to ale měří po 6 minutách a na 24 hodin umožňují 
spustit intenzivní měření po vteřině. Jediné, co se tím zjistilo, že při 
rozsahu 200V to občas ukazuje maximum a na grafu to na těch 200V udělá 
slušnou čáru. Kolik je tam ve skutečnosti, nikdo neví.

Impulzní regulace mi jede na 300 Hz (kmitočet, který nevadí 
zabezpečovačce a pro regulaci využije indukčnost drenážní tlumivky) a 
při vzorkování 2 KHz (podle možností to budu průměrovat z víc vzorků) by 
to mělo trochu rozumně zobrazit průběh periody. S tím, že pokud budu 
chtít pro přehledový graf vidět průměr za periodu, audio editory mají 
spoustu filtrů a s těma velkýma datama si dokážou poradit. Ale i tak ten 
primární záznam nebudu dělat v jednom kuse, ale třeba po dnech.

Anděl

Dne 08.12.2024 v 23:56 Petr Labaj napsal(a):
> Přijde mi to hodně dat a hodně rychle na to, aby se používaly nějaké 
> univerzální prostředky a postupy.
> Je to přes 1.2 miliardy řádků. To už je (podle mě) hodně na to, aby se 
> plýtvalo místem na nějaký neúsporný textový formát dat, který znamená 
> nárůst proti syrovým datům aspoň na 4-násobek.
> Navíc frekvence zápisu 2kHz možná může být už na PC s Windows s jeho 
> latencemi občas moc.
>
> Já bych tam strčil nějaký ESP32 nebo něco podobného, který by to 
> sbíral tou rychlostí 2kHz a posílal do PC třeba jednou za sekundu nebo 
> třeba 10 sekund.
> V nějakém proprietárním úsporném formátu.
> A vyhodnocení nad tím si udělat uživatelsky.
>
> Trochu mi uniká jak v grafu s miliardou 4-položek budete očima něco 
> hledat. Na to je snad lepší nějaké předzpracování procesorem, který 
> vyrobí průměry a označí maxima nebo jinak významné body a tak.
>
> Připadá mi to jako jednoznačný kandidát na nějaké specializované 
> zpracování. Ne na nějaký Excel nebo jiný univerzální nástroj.
> Když už univerzální nástroj, tak pak nějakou TSDB (Time series 
> database) a nad tím pak nějaký nástroj typu Grafana.
>
> PL
>
> *******************
>
> Dne 8.12.2024 v 12:30 Vláďa Anděl napsal(a):
>>
>> Dobrý den,
>>
>> zase mám volněji a zabývám se myšlenkou na dataloger. Celkem běžně 
>> používaný formát zápisu je textový csv, na každém řádku datum, čas a 
>> neměřené hodnoty. Dá se to naimportovat do excelu (calcu). Jenže tam 
>> je počet řádků omezený na 2^20 a vždycky jsem si říkal, jak je ten 
>> calc pomalý. Tady jsem si přečet vysvětlení 
>> https://ask.libreoffice.org/t/kdy-bude-zvetsen-maximalni-pocet-radku/62648 
>> že vlastně ta buňka neobsahuje jen to číslo, které jsem do ní vložil, 
>> ale má spoustu dalších vlastností, což pak nejen žere paměť, ale 
>> zpomaluje jakoukoliv manipulaci - třeba vykreslení grafu.
>>
>> Co bych potřeboval - vzorkovací kmitočet 2 KHz a dobu záznamu aspoň 
>> týden. Milion řádků v excelu by bylo 500 vteřin záznamu, to by bylo 
>> strašně rozkouskované. Potřebuju zapisovat dva kanály (napětí, proud) 
>> a tak mě napadlo použít formát wav souboru. Zapíše se hlavička a pak 
>> už se tam hrnou data dva bajty levý, dva bajty pravý. Audacity s 
>> velkým balíkem dat umí, dokáže hledat maxima (o ty mi právě jde), jen 
>> nevím, jestli vezme vzorkování 2 KHz. Ale jde jen o měřítko času, 
>> není to až tak zásadní. Problém je tam v tom, že graf nemá nějaké 
>> rozumné měřítko. Vidím sice průběh, ale jsou tam čtyři čárky na celý 
>> rozsah.
>>
>> Je něco jiného na zobrazení tak velkého balíku dat, aby to ukazovalo 
>> nějaké rozumné měřítko a aby tam bylo případně i nějaké kurzorové 
>> odměřování? Pokud možno free? Taky si to mohu celé zhruba zobrazit v 
>> audacity a pak jen ty vybrané kousky vystříhnout, uložit jako wav, 
>> převést do csv a zobrazit v excelu. Lepší by bylo, kdyby to nějaký 
>> nástroj uměl přímo.
>>
>> Anděl
>>
>
> _______________________________________________
> HW-list mailing list  -  sponsored bywww.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list

------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20241209/460dfae7/attachment.htm>


Další informace o konferenci Hw-list