Kelompok 2 : 1. Ghulam Akhrim 115090800111008 2. M .Zainulloh 115090800111009 3. Machfud Muthohar 115090800111010 4. M Feggy Okta P 115090800111011 5. Akhmad Reza Fathan 115090801111001 6. Rizal Yulistio Aji 115090801111002
LABORATORIUM INSTRUMENTASI DAN PENGUKURAN JURUSAN FISIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS BRAWIJAYA 2013 LEMBAR PENILAIAN PRAKTIKUM Percobaan V KELOMPOK 2 Tanggal masuk laporan : Pukul : Paraf : Tanggal : Tanggal :
Korektor Asisten
( ) ( )
Co. Asisten
( ) Catatan: ___________________________________________________________________________ ___________________________________________________________________________ ___________________________________________________________________________ ___________________________________________________________________________ ___________________________________________________________________________ Tangggal masuk Revisi : Pukul : Nilai Sementara Nilai Akhir
BAB I PENDAHULUAN 1.1 Tujuan Praktikum Setelah menyelesaikan percobaan ini diharapkan peseta praktikum dapat memahami tentang Analog to Digital Converter (ADC) pada Mikrokontroller ATMEGA 16. 1.2 Dasar Teori Pada mikrokontroler AVR terdapat fitur ADC yang dapat digunakan untuk melakukan pembacaan tegangan analog ke dalam bentuk digital sehingga ADC banyak digunakan dalam perancangan alat ukur digital. Secara umum, proses inisialisasi ADC meliputi proses penentuan clock, tegangan referensi, format output data, dan mode pembacaan. Register ADMUX Register yang perlu diset nilainya adalah ADMUX (ADC Multiplexer Selection Register), ADCSRA (ADC Control and Status Register), dan SFIOR (Special Function IO Register). ADMUX merupakan register 8 bit yang berfungsi menentukan tegangan referensi ADC, format data output, dan saluran ADC yang digunakan.
Untuk memilih channel ADC yang digunakan (single ended atau diferensial), dilakukan dengan mengatur nilai MUX4 :0. Misalnya channel ADC0 sebagai input ADC, maka MUX4 :0 diberi nilai 00000B. Informasi lebih lengkap dapat dilihat pada datasheet mikrokontroler yang dipakai. Konfigurasi ADC Tegangan referensi ADC dapat ditentukan antara lain dari pin AREF, pin AVCC atau menggunakan tegangan referensi internal mikrokontroler sebesar 2.56V. Agar fitur ADC mikrokontroler dapat digunakan maka ADEN (ADC Enable, dalam I/O register ADCSRA) harus diberi nilai 1. Setelah konversi selesai (ADIF high), hasil konversi dapat diperoleh pada register hasil (ADCL, ADCH).Untuk konversi single ended, hasilnya ialah :
Di mana VIN ialah tegangan pada input yang dipilih dan VREF merupakan tegangan referensi. Jika hasil ADC =000H, maka menunjukkan tegangan input sebesar 0V, jika hasil ADC=3FFH menunjukkan tegangan input sebesar tegangan referensi dikurangi 1 LSB (Malik, 2009). Sebagai contoh, jika diberikan VIN sebesar 0.2V dengan VREF 5V, maka hasil konversi ADC ialah 41. Jika menggunakan differensial channel, hasilnya ialah 40.96, yang bila digenapkan bisa sekitar 39,40,41 karena ketelitian ADC ATmega 16 sebesar +- 2LSB. Jika yang digunakan saluran diferensial, maka hasilnya ialah :
Di mana VPOS ialah tegangan pada input pin positif, VNEG ialah tegangan input pada pin negatif, GAIN ialah faktor penguatan dan VREF ialah tegangan referensi yang digunakan. Kita dapat mengkonfigurasi fasilitas ADC pada CodeVision AVR sebagai berikut :
Melakukan setting penggunaan ADC dengan CodeWizardAVR Dengan mencentang ADC Enabled akan mengaktifkan on-chip ADC. Dengan mencentang Use 8 bits, maka hanya 8 bit terpenting yang digunakan. Hasil konversi 10 bit dapat dibaca pada ADC Data Registers ADCH dan ADCL. Misalnya, jika hasil konversi ADC bernilai 54(36H), dalam 10 bit biner ditulis dengan 00 0011 0110B. Jika dalam format right adjusted (ADLAR=0), maka I/O register ADCH berisi 0000 0000B(00H) dan I/O register ADCL berisi 0011 0110B (36H). AVR ATMega16 merupakan tipe AVR yang telah dilengkapi dengan 8 saluran ADC internal dengan resolusi 10 bit. Dalam mode operasinya, ADC dapatdikonfigurasi, baik single ended input maupun differential input. Selain itu, ADC ATMega16 memiliki konfigurasi pewaktuan, tegangan referensi, mode operasi, dan kemampuan filter derau (noise) yang amat fleksibel sehingga dapat dengan mudah disesuaikan dengan kebutuhan dari ADC itu sendiri. ADC pada ATMega16 memiliki fitur-fitur antara lain : Resolusi mencapai 10-bit Akurasi mencapai 2 LSB Waktu konversi 13-260s 8 saluran ADC dapat digunakan secara bergantian Jangkauan tegangan input ADC bernilai dari 0 hingga VCC Disediakan 2,56V tegangan referensi internal ADC Mode konversi kontinyu atau mode konversi tunggal Interupsi ADC complete Sleep Mode Noise canceler Proses inisialisasi ADC meliputi proses penentuan clock, tegangan referensi, formal data keluaran, dan modus pembacaan. Register-register yang perlu diatur adalah sebagai berikut: ADC Control and Status Register A ADCSRA
Gambar 2.5 ADC Control and Status Register A ADCSRA ADEN : 1 = adc enable, 0 = adc disable ADCS : 1 = mulai konversi, 0 = konversi belum terjadi ADATE : 1 = auto trigger diaktifkan, trigger berasal dari sinyal yang dipilih (set pada trigger SFIOR bit ADTS). ADC akan start konversi pada edge positif sinyal trigger. ADIF : diset ke 1, jika konversi ADC selesai dan data register ter-update. Namun ADC Conversion Complete Interrupt dieksekusi jika bit ADIE dan bit-I dalam register SREG diset. ADIE : diset 1, jika bit-I dalam register SREG di-set. ADPS[0..2] : Bit pengatur clock ADC, faktor pembagi 0 7 = 2, 4, 8, 16, 32, 64, 128. Tabel 2.1 Konfigurasi Clock ADC
ADC Multiplexer-ADMUX
Gambar 2.6 ADC Multiplexer REFS 0, 1 : Pemilihan tegangan referensi ADC 00 : Vref = Aref 01 : vref = AVCC dengan eksternal capasitor pada AREF 10 : vref = internal 2.56 volt dengan eksternal kapasitor pada AREF ADLAR : Untuk setting format data hasil konversi ADC, default = 0 Special Function IO Register-SFIOR SFIOR merupakan register 8 bit pengatur sumber picu konversi ADC, apakah dari picu eksternal atau dari picu internal, susunannya seperti yang terlihat pada Gambar 2.7 berikut :
Gambar 2.7 Register SFIOR ADTS[0...2] : Pemilihan trigger (pengatur picu) untuk konversi ADC, bit-bit ini akan berfungsi jika bit ADATE pada register ADCSRA bernilai 1. Konfigurasi bit ADTS[0...2] dapat dilihat pada Tabel 2.2. Tabel 2.2 Pemilihan sumber picu ADC
ADHSM : 1. ADC high speed mode enabled. Untuk operasi ADC, bit ACME, PUD, PSR2 dan PSR10 tidak diaktifkan (Sismoro,2005).
ADC (Analog to Digital Converter) adalah salah satu fasilitas mikrokontroller ATMEGA 16 yang berfungsi untuk mengubah data analog menjadi data digital. ADC memiliki 2 karakter prinsip, yaitu kecepatan sampling dan resolusi. Kecepatan sampling suatu ADC menyatakan seberapa sering sinyal analog dikonversikan ke bentuk sinyal digital pada selang waktu tertentu. Kecepatan sampling biasanya dinyatakan dalam sample per second (SPS).
Gambar 4.1: ADC dengan kecepatan sampling rendah dan kecepatan sampling tinggi Resolusi ADC menentukan ketelitian nilai hasil konversi ADC. Sebagai contoh: ADC 8 bit akan memiliki output 8 bit data digital, ini berarti sinyal input dapat dinyatakan dalam 255 (2n 1) nilai diskrit. ADC 12 bit memiliki 12 bit output data digital, ini berarti sinyal input dapat dinyatakan dalam 4096 nilai diskrit. Dari contoh diatas ADC 12 bit akan memberikan ketelitian nilai hasil konversi yang jauh lebih baik daripada ADC 8 bit. Prinsip kerja ADC adalah mengkonversi sinyal analog ke dalam bentuk besaran yang merupakan rasio perbandingan sinyal input dan tegangan referensi. Sebagai contoh, bila tegangan referensi 5 volt, tegangan input 3 volt, rasio input terhadap referensi adalah 60%. Jadi, jika menggunakan ADC 8 bit dengan skala maksimum 255, akan didapatkan sinyal digital sebesar 60% x 255 = 153 (bentuk decimal) atau 10011001 (bentuk biner).
BAB II METODOLOGI 2.1 Alat dan Bahan Alat dan bahan yang digunakan dalam praktikum kali ini adalah laptop/computer, modul mikrokontroler ATmega16 beserta downloadernya serta AVR Studio 4 sebagai media untuk mengisikan program pada ATMega16 dan sebuah potensiometer. 2.2 Tata Laksana Percobaan Tata Laksana percobaan ini adalah yang pertama dilakukan adalah mempersiapkan modul serta menginstal program AVR pada laptop/computer kita, yang digunakan dalam praktikum kali ini adalah AVR Studio 4. Setelah itu, AVR Studio 4 dibuka, user memilih tipe project, memberi nama project, kemudian memilih AVR mana yang digunakan sebagai modul untuk praktikum. Setelah itu, klik finish. Sehingga praktikan dapat langsung membuat source code pada program AVR studio 4. Setelah program selesai, compile program yang telah kita buat tadi dan kemudian cari file hexa dari program yang kita buat untuk dimasukkan ke dalam mikrokontroler dengan menggunakan downloader sehingga dapat dilihat bagaimana LED menyala melalui modul. Dalam praktikum ini menggunakan mikrokontroler ATMega 16 sebagai display menggunakan LED output yang akan dikontrol dengan menggunakan potensiometer sebagai inputan. Potensiometer ini kemudian dihubungkan dengan pin ADC mikrokontroler. Hasil dari konversi nilai analog ke digital dari potensiomater ditampilkan pada LED. Semakin besar nilai potensiometer maka LED yang menyala semakin banyak.
BAB III PEMBAHASAN 3.1 Hasil dan Code A. ADC keluaran LED rata kiri
B. ADC keluaran LED rata kanan
3.2 Pembahasan Pada mikrokontroler AVR terdapat fitur ADC yang dapat digunakan untuk melakukan pembacaan tegangan analog ke dalam bentuk digital sehingga ADC banyak digunakan dalam perancangan alat ukur digital. Secara umum, proses inisialisasi ADC meliputi proses penentuan clock, tegangan referensi, format output data, dan mode pembacaan. ADC memiliki 2 karakter prinsip, yaitu kecepatan sampling dan resolusi. Kecepatan sampling suatu ADC menyatakan seberapa sering sinyal analog dikonversikan ke bentuk sinyal digital pada selang waktu tertentu. Kecepatan sampling biasanya dinyatakan dalam sample per second (SPS). Register ADMUX Register yang perlu diset nilainya adalah ADMUX (ADC Multiplexer Selection Register), ADCSRA (ADC Control and Status Register), dan SFIOR (Special Function IO Register). ADMUX merupakan register 8 bit yang berfungsi menentukan tegangan referensi ADC, format data output, dan saluran ADC yang digunakan.
Konfigurasi ADC Tegangan referensi ADC dapat ditentukan antara lain dari pin AREF, pin AVCC atau menggunakan tegangan referensi internal mikrokontroler sebesar 2.56V. Agar fitur ADC mikrokontroler dapat digunakan maka ADEN (ADC Enable, dalam I/O register ADCSRA) harus diberi nilai 1. Setelah konversi selesai (ADIF high), hasil konversi dapat diperoleh pada register hasil (ADCL, ADCH).Untuk konversi single ended, hasilnya ialah : 4 Di mana VIN ialah tegangan pada input yang dipilih dan VREF merupakan tegangan referensi. Jika hasil ADC =000H, maka menunjukkan tegangan input sebesar 0V, jika hasil ADC=3FFH menunjukkan tegangan input sebesar tegangan referensi dikurangi 1 LSB.
ADLAR : Untuk setting format data hasil konversi ADC, default = 0
Register ADMUX ADMUX merupakan register 8 bit yang berfungsi menentukan tegangan referensi ADC, format data output, dan saluran ADC yang digunakan. Untuk memilih channel ADC yang digunakan (single ended atau diferensial), dilakukan dengan mengatur nilai MUX4 :0
ADEN : 1 = adc enable, 0 = adc disable ADCS : 1 = mulai konversi, 0 = konversi belum terjadi ADATE : 1 = auto trigger diaktifkan, trigger berasal dari sinyal yang dipilih (set pada trigger SFIOR bit ADTS). ADC akan start konversi pada edge positif sinyal trigger. ADIF : diset ke 1, jika konversi ADC selesai dan data register ter-update. Namun ADC Conversion Complete Interrupt dieksekusi jika bit ADIE dan bit-I dalam register SREG diset. ADIE : diset 1, jika bit-I dalam register SREG di-set
Maksud dari program diatas adalah ADCSRA = ADCSRA | 0b01000000. Agar nilai dari ADCSRA tidak berubah.
Mengecek ADCSRA masih dalam keadaan konversi atau tidak.
B. Pembahasan ADC keluaran LED rata kanan ADC keluaran LED rata kanan sebenarnya hampir sama dengan ADC keluaran LED rata kiri, yang membedakan dari keduanya adalah pada keluaran LEDnya. Pada ADC keluaran rata kiri, LED yang digunakan sebanyak 8 LED yaitu pada PORT C 0 sampai PORT 7. Sedangkan pada ADC keluaran rata kanan, LED yang digunakan sebanyak 2 LED yaitu pada PORT C 0 sampai PORT C 1.
ADC keluaran LED rata kanan
Potensiometer
LED digunakan semua ADC keluaran LED rata kiri
Potensiometer
LED tidak digunakan LED digunakan
Dalam praktikum ini menggunakan mikrokontroler ATMega 16 sebagai display menggunakan LED output yang akan dikontrol dengan menggunakan potensiometer sebagai inputan. Potensiometer adalah resistor tiga terminal dengan sambungan geser yang membentuk pembagi tegangan dapat disetel.Jika hanya dua terminal yang digunakan (salah satu terminal tetap dan terminal geser), potensiometer berperan sebagai resistor variabel atau Rheostat. Potensiometer ini kemudian dihubungkan dengan pin ADC mikrokontroler. Hasil dari konversi nilai analog ke digital dari potensiomater ditampilkan pada LED. Semakin besar nilai potensiometer maka LED yang menyala semakin banyak. BAB IV PENUTUP
4.1 Kesimpulan Setelah melakukan percobaan tentang ADC (Analog to Digital Converter) maka dapat disimpulkan bahwa pada mikrokontroller ATMega 16 sudah dilengkapi fitur ADC (Analog to Digital Converter) yang dapat merubah data analog ke data digital. Potensiometer mengatur variabel dari hambatan sehingga tegangan dapat diatur 0V-5V dan akan dibaca oleh ADC dan hasilnya akan ditampilkan LED. Semakin besar tegangan yang diberikan potensiometer maka nyala LED akan naik/lebih besar nilainnya.
4.2 Saran Sebaiknya dalam praktikum kali ini dilakukan penambahan alat, dan adanya modul untuk memudahkan praktikan dalam melaksanakan praktikum.
DAFTAR PUSTAKA Malik,Unggul juwana. 2009. Aneka Proyek Mikrokontroller PIC16F84A. Jakarta : Gramedia Sismoro, Heri. 2005. Pengantar Logika Informatika, Algoritma, dan Pemrograman Komputer. Yogyakarta : ANDI Sulistiyanto. 2008. Pemrogaman Mikrokontoller R8C/13. Jakarta : Gramedia