AD-muunnin

AD-muuntimen nimi tulee sanoista Analog-to-Digital ja tällä tarkoitetaan usein mikropiiriä tai muuta kytkentää, joka muuntaa analogisen signaalin digitaaliseen, tietokoneen tai mikroprosessorin ymmärtämään muotoon - eli biteiksi. Mikäli analoginen signaali ei vielä ole tuttu, kannattaa vilkaista juttua analogisesta signaalista.

AD-muuntimia löytyy erillisinä piireinä ja monissa mikrokontrollereissa (MCU) AD-muunnin on integroitu mikrokontrollerin sisälle.

AD-muunninta tarvitaan aina silloin, kun esimerkiksi ääntä, valoa, lämpötilaa, resistanssia, painetta tai puristusta tai esimerkiksi radiotaajuutta täytyy muuttaa digitaaliseen formaattiin eli mitata. Tästä herääkin kysymys, miksi signaalia ei voisi sitten käsitellä täysin analogisena koko ajan? Seuraavassa pohditaankin hieman tätä asiaa.

Miksi tarvitaan muunninta?

Jos et jo tietänyt, niin analogisen signaalin ominaisuuksiin kuuluu kohina. Kohinaa on aina ja tulee aina olemaan sikäli kuin fysiikan lait pätevät. Ei kiinnitetä nyt huomiota siihen, mistä kohina itsessään tulee vaan hyväksytään se, että kohinaa aina on. Tästä syystä analogisen signaalin informaatiosisältö taikka hyötysignaali on häiriöllinen. Jos signaalia käsiteltäisiin aina analogisena, niin järjestelmä tai sovellus ei itse asiassa voisi koskaan erottaa mikä on kohinaa ja mikä on hyötysignaalia.

Asian voi hyvin helposti sisäistää esimerkiksi vanhan ajan LP-soittimia tutkimalla. Ennen C-kasetteja äänen ja musiikin toistoon käytettiin LP-levyjä (mustia vinyylikiekkoja), joiden ääniraitaa luki herkkä neula. Tämä neula kulki levyyn tehdyssä urassa, missä oli pienen pieniä "kukkuloita" joista signaali kulkeutui neulan kautta soittimen elektroniikka-osaan ja siitä taas vahvistimelle ja edelleen kaiuttimille. Jos ääntä tuottavan uran kohtaan sattui naarmu tai urassa oli roska, niin levysoittimen äänessä tapahtui kummia raksauksia tai levy jäi jopa jumittamaan paikalleen. Levysoitin ei siis tiennyt kuuluiko naarmu tai roska oikeasti musiikin sekaan vai ei.

Nykypäivänä musiikkia kuunnellaan digitaalisessa muodossa MP3-soittimista, CD/DVD-levyiltä ja internetistä suoratoistona. Näissä kaikissa mainituissa laitteissa musiikki on talletettu bitteinä - eli nollina ja ykkösinä. Ei ole olemassa mitään roskia tai vääriä signaaleja, koska on vain se mitä musiikkitiedostoon on tallennettu - nollia ja ykkösiä.

Musiikki on saatu talteen käyttämällä mikrofonia, joka muuntaa ihmisen laulun ja musiikin analogiseksi signaaliksi. Analoginen signaali syötetään AD-muuntimelle ja AD-muuntimen tuottamat bitit ottaa talteen tietokone, mikrokontrolleri tai jokin muu IC-piiri. Ja eipä aikaakaan kun saadut bitit on edelleen tallennettu tietokoneen kovalevylle, muistikortille tai jollekin muulle medialle.

Biteistä taas muodostuu tavuja (engl. byte) ja sanoja (engl. word), jotka tulkitaan numeroina. Numeroita voidaan hyödyntää pakkausalgoritmeissä, kun ääntä pakataan vähemmän tilaa vievään muotoon (MP3, WMA yms. koodekit).

On siis hyödyllistä ja järkevää käyttää digitaalista menetelmää signaalien käsittelyyn, vaikka analogisilla signaaleilla on edelleen suuri merkitys nykypäivän laitteissa.

Käytännössä AD-muuntimet mittaavat yleensä aina jännitettä.

AD-muuntimen toiminta, resoluutio ja referenssijännite

AD-muunnin

