ADC (Analog Digital Converter)
 ( Laporan Praktikum Mikrokontroler)


ABSTRAK

Telah dilakukan percobaan ADC (Analog Digital Converter) dengan mikrokontroler Atmega 8535. Percobaan ini bertujuan agar mahasiswa dapat mengetahui dan memahami suatu komponen elektronika dalam hal ini Mikrokontroler. Mahasiswa dapat merancang sebuah rangkaian elektronika menggunkan Mikrokontroler. Mahasiswa mampu membangun ranbgkaian Mikrokontroler menggunakan simulasi berbasis program pada Proteus.7 dan CVAVR. Mahasiswa dapat merancang sebuah rangkain Mikrokontroler menggunakan ADC. Mikrokontroler merupakan suatu komponen elektronika yang didalamnya terdapat rangkaian mikroprosesor, memori (RAM/ROM) dan I/O, rangkaian tersebut terdapat dalam level chip atau biasa disebut single chip microcomputer. Pada mikrokontroler sudah terdapat komponen-komponen mikroprosesor dengan bus-bus internal yang saling berhubungan. Komponen–komponen tersebut adalah RAM, ROM, Timer, komponen I/O paralel dan serial, dan interrupt controller. ADC (Analog Digital Converter) merupakan fitur pada mikrokontroler yang berfungsi untuk mengkonversi sinyal/data dari besaran analog menjadi besaran digital. Mengapa harus di konversi, Karena sebagian besar data/sinyal yang ada di dunia ini merupakan besaran analog. Pengkonversian data dari analog ke digital merupakan suatu cara untuk mengolah data analog tersebut agar dapat di modifikasi, di manipulasi dan mengubah karakteristiknya. Dalam percobaan ini dapat diambil kesimpulan bahwa dalam percobaan ini mikrokontroler mampu mengontrol ADC untuk dapat menampilkan keluarannya dalam hidup mati nyala led. ADC memiliki 2 faktor penting pada penggunaannya yaitu Kecepatan Sampling dan Resolusi. Mikrokontroler AVR ATMega8535 mempunyai ADC dengan resolusi 10-bit. ADC pada mikrokontroler ATMega8535 mempunyai tegangan referensi yang dapat dipilih. Beberapa pilihan tegangan referensi yaitu pada pin AREF, pada pin AVCC, atau menggunakan tegangan referensi internal sebesar 2,56 Volt.





DAFTAR ISI




Halaman
LEMBAR PENGESAHAN .........................................................................         i

ABSTRAK ....................................................................................................         ii

DAFTAR ISI .................................................................................................      iii
DAFTAR GAMBAR ....................................................................................      iv


I.         PENDAHALUAN

A. Latar Belakang ....................................................................................        1
B. Tujuan ..................................................................................................        2
II.      TINJAUAN PUSTAKA
A. Mikrokontroler ....................................................................................        3
B. ATMEGA8535 ....................................................................................        4
C. ADC......................................................................................................       4
III.   HASIL DAN PEMBAHASAN
IV.   KESIMPULAN
DAFTAR PUSTAKA
LAMPIRAN





DAFTAR GAMBAR




Gambar                                                                                                        Halaman
1.      Simulasi Mikrokontroler dengan Proteus .......................................           9
2.      Simulasi Mikrokontroler dengan Proteus Setelah dirunning ..........           11




I.         PENDAHULUAN


