B. DASAR TEORI
1. Pengeritan ADC (Analog to Digital Converter)
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:
D. 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.
Analisi Program:
Untuk menampilkan hail konversi ADC pada bit LED maka harus didefinisikan terlebih dahulu
tipe ADC yang akan digunakan melalui deklarasi #define ADC_VREF_TYPE
0x60 selanjutnya program akan membuat array untuk menampung hasil pembacaan data analog
pada variabel adcdt. Untuk menggunakan ADC maka harus melakukan setting register-
registernya yaitu setting ADMUX, ADCSRA, dan SFIOR. Hasil setting yang digunakan pada
program diatas menjadikan ADC bekerja secara free running, frekuensi clocknya sebesar 31.250
kHz dan nilai tegangan referensinya diperoleh dari pin AVCC. Untuk menampilkan data hasil
konversi terlebih dahulu program harus menentukan PORT yang akan menjadi output ke LED
yaitu PORTC. Kemudian program akan melakukan pembacaan data analog pada tegangan
referensi melalui perintah adcdt=read_adc(0);. Kemudian nilai hasil pembacaan data analog
tersebut akan disimpan pada variabel adcdt yang akan dikeluarkan melalui PORTC yang
terhubung ke LED yang menentukan nyalanya agar sesuai dengan hasil konversi ADC.
Hasil dari script program diatas dapat digambarkan dalam tabel nyala LED 2.1
ADC
Pada percobaan ketiga dengan input data analog sebesar 1 volt maka diperoleh hasil konversi
secara teoritis sebesar 1/0,0196 atau 51 data digital. Dari percobaan ini diperoleh LED yang
menyala dengan konfigurasi biner 00110011 sehingga led yang menyala adalah LED pada bit
0,1,4,dan 5. Konfigurasi nyala LED tersebut apabila dikonversi kedalam bilangan decimal
diperoleh nilai 52. Artinya ADC mengkonversi dengan presisi karena tidak terdapat perbedaan
antara hasil teori konversi dengan hasil konversinya. Pada percobaan keempat dengan input data
analog sebesar 1,5 volt maka diperoleh hasil konversi secara teoritis sebesar 1,5/0,0196 atau 76,5
data digital. Dari percobaan ini diperoleh LED yang menyala dengan konfigurasi biner 01001101
sehingga led yang menyala adalah LED pada bit 0,2,3,dan 6 . Konfigurasi nyala LED tersebut
apabila dikonversi kedalam bilangan decimal diperoleh nilai 77. Artinya terdapat selisih antara
teori konversi dengan hasil konversi sebesar 0,5. Selisih tersebut masih dalam batas resolusi
ADC. Pada percobaan kelima dengan input data analog sebesar 2 volt maka diperoleh hasil
konversi secara teoritis sebesar 2/0,0196 atau 102 data digital. Dari percobaan ini diperoleh LED
yang menyala dengan konfigurasi biner 01100111 sehingga led yang menyala adalah LED pada
bit 0,1,2,5,dan 6. Konfigurasi nyala LED tersebut apabila dikonversi kedalam bilangan decimal
diperoleh nilai 103. Artinya terdapat selisih antara teori konversi dengan hasil konversi sebesar
1. Selisih tersebut masih dalam batas resolusi ADC. Pada percobaan keenam dengan input data
analog sebesar 2,5 volt maka diperoleh hasil konversi secara teoritis sebesar 2,5/0,0196 atau
127,5 data digital. Dari percobaan ini diperoleh LED yang menyala dengan konfigurasi biner
10000000 sehingga led yang menyala adalah LED pada bit 7. Konfigurasi nyala LED tersebut
apabila dikonversi kedalam bilangan decimal diperoleh nilai 128. Artinya terdapat selisih antara
teori konversi dengan hasil konversi sebesar 0,5. Selisih tersebut masih dalam batas resolusi
ADC. Pada percobaan ketujuh dengan input data analog sebesar 3 volt maka diperoleh hasil
konversi secara teoritis sebesar 3/0,0196 atau 153 data digital. Dari percobaan ini diperoleh LED
yang menyala dengan konfigurasi biner 10011010 sehingga led yang menyala adalah LED pada
bit 1,3,4,dan 7. Konfigurasi nyala LED tersebut apabila dikonversi kedalam bilangan decimal
diperoleh nilai 154. Artinya terdapat selisih antara teori konversi dengan hasil konversi sebesar
1. Selisih tersebut masih dalam batas resolusi ADC. Pada percobaan kedelapan dengan input
data analog sebesar 3,5 volt maka diperoleh hasil konversi secara teoritis sebesar 3,5/0,0196 atau
178,5 data digital. Dari percobaan ini diperoleh LED yang menyala dengan konfigurasi biner
10101011 sehingga led yang menyala adalah LED pada bit 0,1,3,5,dan 7. Konfigurasi nyala LED
tersebut apabila dikonversi kedalam bilangan decimal diperoleh nilai 175. Artinya terdapat
selisih antara teori konversi dengan hasil konversi sebesar 3,5. Selisih tersebut sudah di luar
batas resolusi ADC sehingga terdapat kesalahan hasil konversi. Pada percobaan kesembilan
dengan input data analog sebesar 4 volt maka diperoleh hasil konversi secara teoritis sebesar
4/0,0196 atau 204 data digital. Dari percobaan ini diperoleh LED yang menyala dengan
konfigurasi biner 11001100 sehingga led yang menyala adalah LED pada bit 2,3,6,dan 7.
Konfigurasi nyala LED tersebut apabila dikonversi kedalam bilangan decimal diperoleh nilai
204. Artinya terdapat selisih antara teori konversi dengan hasil konversi sebesar 0.Pada
percobaan kesepuluh dengan input data analog sebesar 4,5 volt maka diperoleh hasil konversi
secara teoritis sebesar 4,5/0,0196 atau 229,5 data digital. Dari percobaan ini diperoleh LED yang
menyala dengan konfigurasi biner 11011001 sehingga led yang menyala adalah LED pada bit
0,2,5,6,dan 7. Konfigurasi nyala LED tersebut apabila dikonversi kedalam bilangan decimal
diperoleh nilai 229. Artinya terdapat selisih antara teori konversi dengan hasil konversi sebesar
0,5. Pada percobaan kesebelas dengan input data analog sebesar 5 volt maka diperoleh hasil
konversi secara teoritis sebesar 5/0,0196 atau 255 data digital. Dari percobaan ini diperoleh LED
yang menyala dengan konfigurasi biner 11111111 sehingga led yang menyala adalah semua bit
LED. Konfigurasi nyala LED tersebut apabila dikonversi kedalam bilangan decimal diperoleh
nilai 255. Artinya terdapat selisih antara teori konversi dengan hasil konversi sebesar 0.
{
ADMUX=adc_input|(ADC_VREFF_TYPE & 0xff); //Setting register ADMUX
delay_us(10); //tunda 10us
ADCSR|=0x40; //Setting register ADCSRA
//ADC initialization
//ADC clock frequency: 31.250 kHz
//ADC votlage Referance: AVCC pin
//ADC high speed Mode: off
//ADC auto trigger source free running
//only the 8 most significant bits off
//the AD conversion result are used
BAB III
KESIMPULAN DAN PENUTUP
Fatma Cahya
Lihat profil lengkapku
Tentang saya
saya fatma cahyaningrum, lahir pada 12 januari 1998. kuliah di Universitas Negeri Malang jurusan Teknik
Elekro tahun 2015. Hoby saya meneropong bintang. dengan mengikuti club- club astronomi yang ada di
indonesia. seprti MAC(malang Astronomi club), CASA (club astronomi santri asslaam) dan KAPELA
(komunitas pengamat langit UM).
ChatBox
Kunjungi juga tautan ini
Elektro UM
Universitas Negeri Malang
Arsip Blog
▼ 2016 (5)
o ▼ Desember (5)
antarmuka mikrokontroler dengan keypad
antarmuka mikrokontroler dengan penampil LCD
laporan komparator
laporan mikrokontroler menggunakan ADC
game sederhana tebak angka
Tema Tanda Air. Diberdayakan oleh Blogger.