Fórum | MyPower.CZ | Obnovitelné zdroje energie - energetická soběstačnost | Poslední návštěva: pát zář 20, 2019 8:23 am


2.6x přesnější měření než běžně na Arduinu

Arduino, SDS, Raspberry, Linux, vzdálený dohled, automatizace, měření, opensource, closedsource, hotová řešení, DIY, stavebnice, komponenty, software, postupy, návody, schémata, rady, zkušenosti ...

2.6x přesnější měření než běžně na Arduinu

Příspěvekod mypower.cz » čtv srp 30, 2018 5:26 pm

Ahoj.

CIste teoreticky... :sm1:

Mejme baterky obecne, ktere maji nominalne 24V. Maximalne s rezervou rekneme 32V, vse co je pod 20 nas nezajima, to uz jsme mrtvi a vypiname vse co vypnout jde.
Pokud prevedeme 32V -> 5V, zjistime, ze nejnizsi hodnota, kterou kdy fakticky budeme merit je 20V -> 3.125V.
V poctu dilku u 10ti bitoveho rozliseni A/D prevodniku je to 32V = 1023, 20V = 639. 639 hodnot nikdy potrebovat nebudeme. Rozlisujeme jen 384 hodnot.
Presnost je 32V - 20V = 12V / 384 = 0.0312V , nebo take 32V / 1023 = 0.0312V = totez.

No a me ted napadlo: ::rolleyes::

Co kdybychom merene napeti shiftnuli o 20V dolu, orezali vse co je na shiftnutem vystupnim signalu pod 0V a merili od 32V - 20V = 12V po 20V - 20V = 0V.
Vse pod 20V je zaporne. Napriklad 0V - 20V = -20V ale takovy signal je chybovy a je mozne tak treba vyvest nejaky error pin mozna i.

Pri tomto mereni nam hodnota 1023 na AD prevodniku reprezentuje nasich 32V a 0 je pro 20V. Vse pod je odfiltrovano a jako zaporne a je stale 0 navic s pinem signalizujicim error.
To mame ale 1023 dilku v rozsahu, ktery nas zajima.
Presnost by mohla byt 32V - 20V = 12V / 1023 = 0.0117V.

To je 2.6x lepsi presnost a vyuziti plneho rozsahu AD prevodniku na maximum. ::popcorn::

Tadyhle nekdo poptava opacnou funkci. Shift signalu +- 2.5V na 0-5V.
https://electronics.stackexchange.com/q ... al-to-0-5v

Je tu nejaky sikovny elektornik ktery by poradil s navrhem? S tim shiftem si asi neporadim. To je na me vyssi divci. Koncim u odporovych delicu. Tam to jeste zvladam.

Ma cenu to zkouset? Ja myslim ze primet a nakalibrovat obycejne arduino s dobrou referenci na 2.6x lepsi presnost pro mereni treba 24V baterek by nemuselo byt marne.

Diky za nazory.

:read: :write: :comp: :celebrate2:
Podpořte MyPower.CZ | 2.24kWp FVE | MyPower MicroLog2 | Podzimní sraz 21.9.2019 (PDF)
BTC support 37uvSpUKTCmcJZD9bs8ZWhdrubxBxRZSuT | LTC support LPYitoWPn3k5PqWBWmuzbcwj344THtZ7q2
Uživatelský avatar
mypower.cz
Site Admin
 
Příspěvky: 3689
Registrován: pát bře 04, 2011 11:36 am

Re: 2.6x přesnější měření než běžně na Arduinu

Příspěvekod rimi » čtv srp 30, 2018 5:51 pm

pouzivam delic se zenerkou (priblizne hodnoty pro 24V), aby se z napeti 18 - 32 stalo 0-5V, no ten AD prevodnik arduina neni moc stabilni, skace to i o 0,2V:

plus
|
zenerka na 18V
|
odpor 4k7
|
odsud drat k arduinu
|
odpor 2k7
|
spolecna zem
http://forum.mypower.cz/viewtopic.php?t=617#p7804
rimi
 