A.      Latar Belakang
Pada umunya dalam dunia elektronika dan instrumentasi hanya ada 2 macam mikrokontroller yang dikenal. Pembagian mikrokontroler ini  didasarkan pada kompleksitas instruksi-instruksi yang dapat diterapkan pada mikrokontroler tersebut. Adapun dua jenis dari mikrokontroler itu adalah RISC dan CISC. RISC merupakan kepanjangan dari Reduced Instruction Set Computer. Instruksi yang dimiliki terbatas, tetapi memiliki fasilitas yang lebih banyak Sebaliknya, CISC kepanjangan dari Complex Instruction Set Computer. Pada jenis mikrokontroler ini Instruksi bisa dikatakan lebih lengkap dibandingkan dengan RISC tapi CISC memiliki fasilitas secukupnya. Masing-masing dari jenis mikrokontroler ini mempunyai keturunan atau keluarga sendiri-sendiri.
Dalam dunia elektronika, penggunaan mikrokontroler dalam pembuatan rangkaian-rangkaian elektronika tidaklah sulit dalam pengaplikasiannya karna dalam perancangan suatu rangkaian elektronika tidak langsung dibuat dalam bentuk hardwere melainkan dapat dibuat simulasi terlebih dahulu. Proses pembuatan simulasi ini dilakukan bertujuan untuk mengecek kondisi dari rangkaian yang akan dibuat. Pada pembuatan simulasi suatu rangkaian elektronika ini dapat digunakan suatu program yang dapat memberikan fasilitas dalam perancangan suatu rangkaian yaitu program proteus.7 dan CVAVR untuk pembuatan program yang dibutuhkan oleh rangkaian yang kita buat.
Mikrokontroler AVR ATMega8535 mempunyai ADC dengan resolusi 10-bit. Di dalam mikrokontroller ATMega8535, input ADC dihubungkan ke sebuah 8 channel Analogmultiplekser yang digunakan untuk single ended

input channel artinya input ADC diukur dengan referensi pada ground. Masing-masing channel dari analog multiplekser terhubung dengan PORT A. Jadi input ADC pada saat tertentu hanya terhubung dengan satu tegangan input saja.(dengan memilih channel pada analog multiplekser).

B.       Tujuan Percobaan
Adapun tujuan dari percobaan ini adalah sebagai berikut
1.      Mahasiswa dapat mengetahui dan memahami suatu komponen elektronika dalam hal ini Mikrokontroler.
2.      Mahasiswa dapat merancang sebuah rangkaian elektronika menggunkan Mikrokontroler.
3.      Mahasiswa mampu membangun ranbgkaian Mikrokontroler menggunakan simulasi berbasis program pada Proteus.7 dan CVAVR.
4.      Mahasiswa dapat merancang sebuah rangkain Mikrokontroler menggunakan ADC.















II.      TINJAUAN PUSTAKA

A.      Mikrokontroler
Mikrokontroler AVR 8535 (Alf and Vegard’s Risc prosesor) adalah mikrokontroler yang memiliki arsitektur RISC 8 bit, dimana semua instruksi dikemas dalam kode 16-bit (16-bits word) dan sebagian besar instruksi dieksekusi dalam 1 siklus clock (Gambar 1), berbeda dengan instruksi MCS 51 yang membutuhkan 12 siklus clock (Budiharto, dkk. 2007).

Mikrokontroler merupakan suatu komponen elektronika yang didalamnya terdapat rangkaian mikroprosesor, memori (RAM/ROM) dan I/O, rangkaian tersebut terdapat dalam level chip atau biasa disebut single chip microcomputer. Pada mikrokontroler sudah terdapat komponen-komponen mikroprosesor dengan bus-bus internal yang saling berhubungan. Komponen–komponen tersebut adalah RAM, ROM, Timer, komponen I/O paralel dan serial, dan interrupt controller. Dengan harga yang terjangkau memungkinkan mikrokontroler digunakan pada berbagai sistem elektronis, seperti pada robot, sistem alarm, peralatan telekomunikasi, hingga sistem automasi industri.
Mikrokontroler sebagai sebuah one chip solution pada dasarnya adalah rangkaian terintregrasi (Integrated Circuit-IC) yang telah mengandung secara lengkap berbagai komponen pembentuk sebuah komputer. Berbeda dengan penggunaan mikroprosesor yang masih memerlukan komponen luar tambahan seperti RAM, ROM, Timer, dan sebagainya untuk sistem mikrokontroler, tambahan komponen diatas secara praktis hampir tidak dibutuhkan lagi. Hal ini disebabkan semua komponen penting tersebut telah ditanam bersama dengan sistem prosesor ke dalam IC tunggal mikrokontroler bersangkutan. Dengan alasan itu sistem mikrokontroler dikenal juga dengan

