- Analógový svet s digitálnou elektronikou
- Čo je to ADC a ako ho používať?
- Rozlíšenie (bity) a kanály v ADC
- Referenčné napätie pre ADC
- Príklad
- Typy ADC a fungovanie
- Niektoré často kladené otázky o ADC
Analógový svet s digitálnou elektronikou
Pred niekoľkými rokmi boli všetky elektronické zariadenia, ktoré dnes používame, ako sú telefóny, počítače, televízory atď., Analogické. Potom boli pevné telefóny pomaly nahradené modernými mobilnými telefónmi, televízory CRT a monitory nahradené LED displejmi, počítače s elektrónkami sa vyvinuli ako výkonnejšie s mikroprocesormi a mikrokontrolérmi a podobne.
V dnešnej digitálnej dobe sme všetci obklopení pokrokovými digitálnymi elektronickými zariadeniami, čo by nás mohlo klamať, keď si myslíme, že všetko okolo nás má digitálny charakter, čo nie je pravda. Svet mal vždy analogickú povahu, napríklad všetko, čo my ľudia cítime a zažívame, ako napríklad rýchlosť, teplota, rýchlosť vzduchu, slnečné svetlo, zvuk atď., Sú analogické. Naše elektronické zariadenia, ktoré pracujú na mikrokontroléroch a mikroprocesoroch, však nemôžu tieto analógové hodnoty čítať / interpretovať priamo, pretože fungujú iba na 0 a 1. Takže potrebujeme niečo, čo prevedie všetky tieto analógové hodnoty na 0 a 1, aby im naše mikroprocesory a mikroprocesory porozumeli. Toto sa nazýva Analogovo-Digitálne Prevodníky alebo skrátene ADC. V tomto článku sa dozviemevšetko o ADC a o tom, ako ich používať.
Čo je to ADC a ako ho používať?
Ako už bolo povedané, ADC je skratka pre analógový prevod na digitálny a používa sa na prevod analógových hodnôt zo skutočného sveta na digitálne hodnoty ako 1 a 0. Čo sú to teda analógové hodnoty? To sú tie, ktoré vidíme v každodennom živote, ako je teplota, rýchlosť, jas atď. Ale počkajte !! Môže ADC prevádzať teplotu a rýchlosť priamo na digitálne hodnoty ako 0 a 1?
Nie vzdorovito nie. ADC môže prevádzať iba analógové hodnoty napätia na digitálne hodnoty. Takže ktorýkoľvek parameter, ktorý chceme merať, by sa mal najskôr previesť na napätie, túto premenu je možné vykonať pomocou senzorov. Napríklad na prevod teplotných hodnôt na napätie môžeme použiť termistor, podobne ako na premenu jasu na napätie, môžeme použiť LDR. Akonáhle je prevedený na napätie, môžeme ho prečítať pomocou ADC.
Aby sme vedeli, ako používať ADC, mali by sme sa najskôr oboznámiť s niektorými základnými pojmami, ako je rozlíšenie kanálov, rozsah, referenčné napätie atď.
Rozlíšenie (bity) a kanály v ADC
Keď si prečítate špecifikáciu ľubovoľného mikrokontroléra alebo ADC IC, podrobnosti o ADC sa uvedú pomocou výrazov kanály a rozlíšenie (bity). Napríklad ATmega328 od Arduino UNO má 8-kanálový 10-bitový ADC. Nie každý pin na mikrokontroléri dokáže čítať analógové napätie, pojem 8-kanálový znamená, že na tomto mikrokontroléri ATmega328 je 8 pinov, ktoré dokážu čítať analógové napätie, a každý pin dokáže načítať napätie s rozlíšením 10 bitov. To sa bude líšiť pre rôzne typy mikrokontrolérov.
Predpokladajme, že náš rozsah ADC je od 0 V do 5 V a máme 10-bitový ADC, čo znamená, že naše vstupné napätie 0-5 Voltov bude rozdelené na 1024 úrovní diskrétnych analógových hodnôt (2 10 = 1024). To znamená, že 1024 je rozlíšenie pre 10-bitový ADC, podobne pre 8-bitové rozlíšenie ADC bude 512 (2 8) a pre 16-bitové rozlíšenie ADC bude 65 536 (2 16).
S týmto, ak je skutočné vstupné napätie 0 V, bude potom ADC MCU čítať ako 0 a ak je 5 V, bude čítať 1024 MCU a ak bude niekde medzi nimi ako 2,5 V, potom bude MCU čítať 512. Môžeme použiť nasledujúce vzorce vypočítať digitálnu hodnotu, ktorú bude čítať MCU, na základe rozlíšenia ADC a prevádzkového napätia.
(Rozlíšenie ADC / Prevádzkové napätie) = (Digitálna hodnota ADC / Skutočná hodnota napätia)
Referenčné napätie pre ADC
Ďalším dôležitým výrazom, ktorý by ste mali poznať, je referenčné napätie. Počas konverzie ADC sa hodnota neznámeho napätia zistí porovnaním so známym napätím, toto známe napätie sa nazýva referenčné napätie. Normálne má všetky MCU možnosť nastaviť interné referenčné napätie, čo znamená, že toto napätie môžete interne nastaviť na dostupnú hodnotu pomocou softvéru (programu). Na doske Arduino UNO je referenčné napätie štandardne interne nastavené na 5V, ak je to potrebné, môže užívateľ toto referenčné napätie nastaviť externe cez kolík Vref aj po vykonaní požadovaných zmien v softvéri.
Vždy pamätajte, že nameraná hodnota analógového napätia by mala byť vždy nižšia ako hodnota referenčného napätia a hodnota referenčného napätia by mala byť vždy nižšia ako hodnota prevádzkového napätia mikrokontroléra.
Príklad
Tu uvádzame príklad ADC, ktorý má 3-bitové rozlíšenie a 2V referenčné napätie. Môže teda mapovať analógové napätie 0–2 V s 8 (2 3) rôznymi úrovňami, ako je to znázornené na nasledujúcom obrázku:
Takže ak je analógové napätie 0,25, potom bude digitálna hodnota 1 v desatinnom čísle a 001 v binárnom formáte. Rovnako, ak je analógové napätie 0,5, potom bude digitálna hodnota 2 v desatinnom čísle a 010 v binárnom formáte.
Niektoré mikrokontroléry majú zabudované ADC ako Arduino, MSP430, PIC16F877A, ale niektoré mikrokontroléry ich nemajú ako 8051, Raspberry Pi atď. A musíme použiť niektoré externé integrované obvody analógovo-digitálneho prevodníka ako ADC0804, ADC0808.
Ďalej nájdete rôzne príklady ADC s rôznymi mikrokontrolérmi:
- Ako používať ADC v Arduino Uno?
- Výukový program ADC pre Raspberry Pi
- Prepojenie ADC0808 s mikrokontrolérom 8051
- Digitálny voltmeter 0-25 V pomocou mikrokontroléra AVR
- Ako používať ADC v STM32F103C8
- Ako používať ADC v MSP430G2
Typy ADC a fungovanie
Existuje mnoho druhov ADC, najbežnejšie používané sú Flash ADC, Dual Slope ADC, Successive Aproximation a Dual Slope ADC. Vysvetlenie, ako by každá z týchto prác ADC a rozdiely medzi nimi boli mimo rozsahu tohto článku, pretože sú dosť zložité. Pre úplnú predstavu má ADC vnútorný kondenzátor, ktorý sa bude nabíjať analógovým napätím, ktoré sa má merať. Potom zmeriame hodnotu napätia vybitím kondenzátora za určité časové obdobie.
Niektoré často kladené otázky o ADC
Ako merať viac ako 5 V pomocou môjho ADC?
Ako už bolo diskutované, modul ADC nemôže merať hodnotu napätia viac ako prevádzkové napätie mikrokontroléra. To znamená, že 5V mikrokontrolér môže so svojim pinom ADC merať iba maximálne 5V. Ak chcete merať niečo viac, ako je uvedené, chcete merať 0 - 12 V, môžete potom pomocou prepojenia potenciálového alebo napäťového deliča namapovať 0 - 12 V na 0 - 5 V. Tento obvod použije pár rezistorov na mapovanie hodnôt pre MCU. Viac informácií o obvode deliča napätia sa dozviete pomocou odkazu. Pre náš vyššie uvedený príklad by sme mali použiť rezistor 1K a rezistor 720 ohmov sériovo na zdroj napätia a zmerať napätie medzi rezistormi, ako je uvedené v odkaze vyššie.
Ako prevádzať digitálne hodnoty z ADC na skutočné hodnoty napätia?
Pri použití prevodníka ADC na meranie analógového napätia bude výsledok získaný MCU digitálny. Napríklad v 10-bitovom 5V mikrokontroléri, keď skutočné napätie, ktoré sa má merať, je 4V, bude ho MCU čítať ako 820, môžeme opäť použiť vyššie diskutované vzorce na prevod 820 na 4V, aby sme ho mohli použiť v našom výpočty. Umožňuje krížovú kontrolu toho istého.
(Rozlíšenie ADC / prevádzkové napätie) = (digitálna hodnota ADC / skutočná hodnota napätia) Skutočná hodnota napätia = digitálna hodnota ADC * (prevádzkové napätie / rozlíšenie ADC) = 820 * (5/1023) = 4,007 = ~ 4V
Dúfam, že máte spravodlivú predstavu o ADC a o tom, ako ich používať vo svojich aplikáciách. Ak ste mali s porozumením pojmov akýkoľvek problém, neváhajte uverejniť svoje komentáre nižšie alebo ich napísať na naše fóra.