Příspěvky: 324
Registrován: čtv říj 13, 2011 9:45 am
Bydliště: Příbor

Re: 2.6x přesnější měření než běžně na Arduinu

Příspěvekod rottenkiwi » čtv srp 30, 2018 6:03 pm

Teória je síce pekná, ale prax je iná. Iné je niečo merať vo Faradayovej klietke
a iné vedľa 4 x DC-DC menič, 3 x DC-AC menič na ktorom sú ešte 3 PC / 800 W a 5 žiariviek.
Vedľa toho sú 3 dualband WiFi modemy, ktoré majú 12 anténok. :)

A to už nehovorím o meraní, keď je zapnutý 400 W reprák, myslím, že to meranie,
ak bude dostatočne rýchle bude korelovať s basovou linkou mp3-ky.
Dělej vše, jak nejlépe dovedeš. Ale ne lépe. 4. dohoda.
Si anode Spectrum BMS SEI formation Float Ochrana High SOC deg. MPPT Post Bud Bindi 1993
Uživatelský avatar
rottenkiwi
 
Příspěvky: 2798
Registrován: pát úno 13, 2015 2:24 pm
Bydliště: SO, SK

Re: 2.6x přesnější měření než běžně na Arduinu

Příspěvekod rimi » čtv srp 30, 2018 6:18 pm

rottenkiwi píše:Teória je síce pekná, ale prax je iná.

https://cs.wikipedia.org/wiki/RC_článek
rimi
 
Příspěvky: 324
Registrován: čtv říj 13, 2011 9:45 am
Bydliště: Příbor

Re: 2.6x přesnější měření než běžně na Arduinu

Příspěvekod rottenkiwi » čtv srp 30, 2018 6:43 pm

No ale to už nebude reálne meranie, ale meranie po úprave RC článkom, to už bude
časovo úplne mimo realitu.
Keď chcem odstrániť rušenie, tak možem použiť aj soft, ale sme zase tam kde sme
boli, že filtrujeme, ale nevieme presne čo, či už u HW alebo SW filtra.

Niekedy práve krátky peak, ktorý odfiltrujem, može svedčiť o poruche článku.
Dělej vše, jak nejlépe dovedeš. Ale ne lépe. 4. dohoda.
Si anode Spectrum BMS SEI formation Float Ochrana High SOC deg. MPPT Post Bud Bindi 1993
Uživatelský avatar
rottenkiwi
 
Příspěvky: 2798
Registrován: pát úno 13, 2015 2:24 pm
Bydliště: SO, SK

Re: 2.6x přesnější měření než běžně na Arduinu

Příspěvekod mypower.cz » čtv srp 30, 2018 7:10 pm

No .. nejde o filtrovani ruseni. Jde o posun analogoveho signalu, klidne i vcetne ruseni napetove dolu. Filtrovani pripadneho ruseni je jine tema. Me jde vylozene o napetovy posun a to konstantne. Tedy nikoliv odporovym delicem, kde funkce zmeny napeti je jina nez u posunu napeti.

Tohle: https://hk.saowen.com/a/baab1f7038e03b4 ... 4397c6546a ale s jinym vstupnim rozsahem. Treba 32V-20V -> 5-0V
Podpořte MyPower.CZ | 2.24kWp FVE | MyPower MicroLog2 | Podzimní sraz 21.9.2019 (PDF)
BTC support 37uvSpUKTCmcJZD9bs8ZWhdrubxBxRZSuT | LTC support LPYitoWPn3k5PqWBWmuzbcwj344THtZ7q2
Uživatelský avatar
mypower.cz
Site Admin
 
Příspěvky: 3689
Registrován: pát bře 04, 2011 11:36 am

Re: 2.6x přesnější měření než běžně na Arduinu

Příspěvekod rottenkiwi » čtv srp 30, 2018 8:40 pm

Tak som to robil niekedy, keď som potreboval merať AC napatie a prúd cez Arduino.
https://learn.openenergymonitor.org/ele ... er-adapter