istilah populer the real Computer On a Chip (komputer utuh dalam keping tunggal), sedangkan sistem mikroprosesor dikenal dengan istilah yang lebih terbatas yaitu Computer On a Chip (komputer dalam keping tunggal).
Mikrokontroler AVR memliki arsitektur RISC 8 bit, dimana semua instruksi dikemas dalam kode 16-bit (16-bits word) dan sebagian besar instruksi dieksekusi 1 (satu) siklus clock, berbeda dengan instruksi MCS51 yang membutuhkan 12 siklus clock. Tentu saja itu terjadi karena kedua jenis mikrokontroler tersebut memiliki arsitektur yang berbeda. AVR berteknologi RISC (Reduced Instruction Set Computing), sedangkan seri MCS51 berteknologi CISC (Complex Instruction Set Computing). Secara umum, AVR dapat dikelompokkan menjadi empat kelas, yaitu keluarga ATtiny, keluarga AT90Sxx, keluarga ATMega dan AT86RFxx. Pada dasarnya yang membedakan masing-masing kelas adalah memori, peripheral dan fungsinya. Dari segi arsitektur dan instruksi yang digunakan, mereka bisa dikatakan hampir sama (Yurizal, 2013).

B.       ATMEGA 8535
Atmel, salah satu vendor yang bergerak di bidang mikroelektronika, telah mengembangkan AVR (Alf and Vegard’s Risc processor) sekitar tahun 1997. Berbeda dengan mikrokontroler MCS51, AVR menggunakan arsitektur RISC (Reduce Instruction Set Computer) yang mempunyai lebar bus data 8 bit. Perbedaan ini bisa dilihat dari frekuensi kerjanya. MCS51 memiliki frekuensi kerja seperduabelas kali frekuensi osilator. Jadi dengan frekuensi osilator yang sama, kecepatan AVR dua belas kali lebih cepat dibanding kecepatan MCS51. Secara umum AVR dibagi menjadi 4 kelas, yaitu ATtiny, AT90Sxx, ATMega dan AT86RFxx. Perbedaan antartipe AVR terletak pada fitur-fitur yang ditawarkan, sementara dari segi arsitektur dan set instruksi yang digunakan hampir sama (Heryanto dan Adi, 2008).

C.      ADC (Analog Digital Converter)
ADC (Analog Digital Converter) merupakan fitur pada mikrokontroler yang berfungsi untuk mengkonversi sinyal/data dari besaran analog menjadi besaran digital. Mengapa harus di konversi, Karena sebagian besar data/sinyal yang ada di dunia ini merupakan besaran analog. Pengkonversian data dari analog ke digital merupakan suatu cara untuk mengolah data analog tersebut agar dapat di modifikasi, di manipulasi dan mengubah karakteristiknya. Contoh besaran analog yang sering di temui dalam kehidupan sehari-hari yaitu suhu, cahaya, kecepatan,tegangan, suara, dll. Fitur ADC ini sering digunakan dalam proses industri dan komunikasi digital. ADC inilah yang menghubungkan antara sensor dengan sistem komputer yang telah terintegrasi. ADC memiliki 2 faktor penting pada penggunaannya yaitu Kecepatan Sampling dan Resolusi. Dimana kecepatan sampling ini berpengaruh terhadap seberapa banyak sinyal analog yang di konversi ke sinyal digital dalam satuan waktu. Satuan waktu yang digunakan yaitu SPS (Sample per Second). Sedangkan resolusi ADC berpengaruh terhadap ketelitian hasil konversinya. Resolusi pada mikrokontroler AVR ada 2 yaitu resolusi 8 bit dan 10 bit (Eliezer, 2013).







III.   HASIL PENGAMATAN DAN PEMBAHASAN



