Anda di sini

Elektronika

ADC Pada Mikrokontroler AVR

Kusuma Wardana - 20 November 2015 09:34:48 0

Terdapat beberapa arsitektur ADC, diantaranya flash ADC, sigma-delta ADC, pipeline ADC, successive-approximation ADC, dan lain sebagainya. Tiap-tiap tipe ADC ini memiliki keunggulan dan kelemahannya masing-masing. Pada mikrokontroler AVR, tipe ADC yang digunakan adalah successive-approximation.

Pada Arduino, sebagai contoh Arduino Uno, jenis mikrokontroler yang digunakan adalah ATmega328P. Jenis mikrokontroler ini memiliki 6 channel analog multiplekser. Keenam pin analog ini akan dimultipleksing dan berujung pada 10-bit ADC. Multiplekser adalah komponen yang bertugas untuk memilih satu dari sekian banyak input. Dengan demikian, jika kita menggunakan lebih dari satu pin ADC, misalnya disaat bersamaan menggunakan pin A0 dan A1, maka jika sinyal pada pin A0 akan dikonversi terlebih dahulu. Sinyal pada pin A1 harus menunggu sampai proses untuk pin A0 selesai dilaksanakan.

Mikrokontroler jenis ini memiliki resolusi 10-bit. Resolusi sebesar 10-bit berarti terdapat 2^10 = 1024 kemungkinan nilai cuplik. Jika sinyal input pada mikrokontroler kita bervariasi dari 0 - 5 Volt, maka nilai perubahan setiap bit adalah 5 Volt/1024 = 0.0049 Volt (4,9 mV). Secara umum, nilai ADC 10-bit yang dihasilkan dari suatu sinyal input (Vin) berdasarkan referensi tegangan (Vref) tertentu dirumuskan sebagai: ADC = (Vin/Vref)*1024. Karena mikrokontroler bekerja mulai dari nilai 0,maka rumus tersebut dimodifikasi menjadi: ADC = (Vin/Vref)*1023. Jika diperoleh nilai koma, maka hasil akan dibulatkan ke nilai bulat terdekat. Sebagai contoh, jika kita menggunakan tegangan referensi sebesar 5 Volt, dan input sinyal ke pin Arduino kita sebesar 2 Volt, maka hasil konversinya adalah (2 Volt/5Volt)*1023 = 409. Dengan juga ketika Vin sebesar 0 Volt, maka hasil konversi adalah 0, sedangkan jika Vin sebesar 5 Volt, maka nilai ADC adalah 1023. Vin adalah nilai-nilai yang kita peroleh dari sensor yang terpasang pada Arduino kita.

Karena mikrokontroler AVR ATmega328P adalah mikrokontroler 8-bit, maka hasil 10-bit ADC akan disimpan di dua register. Register di AVR dikenal dengan nama register ADCH dan ADCL (ADC High dan Low).

2.974
Image

Kusuma Wardana

I Nyoman Kusuma Wardana, yang akrab dipanggil Kusuma, lahir dan besar di Bali. Ia tinggal di Desa Wisata Ubud, dan lebih banyak melaksanakan aktivitasnya di Denpasar. Profesinya adalah sebagai staf pengajar di Jurusan Teknik Elektro, Politeknik Negeri Bali. Saat ini Ia menjadi salah satu penulis di tutorkeren.com.

Mari Gabung

Halo Emo 51 , Ada yang ingin disampaikan? Jangan sungkan untuk gabung diskusi ini. Silahkan Login dulu atau Daftar baru.