ADC vstup kalibrace

daton
Příspěvky: 664
Registrován: 16 bře 2013, 16:12

ADC vstup kalibrace

Příspěvek od daton »

Zdravím
měl bych jeden záludný dotaz. Stavím jedno zařízení s arduinem, které bude napájeno z 4 tužkových baterií. Snímat má pomocí fototranzistoru hodnotu osvětlení a dle toho rozhodovat. Problém je že po zapojení (samozřejmě s oddělovací diodou v napájení shotkem) a přes vnitřní stabilizátor arduina nano se dostanu při plných baterkách na napěti 4,7V a při poloprázdných na napětí 3,3V. Arduino ještě v těchto podmínkách pracuje ale jak jsem zjistil ADC převodník se rozjíždí obraceně s klesajícím napětím. Neřešil někdo z vás již tento problém třeba jak to stabilizovat matematicky či jinak?
Přemýšlel jsem protože tam snímám napětí baterie které se taky řeší přes ADC vstup pak by vlastně podle poklesu napětí se eliminoval přísrustek na vstupu pro svit, kde je závislost opačná (ona bude stejná ale vzhledem k měření baterek které jdou s napětím dolu se jeví opačně i když samozřejmě ne přímo úměrně.
Uživatelský avatar
fulda
Příspěvky: 1359
Registrován: 04 led 2016, 17:18

Re: ADC vstup kalibrace

Příspěvek od fulda »

Ahoj,
Možná to moc prožívám, ale zeptám se pár otázek.
Předpokládám, že jsi si alespoň trochu prolistoval datasheet od ATmega328 a prohlédl jsi si závislost kmitočtu na napětí (mno za předpokladu, že by tam byl procesor od atmelu/microchipu, protože LGT8F328P má tu tabulku jinou)
Také předpokládám, že tím pádem máš nějakou 3.3V verzi.
Samozřejmě jsi si přečetl co znamená DO ve slově LDO regulátor a ujistil jsi se, že máš na svém arduinu takový, který pracuje ještě při napájení, které mu dáváš a že při něm m na výstupu stále stejné 3.3V (nebo jiné konstantní napětí).

Protože pokud byť jen jeden z předchozích bodů není pravda, pak měříš poměr napájecího napětí vytvořený nějakým odporovým děličem vztažený k napájecímu napětí vytvořeným poměrem úbytků na regulátoru a na procesoru a to může být v podstatě cokoliv velmi blízkého náhodnému číslu.

Asi bych začal takovou ne-aruinovskou věcí. Přečetl bych si nějaké pojednání o napěťových referencích, našel si nějakou vhodnou integrovanou levnou, která bude dejme tomu 1,25V a bude pracovat ještě při 3V napájení a použil jí jako vztažný vstup pro AD převodník místo Vcc.

Nebo to udělat trochu víc podle arduino zvyklostí a to připojit tu referenci na další vstup AD a změřit její napětí a změřenou hodnotu použít jako inverzní hodnotu chyby pro měření toho napětí :mrgreen:
Za pravopisné chyby v této zprávě může moje učitelka češtiny.
aladin
Příspěvky: 337
Registrován: 12 kvě 2013, 06:43

Re: ADC vstup kalibrace

Příspěvek od aladin »

ADC vstup je komparator, potřebuješ tedy referenční napětí o absolutní velikosti, abys měl co porovnávat a kalibrovat. vím že existují drahé zdroje malého napětí
fischertip.cz, Stavebnice.com, MerkurRobot.cz, KlubTechniku.cz
Uživatelský avatar
fulda
Příspěvky: 1359
Registrován: 04 led 2016, 17:18

Re: ADC vstup kalibrace

Příspěvek od fulda »

aladin píše: 24 bře 2021, 17:19 ADC vstup je komparator, potřebuješ tedy referenční napětí o absolutní velikosti, abys měl co porovnávat a kalibrovat. vím že existují drahé zdroje malého napětí
:?: :?: zdá se ti 3,20 Kč za zdroj s přesností 0,5% moc? (při kusovém nákupu)

0,5% z těch referenčních 2.495V je pokud dobře pokud dobře počítám cca 12mV.
Za pravopisné chyby v této zprávě může moje učitelka češtiny.
MartinL
Příspěvky: 252
Registrován: 24 úno 2013, 14:13
Kontaktovat uživatele:

Re: ADC vstup kalibrace

Příspěvek od MartinL »

Jak píše Fulda, to napájení je průšvih. Čerstvé baterky mají asi 6V, úbytek na diodě cca 0,3V. Tj. na vstup stabilzátoru jde 5,7V. Vzhledem k tomu, že na arduinu je běžný stabilizátor (ne LDO), tak ani při plných baterkách nefunguje (potřebuje úbytek větší než 1V). Proto tam máš JEN 4,7V. Tj. Stabilizátor je tam jen pro parádu (tedy spíše na škodu). Při nižším napětí je to ještě horší. To, že ten procesor běží je sice hezké, ale ... Takže v prvé řadě bych řešil to napájení.
Jinak ATmega328 má vnitřní referenci 1,1V (ted nijak přesnou, ale vzhledem k té hrůze v napájení bude určitě stačit). Takže lze převodník opřít o ni. Bude to rozhodně stabilnější než opření o měnící se napájecí napětí. Jen pozor, je to 1,1V, tudíž i Ad převodník bude fungovat jen do 1,1V.
daton
Příspěvky: 664
Registrován: 16 bře 2013, 16:12

Re: ADC vstup kalibrace

Příspěvek od daton »

Jo jo o referenci jsem přemýšlel hned ze začátku. Zkusil jsem tři arduina z aliexpresu z různých časových období. Překvapilo mne jak podivně se při poklesu napájení chovají. spustil jsem si na nich výpis po vteřině a u jednoho jsem zaznamenal značné zpomalení vypisů (a to značné myslím že výpis začal chodit místo po vteřině po 3-5 vteřinách kolem 4V jakmile napětí pokleslo pod 3,8V zase se to rozběhlo až do 3,3V a tam to zkolabovalo jako skoro všechny. Tohle zpomalení jsem u druhého zaznamenal mezi 4,4V -4,6V a u třetího se prakticky neprojevilo v celém rozsahu tj OD 5v po 3,3V.
Zajímavý je tak růst bodové hodnoty ADC v závislosti na napájení. Ta stupnice se rovnoměrně navyšuje k nejvyšším hodnotám. Jako základní napětí pro fototranzistor jsem tam dal těch 3,3V tedy alespon trochu stabilizované. Při 5V jsem tam měl při zacloněném tranzistoru hodnotu 3V což odpovídá asi 700 bodů. Při napájení 3,3V to vystoupalo až na 1000 bodů což by odpovídalo tomu že stabilizace funguje (alespon částečně) a arduino měři. A ano měřil jsem na druhé straně ADC vstupů ještě napětí baterie na děliči. Tam zase pěkně klesalo. Tady mne právě napadlo udělat nějaký matematický přepočet ale ted když nad tím přemýšlím tak asi nebudu fototranzistor napájet z toho stabilizovaného napětí a přestane se mi to rozjíždět protože napětí bude klesat stejně jako ADC vstup. Paradoxně bych si asi tou referencí přidělal více práce.
Podivné je to chování atmegy z různých šarží výroby. Je jasné že nejede ve svých deklarovaných parametrech ale proč k tomu zpomalování dochází.
K tomu napájení asi tam použiji čtyři tužkové NiMhi aku a přidám k tomu 6V solární panel s 100mA a tím to posílím a na leto bude vystaráno.
V té aplikaci nejde o měření ničeho světoborného oslovil mne jeden kamarád že potřebuje otevírat dvířka kurníku a že míá takový vehykl co koupil ale že to reaguje hned třeba na mraky a tak podobně a tak mne napadlo vrazit tam arduino a vyhodnocovat svit po asi půl hodiny a když ma tendenci klesat tak vím že je to večer a při vhodné bodové hodnotě je to tutově večer a kurník se zavře no a pak se zase čeká na rozednívání což je opačný princip. Trochu jsem se pral s počítadlem a matematikou aby to umělo vyrovnat pokles v intenzitě atd ale to už je detail.
No vyzkouším a uvidím a dám vědět díky za rady a kdyby jste se ještě někdo chtělo vyjádřit k tomu podivnému chování arduin tak budu rád.

PS a ještě další zajímavé zjištění které se zde projevilo násobně, když jsem měřil na jedné straně arduina(vstuo1) to téměř plné napájecí napětí tak mi to ovlivnovalo vstup 5 pro měření z děliče ale docela brudálně (2-3x to násobilo hodnotu měření a regovalo to i na pokles toho napájecího napětí měřeného na prvním vstupu) . Musel jsem další vstup3 uzemnit a provést měření na tom uzeměném vstupu přd měřením na vstupu 5 a po měření na vstupu 1 a pak to začalo dávat smysluplné výsledky. S takto brutálním ovlivněním jsem se ještě nesetkal (asi proto že měřím obvykle jen veličiny podobné). To je ta nabíjecí kapacita ADC ;)
MartinL
Příspěvky: 252
Registrován: 24 úno 2013, 14:13
Kontaktovat uživatele:

Re: ADC vstup kalibrace

Příspěvek od MartinL »

Asi si nerozumíme, co je nejasného na tom, že pokud se pohybuji mimo parametry deklarované výrobcem, může se to chovat zcela nevyzpytatelně. Proto výrobce udává parametry, za kterých to bude fungovat. Předpokládám dle stabilizátoru 5V, že to arduino běží na 16MHz, tudíž MUSÍ mít napájení dle datashettu více než 4,5V.

Kód: Vybrat vše

Speed Grade:
̶ 0 - 4MHz@1.8 - 5.5V, 0 - 10MHz@2.7 - 5.5.V, 0 - 20MHz @ 4.5 - 5.5V
Proto jakékoliv snažení toto obelhat je zbytečná práce. Možná to právě teď "funguje", ale za týden u nemusí, stejně tak když se změní teplota, atd.
Byl by takový problém zajistit korektní napájení (odpadnou všechny problémy). Např. dát tam 5 AA článků místo 4, nebo 2 LiON články, ...
daton
Příspěvky: 664
Registrován: 16 bře 2013, 16:12

Re: ADC vstup kalibrace

Příspěvek od daton »

Ano to je klasická debata která se tu vede už od nepaměti :D šlo by to samozřejmě udělat jinak at už zvýšením napájení zde vidím problém ve spotřebě, předpokládám udělat něco na co se nebude muset šahnout od jara do pozdního podzimu a to myslím doslova protože at na to šahne kdokoliv kdo to nedělal tak to nebude dobře včetně baterií. Tak že spotřeba je třeba minimalizovat dále náklady je třeba minimalizovat už ten malý solar je věc co asi budu hradit sám a to asi nedostanu ani žádné vejce jako deputát :-) .
Tak že se zvyšujícím se napětím stoupá spotřeba pokud tam dám liony 8V pak bude třeba 12V solár a stabilizace což bude jednak finančně i energeticky náročnější a taky naročnější na výrobu. Tak že NiMhi 4ks napětí 4,9po stabilizaci a diodě pod 4V což je okno kde to je funkční. Věřte mi že mi jde o zprovoznění a pokus jak to udělat jinak a stím jsou spojeny ty otázky. Pokud to někoho uráží nebo si myslí že ho nechci vyslyšet tak to není pravda jen mne to zajímá a ano pokud to řešit jinak tak je taky možnost říci dotyčnému at si to jde večer zavřít a ráno otevřít a je vymalováno.
Ale zpět k tematu jak by se arduino dalo přepnout na ty 4MHz to jsem ještě nezkoušel zde by to třeba chodilo stabilněji, to by mohla být cesta ne?
Uživatelský avatar
fulda
Příspěvky: 1359
Registrován: 04 led 2016, 17:18