Percobaan yang telah dilakukan ini adalah percobaan menggunakan ADC dengan mikrokontroler. ADC (Analog Digital Converter) merupakan fitur pada mikrokontroler yang berfungsi untuk mengkonversi sinyal/data dari besaran analog menjadi besaran digital. Mengapa harus di konversi, Karena sebagian besar data/sinyal yang ada di dunia ini merupakan besaran analog. Pengkonversian data dari analog ke digital merupakan suatu cara untuk mengolah data analogtersebut agar dapat di modifikasi, di manipulasi dan mengubah karakteristiknya. Contoh besaran analog yang sering di temui dalam kehidupan sehari-hari yaitu suhu, cahaya, kecepatan,tegangan, suara, dll. Fitur ADC ini sering digunakan dalam proses industri dan komunikasi digital. ADC inilah yang menghubungkan antara sensor dengan sistem komputer yang telah terintegrasi.
ADC memiliki 2 faktor penting pada penggunaannya yaitu Kecepatan Sampling dan Resolusi. Dimana kecepatan sampling ini berpengaruh terhadap seberapa banyak sinyal analog yang di konversi ke sinyal digital dalam satuan waktu. Satuan waktu yang digunakan yaitu SPS (Sample per Second). Sedangkan resolusi ADC berpengaruh terhadap ketelitian hasil konversinya. Resolusi pada mikrokontroler AVR ada 2 yaitu resolusi 8 bit dan 10 bit.
Mikrokontroler merupakan suatu komponen elektronika yang didalamnya terdapat rangkaian mikroprosesor, memori (RAM/ROM) dan I/O, rangkaian tersebut terdapat dalam level chip atau biasa disebut single chip microcomputer. Pada mikrokontroler sudah terdapat komponen-komponen mikroprosesor dengan bus-bus internal yang saling berhubungan. Komponen–komponen tersebut adalah RAM, ROM, Timer, komponen I/O paralel dan serial, dan interrupt controller. Dengan harga yang terjangkau memungkinkan mikrokontroler digunakan pada

berbagai sistem elektronis, seperti pada robot, sistem alarm, peralatan telekomunikasi, hingga sistem automasi industri.
Mikrokontroler AVR ATMega8535 mempunyai ADC dengan resolusi 10-bit. Di dalam mikrokontroller ATMega8535, input ADC dihubungkan ke sebuah 8 channel Analogmultiplekser yang digunakan untuk single ended input channel artinya input ADC diukur dengan referensi pada ground. Masing-masing channel dari analog multiplekser terhubung dengan PORT A. Jadi input ADC pada saat tertentu hanya terhubung dengan satu tegangan input saja.(dengan memilih channel pada analog multiplekser).
Selain untuk single ended input, ADC pada mikrokontroler ATMega8535 dapat digunakan untuk tegangan input secara diferensial (differential input) sebanyak 16 kombinasi. Sebanyak 4 kombinasi input diferensial (ADC0 dengan ADC1 dan ADC2 dengan ADC3) dengan penguatan yang dapat diatur. ADC0 dan ADC2 sebagai tegangan input negative sedangkan ADC1 dan ADC3 sebagai tegangan input positif. Penguatan yang tersedia antara lain penguatan 20dB (10x) atau 46dB(200x) pada tegangan input diferensial sebelum konversi ADC. Sebanyak 7 kombinasi input diferensial dengan ADC1 sebagai tegangan input negative bersama (common) sedangkan input ADC yang lainnya sebagai tegangan input positif. Dan sebanyak 5 kombinasi input diferensial dengan ADC2 sebagai tegangan input negative bersama sedangkan input yang lainnya (ADC0,ADC1,ADC3,ADC4 atau ADC5) sebagai tegangan input positif.
Untuk memilih channel ADC mana yang digunakan (single ended input atau diferensial input) yaitu dengan mengatur nilai MUX4:0 (dalam I/O register ADMUX). Misalnya channwl ADC0 (pinA0) sebagai input ADC (referensi terhadap ground) maka MUX4:0 diberi nilai 00000B. jika diinginkan tegangan input ADC secara diferensial antara ADC1 (tegangan input negative) dan ADC4 (tegangan input positif) maka MUX4:0 diberi nilai 10100B. pemilihan input ADC yang lebih lengkap terdapat pada datasheet.
ADC pada mikrokontroler ATMega8535 mempunyai tegangan referensi yang dapat dipilih. Tegangan referensi ini menentukan tegangan input maksimum ADC dan hasil konversi ADC. Beberapa pilihan tegangan referensi yaitu pada pin AREF, pada pin AVCC, atau menggunakan tegangan referensi internal sebesar 2,56 Volt. Untuk memilih tegangan referensi mana yang digunakan denga mengatur nilai REFS1:0 (dalam I/O register ADMUX). Misalnya tegangan referensi pada pin AREF maka REFS1:0 diberi nilai 00B. keterangan lanjut ada di Datasheet.
Agar ADC dapat digunakan, ADEN (ADC Enable, dalam I./O register ADCSRA) harus diberi nilai 1. Untuk memulai konversi tegangan input analog menjadi nilai digital yaitu dengan memberi nilai ‘1’ pada ADSC (ADC Start Conversion, dalam I/O register ADCSRA). Nilai ADSC akan tetap bernilai 1 selama proses konversi berlangsung dan akan berniali ‘0’ (otomatis, secara hardware) pada saat proses konversi sudah selesai. Selain dengan memberi nilai ‘1’ pada ADSC, konversi ADC dapat juga dimulai dengan menggunaka seumber trigger. Pemilihan sumber trigger dilakukan dengan memberi nilai ADTS2:0 dalam I/O register SFIOR.
Pada ADC diperlukan frekuensi clock untuk proses konversi tegangan analog menjadi nilai digital. Pemilihan clock ADC berdasarkan nilai ADPS2:0 (nilai untuk prescaler ADC) dalam I/O register ADCSRA. Untuk mendapatkan hasil konversi dengan ketelitian tinggi, diperlukan frekuensi clock ADC antara 50-200 KHz.
Hasil konversi untuk single ended input dapat dihitung dengan menggunakan persamaan berikut:
ADC = Vin x1024 / Vref
 ................................. (1)