Alebo niekto poradí, ako to robiť cez tento kalkulator:
https://www.neatcircuits.com/l-shift.htm
Dělej vše, jak nejlépe dovedeš. Ale ne lépe. 4. dohoda.
Si anode Spectrum BMS SEI formation Float Ochrana High SOC deg. MPPT Post Bud Bindi 1993
Uživatelský avatar
rottenkiwi
 
Příspěvky: 2798
Registrován: pát úno 13, 2015 2:24 pm
Bydliště: SO, SK

Re: 2.6x přesnější měření než běžně na Arduinu

Příspěvekod kodl69 » čtv srp 30, 2018 8:47 pm

jako šikovný pionýr si jistě dokážeš spočítat hodnoty odporů do děliče :)
Varianta se zenerkou má zásadní chybu, a to závislost napětí na zenerově diodě na protékaném proudu a na teplotě.
Nejjednodušší je použít ADC s diferenciálním vstupem, kde na + vstup je napětí z děliče a na - vstup napěťová reference - ne odporovej dělič z napájecího napětí, ale aspoň TL431...
U zapojení s OZ je potřeba řešit parametry OZ, tj vstupní napěťovou nesymetrii, drift, vstupní proud... ale pokud je to k arduinu, tak OPA333 je až zbytečně dobrá volba, a funguje to s 5V napájením.
ostrov 4600Wp neustále ve stádiu zrodu: 6x noark CHSM6610P250, 6x250Wp z I4wifi, 6xTratek 275Wp, 4x auria 120Wp, midnite classic 150 lite+whizbang jr., 16S a různě P cca 300Ah Winston, Powerjack 8kW (reálně 6kW po úpravě). 48V DC rozvody a spotřebiče.
kodl69
 
Příspěvky: 3858
Registrován: sob črc 19, 2014 7:56 pm

Re: 2.6x přesnější měření než běžně na Arduinu

Příspěvekod mypower.cz » čtv srp 30, 2018 9:14 pm

"vstupní napěťovou nesymetrii, drift" .. to jsou pro me cizi slovicka se priznam, nekdy dostuduji. Pokud se jedna o proud, tak se bavime o signalu. Ne o silovych vecech. Signalu takovem, ze pokud to zatizime vetsim proudem, respektive snazime se ze signalu odebirat proud, okamzite padne napeti a merime hovadiny. Tzn soustredime se na napeti, proud je minimalni tak jak nejmin to jde. Jen merime.

Nema nekdo link na nejaky obvod co by to napeti proste shiftnul (nikoliv vydelil) dolu?
Podpořte MyPower.CZ | 2.24kWp FVE | MyPower MicroLog2 | Podzimní sraz 21.9.2019 (PDF)
BTC support 37uvSpUKTCmcJZD9bs8ZWhdrubxBxRZSuT | LTC support LPYitoWPn3k5PqWBWmuzbcwj344THtZ7q2
Uživatelský avatar
mypower.cz
Site Admin
 
Příspěvky: 3689
Registrován: pát bře 04, 2011 11:36 am

Re: 2.6x přesnější měření než běžně na Arduinu

Příspěvekod rottenkiwi » čtv srp 30, 2018 10:23 pm

A nebude jednoduchšie objednať toto ?
https://www.aliexpress.com/premium/ADS1 ... =y&catId=0
32 V / 65536 = 0.488 mV.
Dělej vše, jak nejlépe dovedeš. Ale ne lépe. 4. dohoda.
Si anode Spectrum BMS SEI formation Float Ochrana High SOC deg. MPPT Post Bud Bindi 1993
Uživatelský avatar
rottenkiwi
 
Příspěvky: 2798
Registrován: pát úno 13, 2015 2:24 pm
Bydliště: SO, SK

Re: 2.6x přesnější měření než běžně na Arduinu

Příspěvekod kodl69 » čtv srp 30, 2018 10:54 pm

