- Ang mundo ng Analog na may digital Electronics
- Ano ang ADC at paano ito magagamit?
- Resolution (mga piraso) at mga channel sa ADC
- Reference Voltage para sa isang ADC
- Halimbawa
- Mga uri ng ADC at pagtatrabaho
- Ang ilang mga karaniwang umuusbong na katanungan sa ADC
Ang mundo ng Analog na may digital Electronics
Ilang taon ang bumalik sa buong mga aparatong electronics na ginagamit natin ngayon tulad ng mga telepono, computer, Telebisyon atbp na likas na analog. Pagkatapos ay dahan-dahang ang mga landline phone ay napalitan ng mga modernong mobile phone, ang CRT Television at monitor ay pinalitan ng mga LED display, ang mga computer na may mga tubo ng vacuum ay nagbago upang mas maging malakas sa mga microprocessor at microcontroller sa loob nito at iba pa..
Sa panahong digital ngayon lahat tayo ay napapaligiran ng mga advanced na digital na elektronikong aparato, maaaring linlangin tayo nito na isipin na ang lahat sa paligid natin ay likas na digital, na hindi totoo. Ang mundo ay palaging analog sa likas na katangian, halimbawa lahat ng nararamdaman at maranasan nating mga tao tulad ng bilis, temperatura, bilis ng hangin, sikat ng araw, tunog atbp ay likas na analog. Ngunit ang aming mga elektronikong aparato na tumatakbo sa mga microcontroller at microprocessor ay hindi maaaring basahin / bigyang kahulugan ang mga halagang analog na ito nang direkta dahil tatakbo lamang ito sa 0 at 1. Kaya kailangan namin ng isang bagay na iko-convert ang lahat ng mga halagang analog na ito sa 0 at 1 upang maunawaan ito ng aming mga microcontroller at microprocessor. Ang isang bagay na ito ay tinatawag na Analog sa Digital Converter o ADC sa maikling salita. Sa artikulong ito malalaman natinlahat tungkol sa ADC at kung paano gamitin ang mga ito.
Ano ang ADC at paano ito magagamit?
Tulad ng sinabi nang mas maaga ang ADC ay nangangahulugang ang Analog sa digital na conversion at ginagamit ito upang i-convert ang mga halagang analog mula sa totoong mundo sa mga digital na halagang tulad ng 1 at 0. Kaya ano ang mga halagang analog na ito? Ito ang mga nakikita natin sa ating pang-araw-araw na buhay tulad ng temperatura, bilis, ningning atbp Ngunit maghintay !! Maaari bang i-convert ng isang ADC ang temperatura at bilis nang direkta sa mga digital na halagang tulad ng 0 at 1?
Walang mapanligaw hindi. Maaari lamang i- convert ng isang ADC ang mga halagang analog boltahe sa mga digital na halaga. Kaya't alinmang parameter ang nais naming sukatin, dapat itong i-convert sa boltahe muna, ang pag-convert na ito ay maaaring gawin sa tulong ng mga sensor. Halimbawa upang mai-convert ang mga halaga ng temperatura sa boltahe maaari kaming gumamit ng isang Thermistor nang katulad upang i-convert ang ningning sa boltahe maaari naming gamitin ang isang LDR. Kapag na-convert ito sa boltahe mababasa natin ito sa tulong ng ADC's.
Upang malaman kung paano gumamit ng isang ADC dapat muna nating pamilyar ang ilang pangunahing mga termino tulad ng, resolusyon ng mga channel, saklaw, sanggunian boltahe atbp.
Resolution (mga piraso) at mga channel sa ADC
Kapag nabasa mo ang detalye ng anumang Microcontroller o ADC IC, ibibigay ang mga detalye ng ADC gamit ang mga termino na channel at Resolution (bit). Halimbawa ng isang Arduino UNO na ATmega328 ay mayroong 8-channel 10-bit ADC. Hindi lahat ng pin sa isang microcontroller ay maaaring mabasa ang Analog boltahe, ang term na 8-channel ay nangangahulugang mayroong 8 mga pin sa ATmega328 microcontroller na maaaring mabasa ang Analog boltahe at ang bawat pin ay maaaring basahin ang boltahe na may isang resolusyon ng 10-bit. Mag-iiba ito para sa iba't ibang uri ng Microcontrollers.
Ipagpalagay natin na ang aming saklaw ng ADC ay mula sa 0V hanggang 5V at mayroon kaming 10-bit ADC nangangahulugan ito na ang aming boltahe ng pag-input na 0-5 Volts ay nahahati sa 1024 na antas ng mga discrete analog na halaga (2 10 = 1024). Ang ibig sabihin ng 1024 ay ang resolusyon para sa isang 10-bit ADC, katulad para sa isang resolusyon na 8-bit na ADC ay magiging 512 (2 8) at para sa isang resolusyon na 16-bit na ADC ay magiging 65,536 (2 16).
Sa pamamagitan nito kung ang aktwal na boltahe ng pag-input ay 0V kung gayon ang ADC ng MCU ay basahin ito bilang 0 at kung ito ay 5V babasahin ng MCU ang 1024 at kung ito sa isang lugar sa pagitan ng tulad ng 2.5V kung gayon babasahin ng MCU ang 512. Maaari naming gamitin ang mga sumusunod na pormula upang makalkula ang digital na halaga na mababasa ng MCU batay sa Resolution ng ADC at Operating boltahe.
(ADC Resolution / Operating Voltage) = (ADC Digital Value / Aktwal na Halaga ng Boltahe)
Reference Voltage para sa isang ADC
Ang isa pang mahalagang term na dapat mong pamilyar ay ang boltahe ng sanggunian. Sa panahon ng isang ADC conversion ang halaga ng hindi kilalang boltahe ay matatagpuan sa pamamagitan ng paghahambing nito sa isang kilalang boltahe, ito ay kilala boltahe ay tinawag bilang Reference boltahe. Karaniwan ang lahat ng MCU ay may pagpipilian upang magtakda ng panloob na boltahe ng sanggunian, nangangahulugang maaari mong itakda ang boltahe na ito sa loob sa ilang magagamit na halaga gamit ang software (programa). Sa isang board ng Arduino UNO ang boltahe ng sanggunian ay nakatakda sa 5V sa pamamagitan ng default na panloob, kung kinakailangan ng gumagamit ay maaaring itakda ang sanggunian na boltahe na ito sa labas sa pamamagitan ng Vref pin din pagkatapos gawin ang kinakailangang mga pagbabago sa software.
Palaging tandaan na ang sinusukat na halaga ng analog boltahe ay dapat palaging mas mababa kaysa sa halaga ng sanggunian ng boltahe at ang halaga ng sanggunian na boltahe ay dapat palaging mas mababa kaysa sa halaga ng operating boltahe ng microcontroller.
Halimbawa
Narito kumukuha kami ng halimbawa ng ADC na may 3 bit resolusyon at 2V na boltahe ng sanggunian. Kaya't maaari nitong mapa ang 0-2v analog voltage na may 8 (2 3) iba't ibang mga antas, tulad ng ipinakita sa larawan sa ibaba:
Kaya't kung ang analog boltahe ay 0.25 pagkatapos ang digital na halaga ay magiging 1 sa decimal at 001 sa binary. Gayundin kung ang analog boltahe ay 0.5 pagkatapos ang digital na halaga ay magiging 2 sa decimal at 010 sa binary.
Ang ilang microcontroller ay nakabuo ng ADC tulad ng Arduino, MSP430, PIC16F877A ngunit ang ilang microcontroller ay walang ito tulad ng 8051, Raspberry Pi atbp at kailangan naming gumamit ng ilang panlabas na Analog sa mga digital converter IC tulad ng ADC0804, ADC0808.
Sa ibaba maaari kang makahanap ng iba't ibang mga halimbawa ng ADC na may iba't ibang mga microcontroller:
- Paano Gumamit ng ADC sa Arduino Uno?
- Tutorial ng Raspberry Pi ADC
- Ang interfacing ADC0808 sa 8051 Microcontroller
- 0-25V Digital Voltmeter gamit ang AVR Microcontroller
- Paano gamitin ang ADC sa STM32F103C8
- Paano gamitin ang ADC sa MSP430G2
Mga uri ng ADC at pagtatrabaho
Maraming uri ng ADC, ang pinakakaraniwang ginagamit ay ang Flash ADC, Dual Slope ADC, Sunud-sunod na paglalapit at Dual Slope ADC. Upang ipaliwanag kung paano gumagana ang bawat isa sa mga ADC na ito at ang pagkakaiba sa pagitan ng mga ito ay wala sa saklaw para sa artikulong ito dahil medyo kumplikado ang mga ito. Ngunit upang magbigay ng isang magaspang na ideya ADC ay may isang panloob na capacitor na kung saan ay sisingilin ng analog boltahe na upang sukatin. Pagkatapos ay sinusukat namin ang halaga ng boltahe sa pamamagitan ng paglabas ng capacitor sa loob ng isang tagal ng panahon.
Ang ilang mga karaniwang umuusbong na katanungan sa ADC
Paano sukatin ang higit sa 5V gamit ang aking ADC?
Tulad ng tinalakay nang mas maaga ang isang module ng ADC ay hindi masusukat ang halaga ng boltahe nang higit kaysa sa operating boltahe ng microcontroller. Iyon ay isang 5V microcontroller ay maaaring masukat lamang ng isang maximum ng 5V sa ADC pin nito. Kung nais mong masukat ang anumang higit sa sasabihin, nais mong sukatin ang 0-12V pagkatapos ay maaari mong mapa ang 0-12V sa 0-5V sa pamamagitan ng paggamit ng isang potensyal na divider o boltahe divider circuit. Ang circuit na ito ay gagamit ng isang pares ng resistors upang mai-map ang mga halaga para sa isang MCU, maaari mong malaman ang higit pa tungkol sa voltage divider circuit gamit ang link. Para sa aming halimbawa sa itaas dapat kaming gumamit ng isang 1K risistor at 720 ohm risistor sa serye sa pinagmulan ng boltahe at sukatin ang boltahe sa pagitan ng mga resistors tulad ng tinalakay sa link sa itaas.
Paano mai-convert ang Mga Digital na Halaga mula sa ADC sa aktwal na Mga Halaga ng Boltahe?
Kapag gumagamit ng isang ADC converter upang masukat ang analog boltahe ang resulta na nakuha ng MCU ay nasa digital. Halimbawa sa isang 10-bit 5V microcontroller kapag ang aktwal na boltahe na susukat ay 4V babasahin ito ng MCU bilang 820, maaari naming muling gamitin ang mga tinalakay na pormula sa itaas upang i-convert ang 820 hanggang 4V upang magamit namin ito sa aming mga kalkulasyon Hinahayaan ang cross-check ng pareho.
(ADC Resolution / Operating Voltage) = (ADC Digital Value / Aktwal na Halaga ng Boltahe) Halaga ng Aktwal na Boltahe = Halaga ng ADC Digital * (Pagpapatakbo ng Boltahe / Resolusyon ng ADC) = 820 * (5/1023) = 4.007 = ~ 4V
Inaasahan kong nakakuha ka ng patas na ideya ng ADC at kung paano gamitin ang mga ito para sa iyong mga application. Kung mayroon kang anumang problema sa pag-unawa sa mga konsepto huwag mag-atubiling i-post ang iyong mga komento sa ibaba o isulat ito sa aming mga forum.