Hasil ADC=000H menunjukan tegangan input sebesar 0 volt dan hasil ADC=3FFH menunjukan tegangan input sebesar referensi kurang satu LSB. Misalnya tegangan pada pin ADC0/PA0 (Vin) sebesar 0,26 Volt dengan Vref sebesar 5 volt. Maka hasil konversi ADC dalam nilai digital dapat dihitung: ADC=53,25. Hasil koversi dapat bernilai 52 atau 53 atau 54. ketelitian ADC pada ATMega8535 sebesar ±2 LSB.
Dalam percobaan ini menggunakan simulasi dengan proteus untuk membuat rangkaian mikrokontroler dengan pengaturan ADC yang menggunakan led sebagai outputnya. Gambar berikut ini adalah gambar simulasi mikrokontroler yang dibuat dari proteus.

Gambar 1. Simulasi Mikrokontroler dengan Proteus

Pada Gambar 1 diatas mikrokontroler yang digunakan ialah ATMega 8535, kemudian pada PORTA yang merupakan PORT untuk ADC  pin 0 dihubungkan dengan sebuah potensiometer untuk mengatur presentasi nilai ADC, 2 kaki potensiometer lainnya dihubungkan dengan vcc dan ground. Selain potensiometer digunakan pula 8 buah led sebagai outputan dari nilai ADC tersebut yang diletakkan pada PORTB. Untuk menjalankan rangkaian diatas maka diperlukan sebuah program agar dapat mengontrol rangkaian tersebut dan menghidupkan led sesuai dengan presentasi ADC yang dihasilkan. Program dalam percobaan ini dibuat dengan program CVAVR, sebelum kita tuliskan program terlebih dahulu kita mengatur tipe-tipe program yang akan kita gunakan seperti kita atur PORTB sebagai output dan juga kita atur ADC, kita klik ADC Enable, selanjutnya mencentang interrupt dan use 8 bit, pada automatically scan inputs pilih Enable kita buat first sebagai first ADC input menjadi 0 dan last atau last ADC input menjadi 7. Selanjutnya kita generate and save sehingga akan muncul program seperti dibawah ini, pada kolom while kita tambahkan program untuk membaca data ADC yang terbaca dan PORTB sebagai output dari ADC yang terbaca tersebut.
#include <mega8535.h>
#include <delay.h>
#define FIRST_ADC_INPUT 0
#define LAST_ADC_INPUT 7
unsigned char adc_data[LAST_ADC_INPUT-FIRST_ADC_INPUT+1];
#define ADC_VREF_TYPE 0x60
interrupt [ADC_INT] void adc_isr(void)
{ static unsigned char input_index=0;
adc_data[input_index]=ADCH;
if (++input_index > (LAST_ADC_INPUT-FIRST_ADC_INPUT))
   input_index=0;
ADMUX=(FIRST_ADC_INPUT | (ADC_VREF_TYPE & 0xff))+input_index;
delay_us(10);
ADCSRA|=0x40;
} void main(void)
{ unsigned char data;
PORTB=0x00;
DDRB=0xFF;
#asm("sei")
while (1)
      { data = adc_data[0];
      PORTB =data;
      }
}

