MODUL
VI
MENGGUNAKAN
ANALOG TO DIGITAL CONVERTER (ADC)
DALAM
MIKROKONTROLLER ATMEGA8535
TUJUAN
- Mengetahui
dan memahami cara menggunakan ADC yang ada di dalam mikrokontroler.
- Mengetahui
dan memahami bagaimana memrogram mikrokontroler untuk mengonversi data
analog menjadi data digital.
ANALOG TO
DIGITAL CONVERTER (ADC)
Penggunaan
ADC sebagai pengonversi data analog menjadi data digital merupakan sesuatu hal
yang diperlukan jika data yang masuk ke dalam mikrokontroler, biasanya data
dari sensor berupa sinyal analog.
Fitur ADC
dalam ATMega8535 adalah sebagai berikut:
- Resolusi
10 bit.
- Waktu
konversi 65-260 μs.
- Input
8 kanal.
- Input
ADC 0-5Vcc.
- 3
Mode pemilihan tegangan referensi.
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.
- REFS0-1
(Reference Selection Bits)
REFS0-1 adalah bit-bit pengatur mode tegangan referensi ADC.
- ADLAR
(ADC Left Adjust Result)
ADLAR adalah bit keluaran ADC. Jika ADC telah selesai
konversi, maka data ADC akan diletakkan
di 2 register, yaitu ADCH dan ADCL dengan format sesuai ADLAR.
Format data ADC jika ADLAR=0
Format data ADC jika ADLAR=1
- MUX0-4
(Analog Channel and Gain Selection Bits)
MUX0-4 adalah bit-bit pemilih saluran pembacaan ADC.
ADCSRA
(ADC Control and Status Register A)
ADCSRA adalah register 8 bit yang
berfungsi untuk melakukan manajemen sinyal kontrol dan status ADC.
- ADEN
(ADC Enable)
ADEN
merupakan bit pengatur aktivasi ADC. Jika bernilai 1 maka ADC akan aktif.
- ADCS
(ADC Start Conversion)
ADCS
merupakan bit penanda dimulainya konversi ADC. Selama konversi berlogika 1 dan
akan berlogika 0 jika selesai konversi.
- ADATE
(ADC Auto Trigger Enable)
ADATE
merupakan bit pengatur aktivasi picu otomatis. Jika bernilai 1 maka konversi ADC
akan dimulai pada saat tepi positif pada sinyal trigger yang digunakan.
- ADIF
(ADC Interrupt Flag)
ADIF
merupakan bit penanda akhir konversi ADC. Jika bernilai 1 konversi ADC pada
suatu saluran telah selesai dan siap diakses.
- ADIE
(ADC Interrupt Enable)
ADIE
merupakan bit pengatur aktivasi interupsi. Jika bernilai 1 maka interupsi
penandaan telah selesai. Konversi ADC diaktifkan.
- ADPS0-2
(ADC Prescaler Select Bit)
ADPS0-2
merupakan bit pengatur clock ADC.
SFIOR
(Special Function IO Register)
SFIOR adalah register 8 bit yang
mengatur sumber pemicu ADC. Jika bit ADATE pada register ADCSRA bernilai 0 maka
ADTS0-2 tidak berfungsi.
Rangkaian yang digunakan untuk mempelajari ADC dapat dilihat dalam Gambar dibawah. Rangkaian ini merupakan rangkaian pembagi tegangan dimana tegangan keluaran dapat dihitung dengan rumus:
Vout =
R2 x Vcc
R1+R2
ALAT DAN BAHAN YANG DIGUNAKAN
- 1
set PC/Laptop yang sudah berisi program Code Vision dan Khazama
- 1
buah catu daya DC +5V
- 1
buah multimeter
- 1
buah ISP Downloader AVR
- 1
buah sistem minimum AVR
- 1
buah I/O
- 1
buah kabel printer USB
- 1
buah kabel pita hitam
- 1
buah potensiometer
PROSEDUR
1.
Rangkailah peralatan yang diperlukan seperti dalam Gambar
diatas. Hubungkan soket jumper PORTC pada minimum system dengan soket jumper
pada OUTPUT LED. Vout pada rangkaian potensiometer dihubungkan pada PORTA.0
(ADC channel 0).
2.
Buka program Code Vision AVR
3.
Buat program dengan menggunakan aplikasi Code
Vision AVR
4. Buatlah file project (.prj) kemudian pilih IC
yang digunakan (ATmega8535) dan atur clock 4.000 Mhz. (seperti praktikum
sebelumnya)
5. Buatlah file source (.c) kemudian hubungkan file
project dengan file source seperti pada praktikum sebelumnya.
6.
Tambahkan file header
7.
Program berikut merupakan deklarasi variabel hasil konversi
ADC. Tuliskan variabel berikut di luar program utama.
8.
Buatlah program utama dan inisialisasikan PORT C sebagai
output dengan kondisi awal LOW.
9.
Tuliskan inisialisasi ADC berikut di dalam program utama.
10. Perhatikan
blok program berikut. Arti dari blok instruksi tersebut adalah setting ADC di
PORTA dan inisialisasi ADC. Tuliskan fungsi berikut di luar program utama.
11. Tuliskan
program berikut dalam program utama tepatnya di dalam while(1).
12. Compile
dan Build program jika ada yang error perbaiki program. Masukkan file hex
menggunakan Khanzama AVR Programer. Klik auto program.
13. Hubungkan
output potensiometer pada PORTA.0.
14. Ukur
tegangan potensiometer (kaki tengah) sebesar 0-5V (sesuai tabel).
15. Lepas
probe AVO Meter lalu perhatikan dan catat nyala LED dan konversi nilai dalam
desimal.
16. Hitung
perhitungan nilai digital dalam desimal dengan rumus berikut:
Vdigital = Vukur / Vcc *255
Contoh: misal tegangan analog yang diukur 1 V, maka tegangan
digital adalah:
V = 1/5 *255 = 51 desimal, atau 33H atau
00110011B
DATA HASIL PERCOBAAN
Tabel
ADC
No
|
Tegangan analog (0-5V)
|
Tampilan LED (bit7-bit0)
|
Nilai digital LED (decimal)
|
Nilai digital perhitungan (desimal)
|
1
|
0
|
|
|
|
2
|
0.5
|
|
|
|
3
|
1
|
|
|
|
4
|
1.5
|
|
|
|
5
|
2
|
|
|
|
6
|
2.5
|
|
|
|
7
|
3
|
|
|
|
8
|
3.5
|
|
|
|
9
|
4
|
|
|
|
10
|
4.5
|
|
|
|
11
|
5
|
|
|
|
ANALISA DATA
1.
Analisa data hasil pada Tabel ADC
0 Profil penulis:
Posting Komentar