adc mk

24
LAPORAN PRAKTIKUM MIKROKONTROLLER DAN INTERFACING ANALOG TO DIGITAL CONVERTER (ADC) PERCOBAAN V 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

Upload: rijool92

Post on 24-Nov-2015

31 views

Category:

Documents


4 download

DESCRIPTION

Laporan ADC MK

TRANSCRIPT

LAPORAN PRAKTIKUMMIKROKONTROLLER DAN INTERFACING ANALOG TO DIGITAL CONVERTER (ADC)

PERCOBAAN V

Kelompok 2:1. Ghulam Akhrim1150908001110082. M .Zainulloh1150908001110093. Machfud Muthohar1150908001110104. M Feggy Okta P 1150908001110115. Akhmad Reza Fathan 1150908011110016. Rizal Yulistio Aji115090801111002

LABORATORIUM INSTRUMENTASI DAN PENGUKURANJURUSAN FISIKAFAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAMUNIVERSITAS BRAWIJAYA2013

LEMBAR PENILAIAN PRAKTIKUMPercobaan VKELOMPOK 2Tanggal masuk laporan:Pukul:Paraf:Tanggal: Tanggal : Korektor Asisten

()( )

Co. Asisten

( )Catatan:_______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________Tangggal masuk Revisi :Pukul:Nilai SementaraNilai Akhir

BAB IPENDAHULUAN1.1 Tujuan PraktikumSetelah menyelesaikan percobaan ini diharapkan peseta praktikum dapat memahami tentang Analog to Digital Converter (ADC) pada Mikrokontroller ATMEGA 16.1.2 Dasar TeoriPada 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 CodeWizardAVRDengan 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 cancelerProses 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 ADCSRAADEN : 1 = adc enable, 0 = adc disableADCS : 1 = mulai konversi, 0 = konversi belum terjadiADATE : 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 MultiplexerREFS 0, 1 : Pemilihan tegangan referensi ADC00 : Vref = Aref01 : vref = AVCC dengan eksternal capasitor pada AREF10 : vref = internal 2.56 volt dengan eksternal kapasitor pada AREFADLAR : Untuk setting format data hasil konversi ADC, default = 0 Special Function IO Register-SFIORSFIOR merupakan register 8 bit pengatur sumber picu konversi ADC, apakah dari picu eksternal atau dari picu internal, susunannya seperti yang terlihatpada Gambar 2.7 berikut :

Gambar 2.7 Register SFIORADTS[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, bitACME, 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 IIMETODOLOGI2 2.1 Alat dan BahanAlat 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 PercobaanTata 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 IIIPEMBAHASAN1 2 3 3.1 Hasil dan CodeA. ADC keluaran LED rata kiri

B. ADC keluaran LED rata kanan

3.2 PembahasanPada 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.

A. Pembahasan ADC keluaran LED rata kiri

Port B diset sebagai keluaran

REFS 0, 1 : Pemilihan tegangan referensi ADC00 : Vref = Aref01 : vref = AVCC dengan eksternal capasitor pada AREF

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 disableADCS : 1 = mulai konversi, 0 = konversi belum terjadiADATE : 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 kananADC 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 semuaADC 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 IVPENUTUP

1 2 3 4 4.1 KesimpulanSetelah 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 SaranSebaiknya dalam praktikum kali ini dilakukan penambahan alat, dan adanya modul untuk memudahkan praktikan dalam melaksanakan praktikum.

DAFTAR PUSTAKAMalik,Unggul juwana. 2009. Aneka Proyek Mikrokontroller PIC16F84A. Jakarta : Gramedia Sismoro, Heri. 2005. Pengantar Logika Informatika, Algoritma, dan Pemrograman Komputer. Yogyakarta : ANDISulistiyanto. 2008. Pemrogaman Mikrokontoller R8C/13. Jakarta : Gramedia