v ideálním světě stačí do série s měřeným napětím zapojit zdroj 20V. Potom to bude tak jak požaduješ, akorát je potřeba ošetřit záporný napětí na vstupu arduina, aspoň diodou. "nějak" bude fungovat i zapojení se zenerovou diodou, ale nelinearita a teplotní závislost ti ve výsledku zkazí radost z ezvýšení rozlišení podstatně zhoršenou liearitou ADC. Nedávno jsem dělal "vytěžovač" na 24V systém s olovem, a kvůli složitosti jsem se na level shift vykašlal, i tak je rozlišení 30mV a díky 1.) RC filtru 2.) digitálnímu filtru (už jsem tu stupiditu několikrát popisoval) je měření poměrně přesný, naměřená hodnota napětí se sice trochu "táhne", ale to je v daným případě dobře, aspoň kdejaká špička odběru z měniče neshodí tu zátěž na vytěžovači (je to čerpadlo, tak aby pořád nezapínalo a nevypínalo).
Pokud chceš měřit přesněj, tak si pořiď raděj externí ADC s diferenciálním vstupem, tam dosáhneš úplně jinýho rozlišení a za pár korun na aliexpresu najdeš ADS1115, MCP3421 a k tomu hotový arduino knihovny...
ADC tak jak je na arduinu, s referencií branou z napájecího napětí, je spíš výuková záležitost, než na nějaký přesný měření. Pokles napájecího napětí o 0.1V způsobí chybu 2 procenta z měřené hodnoty, což je víc než 4 bity z rozlišení ADC!!! Pokud chceš něco měřit, je potřeba o tu měřenou hodnotu nepřijít hned na začátku, dost je toho tady: http://petr-kubac.blog.cz/rubrika/vidlakovo-elektro/9 svýho času jsem to dost sjížděl, ale borec jaksi přešel na politiku a filozofování...
ostrov 4600Wp neustále ve stádiu zrodu: 6x noark CHSM6610P250, 6x250Wp z I4wifi, 6xTratek 275Wp, 4x auria 120Wp, midnite classic 150 lite+whizbang jr., 16S a různě P cca 300Ah Winston, Powerjack 8kW (reálně 6kW po úpravě). 48V DC rozvody a spotřebiče.
kodl69
 
Příspěvky: 3858
Registrován: sob črc 19, 2014 7:56 pm

Re: 2.6x přesnější měření než běžně na Arduinu

Příspěvekod střídač_N » pát srp 31, 2018 8:03 am

Jak vidno, snaha po "posunu" napětí u každého v nějakém údobí ožije. I já jej měl a pokoušel jsem se o posun pomocí TL431. Pokud proud "děličem" byl dost větší než proud TL431 byly, výsledky jakš takš. V každém případě jsem si jen ověřil, že je to blbost a "posuvovou" myšlenku opustil.

Ve své podstatě jsou jen dvě možnosti jak "posun" vyřešit seriozně. Reference o velikosti "posunu" následovaná diferenciálním, lépe přístrojovým, zesilovačem.
Odporové děliče.

Obojí je na ........ tedy problémy, tudíž vše vždy vyřeší větší rozlišení ADC převodníku. 10bit je na hranici použitelnosti, skoro se mi chce napsat, kdekoli.
střídač_N
 
Příspěvky: 600
Registrován: sob říj 21, 2017 1:22 pm

Re: 2.6x přesnější měření než běžně na Arduinu

Příspěvekod kodl69 » pát srp 31, 2018 10:13 am

S poslední větou zásadně nesouhlasím, pokud se věnuje trochu péče refernčnímu napětí a analogovému zpracování signálu podle zásad pro správný návrh obvodů, tak je naopak 10 bit rozlišení dostatečný, a pokud se podaří udržet dlouhodobá stabilita měření, tak je naopak 10 bit na ledacos až moc. Ale souhlasím s tím, že ADS1115 je jinej level ADC za pár korun. Ale podobný chyby jako ADC v AVR procesorech to má, pokud se používá přepínání gainu a vstupů, které jedou na vysoké impedanci, je dobrý první naměřenou hodnotu zahodit, protože je ovlivněná nabíjením kapacit v ADC. Teď zrovna nemůžu najít ten odkaz, ale doporučuju jednoduchej test:
Na A0 pin připojit dělič 10k a 10k, na A1 1k a 10k, A3na gnd , na A4 100k a 1M, A5 na +5V.

