4. ADC pada ATmega328p
4.1 Spesifikasi ADC ATmega328p
ATmega328p (yang digunakan pada Arduino Uno) memiliki ADC terintegrasi (built-in) dengan spesifikasi sebagai berikut:
| Spesifikasi | Nilai |
|---|---|
| Resolusi | 10-bit (menghasilkan nilai 0 – 1023) |
| Metode konversi | Successive Approximation |
| Jumlah channel input | 8 channel analog (A0 – A7), dimultipleks |
| Tegangan referensi | AVcc, Internal 2.56V, atau pin AREF eksternal |
| Kecepatan konversi | 50 kHz – 200 kHz (tergantung prescaler) |
| Register hasil | ADCL (low-byte) + ADCH (high-byte) |
4.2 Metode Successive Approximation

ATmega328p menggunakan metode Successive Approximation Register (SAR). Pada metode ini, ADC bekerja dengan cara melakukan pencarian biner (binary search) terhadap nilai Vin.
Pada setiap langkah:
- SAR menetapkan bit percobaan
- DAC menghasilkan tegangan Vdac
- Comparator membandingkan Vin dengan Vdac
- Bit dipertahankan atau diubah berdasarkan hasil perbandingan
Proses ini diulang sebanyak N kali (N = resolusi ADC, yaitu 10-bit untuk Atmega328p).
Contoh dari implementasi SAR dapat dilihat di gambar ini :

- Dimulai dari nilai tengah (1000)
Ini adalah representasi ½ dari Vref (MSB = 1). - Perbandingan pertama (Comparator)
- Jika Vdac > Vin → bergerak ke bawah (panah merah)
- Jika Vdac < Vin → bergerak ke atas (panah hijau)
- Penentuan bit berikutnya
Setiap langkah menentukan 1 bit tambahan.
Contoh:1000 → 1100(jika Vin lebih besar)1000 → 0100(jika Vin lebih kecil)
- Proses berulang (Binary Search)
Range nilai terus dipersempit hingga semua bit (MSB → LSB) ditentukan. - Hasil akhir
Node paling kanan menunjukkan kode biner final.
Contoh hasil:1011,0110, dll.
No comments to display
No comments to display