Re: ADC vstup kalibrace

Příspěvek od fulda »

Tak znovu - přečti si ještě jednou, co jsem napsal v první odpovědi.
Pak se hluboce zamysli nad tím, jestli opravdu chceš použít atmega, pokud ano, a pokud ho chceš použít na desce označené jako arduino, tak se podívej po nějakém, které je na to vhodné. Namátkou TADY lze koupit verzi 3.3V/8MHz.
Ještě bych ti doporučil ke studiu třeba TENTO článek (podobný ČESKY). Někde jsem četl i lepší, ale nemohu ho najít. V podstatě jde o to, že spotřeba arduina je 30mA když spotřeba procesoru je 3mA.
Pro tu 3.3V verzi bych se v případě napájení baterkama zabejval tím, jak z něj vyhodit ten vestavěný stabilizátor, který je více méně "na obtíž".

Asi nemá cenu mluvit o tom, že s použitím "Atmel" PIC16LF15313 při rychlosti 32kHz poběží na napětí od 1,8V a s proudem 8μA a při spánku to klesne ještě na 50nA. Pro otevírání dvířek od kurníku asi dobré.

A myslím, že ta LGT8F328P není k zahození. Také běží od 1,8V, umožňuje softwarově měnit kmitočet a navíc se dá programovat v arduino IDE.