Yllä olevassa kuvassa on esitetty AD-muuntimen piirikaaviosymboli. Analoginen signaali tuodaan kuvassa muuntimelle vasemmalta ja digitaalinen tieto lähtee muuntimelta oikealle.

Kun muunnin alkaa toimimaan, joko ulkoisesta signaalista tai automaattisesti kun virrat on kytketty päälle, niin AD-muunnin alkaa tuottamaan analogisesta signaalista bittimuotoista tietoa.

Muuntimelta saatava tieto luetaan muodossa 2N, joka tarkoittaa muuntimen tarkkuutta tai 'bittisyyttä'. Itse asiassa puhutaan muuntimen resoluutiosta (engl. resolution), joka tyypillisesti on 8, 10, 12, 16 tai 24 -bittiä ja on muuntimen valinnassa kaikista tärkein tekijä. Resoluutio kertoo käyttäjälle sen, kuinka moneen eri osaan mitattu analogiajännite voidaan jakaa ja kuinka tarkasti mittaustulos näin ollen saadaan esitettyä.

Resoluutioon ja AD-muuntimen toimintaan liittyy olennaisena osana referenssijännite (engl. Reference Voltage). Referenssijännitteillä määritetään AD-muuntimelle syötettävän signaalin minimi- ja maksimijännitteet, joiden sisällä AD-muuntimelle syötettävän analogisen signaalin on oltava. Minimijännitettä kuvataan termillä Vref- ja maksimijännitettä termillä Vref+.

AD-muunnin muuntaa sisään tulevan analogisen signaalin binäärimuotoiseksi dataksi aina suhteessa referenssijännitteisiin. Tämä tarkoittaa siis sitä, että jos sisääntulevan jännitteen arvo on tarkalleen yhtä suuri kuin Vref+, niin AD-muuntimen antama binäärinen arvo on 2N-1. Jos analogisen signaalin jännitearvo on yhtä suuri kuin Vref-, niin binäärinen arvo on tasan 0.

AD-muuntimen kanavat ja näytteistäminen

Jokaista AD-muuntimen input-nastaa sanotaan kanavaksi ja merkitään usein AIN. AD-muuntimella voi olla useitakin kanavia, jolloin voidaan ottaa samalta ajanhetkeltä useista eri lähteistä muunnosarvoja. Käytännön esimerkkinä voisi mainita vaikkapa stereoäänen tallentamisen stereomikrofonin avulla. Vasen stereomikrofoni kytkettäisiin toiseen AD-muuntimen kanavaan ja oikea mikrofoni toiseen kanavaan.

AD-muuntimeen syötettävän analogisen signaalin muuntamista binääriseksi kutsutaan näytteistämiseksi. AD-muunnin tarvitsee näytteistämiseen aina jonkin verran aikaa ja muunnosaika riippuu muuntimen tyypistä.

AD-muuntimien tyypit

AD-muunnintyyppejä on useita erilaisia ja kaikkien niiden läpikäyminen ei ole tämän lyhyen esittelyn kannalta järkevää. Voidaan kuitenkin sanoa, että yleisimmät tyypit ovat Flash-muunnin, laskuriperiaattella tai haarukoimalla toimivat muuntimet, integroivat muuntimet sekä Delta-Sigma ja SAR -muuntimet.

Esimerkki AD-muuntimen käytöstä

Otetaan käytännön esimerkki 8-bittisestä AD-muuntimesta, jonka tulee mitata lämpötilaa. Tämä onnistuu, kun mitataan jännitettä vaikkapa NTC-vastukselta. Oletetaan että muunnoskäyrä on lineaarinen, eli NTC-vastus toimii lineaarisesti mittausalueella (näin ei oikeasti ole, mutta esimerkki on helpompi selittää ja ymmärtää tällä tavalla).

Ensiksi tehdään mielikuvituskytkentä, mihin kytketään AD-muunnin, 5 voltin referenssijännite (Vref+), 0 voltin referenssijännite (Vref-) ja jännitteenjakokytkentään tavallinen 10 kΩ:n vastus (R1) ja 5 kΩ:n NTC-vastus (R2). Alle on piirretty edellä mainittu kytkentä.

AD-muunnin kytkentä

Kuten aiemmin on mainittu, niin AD-muuntimen resoluutio kertoo meille muuntimen tarkkuuden. Tässä tapauksessa käytössä on 8-bittinen AD-muunnin, jolloin resoluutio kyseiselle muuntimelle on:

