Jelajahi eBook
Kategori
Jelajahi Buku audio
Kategori
Jelajahi Majalah
Kategori
Jelajahi Dokumen
Kategori
Pertemuan ke : 9-10
Topik : 1. Perbedaan antara sinyal analog dan digital.
2. Ilustrasi proses ADC.
3. Menilai kualitas ADC menggunakan ukuran sampling rate, level
kuantisasi, jumlah bit yang digunakan untuk enkoding, dan
dynamic range.
4. Register yang digunakan untuk konfigurasi ADC.
5. Langkah-langkah menggunakan ADC dalam mikrokontroler
AVR.
6. Program mikrokontroler untuk fungsi ADC.
Alokasi Waktu : 4 x 50 menit
Tujuan : 1. Mahasiswa mampu menjelaskan perbedaan antara sinyal analog
dan digital.
2. Mahasiswa mampu mengilustrasikan proses ADC.
3. Mahasiswa mampu menilai kualitas ADC menggunakan ukuran
sampling rate, level kuantisasi, jumlah bit yang digunakan untuk
enkoding, dan dynamic range
4. Mahasiswa mampu menjelaskan register yang digunakan untuk
konfigurasi ADC.
5. Mahasiswa mampu mendeskripsikan langkah-langkah
menggunakan ADC dalam mikrokontroler AVR.
6. Mahasiswa mampu memrogram mikrokontroler untuk fungsi
ADC.
Pendahuluan
Dalam bab ini akan dijelaskan tentang perbedaan antara sinyal analog dan digital,
proses ADC, menilai kualitas ADC menggunakan ukuran sampling rate, level kuantisasi,
jumlah bit yang digunakan untuk enkoding, dan dynamic range, register yang digunakan
untuk konfigurasi ADC, langkah-langkah menggunakan ADC dalam mikrokontroler AVR,
memrogram mikrokontroler untuk fungsi ADC.
Gambar 8.1 Dua penyelam melompat dari platform: (a) gerakan cepat dan (b) gerakan
lambat.
ktu. Secara
alami, ketika kita menyampel sebuah sinyal, kita ingin menyampel secara maksimal
supaya kita dapat menangkap sinyal tersebut. Dengan kata lain, kita ingin meminimalisir
jumlah sampel yang digunakan untuk merekonstruksi sinyal aslinya. Kesimpulannya,
kecepatan perubahan sinyal akan menentukan jumlah sampel yang dibutuhkan untuk
merekonstruksi sinyal tersebut. Sampling sangat penting karena ketika kita akan
merepresentasikan sinyal analog ke sinyal digital, seperti komputer, kita harus
menggunakan kecepatan sampling yang sesuai untuk menangkap sinyal analog yang
sesungguhnya supaya bisa direpresentasikan dalam sistem digital.
Yang terakhir adalah proses encoding yang mengonversi sinyal terkuantisasi menjadi
bilangan biner. Misalkan kita menggunakan 8 bit untuk kuantisasi sinyal analog. Level
kuantisasi ditentukan oleh 8 bit tersebut, sehingga setiap sampel sinyal dikuantisasi sebagai
salah satu dari 256 level. Lihatlah contoh dalam Gambar 8.3. Sampel pertama dipetakan
menjadi kuantisasi level 2 dan sinyal kedua dikuantisasi menjadi level 198. Dalam Gambar
8.3 ditunjukkan masing-masing sampel tersebut mempunyai error tertentu.Dengan
membandingkan Gambar 8.3 dan 8.4, dapat dilihat bahwa, error kuantisasi berbanding
terbalik dengan jumlah bit yang digunakan untuk menguantisasi sinyal. Ketika sebuah
sinyal dikuantisasi, proses encoding mencakup merepresentasikan level kuantisasi dengan
bit yang ada. Sehingga, untuk sampel pertama, nilai sampel terkode yaitu 00000001,
sedangkan nilai sampel terkode untuk sampel kedua adalah 11000110. Sebagai hasil proses
encoding, sinyal analog sampel sekarang direpresentasikan dengan sederetan bilangan
biner.
1. Successive Approximation
Teknik successive approximation menggunakan DAC, kontroler, dan komparator
untuk melakukan proses ADC. Mulai dari MSB ke LSB, kontroler mengubah setiap bit
pada satu waktu dan membangkitkan sinyal analog, dengan bantuan DAC, dibandingkan
dengan sinyal analog input yang asli. Berdasarkan hasil pembandingan, kontroler
mengubah atau membiarkan bit tersebut dan berpindah ke bit MSB berikutnya. Proses
tersebut berlanjut sampai keputusan untuk setiap bit diambil. Metode successive
approximation bekerja dengan cara MSB digunakan untuk membagi range input ADC
menjadi setengahnya, MSB kedua membagi ½ menjadi 2/4, dan seterusnya. Gambar 8.5
(a) menunjukkan arsitektur konverter tipe successive approximation. Kelebihan teknik ini
adalah waktu konversi sama untuk semua input, tetapi kekurangannya adalah, teknologi ini
memerlukan perangkat keras yang kompleks dalam implementasinya.
Gambar 8.5 Empat teknologi yang digunakan untuk mengonversi sinyal analog ke sinyal
digital: (a) successive approximation converter, (b) integration-based converter, (c) counter-
based converter, and (d) parallel
2. Integration
Teknik integrasi menggunakan integrator, komparator, dan kontroler untuk
mengonversi sinyal analog menjadi sinyal digital. Sampel sinyal analog diintegrasi selama
periode yang tetap, misalnya n siklus clock sistem digital. Sinyal referensi yang tetap
lainnya diintegrasi setiap waktu dan dibandingkan dengan sinyal input analog yang sudah
diintegrasi. Meskipun nilai sinyal referensi lebih kecil dari sinyal analog input, sinyal
referensi secara kontinyu diintegrasi, dan waktu intuk mengintegrasi diukur. Ketika kedua
nilai terintegrasi sama, waktu yang terukur dikonversi menjadi nilai digital. Gambar 8.5 (b)
menunjukkan komponen sistem konverter jenis ini. Kekurangan teknik ini adalah waktu
untuk proses konversi yang bervariasi. Nilai analog yang kecil akan memerlukan waktu
yang lebih sedikit dibandingkan dengan nilai yang besar.
3. Counter-Based Conversion
Teknik ketiga adalah mengonversi sinyal analog menjadi snyal digital berbasis
pada counter-based conversion. Konversi jenis ini dilakukan dengan bantuan counter,
DAC, dan komparator. Counter mulai dari 0 dan menghitung naik. Ketika counter
menghitung naik, nilai yang sesuai dikonversi menjadi nilai analog dan dibandingkan
dengan sinyal analog input. Selama sinyal analog input lebih besar daripada sinyal yang
dibangkitkan oleh DAC, counter terus menghitung dan proses terus berjalan. Ketika
komparator mendeteksi bahwa sinyal dari DAC lebih besar daripada sinyal analog input,
nilai counter akan dikonversi menjadi nilai digital yang merepresentasikan sampel sinyal
analog. Gambar 8.5 (c) menunjukkan arsitektur keseluruhan dari konverter jenis ini. Mirip
dengan konverter yang berbasis prinsip integrasi, kekurangan konverter jenis ini adala
waktu konversi yang bervariasi.
4. Parallel Conversion
Teknik terakhir yang mempunyai waktu konversi paling cepat dibandingkan
dengan teknik yang lain adalah parallel conversion. Konverter paralel menggunakan
sejumlah komparator dan rangkaian untuk secara simultan mengukur sinyal input dan
mengonversinya menjadi nilai digital. Kekurangan teknik ini adalah biaya yang digunakan
untuk membangun rangkaiannya. Gambar 8.5 (d) memperlihatkan arsitektur konverter
jenis ini.
D. Sistem ADC ATmega8535
Mikrokontroler ATmega8535 dilengkapi dengan sistem ADC yang mempunyai
fitur sebagai berikut:
resolusi 10-bit
ketelitian absolut ±2 LSB
waktu konversi 13 ADC siklus clock
8 multiplexed single-ended input channels,
pilihan right or left result justification
ADC input voltage range 0 to Vcc.
Resolusi didefinisikan sebagai:
resolution = (VRH VRL)/2b.
Dimana: VRH dan VRL adalah tegangan referensi ADC high dan low
b adalah jumlah bit yang digunakan untuk konversi
Untuk ATmega8535, tegangan referensi adalah 5 VDC, 0 VDC, serta tersedia pilihan
konversi 10 bit dan 8 bit, sehingga resolusi tertinggi adalah 4.88 mV.
Ketelitian absolut dispesifikasikan ±2 LSB, artinya ±9.76 mV pada resolusi 10 bit.
ADC ini memerlukan 13 sikus clock untuk mengonversi sinyal analog ke sinyal digital.
Akan tetapi sistem ADC dapat menggunakan frekuensi clock yang lebih rendah daripada
sumber clock mikrokontroler. Sumber clock mikrokontroler dibagi oleh bit ADC Prescaler
Select (ADPS[2:0]) dalam ADC Control and Status Register A (ADCSRA).
ADC dilengkapi dengan single successive approximation converter. Hanya satu kanal
ADC dapat dikonversi dalam satu waktu. Input ADC dilengkapi dengan multilekser 8
input analog. Input analog yang dikonversi dipilih melalui bit MUX[4:0] dalam ADC
Multiplexer Selection Register (ADMUX).
Hasil proses konversi 8-bit atau 10 bit diletakkan di ADC Data Registers, ADCH
dan ADCL. Kedua register ini menyediakan 16 bits untuk hasil 10 bit. Hasil konversi bisa
ditata rata kiri dengan mengeset bit ADLAR (ADC Left Adjust Result) dalam register
ADMUX. Rata kanan dapat diperoleh dengan membuat bit ini berlogika 0.
Tegangan input analog harus berada diantara 0 dan Vcc V. Jika tidak, maka harus
ditambahkan rangkaian di luarnya supaya tegangan input analog berada dala range
tersebut.
1. Block Diagram
Diagram blok ADC dalam mikrokontroler ATmega8535 dapat dilihat dalam
Gambar 8.6. Bagian sisi kiri diagram memperlihatkan hubungan eksternal ke pin
mikrokontroler untuk mengakses ADC. Delapan kanal input analog terletak di ADC[7:0],
dan tegangan referensi ADC terletak di AREF dan AVCC.
2. Register
Ada beberapa langkah yang harus dilakukan untuk inisialisasi ADC, yaitu penentuan
clock, tegangan referensi, format data output dan mode pembacaan. Inisialisasi ini dilakukan
pada register-register berikut:
ADMUX (ADC Multiplexer Selection Register)
ADMUX merupakan register yang mengatur tegangan referensi yang digunakan
ADC, format data output dan saluran ADC.
readADC(unsigned char)
Yaitu membaca tegangan analog dari kanal ADC dan dikonversi menjadi sinyal
digital. Contoh readADC pada CodeVision:
Rangkuman
Dalam bab ini telah dijelaskan tentang perbedaan antara sinyal analog dan digital,
proses ADC, menilai kualitas ADC menggunakan ukuran sampling rate, level kuantisasi,
jumlah bit yang digunakan untuk enkoding, dan dynamic range, register yang digunakan
untuk konfigurasi ADC, langkah-langkah menggunakan ADC dalam mikrokontroler AVR,
memrogram mikrokontroler untuk fungsi ADC. Dalam bab selanjutnya akan dijelaskan
bagaimana menggunakan fitur Timer/Counter dalam mikrokontroler AVR.
Soal Latihan
1. Jika sebuah sinusoida dengan frekuensi 500 HZ, berapa frekuensi sampling minimum
untuk ADC supaya dapat merekonstruksi sinyal analog setelah dikonversi?
2. Jika 12 bit digunakan untuk menguantisasi sinyal sapel, berapa junlah level
kuantisasinya? Berapakan resolusinya jika input range ADCnya 10 V.
3. Jika range input ADC 12 V dan resolusi yang diinginkan 0.125 V, berapa jumlah bit
yang digunakan untuk konversi?
4. Jika sinyal analog dikonversi oleh ADC menjadi representasi biner dan kemudian
dikembalikan ke tegangan analog menggunakan DAC, apakah tegangan input analog
yang asli bisa sama dengan tegangan output yang dihasilkan? Jelaskan.
Daftar Rujukan
Barret, Steven F. dan Pack, Daniel J. 2008. Atmel AVR Microcontroller Primer:
Programming and Interfacing. USA: Morgan and Claypool Publishers.