- Analogni svijet s digitalnom elektronikom
- Što je ADC i kako ga koristiti?
- Razlučivost (bitovi) i kanali u ADC-u
- Referentni napon za ADC
- Primjer
- Vrste ADC-a i rad
- Neka često postavljana pitanja o ADC-u
Analogni svijet s digitalnom elektronikom
Prije nekoliko godina čitavi elektronički uređaji koje danas koristimo poput telefona, računala, televizora itd. Bili su analogne prirode. Zatim su fiksni telefoni polako zamijenjeni modernim mobilnim telefonima, CRT televizori i monitori zamijenjeni LED zaslonima, računala s vakuumskim cijevima postala su snažnija s mikroprocesorima i mikrokontrolerima u njima i tako dalje.
U današnje digitalno doba svi smo okruženi naprednim digitalnim elektroničkim uređajima, to bi nas moglo zavarati kad pomislimo da je sve oko nas digitalne prirode, što nije istina. Svijet je uvijek bio analogne prirode, na primjer sve što mi ljudi osjećamo i doživljavamo poput brzine, temperature, brzine zraka, sunčeve svjetlosti, zvuka itd. Analogne je prirode. Ali naši elektronički uređaji koji rade na mikrokontrolerima i mikroprocesorima ne mogu izravno čitati / interpretirati ove analogne vrijednosti jer rade samo na 0 i 1. Dakle, trebamo nešto što će pretvoriti sve ove analogne vrijednosti u 0 i 1 kako bi ih naši mikrokontroleri i mikroprocesori mogli razumjeti. To se nešto kratko naziva Analogno-digitalni pretvarači ili ADC. U ovom ćemo članku naučitisve o ADC-u i kako ih koristiti.
Što je ADC i kako ga koristiti?
Kao što je ranije rečeno, ADC je kratica za analognu u digitalnu pretvorbu i koristi se za pretvaranje analognih vrijednosti iz stvarnog svijeta u digitalne vrijednosti poput 1 i 0. Pa koje su to analogne vrijednosti? To su oni koje vidimo u svakodnevnom životu poput temperature, brzine, svjetline itd. Ali pričekajte !! Može li ADC pretvoriti temperaturu i brzinu izravno u digitalne vrijednosti poput 0 i 1?
Ne prkosno ne. ADC može pretvoriti samo analogne vrijednosti napona u digitalne vrijednosti. Dakle, koji parametar želimo izmjeriti, prvo ga treba pretvoriti u napon, to se pretvaranje može izvršiti uz pomoć senzora. Na primjer, za pretvorbu vrijednosti temperature u napon možemo koristiti termistor slično za pretvaranje svjetline u napon možemo upotrijebiti LDR. Nakon što se pretvori u napon, možemo ga očitati uz pomoć ADC-a.
Da bismo znali koristiti ADC, prvo bismo se trebali upoznati s nekim osnovnim pojmovima poput, razlučivosti kanala, dometa, referentnog napona itd.
Razlučivost (bitovi) i kanali u ADC-u
Kada pročitate specifikaciju bilo kojeg mikrokontrolera ili ADC IC-a, detalji ADC-a dat će se pomoću izraza kanali i razlučivost (bitovi). Na primjer , Arduino UNO-ov ATmega328 ima 8-kanalni 10-bitni ADC. Ne može svaki pin na mikrokontroleru čitati analogni napon, pojam 8-kanalni znači da na ovom ATmega328 mikrokontroleru postoji 8 pinova koji mogu čitati analogni napon i svaki pin može očitati napon u razlučivosti od 10-bita. Ovo će se razlikovati za različite vrste mikrokontrolera.
Pretpostavimo da je naš raspon ADC-a od 0 V do 5 V, a mi imamo 10-bitni ADC, što znači da će se naš ulazni napon 0-5 V podijeliti na 1024 razine diskretnih analognih vrijednosti (2 10 = 1024). Značenje 1024 je razlučivost za 10-bitni ADC, slično će za 8-bitnu ADC razlučivost biti 512 (2 8), a za 16-bitnu ADC razlučivost 65.536 (2 16).
Uz ovo ako je stvarni ulazni napon 0V, tada će ga ADC MCU-a očitati kao 0, a ako je 5V, MCU će očitati 1024, a ako je negdje između 2,5V, tada će MCU očitati 512. Možemo koristiti donje formule za izračunavanje digitalne vrijednosti koju će očitati MCU na temelju razlučivosti ADC-a i radnog napona.
(ADC razlučivost / radni napon) = (ADC digitalna vrijednost / stvarna vrijednost napona)
Referentni napon za ADC
Sljedeći važan pojam koji biste trebali upoznati je referentni napon. Tijekom ADC konverzije vrijednost nepoznatog napona pronalazi se usporedbom s poznatim naponom, taj poznati napon naziva se referentni napon. Obično svi MCU imaju mogućnost postavljanja unutarnjeg referentnog napona, što znači da ovaj napon možete interno postaviti na neku dostupnu vrijednost pomoću softvera (programa). Na ploči Arduino UNO referentni napon interno je prema zadanim postavkama postavljen na 5 V, ako je potrebno, korisnik može taj referentni napon podesiti eksterno kroz vref pin i nakon izvršavanja potrebnih promjena u softveru.
Uvijek imajte na umu da izmjerena analogna vrijednost napona uvijek treba biti manja od vrijednosti referentnog napona, a referentna vrijednost napona uvijek manja od vrijednosti radnog napona mikrokontrolera.
Primjer
Ovdje uzimamo primjer ADC-a koji ima 3-bitnu razlučivost i 2V referentni napon. Tako može preslikati analogni napon 0-2v na 8 (23) različitih nivoa, kao što je prikazano na donjoj slici:

Dakle, ako je analogni napon 0,25, tada će digitalna vrijednost biti 1 u decimalnom i 001 u binarnom obliku. Isto tako ako je analogni napon 0,5 tada će digitalna vrijednost biti 2 u decimalnom i 010 u binarnom.
Neki mikrokontroleri imaju ugrađeni ADC poput Arduina, MSP430, PIC16F877A, ali neki mikrokontroleri ga nemaju poput 8051, Raspberry Pi itd., A mi moramo koristiti neke vanjske IC-ove analognog u digitalni pretvarač poput ADC0804, ADC0808.
Ispod možete pronaći razne primjere ADC-a s različitim mikrokontrolerima:
- Kako koristiti ADC u Arduino Uno?
- Vodič za ADC za Raspberry Pi
- Povezivanje ADC0808 s 8051 mikrokontrolerom
- 0-25V digitalni voltmetar pomoću AVR mikrokontrolera
- Kako koristiti ADC u STM32F103C8
- Kako koristiti ADC u MSP430G2
Vrste ADC-a i rad
Postoje mnoge vrste ADC-a, najčešće korišteni Flash Flash, Dual Slope ADC, Sukcesivna aproksimacija i Dual Slope ADC. Objasniti kako bi svaki od ovih ADC-ovih djela i razlika između njih bili izvan opsega ovog članka, jer su prilično složeni. Ali da dam grubu ideju, ADC ima unutarnji kondenzator koji će se napuniti analognim naponom koji se mjeri. Zatim mjerimo vrijednost napona pražnjenjem kondenzatora kroz određeno vrijeme.
Neka često postavljana pitanja o ADC-u
Kako izmjeriti više od 5V pomoću mog ADC-a?
Kao što je ranije spomenuto, ADC modul ne može mjeriti vrijednost napona više od radnog napona mikrokontrolera. To je 5V mikrokontroler svojim ADC pinom može izmjeriti samo najviše 5V. Ako želite izmjeriti išta više od navedenog, želite izmjeriti 0-12V, onda 0-12V možete preslikati u 0-5V pomoću potencijalnog djelitelja ili kruga djelitelja napona. Ovaj krug će upotrijebiti par otpornika za mapiranje vrijednosti MCU-a, o poveznici možete znati više o krugu djelitelja napona. Za naš gornji primjer trebali bismo upotrijebiti 1K otpornik i otpor od 720 ohma u seriji na izvor napona i izmjeriti napon između otpornika kako je raspravljeno u gornjoj vezi.
Kako pretvoriti digitalne vrijednosti iz ADC-a u stvarne naponske vrijednosti?
Kada se za mjerenje analognog napona koristi ADC pretvarač, rezultat dobiven od MCU-a bit će digitalni. Na primjer, u 10-bitnom 5V mikrokontroleru kada je stvarni napon koji treba izmjeriti 4V, MCU će ga očitati kao 820, možemo ponovno upotrijebiti gore raspravljene formule za pretvorbu 820 u 4V kako bismo ga mogli koristiti u našem proračuni. Provjerimo isto.
(ADC razlučivost / radni napon) = (ADC digitalna vrijednost / stvarna vrijednost napona) Stvarna vrijednost napona = ADC digitalna vrijednost * (radni napon / ADC razlučivost) = 820 * (5/1023) = 4,007 = ~ 4V
Nadam se da imate dobru ideju o ADC-u i kako ih koristiti za svoje aplikacije. Ako ste imali problema s razumijevanjem koncepata, slobodno objavite svoje komentare u nastavku ili ih napišite na našim forumima.

