- Az analóg világ digitális elektronikával
- Mi az ADC és hogyan kell használni?
- Felbontás (bit) és csatornák az ADC-ben
- Referenciafeszültség egy ADC számára
- Példa
- ADC típusok és munka
- Néhány gyakran felmerülő kérdés az ADC-vel kapcsolatban
Az analóg világ digitális elektronikával
Néhány évvel ezelőtt azok az elektronikai eszközök, amelyeket ma használunk, mint a telefonok, számítógépek, televíziók stb., Analóg jellegűek voltak. Aztán lassan a vezetékes telefonokat modern mobiltelefonok váltották fel, a CRT televíziókat és a monitorokat LED kijelzők helyettesítették, a vákuumcsöves számítógépek erősebbé váltak, mikroprocesszorokkal és mikrovezérlőkkel stb.
A mai digitális korban mindannyian körülöttünk vannak a fejlett digitális elektronikus eszközök, ez megtéveszthet bennünket, ha azt gondoljuk, hogy körülöttünk minden digitális jellegű, ami nem igaz. A világ mindig is analóg jellegű volt, például minden, amit mi emberek érzünk és tapasztalunk, például a sebesség, a hőmérséklet, a levegő sebessége, a napfény, a hang stb. De a mikrokontrollereken és mikroprocesszorokon működő elektronikus eszközeink nem képesek közvetlenül leolvasni / értelmezni ezeket az analóg értékeket, mivel csak 0-on és 1-en működnek. Szükségünk van tehát valamire, amely ezeket az analóg értékeket 0 és 1 értékekké alakítja, hogy a mikrovezérlőink és mikroprocesszoraink megértsék őket. Ezt röviden Analóg-digitális átalakítóknak vagy ADC-nek hívják. Ebben a cikkben megtudjukmindent az ADC-ről és azok használatáról.
Mi az ADC és hogyan kell használni?
Mint korábban említettük, az ADC az analóg-digitális átalakítást jelenti, és arra használják, hogy a valós világból származó analóg értékeket digitális értékekké konvertálja, például 1-es és 0-s értékeket. Tehát mik ezek az analóg értékek? Ezeket látjuk a mindennapi életünkben, például hőmérséklet, sebesség, fényerő stb. De várj !! Átalakíthatja-e egy ADC a hőmérsékletet és a sebességet közvetlenül digitális értékekre, például 0-ra és 1-re?
Nem dacosan nem. Az ADC csak analóg feszültségértékeket képes digitális értékekké konvertálni. Tehát melyik paramétert akarjuk megmérni, először feszültséggé kell átalakítani, ezt az átalakítást szenzorok segítségével lehet elvégezni. Például a hőmérsékleti értékek feszültséggé történő átalakításához használhatunk egy termisztort, hasonlóan a fényerő feszültséggé alakításához, LDR-t is használhatunk. Miután feszültséggé alakult, kiolvashatjuk az ADC-k segítségével.
Annak érdekében, hogy tudjuk, hogyan kell használni az ADC-t, először meg kell ismerkednünk néhány alapvető kifejezéssel, például a csatornák felbontásával, tartományával, referenciafeszültségével stb.
Felbontás (bit) és csatornák az ADC-ben
Ha elolvassa bármely mikrokontroller vagy ADC IC specifikációját, az ADC részleteit a csatornák és a Felbontás (bit) kifejezésekkel adjuk meg. Például egy Arduino UNO ATmega328 készüléke 8 csatornás, 10 bites ADC-vel rendelkezik. A mikrokontroller nem minden csapja képes analóg feszültség leolvasására, a 8 csatornás kifejezés azt jelenti, hogy ezen az ATmega328 mikrokontrolleren 8 érintkezõ van, amelyek képesek analóg feszültséget olvasni, és mindegyik érintkezõ képes 10 bites felbontással leolvasni a feszültséget. Ez a mikrovezérlők különböző típusainál eltérő lehet.
Tegyük fel, hogy az ADC tartományunk 0 V és 5 V között van, és van egy 10 bites ADC, ami azt jelenti, hogy a 0–5 voltos bemeneti feszültségünk 1024 különálló analóg értékre lesz felosztva (2 10 = 1024). Az 1024 jelentése egy 10 bites ADC felbontása, hasonlóan egy 8 bites ADC felbontáshoz 512 (2 8) és egy 16 bites ADC felbontáshoz 65 536 (2 16).
Ezzel, ha a tényleges bemeneti feszültség 0V, akkor az MCU ADC-je 0-nak fogja olvasni, és ha 5V-os, akkor az MCU 1024-et fog olvasni, és ha valahol kettő között van, mint 2,5 V, akkor az MCU 512-et fog olvasni. Az alábbi képleteket használhatjuk az MCU által leolvasandó digitális érték kiszámításához az ADC felbontása és az üzemi feszültség alapján.
(ADC felbontás / üzemi feszültség) = (ADC digitális érték / tényleges feszültségérték)
Referenciafeszültség egy ADC számára
Egy másik fontos kifejezés, amelyet ismernie kell, a referenciafeszültség. Az ADC-átalakítás során az ismeretlen feszültség értékét egy ismert feszültséggel összehasonlítva megtaláljuk, ezt az ismert feszültséget referenciafeszültségnek nevezzük. Normál esetben az összes MCU-nak lehetősége van a belső referenciafeszültség beállítására , vagyis ezt a feszültséget belső módon állíthatja be valamilyen elérhető értékre szoftver (program) segítségével. Egy Arduino UNO lapon a referenciafeszültség alapértelmezés szerint 5 V-ra van állítva, ha szükséges, a felhasználó ezt a referenciafeszültséget a Vref-tűn keresztül külsőleg is beállíthatja, miután elvégezte a szükséges változtatásokat a szoftverben.
Mindig emlékezzen arra, hogy a mért analóg feszültségértéknek mindig kisebbnek kell lennie a referenciafeszültség értékénél, és a referenciafeszültség értékének mindig kisebbnek kell lennie, mint a mikrovezérlő üzemi feszültségének értéke.
Példa
Itt példát veszünk az ADC-re, amelynek 3 bites felbontása és 2 V referenciafeszültsége van. Tehát a 0-2v analóg feszültséget 8 (2 3) különböző szinttel tudja feltérképezni, amint az az alábbi képen látható:
Tehát, ha az analóg feszültség 0,25, akkor a digitális érték 1 lesz tizedesjegyben és 001 bináris. Hasonlóképpen, ha az analóg feszültség 0,5, akkor a digitális érték decimálisban 2, binárisban 010 lesz.
Néhány mikrovezérlő beépítette az ADC-t, mint az Arduino, az MSP430, a PIC16F877A, de néhány mikrovezérlőnél nincs ilyen, mint a 8051, a Raspberry Pi stb., És néhány külső analóg-digitális átalakító IC-t kell használnunk, például ADC0804, ADC0808.
Az alábbiakban különféle példákat találhat az ADC-ről különböző mikrovezérlőkkel:
- Hogyan kell használni az ADC-t az Arduino Uno-ban?
- Raspberry Pi ADC bemutató
- Az ADC0808 összekapcsolása a 8051 mikrokontrollerrel
- 0-25V digitális feszültségmérő AVR mikrokontrollerrel
- Az ADC használata az STM32F103C8 fájlban
- Az ADC használata az MSP430G2-ben
ADC típusok és munka
Sokféle ADC létezik, a leggyakrabban használtak a Flash ADC, a Dual Slope ADC, az egymás utáni közelítés és a Dual Slope ADC. Annak elmagyarázása, hogy ezeknek az ADC-knek a munkája és a köztük lévő különbségek miért nem tartoznak a cikk hatálya alá, mivel meglehetősen összetettek. De ahhoz, hogy durva képet alkossunk, az ADC rendelkezik egy belső kondenzátorral, amelyet a mérendő analóg feszültség tölt fel. Ezután megmérjük a feszültség értékét a kondenzátor bizonyos időtartamú kisütésével.
Néhány gyakran felmerülő kérdés az ADC-vel kapcsolatban
Hogyan lehet több mint 5 V-ot mérni az ADC-vel?
Amint arról korábban szó esett, egy ADC modul nem képes a feszültség értékét jobban mérni, mint a mikrovezérlő üzemi feszültsége. Ez azt jelenti, hogy egy 5 V-os mikrovezérlő csak 5 V-ot tud mérni az ADC-tűjével. Ha ennél többet akar mérni, mint mondjuk, akkor 0-12V-ot szeretne mérni, akkor a 0-12V-ot 0-5V-ba térképezheti egy potenciálosztó vagy feszültségosztó áramkör használatával. Ez az áramkör egy ellenállópárral fogja feltérképezni az MCU értékeit, a kapcsolaton keresztül többet tudhat meg a feszültségosztó áramkörről. A fenti példánkhoz 1K ellenállást és 720 ohmos ellenállást kell használnunk sorba a feszültségforráshoz, és meg kell mérnünk a feszültséget az ellenállások között, amint azt a fenti hivatkozás tárgyalja.
Hogyan lehet átalakítani az ADC-ből származó digitális értékeket tényleges feszültségértékekké?
Ha ADC konvertert használ az analóg feszültség mérésére, akkor az MCU eredménye digitális lesz. Például egy 10 bites 5V-os mikrovezérlőben, amikor a tényleges mérendő feszültség 4V, az MCU 820-ként fogja felolvasni, a fentiekben ismertetett képletekkel újra felhasználhatjuk a 820 átalakítását 4V-ra, hogy ezt a számításokat. Lehetővé teszi a keresztellenőrzést.
(ADC felbontás / üzemi feszültség) = (ADC digitális érték / tényleges feszültségérték) tényleges feszültségérték = ADC digitális érték * (üzemi feszültség / ADC felbontás) = 820 * (5/1023) = 4,007 = ~ 4V
Remélem, hogy van egy jó ötlete az ADC-ről és arról, hogyan lehet felhasználni őket az alkalmazásokhoz. Ha bármilyen problémája lenne a fogalmak megértésével, nyugodtan tegye meg észrevételeit alább, vagy írja meg fórumunkba.