- Analogā pasaule ar digitālo elektroniku
- Kas ir ADC un kā to izmantot?
- Izšķirtspēja (biti) un kanāli ADC
- Atskaites spriegums ADC
- Piemērs
- ADC veidi un darbība
- Daži bieži rodas jautājumi par ADC
Analogā pasaule ar digitālo elektroniku
Dažus gadus atpakaļ visas elektronikas ierīces, kuras mēs šodien izmantojam, piemēram, tālruņi, datori, televizori utt., Bija analogas. Tad lēnām fiksētos tālruņus nomainīja mūsdienīgi mobilie tālruņi, kineskopu televizori un monitori tika aizstāti ar LED displejiem, datori ar vakuuma caurulēm attīstījās jaudīgāki ar mikroprocesoriem un mikrokontrolleriem tajos utt.
Mūsdienu digitālajā laikmetā mūs visus ieskauj progresīvas digitālās elektroniskās ierīces, tas varētu mūs maldināt domāt, ka viss mums apkārt ir digitāls raksturs, kas nav taisnība. Pasaule vienmēr ir bijusi analoga, piemēram, viss, ko mēs, cilvēki, jūtam un piedzīvojam, piemēram, ātrums, temperatūra, gaisa ātrums, saules gaisma, skaņa utt. Bet mūsu elektroniskās ierīces, kas darbojas ar mikrokontrolleriem un mikroprocesoriem, nevar tieši nolasīt / interpretēt šīs analogās vērtības, jo tās darbojas tikai ar 0 un 1. Tāpēc mums ir nepieciešams kaut kas, kas visas šīs analogās vērtības pārveidos par 0 un 1, lai mūsu mikrokontrolleri un mikroprocesori tos saprastu. To īsi sauc par analogajiem ciparu pārveidotājiem vai ADC. Šajā rakstā mēs uzzināsimviss par ADC un kā tos izmantot.
Kas ir ADC un kā to izmantot?
Kā minēts iepriekš, ADC nozīmē Analog to Digital Conversion, un to izmanto, lai pārveidotu analogās vērtības no reālās pasaules tādās digitālajās vērtībās kā 1 un 0. Kādas ir šīs analogās vērtības? Tie ir tie, kurus mēs ikdienā redzam, piemēram, temperatūra, ātrums, spilgtums utt. Bet pagaidiet !! Vai ADC var pārveidot temperatūru un ātrumu tieši ciparu vērtībās, piemēram, 0 un 1?
Nē izaicinoši nē. ADC var pārveidot analogās sprieguma vērtības tikai ciparu vērtībās. Tātad, kuru parametru mēs vēlamies izmērīt, tas vispirms jāpārvērš spriegumā, un šo pārveidošanu var veikt ar sensoru palīdzību. Piemēram, lai pārveidotu temperatūras vērtības spriegumā, līdzīgi varam izmantot termistoru, lai spilgtumu pārvērstu spriegumā, kā arī LDR. Kad tas ir pārveidots spriegumā, mēs to varam nolasīt ar ADC palīdzību.
Lai zinātu, kā izmantot ADC, mums vispirms jāiepazīstas ar dažiem pamata noteikumiem, piemēram, kanālu izšķirtspēja, diapazons, atskaites spriegums utt.
Izšķirtspēja (biti) un kanāli ADC
Izlasot jebkura mikrokontrollera vai ADC IC specifikāciju, informācija par ADC tiks sniegta, izmantojot terminus kanāli un izšķirtspēja (biti). Piemēram , Arduino UNO ATmega328 ir 8 kanālu 10 bitu ADC. Ne katrs mikrokontrollera kontakts var nolasīt analogo spriegumu, termins 8 kanāli nozīmē, ka šajā ATmega328 mikrokontrollerī ir 8 tapas, kas var nolasīt analogo spriegumu, un katrs kontakts var nolasīt spriegumu ar 10 bitu izšķirtspēju. Dažādiem mikrokontrolleru veidiem tas būs atšķirīgs.
Pieņemsim, ka mūsu ADC diapazons ir no 0V līdz 5V un mums ir 10 bitu ADC, tas nozīmē, ka mūsu ieejas spriegums 0-5 volti tiks sadalīts 1024 diskrētu analogo vērtību līmeņos (2 10 = 1024). Nozīme 1024 ir 10 bitu ADC izšķirtspēja, līdzīgi kā 8 bitu ADC izšķirtspēja būs 512 (2 8) un 16 bitu ADC izšķirtspēja būs 65 536 (2 16).
Ja faktiskais ieejas spriegums ir 0 V, tad MCU ADC to nolasīs kā 0, un, ja tas ir 5 V, MCU rādīs 1024 un, ja tas kaut kur pa vidu, piemēram, 2.5 V, tad MCU rādīs 512. Mēs varam izmantot tālāk norādītās formulas. lai aprēķinātu digitālo vērtību, kuru nolasīs MCU, pamatojoties uz ADC izšķirtspēju un darba spriegumu.
(ADC izšķirtspēja / darba spriegums) = (ADC digitālā vērtība / faktiskā sprieguma vērtība)
Atskaites spriegums ADC
Vēl viens svarīgs termins, kas jums būtu jāpārzina, ir atsauces spriegums. ADC pārveidošanas laikā nezināmā sprieguma vērtību atrod, salīdzinot to ar zināmo spriegumu, šo zināmo spriegumu sauc par atsauces spriegumu. Parasti visiem MCU ir iespēja iestatīt iekšējo atsauces spriegumu, kas nozīmē , ka jūs varat iekšēji iestatīt šo spriegumu uz kādu pieejamo vērtību, izmantojot programmatūru (programmu). Arduino UNO dēlī atskaites spriegums pēc noklusējuma ir iestatīts uz 5 V iekšēji, ja nepieciešams, lietotājs var iestatīt šo atsauces spriegumu ārēji caur Vref tapu arī pēc nepieciešamo izmaiņu veikšanas programmatūrā.
Vienmēr atcerieties, ka izmērītajai analogā sprieguma vērtībai vienmēr jābūt mazākai par atsauces sprieguma vērtību un atsauces sprieguma vērtībai vienmēr jābūt mazākai par mikrokontrollera darba sprieguma vērtību.
Piemērs
Šeit mēs izmantojam ADC piemēru, kam ir 3 bitu izšķirtspēja un 2V atskaites spriegums. Tātad tas var attēlot 0-2v analogo spriegumu ar 8 (2 3) dažādiem līmeņiem, kā parādīts zemāk esošajā attēlā:
Tātad, ja analogais spriegums ir 0,25, digitālā vērtība būs 1 aiz komata un 001 binārā. Tāpat, ja analogais spriegums ir 0,5, digitālā vērtība būs 2 aiz komata un 010 binārā.
Daži mikrokontrolleri ir iebūvējuši ADC, piemēram, Arduino, MSP430, PIC16F877A, bet dažiem mikrokontrolleriem to nav, piemēram, 8051, Raspberry Pi uc, un mums ir jāizmanto daži ārējie analogo un digitālo pārveidotāju IC, piemēram, ADC0804, ADC0808.
Zemāk varat atrast dažādus ADC piemērus ar dažādiem mikrokontrolleriem:
- Kā lietot ADC Arduino Uno?
- Aveņu Pi ADC apmācība
- Saskarne ADC0808 ar 8051 mikrokontrolleru
- 0-25V digitālais voltmetrs, izmantojot AVR mikrokontrolleru
- Kā lietot ADC programmā STM32F103C8
- Kā lietot ADC programmā MSP430G2
ADC veidi un darbība
Ir daudz ADC veidu, visbiežāk tiek izmantoti Flash ADC, Dual Slope ADC, secīga tuvināšana un Dual Slope ADC. Lai izskaidrotu, kā katrs no šiem ADC darbiem un atšķirība starp tiem būtu ārpus šī raksta darbības jomas, jo tie ir diezgan sarežģīti. Bet, lai sniegtu aptuvenu ideju, ADC ir iekšējs kondensators, kuru uzlādēs izmērītais analogais spriegums. Tad mēs izmērām sprieguma vērtību, izlādējot kondensatoru noteiktā laika periodā.
Daži bieži rodas jautājumi par ADC
Kā izmērīt vairāk nekā 5 V, izmantojot manu ADC?
Kā iepriekš tika apspriests, ADC modulis nevar izmērīt sprieguma vērtību vairāk nekā mikrokontrollera darba spriegums. Tas ir, ka 5 V mikrokontrolleris ar ADC kontaktu var izmērīt ne vairāk kā 5 V. Ja vēlaties izmērīt kaut ko vairāk, nekā teikts, jūs vēlaties izmērīt 0-12V, tad jūs varat kartēt 0-12V 0-5V, izmantojot potenciālo dalītāju vai sprieguma dalītāja ķēdi. Šī shēma izmantos rezistoru pāri, lai attēlotu MCU vērtības, jūs varat uzzināt vairāk par sprieguma dalītāja ķēdi, izmantojot saiti. Mūsu iepriekš minētajā piemērā mums sērijveidā jāizmanto 1K rezistors un 720 omi rezistors pret sprieguma avotu un jāmēra spriegums starp rezistoriem, kā aprakstīts iepriekš minētajā saitē.
Kā pārveidot digitālās vērtības no ADC uz faktiskajām sprieguma vērtībām?
Ja analogā sprieguma mērīšanai izmantojat ADC pārveidotāju, MCU iegūtais rezultāts būs digitāls. Piemēram, 10 bitu 5 V mikrokontrollerī, kad faktiskais izmērāmais spriegums ir 4 V, MCU to nolasīs kā 820, mēs atkal varam izmantot iepriekš apspriestās formulas, lai pārveidotu 820 uz 4 V, lai mēs to varētu izmantot mūsu aprēķini. Ļauj pārbaudīt to pašu.
(ADC izšķirtspēja / darba spriegums) = (ADC digitālā vērtība / faktiskā sprieguma vērtība) faktiskā sprieguma vērtība = ADC digitālā vērtība * (darba spriegums / ADC izšķirtspēja) = 820 * (5/1023) = 4,007 = ~ 4V
Ceru, ka jums ir pareiza ideja par ADC un to, kā tos izmantot savām lietojumprogrammām. Ja jums ir radušās problēmas izprast jēdzienus, rakstiet savus komentārus zemāk vai ierakstiet mūsu forumos.