... a když čtu o tom, že chceš použít i solár, tak bych si přečetl něco o Energy Harvesting?

---
edit: doplněn odkaz na český článek
Naposledy upravil(a) fulda dne 26 bře 2021, 09:07, celkem upraveno 1 x.
Za pravopisné chyby v této zprávě může moje učitelka češtiny.
daton
Příspěvky: 664
Registrován: 16 bře 2013, 16:12

Re: ADC vstup kalibrace

Příspěvek od daton »

Tak začnu odzadu solár a obtíže s ním řeším a provozuji v ostrovním systému už víc jak 7 let tak o tom docela dost vím a článek co jsi mi doporučil je opravdu pro úplného začátečníka co neví vůbec nic. Tak že to bych asi nechal být solár vím jak použít umím si vypočítat efektivitu a jeho přínos na jaře v létě i na podzim kde jsou podmínky diametrálně zcela odlišné a dokonce jsem na to asi před 5 lety vymyslel vzorce které určovaly průměrný zisk a výkon potřebný pro příkon (počítal jsem to docela úspěšně pro systémy v karavanech a navrhoval na ně jak akumulátory tak i soláry).
S tím LGT8F328P to je asi zajímavý nápad a zkusím si ho objednat, zvlášť pokud to jde programovat jako arduino. Ale prozatím mám normální arduino a stále nechápu proč se to zpomaluje kdyz je jeden vstup ADC uzemněný při určitém napětí. Je to mimo pracovní rozsah to je jasné ale proč? Pokud ten ADC vstup neuzemním aby se vynuloval kondík tak to nezpomaluje. Jinak ta atmega mi při 3,6V chodí už dva dny naprosto spolehlivě tak že asi funkce mimo deklarovaný pracovní rozsah není zase tak problémová.
PS ten stabilizátor jsem nejprve vyhodil už před třemi dny ale pak pak jsem to tam zase vrátil protože ty baterky mají pokud jsou nové až 6,4V coz je opravdu hodně a pak když by tam zasvítil ten solár a všechno bylo naplno tak těch 6V je tam taky tak že stabilizace je asi na místě tedy pokud bych tam nedal dvě diody do serie.
Odpovědět