Vstup AREF

Odpovědět
Axamith
Příspěvky: 530
Registrován: 09 srp 2017, 08:17
Reputation: 0
Kontaktovat uživatele:

Vstup AREF

Příspěvek od Axamith » 14 lis 2018, 11:14

Hledal jsem nějaké informace a narazil na článek o chodu Arduina na baterie.
Cituji z textu:
Pokud například chceme měřit napětí na pinu pomocí funkce analogRead, tak je potřeba počítat s tím, že výsledky se budou měnit společne se změnou napětí na baterii. Jelikož vstupní napětí, je referenčním napětí při měření analogového vstupu. Naštěstí se da v arduinu přepnout refenční napětí na hodnotu 1.1V pomocí funkce analogReference(INTERNAL).
Dohledal jsem popis Fce analogReference (), v textu je uvedeno:
EXTERNAL: napětí použité na pin AREF (pouze 0 až 5V) se používá jako reference.
Pro zajímavost jsem kouknul, jak mám v návrhu svého klonu ošetřen vstup AREF. Vycházím z návrhu na Sparkfun, Arduino Pro Mini 328 - 3.3V / 8MHz, záložka dokumenty. Tam je ve schéma pin AREF připojen přes filtr. kondenzátor na GND, ale na PCB visí kondik ve vzduchu. To samé jsem dohledal i na oficiálních podkladech na Arduino.cc

Má to nějaký význam? Pokud budu ARduino provozovat na baterie a využívat analogové vstupy k měření analogových veličin, je vhodnější nastavit analogReference(INTERNAL), tedy 1V1 nebo na analogReference(EXTERNAL) a měřit dle napětí baterie?

AREF_1.JPG
AREF_2.JPG

jankop
Příspěvky: 1029
Registrován: 06 zář 2017, 20:04
Reputation: 0
Bydliště: Brno
Kontaktovat uživatele:

Re: Vstup AREF

Příspěvek od jankop » 14 lis 2018, 12:35

Pro referenci bys měl mít tři možnosti:
1. DEFAULT - za referenci je napájecí napětí odvozené z napájecího vývodu AVcc
2. INTERNAL - je za referenci vnitřní napětí 1,1V
3. EXTERNAL - je za referenci napětí přivedené na vývod Aref, to může být pouze v rozsahu 0-Vcc a může být připojeno pouze v případě, že je vstup
již přepnut do stavu EXTERNAL, protože jinak může dojít k nežádoucím kolizím mezi vnitřním napětím a napětím přiváděným zvenku.
Možná se na PCB špatně díváš a je tam prokovený otvor a kondenzátor je zapojen. Jeho role je snížení šumu referenčního napětí, který může mít negativní vliv na měření. Je pouze doporučován a není nezbytnou nutností. Z výše uvedeného také vyplývá, že pokud použiješ variantu INTERNAL, tak se na vývodu Aref objeví napětí 1,1V (měřeno digitálním voltmetrem).
Po resetu je procesor automaticky nastaven do stavu EXTERNAL, ale podle Arduino reference to vypadá, že je Arduinem přepnut na DEFAULT, tj. referenci z napájecího napětí.
Pro měření baterie není jiná rozumná alternativa než INTERNAL, nepříjemné je, že musíš použit dělič napětí, který ti bude tu baterii zatěžovat.
Pokud máš volný jeden pin, pak je reálné připojit dělič na něj a dělič pak můžeš ve sleep odpojovat.

ohruska
Příspěvky: 235
Registrován: 08 pro 2017, 20:56
Reputation: 0

Re: Vstup AREF

Příspěvek od ohruska » 14 lis 2018, 12:51

Pro měření napětí baterie při nabíjení nebo provozu na baterii je lepší použít třeba ADS 1115 +-6.144V nebo pokud se měří vyšší napětí tak INA219 ta povoluje 0-26V.
Ota

Axamith
Příspěvky: 530
Registrován: 09 srp 2017, 08:17
Reputation: 0
Kontaktovat uživatele:

Re: Vstup AREF

Příspěvek od Axamith » 14 lis 2018, 13:41

Takže kondik na vstup AREF být může, ale nemusí. Na tom příkladu opravdu není připojen ke GND, jak na Sparkfun, tak i na oficiálních podkladech. V níže odkazovaném textu je k tomu vysvětlení.
Když tedy měřím analogový vstup pomocí analogRead() a Arduino napájím z baterie, tak bych měl k výpočtu použít skutečné napětí na vstupu nebo nastavit na 1,1V a smířit se s tím, že musím počítat s tolerancí až 10 %.
V článku A/D převodník - Interní referenční napětí je problematika vysvětlena.
Pokud to chápu dobře, tak při nastavení na analogRead (EXTERNAL) změřím pinem skutečné napětí, které leze z AREF a výslednou hodnotu použiji k výpočtu hodnot, které chci měřit na analogových pinech.

Abych upřesnil, k čemu to potřebuji. Experimentuji s bateriově napájeným zabezpečením, jako vstupní prvek chci vyzkoušet akcelerometr ADXL335. Porovnáním výsledných hodnot ze dvou měření bych chtěl vyhodnotit, zda došlo k manipulaci s hlídaným předmětem. A uvažuji, že výsledekí bude potřeba co nejpřesnější, abych minimalizovat odchylku při samotném měření.

jankop
Příspěvky: 1029
Registrován: 06 zář 2017, 20:04
Reputation: 0
Bydliště: Brno
Kontaktovat uživatele:

Re: Vstup AREF

Příspěvek od jankop » 14 lis 2018, 13:59

Nechápeš to dobře. EXTERNAL znamená, že se očekává přivedení externího referenčního napětí na, v tomto případě vstup, Aref.
V DEFAULT, ale především INTERNAL si na Aref, v tomto případě výstupu, můžeš změřit, kolik ti dává vnitřní reference 1,1V nebo pin AVcc.
Nehledej složitosti, ta interní reference bude určitě stačit. Ostatně není ani tak podstatná přesnost referenčního napětí, jako jeho stabilita.

jankop
Příspěvky: 1029
Registrován: 06 zář 2017, 20:04
Reputation: 0
Bydliště: Brno
Kontaktovat uživatele:

Re: Vstup AREF

Příspěvek od jankop » 14 lis 2018, 14:10

Vůbec nejjednodušší a nejpřesnější by bylo použít nějaký hodně dobrý low drop stabilizátor, který by zajistil stabilní napětí pro Arduino i senzor. Pak bys neměl problém používat referenci odvozenou od AVcc a s děličem bys mohl měřit i tu baterii. Odpadly by nějaké pofidérní kompenzace na vliv Vcc.

Axamith
Příspěvky: 530
Registrován: 09 srp 2017, 08:17
Reputation: 0
Kontaktovat uživatele:

Re: Vstup AREF

Příspěvek od Axamith » 14 lis 2018, 14:19

Stabilizátor Ok, ale bude brát energii. Já potřebuji, aby to vydrželo běžet na baterii min. 6 měsíců. Vše co jde napájím přes PIN, abych mohl podle potřeby periferie vypínat. Zrovna dnes mi došel ten akcelerometr, není nic jednoduššího, než ho připojit a otestovat. Uvidím, jak se to bude chovat.

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 12 hostů