Zápisník experimentátora
Hierarchy: A/D prevodník
Pokud budete používat v Arduinu analogově-digitální převodník, implicitně bude nastaven tak, že jeho referenční napětí je AVCC. Toto implicitní nastavení umožňuje měřit s rozlišením přibližně 4 mV. Na výběr máte více možností, jak toto rozlišení měnit.
V tomto článku se budeme věnovat internímu napětí 1,1 V.
Interní napětí není nejpřesnější, ale nachází se přímo v mikrokontroléru a na jeho využívání nepotřebujete používat žádné externí součástky. Přesnost je ± 0,1 V, proto je vhodné si konkrétní hodnotu změřit na každém Arduinu. K tomu můžete využít pin AREF. Napětí se na pinu objeví až při prvním měření. K měření můžete použít následující dva programy. Od sebe se liší pouze v tom, že první používá funkce pro Arduino a druhý přímo manipuluje bity v registrech mikrokontroléru.
void setup() {
analogReference(INTERNAL);
analogRead (A0);
}
void loop() {
}
void setup() {
ADMUX = bit(REFS0) | bit(REFS1);
}
void loop() {
}
Z praktických důvodů používáme na breadboardu Arduino ve verzi Arduino Pro Mini. Toto Arduino nemá pin AREF zapojený a proto je problém hodnotu na pinu AREF změřit multimetrem. Na Internetu jsem našel několik příkladů, jak tento problém vyřešit. Řešení se soustředily na dvě skupiny. Jedna skupina využívala to, že AREF je připojen k jednomu kondenzátoru na desce a bylo možné opatrným pájením propojit tento kondenzátor s některým jiným pinem, na němž se již dalo měřit multimetrem.
Mně se ale líbila úplně jiná metoda. Musíte na to mít ale takové Arduino Pro Mini, které má na desce i piny A6 a A7 (prodávají se různé verze, některé je mají na desce a jiné je nemají). Tehdy stačí propojit malou kapkou cínu dva piny na mikrokontroléru. Jsou to piny AREF a ADC6. Protože obvykle nebudete potřebovat tolik analogových vstupů, můžete využít pin A6, na kterém se objeví požadované napětí.
Pro měření je vhodné doplnit filtrační kondenzátor 0,1 uF mezi piny AREF a GND. Arduino Uno ho má na desce, Arduino Pro Mini ho nemusí mít připojený vzhledem k tomu, že se všechny tyto desky vyrábějí v Číně a používají různé součástky.
Můžete měřit i vyšší napětí až po VCC, ale výsledek měření bude mít v takovém případě vždy hodnotu 1023.
Zdrojový kód se nachází na serveru GitHub.
12.09.2018