PRAKTIKUM MIKROKONTROLER MODUL VII ANALOG TO DIGI TAL CONVERTER (ADC)
DALAM MIKROKONTROLER
OLEH :
AVO SATRIYATMA JERINO A.K JAYANTI T.N
(208533413233) (208533414695) (208533414709)
UNIVERSITAS NEGERI MALANG FAKULTAS TEKNIK JURUSAN TEKNIK ELEKTRO PRODI PENDIDIKAN TEKNIK INFORMATIKA NOPEMBER, 2010
PERCOBAAN VII ANALOG TO DIGITAL CONVERTER
1.
(ADC) DALAM MIKROKONTROLER
TUJUAN
1. Mengetahui dan memahami cara menggunakan ADC yang ada di dalam mikrokontroler. 2. Mengetahui dan memahami bagaimana memrogram mikrokontroler untuk mengonversi data analog menjadi data digital.
2.
DASAR TEORI 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: y
R esolusi
10 bit.
y
Waktu
y
Input
8 kanal.
y
Input
ADC 0-5Vcc.
y
3 Mode pemilihan tegangan referensi.
konversi 65-260 s.
INISIALISASI ADC
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:
1.
ADMUX (ADC Multiplexer Selection Register)
ADMUX merupakan register yang mengatur tegangan referensi yang digunakan ADC, format data output dan saluran ADC.
a.
REFS0-1 (Reference Selection Bits) REFS0-1
b.
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 reg ister, yaitu ADCH dan ADCL dengan format sesuai ADLAR .
Format data ADC jika ADLAR=0
Format data ADC jika ADLAR=1
c. MUX0-4 (Analog Channel and Gain Selection Bits)
MUX0-4 adalah bit-bit pemilih saluran pembacaan ADC.
2.
ADCSRA (ADC Control and Status Register A)
ADCSR A adalah register 8 bit yang berfungsi untuk melakukan manajemen sinyal kontrol dan status ADC.
a. ADEN (ADC Enable) ADEN merupakan bit pengatur aktivasi ADC. Jika bernilai 1 maka ADC akan aktif. b. ADSC (ADC Start Conversion) ADSC merupakan bit penanda dimulainya konversi ADC. Selama konversi berlogika 1 dan akan berlogika 0 jika selesai konversi. c. ADATE (ADC Auto Trigger Enable) ADATE merupakan bit pengatur aktivasi picu otomatis. Jika bernilai 1 maka konversi ADC akan dimulai pada saat t epi positif pada sinyal trigger yang digunakan. d. ADIF (ADC Interrupt Flag) ADIF merupakan bit penanda akhir konversi ADC. Jika bernilai 1 konversi ADC pada suatu saluran telah selesai dan siap d iakses. e. ADIE (ADC Interrupt Enable) ADIE merupakan bit pengatur aktivasi interupsi. Jika bernilai 1 maka interupsi penandaan telah selesai. Konversi ADC diakt ifkan. f.
ADPS0-2 (ADC Prescaler Select Bit) ADPS0-2 merupakan bit pengatur clock ADC.
3.
SFIOR (Speci al Function IO Register)
SFIOR adalah register 8 bit yang mengatur sumber pemicu ADC. Jika bit ADATE pada register ADCSR A bernilai 0 maka ADTS0-2 tidak berfungsi.
R angkaian
yang digunakan untuk mempelajari ADC dapat dilihat dalam Gambar 7.1.
R angkaian
ini merupakan rangkaian pembagi tegangan dimana tegangan keluaran dapat
dihitung dengan rumus: Vout=
R 2
x Vcc
R 1+R 2
Gambar 7.1 R angk aian Pembagi Tegangan dengan Potensiometer
3.
ALAT DAN BAHAN YANG DIGUNAKAN
1. 1 set Personal Computer/Laptop
4. 1 buah ISP Downloader AVR
yang sudah berisi program Code
5. 1 buah sistem minimum AVR
Vision dan Khazama
6. 1 buah I/O
2. 1 buah catu daya DC +5V
7. 1 buah potensiometer
3. 1 buah multimeter
8. 1 buah kabel printer USB
4. PROSEDUR
1.
R angkailah
peralatan yang diperlukan seperti dalam Gambar 7.1. Hubungkan soket
jumper POR TC pada minimum system dengan soket jumper pada OUTPUT LED. Vout pada rangkaian potensiometer dihubungkan pada POR TA.0 (ADC channel 0).
Gambar 7.2 R angk aian antarmuk a mikrokontroler dengan potensiometer
2. Buka program Code Vision AVR 3. Buatlah project baru. Pada saat mengeset chip dan clock, set juga bagian POR TC untuk LED dan ADC seperti Gambar 7.3. Kemudian simpanlah file tersebut.
Gambar 7.3 Setting LED dan ADC
4.
Perhatikan POR TA
blok program berikut. Arti dari blok instruksi tersebut adalah setting ADC di
dan inisialisasi ADC.
#define ADC_VREF_TYPE 0x60 // Read the 8 most significant bits // of the AD conversion result unsigned char read_adc(unsigned char adc_input) { ADMUX=adc_input | (ADC_VREF_TYPE & 0xff); // Delay needed for the stabilization of the ADC input voltage delay_us(10); // Start the AD conversion ADCSRA|=0x40; // Wait for the AD conversion to complete while ((ADCSRA & 0x10)==0); ADCSRA|=0x10; return ADCH; } // ADC initialization // ADC Clock frequency: 31.250 kHz // ADC Voltage Reference: AVCC pin // ADC High Speed Mode: Off // ADC Auto Trigger Source: Free Running // Only the 8 most significant bits of // the AD conversion result are used ADMUX=ADC_VREF_TYPE & 0xff; ADCSRA=0xA7; SFIOR&=0x0F;
5. Blok berikut merupakan deklarasi variabel hasil konversi ADC. // Declare your local variables here unsigned char adcdt;
6. Tuliskan script berikut dalam program utama:
while (1) { // Place your code here adcdt=read_adc(0); PORTC=adcdt; } }
7. Ukur tegangan potensiometer (kaki tengah) sebesar 0V (sesuai tabel). 8.
Perhatikan
dan catat nyala LED dan konversi nilai da lam desimal.
9. Hitung perhotungan nilai digital dalam desimal denga n 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
5.
DATA HASIL PERCOBAAN No
Tegangan analog (0-5V)
Tampilan LED (bit7-bit0)
Nilai digital LED (decimal)
1
0 0.503 1,002 1.503 2.007
00000000 00011011 00110111 01010001 01101101 10001001 10100100 10111111 11011011 11110110
0 27 82 109 137 164 191 219 246
Nilai digital perhitung an (desimal) 0 27,465 54,713 82,069 109,58 136,50 164,10 191,11 218,41 245,71
11111111
255
255
2 3
4 5
6 7 8 9 10
2. 5 3.006 3. 5
4 4. 5 4.67
11
55
6. PEMBAHASAN Nilai Digital Hitung (dec) Pada tegangan analog 0 volt
Vukur
: 0.503 Volt
Vukur
: 0.00 Volt
Vdigital
:
Vdigital
:
=
0 volt
Pada tegangan analog 0.503 volt
= 27.465
volt Pada tegangan analog 1.002 volt
Vukur
: 1.002 Volt
Vdigital
:
Vdigital
= 54.713
volt Pada tegangan analog 1.503 volt
Vukur
: 1.503 Volt
Vdigital
:
=
82.069
volt Pada tegangan analog 2.007 volt
Vukur
: 2.007 Volt
Vdigital
:
= 109.58
volt Pada tegangan analog 2.5 volt
Vukur
: 2.5 Volt
Vdigital
:
= 136.50
volt
Pada tegangan analog 3.006 volt
Vukur
: 3.006 Volt
Vdigital
:
= 164.10
volt Pada tegangan analog 3.5 volt
Vukur
: 3.5 Volt
Vdigital
:
= 191.11volt
Pada tegangan analog 4 volt
Vukur
: 4 Volt
Vdigital
:
= 218.41
volt
Pada tegangan analog 4.5 volt
Vukur
: 4.5 Volt
Vdigital
:
= 245.71
Pada tegangan analog 4.67 volt
Vukur
: 4.67 Volt
volt
:
= 255
volt
7. KESIMPULAN y
ADC ( Analog to Digital Converter ) 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.
y
Hal-hal yang juga perlu diperhatikan dalam penggunaan ADC ini adalah tegangan maksimum yang dapat dikonversikan oleh ADC dari rangkaian pengkondisi sinyal, resolusi, pewaktu eksternal ADC, tipe keluaran, ketepatan dan waktu konversinya.
y
Fitur ± fitur ADC dalam ATMega8535 yaitu resolusi 10 bit, waktu konversi 65 -260 s,input 8 kanal, input ADC 0 -5Vcc, 3 mode pemilihan tegangan referensi.