Setelah program diatas kita compile dan build, selanjutnya kita masukan program tersebut kedalam mikrokontroler, dalam percobaan ini kita masukkan kedalam simulasi mikrokontroler yang telah kita buat di proteus, dan kita play, maka akan muncul rangkaian akan jalan dan menunujukkan nilai ADC seperti gambar berikut ini,

Gambar 2. Simulasi Mikrokontroler dengan proteus setelah di RUN

Gambar 2 merupakan hasil running dari percobaan ADC pada mikrokontroler , pada gambar tersebut setelah dirunning maka led akan menyala tetapi tidak semua led menyala, led akan menyala sesuai dengan presentasi dari potensiometer yang kita putar. Dalam perhitungan untuk mengetahui kesesuaian lampu hidup dengan presentasi potensiometer dilakukan dengan rumus :
PP =  x 100% ..................(2)
Dimana : PP = Presentasi Potensiometer
   NH = Nilai bilangan desimal dari lampu yang hidup
   NT = Nilai total bilangan desimal
Ketika lampu yang hidup adalah lampu 1,2,4,5,6,7 maka presentasi potensionya
PP  =  x 100%
=  x 100%
= 48.04 % atau 48 %

Ketika lampu yang hidup adalah lampu 2,7,8 maka presentasi potensionya
PP  =  x 100%
=  x 100%
= 75.78 % atau 76 %

Ketika lampu yang hidup adalah lampu 1,2,3,6,7 maka presentasi potensionya
PP  =  x 100%
=  x 100%
= 40.23 % atau 40 %

Ketika lampu yang hidup adalah lampu 1,2,3,4,7 maka presentasi potensionya
PP  =  x 100%
=  x 100%
= 30.86 % atau 31 %

Ketika lampu yang hidup adalah lampu 1,2,3,5 maka presentasi potensionya
PP  =  x 100%
=  x 100%
= 8.98 % atau 9 %

Ketika lampu yang hidup adalah lampu 5,6,7,8 maka presentasi potensionya
PP  =  x 100%
=  x 100%
= 93.75 % atau 94 %

Ketika lampu yang hidup adalah lampu 3 dan 4 maka presentasi potensionya
PP  =  x 100%
=  x 100%
= 4.69 % atau 5 %

Dari hasil perhitugan diatas dengan percobaan yang telah dilakukan , hasil yang didapatkan sesuai.  Hal ini membuktikan bahwa percobaan ADC pada mikrokontroler yang kita lakukan berhasil dan sesuai dengan teori.





IV.   KESIMPULAN

Dari percobaan yang telah dilakukan tentang perancangan LCD pada mikrokontroler maka dapat diambil kesimpulan sebagai berikut.
1.        Mikrokontroler merupakan suatu komponen elektronika yang didalamnya terdapat rangkaian mikroprosesor, dan berfungsi sebagai sistem kontrol maupun pengendali.
2.        ADC (Liquid Cristal Display) berfungsi mengkonversi sinyal/data dari besaran analog menjadi besaran digital.
3.        Dalam percobaan ini mikrokontroler mampu mengontrol ADC untuk dapat menampilkan keluarannya dalam hidup mati nyala led.
4.        ADC memiliki 2 faktor penting pada penggunaannya yaitu Kecepatan Sampling dan Resolusi.
5.        Mikrokontroler AVR ATMega8535 mempunyai ADC dengan resolusi 10-bit.
6.        ADC pada mikrokontroler ATMega8535 mempunyai tegangan referensi yang dapat dipilih. Beberapa pilihan tegangan referensi yaitu pada pin AREF, pada pin AVCC, atau menggunakan tegangan referensi internal sebesar 2,56 Volt.







DAFTAR PUSTAKA


Budiharto, Widodo. 2006. Membuat Robot Cerdas. Gramedia: Jakarta.
Eliezer, Putu Giovani. 2013. ADC Mikrokontroler. http://Geyosoft.com
Heryanto, M. Ary dan Adi, Wisnu.2008.Pemrograman Bahasa C untuk
Mikrokontroler Atmega 8535.Yogyakarta:Andi.
Yurizal. 2013. Mikrokontroler. https://yusrizalandeslubs.wordpress.com. Diunduh pada Sabtu, 15 November 2014.

Post a Comment

 
Top