A v prográmku mít cyklus, který 10x vyčte a pošle na sériový port hodnotu A0, to stejný A1 až A5. Ještě je zajímavý, co se naměří, pokud to proběhne od A5 po A0.
Schválně, kdo si to zkusí a pošle výsledky. Pro některý to jistě bude dost překvapení.

zajímavý řešení je tohle: https://thecavepearlproject.org/2017/02 ... rsampling/ - přidat nějaký střídavý napětí a díky průměrování měření získat větší rozlišení. A nebo zvlnit referenční napětí a dosáhnout podobnýho efektu. Ale to je pro hračičky, a nebo pro sériovou výrobu, kde cena další součástky zvyšuje cenu výrobku, ale složitější vývoj je v milionu kusů rozpustí snáz...
ostrov 4600Wp neustále ve stádiu zrodu: 6x noark CHSM6610P250, 6x250Wp z I4wifi, 6xTratek 275Wp, 4x auria 120Wp, midnite classic 150 lite+whizbang jr., 16S a různě P cca 300Ah Winston, Powerjack 8kW (reálně 6kW po úpravě). 48V DC rozvody a spotřebiče.
kodl69
 
Příspěvky: 3858
Registrován: sob črc 19, 2014 7:56 pm

Re: 2.6x přesnější měření než běžně na Arduinu

Příspěvekod mypower.cz » pát srp 31, 2018 12:03 pm

kodl69 píše:Ale podobný chyby jako ADC v AVR procesorech to má, pokud se používá přepínání gainu a vstupů, které jedou na vysoké impedanci, je dobrý první naměřenou hodnotu zahodit, protože je ovlivněná nabíjením kapacit v ADC. Teď zrovna nemůžu najít ten odkaz, ale doporučuju jednoduchej test:


... ano ano, na sampleru v micrologu to lze pozorovat taky.
Graficky znazorneny vystup ze sampleru micrologu:

Obrázek

Presne to vyse popsane o zacatku mereni ukazuji na screenshotu vlevo nahore piny A8 a A9. Nicmene sledoval jsem to jen u nezapojenych pinu. Ty ktere byly pripojeny k delici tohle uz nedelaly - viz ty dalsi, A10 a A11.
Podpořte MyPower.CZ | 2.24kWp FVE | MyPower MicroLog2 | Podzimní sraz 21.9.2019 (PDF)
BTC support 37uvSpUKTCmcJZD9bs8ZWhdrubxBxRZSuT | LTC support LPYitoWPn3k5PqWBWmuzbcwj344THtZ7q2
Uživatelský avatar
mypower.cz
Site Admin
 
Příspěvky: 3689
Registrován: pát bře 04, 2011 11:36 am

Re: 2.6x přesnější měření než běžně na Arduinu

Příspěvekod střídač_N » pát srp 31, 2018 12:48 pm

kodl69 píše:....ADS1115 je jinej level ADC za pár korun. Ale podobný chyby jako ADC v AVR procesorech to máz..


Krom jiných výhod, ADS1115 zmíněnou nectnost nemá. Dovolím si vysvětlit i proč.

ADC ADS1115 převodník, má dva režimy převodu. Vyžádaný a kontinuální. U vyžádaného je to tak jaký ono slovo význam, pošleme dotaz a je proveden převod. U kontinuálního je to opět dle významu slova. Stále a dokola se provádí převod a výsledek se ukládá do dvoubajtového registru. No a onen kontinuální režim má opět možnost provádět převod s parametrem SPS s hodnotou mezi 8 - 860 vzorky za sekundu. Tudíž nastavím li parametr SPS například na 250, bude se konverze dělat po dobu 1/250sec s tím, že se nakonec do registru uloží ona zprůměrovaná hodnota z měření po dobu 1/250 sec. Přirozeně čím delší doba SPS, tím i přesnější výsledek, nebo spíš rozptyl výsledku.

Tudíž to, co děláme v arduinu programem, je zde děláno již při zrodu výsledku.
střídač_N
 
