- Analoginen maailma digitaalisella elektroniikalla
- Mikä on ADC ja miten sitä käytetään?
- Resoluutio (bittiä) ja kanavat ADC: ssä
- ADC: n vertailujännite
- Esimerkki
- ADC-tyypit ja työskentely
- Joitakin yleisiä kysymyksiä ADC: stä
Analoginen maailma digitaalisella elektroniikalla
Muutama vuosi sitten kaikki elektroniikkalaitteet, joita käytämme tänään, kuten puhelimet, tietokoneet, televisiot jne., Olivat luonteeltaan analogisia. Sitten lankapuhelimet korvattiin hitaasti nykyaikaisilla matkapuhelimilla, CRT-televisiot ja näytöt korvattiin LED-näytöillä, tyhjöputkilla varustetut tietokoneet kehittyivät tehokkaammiksi, mikroprosessorit ja mikro-ohjaimet sisällä jne.
Nykypäivän digitaaliaikana meitä kaikkia ympäröivät kehittyneet digitaaliset elektroniset laitteet, mikä saattaa pettää meidät ajattelemaan, että kaikki ympärillämme on luonteeltaan digitaalista, mikä ei ole totta. Maailma on aina ollut luonteeltaan analoginen, esimerkiksi kaikki, mitä me ihmiset tunnemme ja koemme, kuten nopeus, lämpötila, ilman nopeus, auringonvalo, ääni jne., Ovat luonteeltaan analogisia. Mutta elektroniset laitteemme, jotka toimivat mikro-ohjaimilla ja mikroprosessoreilla, eivät voi lukea / tulkita näitä analogisia arvoja suoraan, koska ne toimivat vain 0: lla ja 1: llä. Joten tarvitsemme jotain, joka muuntaa kaikki nämä analogiarvot 0- ja 1-arvoiksi, jotta mikrokontrollerimme ja mikroprosessorimme ymmärtäisivät ne. Tätä kutsutaan lyhyesti analogisiksi digitaalimuuntimiksi tai ADC: ksi. Tässä artikkelissa opimmekaiken ADC: stä ja niiden käytöstä.
Mikä on ADC ja miten sitä käytetään?
Kuten aiemmin mainittiin, ADC tarkoittaa analogista digitaalimuunnosta ja sitä käytetään muuntaa analogiset arvot todellisesta maailmasta digitaalisiksi arvoiksi, kuten 1 ja 0. Joten mitkä ovat nämä analogiarvot? Nämä ovat niitä, joita näemme jokapäiväisessä elämässämme, kuten lämpötila, nopeus, kirkkaus jne. Mutta odota! Voiko ADC muuntaa lämpötilan ja nopeuden suoraan digitaalisiksi arvoiksi, kuten 0 ja 1?
Ei uhmakkaasti ei. ADC voi muuntaa analogiset jännitearvot vain digitaalisiksi arvoiksi. Joten mikä parametri haluamme mitata, se tulisi ensin muuntaa jännitteeksi, tämä muunnos voidaan tehdä antureiden avulla. Esimerkiksi lämpötilan arvojen muuntamiseksi jännitteeksi voimme käyttää termistoria samalla tavalla kirkkauden muuntamiseksi jännitteeksi, jota voimme käyttää LDR: nä. Kun se on muunnettu jännitteeksi, voimme lukea sen ADC: n avulla.
ADC: n käytön oppimiseksi meidän on ensin perehdyttävä joihinkin perustermeihin, kuten kanavien tarkkuus, alue, referenssijännite jne.
Resoluutio (bittiä) ja kanavat ADC: ssä
Kun luet minkä tahansa mikro-ohjaimen tai ADC-IC: n eritelmän, ADC: n yksityiskohdat annetaan termeillä kanavat ja tarkkuus (bittiä). Esimerkiksi Arduino UNO: n ATmega328: lla on 8-kanavainen 10-bittinen ADC. Kaikki mikro-ohjaimen nastat eivät voi lukea analogista jännitettä, termi 8-kanavainen tarkoittaa, että tällä ATmega328-mikrokontrollerilla on 8 nastaa, joka pystyy lukemaan analogisen jännitteen ja jokainen nasta voi lukea jännitteen 10-bittisellä resoluutiolla. Tämä vaihtelee erityyppisissä mikro-ohjaimissa.
Oletetaan, että ADC-alueemme on välillä 0 V - 5 V ja meillä on 10-bittinen ADC, mikä tarkoittaa, että tulojännitteemme 0-5 volttia jaetaan 1024 tasoon erillisiä analogiarvoja (2 10 = 1024). Tarkoitus 1024 on 10-bittisen ADC: n resoluutio, samoin 8-bittisen ADC: n resoluutio on 512 (2 8) ja 16-bittisen ADC: n resoluutio 65 536 (2 16).
Tällöin, jos todellinen tulojännite on 0 V, MCU: n ADC lukee sen 0: ksi ja jos se on 5 V, MCU lukee 1024 ja jos se on välillä 2,5 V, MCU lukee 512. Voimme käyttää seuraavia kaavoja laskea digitaalinen arvo, jonka MCU lukee ADC: n resoluution ja käyttöjännitteen perusteella.
(ADC-tarkkuus / käyttöjännite) = (ADC-digitaaliarvo / todellinen jännite-arvo)
ADC: n vertailujännite
Toinen tärkeä termi, jonka sinun tulisi tuntea, on referenssijännite. ADC-muunnoksen aikana tuntemattoman jännitteen arvo löydetään vertaamalla sitä tunnettuun jännitteeseen, tätä tunnettua jännitettä kutsutaan vertailujännitteeksi. Normaalisti kaikilla MCU: lla on mahdollisuus asettaa sisäinen vertailujännite, mikä tarkoittaa, että voit asettaa tämän jännitteen sisäisesti joillekin käytettävissä oleville arvoille ohjelmiston (ohjelman) avulla. Arduino UNO -taulukossa referenssijännite on oletusarvoisesti 5 V sisäisesti, tarvittaessa käyttäjä voi asettaa tämän vertailujännitteen ulkoisesti Vref-nastan kautta myös tekemällä tarvittavat muutokset ohjelmistoon.
Muista aina, että mitatun analogisen jännitteen arvon tulisi aina olla pienempi kuin vertailujännitteen arvo ja vertailujännitteen arvon tulisi aina olla pienempi kuin mikro-ohjaimen käyttöjännitteen arvo.
Esimerkki
Otamme tässä esimerkin ADC: stä, jolla on 3-bittinen resoluutio ja 2 V: n vertailujännite. Joten se voi kartoittaa 0-2v: n analogisen jännitteen 8 (2 3) eri tasolla, kuten alla olevassa kuvassa näkyy:
Joten jos analoginen jännite on 0,25, digitaalinen arvo on 1 desimaalin tarkkuudella ja 001 binäärinen. Samoin jos analoginen jännite on 0,5, digitaalinen arvo on 2 desimaalissa ja 010 binäärisessä.
Jotkut mikrokontrollerit ovat integroineet ADC: n, kuten Arduino, MSP430, PIC16F877A, mutta joillakin mikrokontrollereilla ei ole sitä, kuten 8051, Raspberry Pi jne., Ja meidän on käytettävä joitain ulkoisia analogisista digitaalisiin muunninpiirejä, kuten ADC0804, ADC0808.
Alla on useita esimerkkejä ADC: stä eri mikrokontrollereilla:
- Kuinka käyttää ADC: tä Arduino Unossa?
- Vadelma Pi ADC -opastus
- ADC0808: n ja 8051-mikrokontrollerin liitäntä
- 0-25 V: n digitaalinen voltimittari AVR-mikrokontrollerilla
- Kuinka käyttää ADC: tä STM32F103C8: ssa
- Kuinka käyttää ADC: tä MSP430G2: ssa
ADC-tyypit ja työskentely
ADC-tyyppejä on monenlaisia, yleisimmin käytettyjä ovat Flash ADC, Dual Slope ADC, Peräkkäinen lähentäminen ja Dual Slope ADC. Selittää, kuinka kukin näistä ADC: n työstä ja niiden välisestä erosta olisi tämän artikkelin ulkopuolella, koska ne ovat melko monimutkaisia. Mutta karkean kuvan antamiseksi ADC: llä on sisäinen kondensaattori, joka latautuu mitattavasta analogisesta jännitteestä. Sitten mitataan jännitteen arvo purkamalla kondensaattori tietyn ajanjakson ajan.
Joitakin yleisiä kysymyksiä ADC: stä
Kuinka mitata yli 5 V ADC: llä?
Kuten aiemmin keskusteltiin, ADC-moduuli ei voi mitata jännitteen arvoa enemmän kuin mikro-ohjaimen käyttöjännite. Tämä on 5 V: n mikrokontrolleri, joka voi mitata vain enintään 5 V: n ADC-nastalla. Jos haluat mitata jotain muuta kuin sanoa, haluat mitata 0-12V, voit määrittää 0-12V 0-5V: ksi käyttämällä potentiaalijakajaa tai jännitteenjakajan piiriä. Tämä piiri käyttää vastusparia kartoittamaan MCU: n arvot, voit tietää enemmän jännitteenjakajan piiristä linkin avulla. Yllä olevassa esimerkissämme meidän tulisi käyttää 1K-vastusta ja 720 ohmin vastusta sarjaan jännitelähteeseen ja mitata vastusten välinen jännite yllä olevan linkin mukaisesti.
Kuinka muuntaa digitaaliset arvot ADC: stä todellisiksi jännitearvoiksi?
Kun ADC-muunninta käytetään analogisen jännitteen mittaamiseen, MCU: n tulos on digitaalinen. Esimerkiksi 10-bittisessä 5 V: n mikrokontrollerissa, kun mitattava todellinen jännite on 4 V, MCU lukee sen arvona 820, voimme jälleen käyttää yllä mainittuja kaavoja 820: n muuntamiseksi 4 V: ksi, jotta voimme käyttää sitä laskelmat. Antaa ristiintarkistaa saman.
(ADC-tarkkuus / käyttöjännite) = (ADC-digitaaliarvo / todellinen jännitearvo) Todellinen jännitearvo = ADC-digitaaliarvo * (käyttöjännite / ADC-tarkkuus) = 820 * (5/1023) = 4,007 = ~ 4V
Toivottavasti sait oikeudenmukaisen kuvan ADC: stä ja siitä, miten niitä käytetään sovelluksissasi. Jos sinulla on ongelmia käsitteiden ymmärtämisessä, lähetä kommenttisi alla tai kirjoita se foorumeillemme.