Post on 22-Jun-2015
i
PRAKTIKUM ELEKTRONIKA DIGITAL
DAN MIKROKONTROLER
ANALOG DIGITAL CONVERTER (ADC)
Penyusun:
Sarwo Pranoto, ST., M.Eng.
PROGRAM STUDI TEKNIK LISTRIK
JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI UJUNG PANDANG
2012
JOBSHEET
ii
LEMBAR IDENTITAS DAN PENGESAHAN
Mata Kuliah : Praktikum Elektronika Digital dan Mikrokontroler
Kode Mata Kuliah : TL421313
Nama Job : Analog Digital Converter (ADC)
Penyusun : Sarwo Pranoto, ST., M.Eng. (198006202005011005)
Jobsheet ini telah diperiksa dan disetujui untuk digunakan sebagai
Bahan kuliah bagi mahasiswa Politeknik Negeri Ujung Pandang
Menyetujui :
Kepala Unit P3AI, Ketua Jurusan Teknik Elektro
Ir. Hastami Murdiningsih, M.T. Ibrahim Abduh, S.ST., M.T.
NIP 19600606 198803 2 002 NIP 19680514 199303 1 001
Mengetahui/Menyetujui :
Pembantu Direktur I,
Ir. Muas, M.T.
NIP 19670228 199303 1 004
iii
KATA PENGANTAR
Jobsheet ini merupakan jobsheet mata kuliah Praktikum Elektronika Digital dan
Mikrokontroler pada Program Studi Teknik Listrik Jurusan Teknik Elektro yang
membahas tentang fitur Analog Digital Converter (ADC) yang terdapat pada
mikrokontroler keluarga megaAVR.
Jobsheet ini memuat tentang dasar teori ADC, prosedur yang digunakan untuk
melakukan praktikum, skematik rangkaian dan program yangn digunakan dalam
praktikum ini.
Akhirnya, penyusun manyadari masih terdapat kekurangan pada jobsheet ini. Untuk
itu penyusun terbuka terhadap kritik dan saran untuk perbaikan jobsheet di masa yang
akan datang.
Makassar, 15 Oktober 2012
Penyusun
iv
DAFTAR ISI
LEMBAR IDENTITAS DAN PENGESAHAN ....................................................................... ii
KATA PENGANTAR ..............................................................................................................iii
DAFTAR ISI ............................................................................................................................. iv
DAFTAR GAMBAR ................................................................................................................ v
DAFTAR LAMPIRAN ............................................................................................................. vi
GARIS BESAR RANCANGAN PEMBELAJARAN (GBRP) ............................................... vii
ANALOG DIGITAL CONVERTER (ADC) ........................................................................... 1
1. Tujuan Percobaan: ........................................................................................................ 1
2. Dasar Teori .................................................................................................................... 1
3. Daftar Alat / Bahan ....................................................................................................... 2
4. Gambar Rangkaian ........................................................................................................ 3
5. Langkah Kerja ............................................................................................................... 4
5.1 Sebelum Kegiatan Praktikum ................................................................................ 4
5.2. Selama Kegiatan Praktikum .................................................................................. 4
6. Keselamatan Kerja ...................................................................................................... 13
7. Data Percobaan ........................................................................................................... 14
8. Soal dan Pertanyaan .................................................................................................... 16
9. Daftar Pustaka: ............................................................................................................ 16
DAFTAR LAMPIRAN ....................................................................................................... 17
v
DAFTAR GAMBAR
Gambar 1. Rangkaian skematik masukan ADC ........................................................................ 3
Gambar 2. Jendela Welcome to AVR Studio ........................................................................... 4
Gambar 3. Project type ............................................................................................................. 5
Gambar 4. Project name dan Initial file .................................................................................... 5
Gambar 5. Lokasi default penyimpanan project ....................................................................... 5
Gambar 6. Jendela pilihan lokasi penyimpanan file ................................................................. 6
Gambar 7. Jendela Select debug platform and devices ............................................................. 6
Gambar 8. Code editor .............................................................................................................. 7
Gambar 9. Jendela Project Options ........................................................................................... 7
Gambar 10. Kode di editor ........................................................................................................ 8
Gambar 11. Konfirmasi program sukses di build .................................................................... 8
Gambar 12. Sinaprog ................................................................................................................ 9
Gambar 14. Jendela Membuat project baru ............................................................................ 10
Gambar 15. CodeWizardAVR ................................................................................................ 10
Gambar 16. Tab pada CodeWizardAVR ................................................................................ 10
Gambar 17. Generate dan save hasil setting. .......................................................................... 11
Gambar 18. Code Editor ......................................................................................................... 11
Gambar 19. Compile program dan memastikan tidak ada error ............................................. 12
Gambar 20. Mengaktifkan download program ke chip .......................................................... 12
Gambar 21. Register ADC ........................................................................................................ 13
vi
DAFTAR LAMPIRAN
Lampiran 1. FORM PENILAIAN…..………………………………………………17
vii
GARIS BESAR RANCANGAN PEMBELAJARAN (GBRP)
Nama Mata Kuliah : Praktikum Laboratorium Digital dan Mikrokontroler
Nomor Kode/S K S : TL341323/3
Deskripsi singkat mata kuliah : Membahas tentang dasar gerbang logika, penjumlahan dan penyederhanaan fungsi
logika, flip-flop dan counter serta pemrograman mikrokontroler untuk aplikasi
input/output digital seperti menampilkan data melalui LED dan Seven Segments,
Liquid Cristal Displays berdasarkan hasil pembacaan data hasil konversi besaran
Analog to Digital, membangkitkan gelombang Pulse Witdh Modulation untuk
berbagai aplikasi kontrol salah satunya kontrol kecepatan motor DC.
Kompetensi Utama : Setelah mengikuti mata kuliah ini, mahasiswa diharapkan dapat membuat rangkaian
digital sederhana dan dapat membuat aplikasi pengontrolan berbasis mikrokontroler.
No. Tujuan Intruksional Khusus Pokok Bahasan Sub Pokok Bahasan Waktu Referensi
1.
Menjelaskan cara
menggunakan fitur Analog
Digital Converter pada
mikrokontroler Atmega 16
Analog Digital
Converter
- Mikrokontroler ATMega16
- Analog Digital Converter
- Sensor analog suhu, LDR dan
potensiometer.
6 x 50 menit 1, 2,3
viii
Referensi :
1. Winoto, Ardi, Mikrokontroler AVR ATmega8/32/16/8535 dan Pemrogramannya dengan Bahasa C pada WinAVR,
Penerbit Informatika, Bandung, 2010
2. Pavel Haiduc, HP InfoTech S.R.L, CodeVisionAVR Version 2.03.2 User Manual, HP InfoTech S.R.L , Romania,
2008
3. System, Next, Bermain Mikrokontroler AVR dan Robotika, NEXT SYSTEM Robotics Learning
Center,Bandung,2011
1
ANALOG DIGITAL CONVERTER (ADC)
1. Tujuan Percobaan:
Setelah menyelesaikan praktikum ini, mahasiswa mampu:
a. Mengakses ADC dengan resolusi 8 bit.
b. Memprogram ADC dengan masukan sensor berupa potensiometer, LDR,
LM35.
c. Mengaplikasikan fungsi ADC dengan masukan sensor pada mikrokontroler
AVR
2. Dasar Teori
Pada praktikum ini, praktikan akan mencoba memanfaatkan fasilitas masukan
analog pada mikrokontroler AVR ATmega16. ATmega16 mempunyai ADC
(Analog to Digital Converter) internal 10-bit sebanyak 8 kanal (multiplexed),
yaitu ADC0 – ADC7. Ini berarti, tegangan input antara 0 – 5 volt akan
dikonversi menjadi bilangan antara 0 – 1023. Resolusi yang dihasilkan adalah 5
volt/1024 unit atau 4.9 mV/unit.
Berikut adalah fitur lengkap dari ADC internal tersebut:
a. 10 – bit resolution
b. 65 – 260 µs conversion time.
c. Up to 15 kSPS at maximum resolution
d. 8 Multiplexed Single Ended Input Channels
e. Optional Left Adjusment for ADC result Readout
f. 0 – 5 VCC ADC Input Voltage range
g. Selectable 2.56V ADC Reference VoltageFree Running or Single Conversion
Mode
h. ADC Start Conversion by triggering on Interrupt Sources
i. Interrupt on ADC Conversion Complete
2
j. Sleep Mode Noise Canceler
Konversi dengan resolusi 10-bit dapat merujuk pada formula sebagai berikut:
ADC = (Vin/Vref)*1024
Sementara, untuk resolusi 8-bit, formula yang digunakan menjadi:
ADC = (Vin/Vref)*256
ADC memiliki dua mode operasi: Single Conversion Mode dan Free Running.
Dalam mode Single Conversion, setiap konversi harus di-inisiasi. Ketika proses
konversi selesai, hasil disimpan dalam ADC Data Register, dan proses konversi
selesai. Dalam mode Free Running, kita start konversi satu kali, dan selanjutnya,
ADC secara otomatis memulai konversi berikutnya, setelah proses konversi
sebelumnya selesai.
Konversi analog ke digital memerlukan waktu. Kecepatan konversi sangat
bergantung pada sinyal clock yang digunakan ADC (ADC Clock). Waktu
konversi proporsional dengan frekuensi sinyal ADC Clock, yang besarannya
sekitar 50 kHz – 200 kHz. Namun, untuk resolusi yang lebih rendah, dapat
digunakan frekuensi yang lebih tinggi dari rentang tersebut.
3. Daftar Alat / Bahan
a. 1 set PC lengkap dengan program aplikasi CodeVisionAVR atau AVR
Studio dan terminal.
b. 1 unit Modul MikroAVR16
c. 1 unit Modul Potensiometer 10 K
d. 1 unit Modul LDR (Light Dependent Resistor)
e. 1 unit Modul LM35 (Analog Temperatur Sensor)
f. 1 unit Modul I/O LED 5mm
3
g. 1 unit kabel konektor USB
h. Kabel jumper secukupnya dan obeng terminal
4. Gambar Rangkaian
Skematik hardware dari masukan sensor yang dihubungkan dengan
MikroAVR16:
a. Potensiometer b. LDR (Light Dependent Resistor)
c. LM35 (Analog Temperature Sensor)
Gambar 1. Rangkaian skematik masukan ADC
4
5. Langkah Kerja
5.1 Sebelum Kegiatan Praktikum
a. Absensi oleh pembimbing/instrukstur
b. Pengarahan oleh pembimbing
c. Baca dan pahami jobsheet yang diberikan dalam kegiatan praktikum.
d. Pinjam/Bon peralatan dan bahan praktikum.
e. Pastikan bahan dan peralatan sesuai dengan kegiatan praktikum yang akan
dilaksanakan.
5.2. Selama Kegiatan Praktikum
Selama kegiatan praktikum terdapat dua prosedur yang harus di patuhi oleh
praktikan yaitu:
5.2.1 Prosedur Umum
a. Siapkan bahan dan peralatan yang akan digunakan.
b. Rangkai modul yang akan digunakan sesuai gambar rangkaian.
c. Jalankan program aplikasi AVR Studio atau CodeVisionAVR
I. Jika menggunakan AVR Studio:
1) Buka program AVR Studio 4 , sehingga tampil seperti gambar 2
Pilih New Project.
Gambar 2. Jendela Welcome to AVR Studio
5
2) Buat project baru dengan menggunakan tipe Atmel AVR Assembler jika
ingin membuat project dalam bahasa Assembler atau AVR GCC jika
ingin membuat dalam program bahasa C. Pilih AVR GCC karena
praktikum ini menggunakan program bahasa C.
Gambar 3. Project type
3) Tulis nama project pada bagian bawah Project name, centang Create
initial file dan Create Folder. Secara otomatis Initial file akan memiliki
nama yang sama dengan nama projectnya dengan tambahan ekstensi .c
dan semua file dalam project tersebut tersimpan dalam folder yang sama
yang telah dibuat.
Gambar 4. Project name dan Initial file
4) Pilih lokasi yang digunakan untuk menyimpan project. Browse jika
ingin mengubah lokasi yang ada dan pilih Select pada lokasi yang
diinginkan.
Gambar 5. Lokasi default penyimpanan project
6
Gambar 6. Jendela pilihan lokasi penyimpanan file
5) Klik Next >> sehingga muncul tampilan seperti gambar 7. Pilih AVR
Simulator pada bagian Debug Platform dan Pilih ATmega16 pada
bagian Device. Dan Klik Finish untuk memunculkan editor seperti pada
gambar 8.
Gambar 7. Jendela Select debug platform and devices
7
Gambar 8. Code editor
6) Pengaturan frekuensi CPU yang digunakan oleh mikrokontroler
dilakukan dengan mengklik Project >> Configuration Options >>
sehingga muncul jendela seperti gambar 9 Kemudian isi frekuensi yang
digunakan sesuai dengan yang ada di modul mikrokontroler. Klik OK
jika sudah selesai.
Gambar 9. Jendela Project Options
8
7) Tulis program di editor.
Gambar 10. Kode di editor
8) Build Program atau tekan F7 sampai tidak ada yang error.
Gambar 11. Konfirmasi program sukses di build
9) Selanjutnya download file hex hasil compile menggunakan software
SinaProg. Setting pada software SinaProg sebagai berikut:
a. Hex File:Berisi file .hex yang akan didownload ke mikrokontroler.
b. Device : ATmega16;
c. Fuses : Int. 1 MHz
d. Programmer: AVR910; Port: Sesuaikan dengan kondisi;
Baudrate:115200
9
Gambar 12. Sinaprog
II. Jika menggunakan CodeVisionAVR:
1) Jalankan program CodeVisionAVR C Compiler.
2) Pilih Project untuk membuat project baru.
Gambar 13. Jendela Create New File
3) Klik Yes untuk menggunakan CodeWizardAVR
10
Gambar 14. Jendela Membuat project baru
4) Pada CodeWizardAVR pilih Atmega pada AVR Chip Type
Gambar 15. CodeWizardAVR
5) Pada CodeWizardAVR pilih menu Chip dan pilih menu pilihan
ATmega16 serta pilih frekuensi Clock sebesar 11,059200 MHz.
Gambar 16. Tab pada CodeWizardAVR
11
6) Masih pada CodeWizardAVR, setting mikrokontroler sesuai dengan
kebutuhan praktikum. Setting tersebut dapat dilakukan dengan
mengklik tab-tab yang ada dalam CodeWizardAVR.
7) Simpan hasil setting. Program Generate, Save and Exit
Gambar 17. Generate dan save hasil setting.
8) Simpan nama source file,nama project file, nama codewizard file
dengan nama yang Anda tentukan.
9) Tuliskan program pada editor.
Gambar 18. Code Editor
12
10) Kompilasi program dengan mengklik Program → Compile dan
memastikan tidak ada error.
Gambar 19. Compile program dan memastikan tidak ada error
11) Jika sukses configure hasil compilasi untuk di download ke
mikrokontroler . ProgramConfigure dan klik After Build dan
centang Program the Chip dan klik OK.
Gambar 20. Mengaktifkan download program ke chip
13
12) Build program, Program Build
13) Download hasil kompilasi ke mikrokontroler
5.2.2 Prosedur Khusus:
Untuk menggunakan ADC, perlu dilakukan sejumlah langkah inisialisai:
a. Tentukan prescaler untuk menentukan ADC Clock. Terdapat pilihan
prescaler: 2, 4, 8, 16, 32, 64 dan 128. Pengaturan prescaler dilakukan
melalui bit ADSP0, ADSP1 dan ADSP2 dalam register ADCSRA.
b. Tentukan tegangan referensi yang digunakan (AVCC, AREF atau
Internal), dengan mengaturnya melalui bit REFS0 dan REFS1 dalam
register ADMUX.
c. Enable ADC dengan memberikan logika 1 pada bit ADEN dalam register
ADCSRA.
Gambar 21. Register ADC
6. Keselamatan Kerja
Petunjuk keselamatan kerja:
a. Setiap mahasiswa harus menggunakan pakaian dan perlengkapan praktikum
dan mematuhi peraturan yang berlaku pada laboratorium di Program Studi
Teknik Listrik Politeknik Negeri Ujung Pandang
b. Memperhatikan penggunaan power supply, dimana suplai listrik harus dalam
keadaan OFF pada saat melakukan perakitan modul rangkaian.
14
7. Data Percobaan
Modul I/O yang digunakan pada praktikum ini mempunyai 3 masukan sensor
yang terhubung pada masukan analog ATMega16. Masukan Sensor tersebut
adalah sebagai berikut :
1. Potensiometer
2. LDR (Light Dependent Resistor)
3. LM35 (Analog Temperature Sensor)
Percobaan ke :
1) ADC 8-bit dengan Potensiometer.
Pada percobaan ini, kita akan membuat program membaca masukan analog
dari potensiometer dan mengeluarkan data hasil konversi analog ke digital
port serial ke terminal. Programnya adalah sebagai berikut:
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#include <stdio.h>
#define cbi(sfr, bit) (_SFR_BYTE(sfr) &=~_BV(bit))
#define sbi(sfr, bit) (_SFR_BYTE(sfr) |=_BV(bit))
#define BAUDRATE 9600
//Calculate UBRR Value
#define UBRRVAL ((F_CPU/(BAUDRATE*16UL))-1)
#define cbi(sfr,bit) (_SFR_BYTE(sfr) &=~_BV(bit))
#define sbi(sfr,bit) (_SFR_BYTE(sfr) |=_BV(bit))
void delay_ms (unsigned int ms)
{
unsigned int t;
for (t=0; t<=ms; t++)
_delay_ms(1);
}
void USART_init()
{
//set baudrate
UBRRL = UBRRVAL; //low byte
UBRRH = (UBRRVAL >> 8); //high byte
//set data frame format:asynchronous mode, no parity,
// 1 stop, 8 bit data
UCSRC |=(1 << URSEL) | (1 << UCSZ0) | (1<<UCSZ1);
//Enable transmitter dan receiver
15
UCSRB |=(1<<RXEN)|(1<<TXEN);
}
void adc_init()
{
ADCSRA |= (1 << ADPS2) | (1 << ADPS0);
ADMUX |= (1 << REFS0);
ADCSRA |= (1 << ADEN);
}
unsigned int adc_read(unsigned char adc_input)
{
ADMUX = (ADMUX & 0xF0) | adc_input;
_delay_us(10);
ADCSRA |= (1 << ADSC);
while (!(ADCSRA & ( 1 << ADIF)));
ADCSRA |= 1 << ADIF;
return ADCW;
}
void USART_putchar(unsigned char temp)
{
//wait for empty transmit buffer
while (!(UCSRA & (1<<UDRE))) {};
UDR = temp;
}
void USART_puts(char ustr[])
{
for (short i=0; ustr[i] !=0x00;i++)
USART_putchar(ustr[i]);
}
int main()
{
int adc;
char mystr[15];
adc_init();
USART_init();
sbi(DDRB,DDB0);
cbi(DDRA,DDA0);
sbi(PORTA,PA0);
for(;;)
{
adc = adc_read(0);
sprintf(mystr,"Nilai ADC : %d\n\r", adc);
USART_puts(mystr);
delay_ms(200);
}
}
16
8. Soal dan Pertanyaan
Membuat laporan resmi berdasarkan hasil kegiatan
a. Memodifikasi percobaan dengan merubah pembacaan ADC pada sensor
secara bergantian sesuai dengan urutan berikut dengan mengubah nilai
masukan x ADC pada fungsi read_adc(x);
1) Potensiometer -> ADC6
Konversi rumus dengan resolusi ADC-8 bit menjadi 0-5 volt dc
2) LDR -> ADC1
Perhatikan nilai output ADC ketika permukaan LDR ditutup dan dibuka
berdasarkan rangkaian.
3) LM35 -> ADC0
Perhatikan nilai output ADC ketika permukaan LM35 lebih panas atau
lebih dingin.
9. Daftar Pustaka:
Winoto, Ardi, Mikrokontroler AVR ATmega8/32/16/8535 dan Pemrogramannya dengan
Bahasa C pada WinAVR, Penerbit Informatika, Bandung, 2010
Pavel Haiduc, HP InfoTech S.R.L, CodeVisionAVR Version 2.03.2 User Manual, HP
InfoTech S.R.L , Romania, 2008
System, Next, Bermain Mikrokontroler AVR dan Robotika, NEXT SYSTEM Robotics
Learning Center,Bandung,2011
17
DAFTAR LAMPIRAN
Lampiran 1
FORM PENILAIAN
Tabel 1. Form Penilaian
NAMA MAHASISWA / STB
ANGKA HURUF
JENIS PENILAIAN :
PRAKTIKUM : Keaktifan (10 %)
Absensi (5 %)
Kerapihan (5 %)
Kesuksesan (40 %)
EVALUASI (UJI TULIS) + Demo Kerja Alat (15 %)
LAPORAN (20 % ) + ASISTENSI (5 %)
TOTAL PENILAIAN