Resoluutio = 2(bit)
Resoluutio = 28 = 256

AD-muuntimen resoluutio on siis 256. Tämä tarkoittaa sitä, että AD-muunnin voi jakaa jännitereferenssinsä 256:een yhtä suuruiseen osaan. AD-muuntimen suurin näyttämä lukema voi kuitenkin olla vain 255, koska ensimmäinen osa alkaa nollasta. AD-muuntimen jakamia osia voidaan kuulla kutsuttavan maallisemmilla termeillä, kuten esimerkiksi 'tiksu', 'naksu', 'step', 'askel' ja niin edelleen. Rakkaalla lapsella on tässäkin tapauksessa monta nimeä.

Koska referenssi Vref+ on kytketty 5 volttiin ja Vref- on kytketty maahan eli 0 volttiin, niin jännitealue mitä AD-muunnin voi mitata on:

Vref = (Vref+) - (Vref-) mistä saadaan:
Vref = 5 V - 0 V = 5 V

Näin ollen jännitealue mitä AD-muunnin mittaa on 5 volttia. Tästä laskemalla saadaan selville kuinka suuri on yksi osa 256:sta, eli resoluutio voltteina:

Resoluutio (V) = Vref / 2N
Resoluutio (V) = 5 V / 28
Resoluutio (V) = 5 V / 256 = 0,0195 V -> ~19,5  mV

Nyt kun peruslaskut on suoritettu, voidaan analysoida kytkentää.

Esimerkkikytkennän analysointi

Oletetaan, että tässä kytkennässä käytetty NTC-vastuksen resistanssi on 25 C asteen lämpötilassa 5 kΩ. Näin ollen AD-muuntimen kanavassa on jännitte, joka voidaan laskea jännitteen jaosta tutun kaavan avulla:

Laskemalla edellä mainituista arvoista saadaan:

VR1 = (10 / (10 + 5) kΩ * 5 V = 3,33 V

Laskusta selvittiin hyvin ja nyt tiedetään, että vastuksen R2 yli jää: 5 V - 3,33 V = 1,67 V. Tämä on siten AD-muuntimen input-jännite Vin.

Kun tiedämme AD-muuntimen tulossa vaikuttavan jännitteen Vin, voimme laskea millaisen binääriluvun saamme AD-muuntimen lähtöön:

N = (28 - 1) * Vin/Vref (miinus yksi, koska laskenta lähtee liikkeelle nollasta)
N = 255 * 1,67 V / 5 V
N = 85,17 -> 85

Tästä voidaan todeta, että kuviteltu AD-muunnin antaa luvun 85 kun lämpötila on 25 astetta ja anturilta saadaan 1,67 volttia jännitettä. Tällä tavoin AD-muuntimelle voidaan laskea myös kaikki muut mahdolliset jännitteet.

Mutta entäpä jos tiedetään AD-muuntimelta saatu muunnettu luku ja käytetty referenssijännite, mutta ei kanavassa olevaa input-jännitettä? No, sen laskeminen käy edellisen esimerkin tapauksessa näin:

Vin = N * (Vref / (28 - 1)
Vin = 85 * (5 V / 255)
Vin = 1,666... V -> 1,67 V

Tällä tavalla AD-muuntimelta saadaan helposti laskettua tuntematon jännite, joka on yleensä kytkennöissä se kiinnostuksen kohde.

Lähteitä ja linkkejä:

http://extremeelectronics.co.in/microchip-pic-tutorials/using-analog-to-digital-converter-%E2%80%93-pic-microcontroller-tutorial/
http://gallia.kajak.fi/opmateriaalit/yleinen/honHar/ma/ADDA_ADconv.pdf
http://hekilledmywire.wordpress.com/2011/03/16/using-the-adc-tutorial-part-5/
http://www.globalspec.com/reference/37755/203279/7-6-types-of-analog-to-digital-converters
http://www.hardwaresecrets.com/article/How-Analog-to-Digital-Converter-ADC-Works/317/2
http://www.opamp-electronics.com/tutorials/digital_theory_ch_013.htm
http://www.eetimes.com/design/other/4027690/Analog-to-Digital-Converters
http://extremeelectronics.co.in/microchip-pic-tutorials/using-analog-to-digital-converter-%E2%80%93-pic-microcontroller-tutorial/