Příspěvky: 600
Registrován: sob říj 21, 2017 1:22 pm

Re: 2.6x přesnější měření než běžně na Arduinu

Příspěvekod kodl69 » pát srp 31, 2018 12:55 pm

Tohle dělá jenom na vysoké impedanci, tj 100k a víc, na děliči s odporem 10k proti zemi to je u DC napětí rozdíl o jednotky z naměřené hodnoty. Ale i tak je dobrý prvních pár hodnot zahodit, měření se tím zpřesní (pro DC napětí, u AC a při rychlým přepínání vstupů ADC je jediná pomoc nízká impedance zdroje napětí, tj dělič, kde "spodní" odpor bude pod 10k (empiricky odzkoušeno).
P.S. když se dívám na tu sinusovku na A10, tak u nápisů min a max to asi bude spíš rušení nebo chyba měření, než skutečně taková špička. Pro splnění "kotelníkova teorému" je potřeba na vstup ADC dát dolní propust, jinak výslednej rekonstruovanej signál vůbec nemusí opovídat tomu, co bylo na vstupu a to, co je na grafu poměrně přesně odpovídá poslednímu obrázku z wiki... One je potřeba při vzorkování 50Hz počítat s tím, že nelineární zátěže (usměrňovače, pulsní regulátory) produkují vyšší harmonické v nezanedbatelném množství, pokud má měření k něčemu být, tak musí zvládnout minimálně 3. 5. 7. harmonickou, což je 350Hz, a na to je potřeba perioda vzorkování pod 3ms, raděj ještě polovina tj 1- 1.5ms. Samozřejmě výslednej signál se víc blíží vstupnímu s menší přítomností těch vyšších harmonickejch, ale dnes jsou spínaný zdroje ve všem (v žárovce, nabíječce na mobil...)
ostrov 4600Wp neustále ve stádiu zrodu: 6x noark CHSM6610P250, 6x250Wp z I4wifi, 6xTratek 275Wp, 4x auria 120Wp, midnite classic 150 lite+whizbang jr., 16S a různě P cca 300Ah Winston, Powerjack 8kW (reálně 6kW po úpravě). 48V DC rozvody a spotřebiče.
kodl69
 
Příspěvky: 3858
Registrován: sob črc 19, 2014 7:56 pm

Re: 2.6x přesnější měření než běžně na Arduinu

Příspěvekod kodl69 » pát srp 31, 2018 1:38 pm

to střídač: ale podle vnitřního schématu je ta chyba díky kapacitě po přepnutí vstupu taky, sice jsem to netestoval, ale jistě to tak funguje, manuál str 14-16, prostě se přepínají napětí ke kondenzátoru přes odpory...
ostrov 4600Wp neustále ve stádiu zrodu: 6x noark CHSM6610P250, 6x250Wp z I4wifi, 6xTratek 275Wp, 4x auria 120Wp, midnite classic 150 lite+whizbang jr., 16S a různě P cca 300Ah Winston, Powerjack 8kW (reálně 6kW po úpravě). 48V DC rozvody a spotřebiče.
kodl69
 
Příspěvky: 3858
Registrován: sob črc 19, 2014 7:56 pm

Re: 2.6x přesnější měření než běžně na Arduinu

Příspěvekod střídač_N » pát srp 31, 2018 5:18 pm

kodl69 píše:..... manuál str 14-16, prostě se přepínají napětí ke kondenzátoru přes odpory...


Ale ano je tam psáno (str.16) že záleží na vstupní impedanci. Jelikož v našem případě bude impedance dosti nízká, časová konstanta RC bude taky nízká. Řešíme baterku s několika mOhm.

"Nezapomeňte zvážit typickou hodnotu vstupní impedance. Pokud zdroj nemá nízkou impedanci,
vstupní impedance ADS111x může ovlivnit přesnost měření."
střídač_N
 
Příspěvky: 600
Registrován: sob říj 21, 2017 1:22 pm


Zpět na Automatizace, měření, statistiky

Kdo je online

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

Reputation System ©'