- Analogový svět s digitální elektronikou
- Co je ADC a jak jej používat?
- Rozlišení (bity) a kanály v ADC
- Referenční napětí pro ADC
- Příklad
- Typy ADC a pracovní
- Několik běžně se vyskytujících otázek o ADC
Analogový svět s digitální elektronikou
Před několika lety byla celá elektronická zařízení, která dnes používáme, jako jsou telefony, počítače, televizory atd., Analogická. Poté byly pevné telefony pomalu nahrazovány moderními mobilními telefony, televizory CRT a monitory nahrazeny LED displeji, počítače s elektronkami se vyvinuly jako výkonnější s mikroprocesory a mikrokontroléry v nich atd.
V dnešní digitální době jsme všichni obklopeni vyspělými digitálními elektronickými zařízeními, což by nás mohlo klamat, když si myslíme, že všechno kolem nás má digitální povahu, což není pravda. Svět měl vždy analogickou povahu, například všechno, co my lidé cítíme a zažíváme, jako je rychlost, teplota, rychlost vzduchu, sluneční světlo, zvuk atd., Jsou analogické. Ale naše elektronická zařízení, která běží na mikrokontrolérech a mikroprocesorech, nemohou tyto analogové hodnoty číst / interpretovat přímo, protože fungují pouze na 0 a 1. Takže potřebujeme něco, co převede všechny tyto analogové hodnoty na 0 a 1, aby jim naše mikroprocesory a mikroprocesory rozuměly. Toto něco se nazývá analogově-digitální převaděče nebo zkráceně ADC. V tomto článku se dozvímevše o ADC a jak je používat.
Co je ADC a jak jej používat?
Jak již bylo řečeno, ADC znamená analogový převod na digitální a používá se k převodu analogových hodnot ze skutečného světa na digitální hodnoty jako 1 a 0. Jaké jsou to analogové hodnoty? To jsou ty, které vidíme v našem každodenním životě, jako je teplota, rychlost, jas atd. Ale počkejte !! Může ADC převádět teplotu a rychlost přímo na digitální hodnoty jako 0 a 1?
Ne vzdorně ne. ADC může převádět pouze analogové hodnoty napětí na digitální hodnoty. Takže jakýkoli parametr, který chceme měřit, měl by být nejprve převeden na napětí, tento převod lze provést pomocí senzorů. Například pro převod teplotních hodnot na napětí můžeme použít termistor podobně pro převod jasu na napětí můžeme použít LDR. Jakmile je převeden na napětí, můžeme jej číst pomocí ADC.
Abychom věděli, jak používat ADC, měli bychom se nejprve seznámit s některými základními pojmy, jako je rozlišení kanálů, rozsah, referenční napětí atd.
Rozlišení (bity) a kanály v ADC
Když si přečtete specifikaci jakéhokoli mikrokontroléru nebo ADC IC, podrobnosti ADC budou uvedeny pomocí výrazů kanály a rozlišení (bity). Například ATmega328 společnosti Arduino UNO má 8kanálový 10bitový ADC. Ne každý pin na mikrokontroléru umí číst analogové napětí, termín 8kanálový znamená, že na tomto mikrokontroléru ATmega328 je 8 pinů, které umí číst analogové napětí a každý pin dokáže číst napětí s rozlišením 10 bitů. To se bude u různých typů mikrokontrolérů lišit.
Předpokládejme, že náš rozsah ADC je od 0 V do 5 V a máme 10bitový ADC, což znamená, že naše vstupní napětí 0-5 V bude rozděleno na 1024 úrovní diskrétních analogových hodnot (2 10 = 1024). To znamená, že 1024 je rozlišení pro 10bitový ADC, podobně pro 8bitové rozlišení ADC bude 512 (2 8) a pro 16bitové rozlišení ADC bude 65 536 (2 16).
S tím, pokud je skutečné vstupní napětí 0V, pak ADC MCU bude číst jako 0 a pokud je 5V, bude MCU číst 1024 a pokud bude někde mezi takovými 2,5V, pak bude MCU číst 512. Můžeme použít níže uvedené vzorce vypočítat digitální hodnotu, kterou bude číst MCU na základě rozlišení ADC a provozního napětí.
(Rozlišení ADC / Provozní napětí) = (Digitální hodnota ADC / Skutečná hodnota napětí)
Referenční napětí pro ADC
Dalším důležitým výrazem, který byste měli znát, je referenční napětí. Během převodu ADC se hodnota neznámého napětí zjistí porovnáním se známým napětím, toto napětí se nazývá referenční napětí. Normálně má všechny MCU možnost nastavit interní referenční napětí, což znamená, že toto napětí můžete interně nastavit na nějakou dostupnou hodnotu pomocí softwaru (programu). Na desce Arduino UNO je referenční napětí standardně interně nastaveno na 5V, pokud je to požadováno, může uživatel toto referenční napětí nastavit externě prostřednictvím kolíku Vref také po provedení požadovaných změn v softwaru.
Vždy mějte na paměti, že naměřená hodnota analogového napětí by měla být vždy menší než hodnota referenčního napětí a hodnota referenčního napětí by měla být vždy menší než hodnota provozního napětí mikrokontroléru.
Příklad
Zde vezmeme příklad ADC, který má 3 bitové rozlišení a 2 V referenční napětí. Může tedy mapovat analogové napětí 0-2V s 8 (2 3) různými úrovněmi, jak je znázorněno na následujícím obrázku:
Pokud je tedy analogové napětí 0,25, bude digitální hodnota 1 v desítkové soustavě a 001 v binární podobě. Stejně tak je-li analogové napětí 0,5, pak bude digitální hodnota 2 v desítkové soustavě a 010 v binární.
Některé mikrokontroléry mají vestavěné ADC jako Arduino, MSP430, PIC16F877A, ale některé mikrokontroléry to nemají jako 8051, Raspberry Pi atd. A musíme použít nějaké externí integrované obvody analogově-digitálního převaděče jako ADC0804, ADC0808.
Níže naleznete různé příklady ADC s různými mikrokontroléry:
- Jak používat ADC v Arduino Uno?
- Výukový program ADC pro Raspberry Pi
- Propojení ADC0808 s mikrokontrolérem 8051
- 0-25V digitální voltmetr pomocí mikrokontroléru AVR
- Jak používat ADC v STM32F103C8
- Jak používat ADC v MSP430G2
Typy ADC a pracovní
Existuje mnoho typů ADC, nejčastěji se používají Flash ADC, Dual Slope ADC, Successive Aproximation a Dual Slope ADC. Vysvětlit, jak by každá z těchto prací ADC a rozdíly mezi nimi byly mimo rozsah tohoto článku, protože jsou poměrně složité. Ale pro představu, ADC má vnitřní kondenzátor, který se nabije analogovým napětím, které se má měřit. Poté změříme hodnotu napětí vybitím kondenzátoru po určitou dobu.
Několik běžně se vyskytujících otázek o ADC
Jak měřit více než 5V pomocí mého ADC?
Jak již bylo uvedeno dříve, modul ADC nemůže měřit hodnotu napětí více než provozní napětí mikrokontroléru. To znamená, že 5V mikrokontrolér může měřit pouze maximálně 5V s kolíkem ADC. Pokud chcete měřit cokoli jiného, než to říkáte, chcete měřit 0-12V, pak můžete namapovat 0-12V na 0-5V pomocí potenciálního děliče nebo obvodu děliče napětí. Tento obvod použije dvojici rezistorů k mapování hodnot pro MCU, více informací o obvodu děliče napětí získáte pomocí odkazu. Pro náš výše uvedený příklad bychom měli použít rezistor 1K a rezistor 720 ohmů v sérii se zdrojem napětí a měřit napětí mezi rezistory, jak je popsáno ve výše uvedeném odkazu.
Jak převést digitální hodnoty z ADC na skutečné hodnoty napětí?
Při použití převodníku ADC k měření analogového napětí bude výsledek získaný MCU digitální. Například v 10bitovém 5V mikrokontroléru, když skutečné napětí, které má být měřeno, je 4V, bude MCU číst jako 820, můžeme znovu použít výše diskutované vzorce k převodu 820 na 4V, abychom jej mohli použít v našem výpočty. Umožňuje křížovou kontrolu stejné.
(Rozlišení ADC / Provozní napětí) = (Digitální hodnota ADC / Aktuální hodnota napětí) Aktuální hodnota napětí = Digitální hodnota ADC * (Provozní napětí / Rozlišení ADC) = 820 * (5/1023) = 4,007 = ~ 4V
Doufám, že máte spravedlivou představu o ADC a o tom, jak je používat pro vaše aplikace. Pokud jste měli s pochopením konceptů jakýkoli problém, neváhejte zveřejnit své komentáře níže nebo je napsat na naše fóra.