I. PENDAHULUAN
1.1 Latar
Belakang
Perkembangan
teknologi elektronika dewasa
ini sangatlah pesat dipicu dengan ditemukannya
transistor menyebabkan terjadinya revolusi teknologi
dibidang elektronika. Hal ini dibuktikan dengan
banyaknya diciptakan alat baru yang memudahkan
manusia menyelesaikan pekerjaannya, salah satunya
adalah dengan diciptakannya mikrokontroler sebagai
alat bantu pengendali otomatis. Dengan
ini sangatlah pesat dipicu dengan ditemukannya
transistor menyebabkan terjadinya revolusi teknologi
dibidang elektronika. Hal ini dibuktikan dengan
banyaknya diciptakan alat baru yang memudahkan
manusia menyelesaikan pekerjaannya, salah satunya
adalah dengan diciptakannya mikrokontroler sebagai
alat bantu pengendali otomatis. Dengan
mikrokontroler maka penggunaan peralatan yang dulu
hanya bisa dikendalikan secara manual sekarang bisa
dikendalikan hanya dengan menggunakan IC yang
berukuran kecil ini. Atmel merupakan salah satu
perusahaan pembuat chip mikrokontroler yang
terkenal. Salah satu produk mikrokontroler dari atmel
adalah mikrokontroler AVR ATmega8515.
hanya bisa dikendalikan secara manual sekarang bisa
dikendalikan hanya dengan menggunakan IC yang
berukuran kecil ini. Atmel merupakan salah satu
perusahaan pembuat chip mikrokontroler yang
terkenal. Salah satu produk mikrokontroler dari atmel
adalah mikrokontroler AVR ATmega8515.
Mikrokontroler AVR ini mulai diperkenalkan
Atmel mulai tahun 1996.
Dalam
Tugas Akhir ini penulis menggunakan
mikrokontroler ATmega8515 produk dari Atmel
sebagai pembangkit dan penghitung frekuensi.
Penggunaan mikrokontroler ini dirasa cukup penting
selain karena kemudahan dalam pemrograman yang
diberikan, juga memiliki fitur-fitur yang berguna,
salah satunya adalah pewaktu/pencacah. Dengan
mengenal dasar fitur pewaktu/pencacah, diharapkan
pengembangan dalam pemanfaatan mikrokontroler ini
dapat optimal. Penggunaan mikrokontroler Atmel
ATmega8515 didukung oleh kecepatan kerja
ATmega8515 sebesar 16 MHz sehingga mampu
mikrokontroler ATmega8515 produk dari Atmel
sebagai pembangkit dan penghitung frekuensi.
Penggunaan mikrokontroler ini dirasa cukup penting
selain karena kemudahan dalam pemrograman yang
diberikan, juga memiliki fitur-fitur yang berguna,
salah satunya adalah pewaktu/pencacah. Dengan
mengenal dasar fitur pewaktu/pencacah, diharapkan
pengembangan dalam pemanfaatan mikrokontroler ini
dapat optimal. Penggunaan mikrokontroler Atmel
ATmega8515 didukung oleh kecepatan kerja
ATmega8515 sebesar 16 MHz sehingga mampu
membangkitkan
frekuensi hingga 8 MHz, kemampuan
pencacah 16-bit, serta kemudahan pemrograman pada
mikrokontroler ini karena menggunakan bahasa C
pencacah 16-bit, serta kemudahan pemrograman pada
mikrokontroler ini karena menggunakan bahasa C
1 Mahasiswa Jurusan
Teknik Elektro Universitas Diponegoro
2 Staf Pengajar Jurusan Teknik Elektro Universitas Diponegoro
2 Staf Pengajar Jurusan Teknik Elektro Universitas Diponegoro
sebagai bahasa pemrogramannya.
1.2 Tujuan
Tujuan yang hendak dicapai pada Tugas Akhir ini, yaitu :
1. Mempelajari
tentang mikrokontroler AVR
ATmega8515.
2. Membuat
perangkat keras dan
lunak untuk
pembangkit dan penghitung frekuensi
menggunakan mikrokontroler ATMEL
ATmega8515.
1.3 Pembatasan Masalah
Dalam Tugas Akhir ini, sistem yang akan dibuat dibatasi pada hal-hal sebagai berikut :
1. Perangkat
keras yang digunakan
berbasis
mikrokontroler
ATMEL ATmega8515.
2. Semua perhitungan dan analisa adalah
2. Semua perhitungan dan analisa adalah
didasarkan
pada keadaan ideal
dari nilai-nilai
komponen dan
perangkat-perangkat lain yang
mendukungnya.
3. Frekuensi keluaran berupa gelombang kotak.
4. Frekuensi maksimal adalah 100 KHz.
II. KAJIAN PUSTAKA
2.1 Tinjauan umum perangkat keras
2.1.1 Mikrokontroler ATmega8515[4]
2.1.1 Mikrokontroler ATmega8515[4]
Mikrokontroler ATmega8515 adalah
mikrokontroler
8-bit buatan ATMEL dengan 8 KByte System Programable Flash dengan teknologi memori tak sumirna (nonvolatile), kepadatan tinggi,
dan
kompatibel
dengan pin out dan set instruksi standar
industri MCS51 INTEL. Arsitektur yang digunakan
dengan RISC (Reduce Instruction set in singgle chip).
industri MCS51 INTEL. Arsitektur yang digunakan
dengan RISC (Reduce Instruction set in singgle chip).
2.1.1.1 Susunan kaki mikrokontroler ATmega8515
Bentuk
kemasan dan susunan
kaki-kaki
mikrokontroler dari ATmega8515 diperlihatkan
seperti pada Gambar 2.1[4]. Pada penggunaan sumber
clock eksternal, pin yang digunakan ialah pin T1. Pin
T1 berada pada Port B1, sedangkan untuk pembangkit
digunakan pin OC1A. Pin tersebut pada Port D5.
mikrokontroler dari ATmega8515 diperlihatkan
seperti pada Gambar 2.1[4]. Pada penggunaan sumber
clock eksternal, pin yang digunakan ialah pin T1. Pin
T1 berada pada Port B1, sedangkan untuk pembangkit
digunakan pin OC1A. Pin tersebut pada Port D5.
2.1.1.2 PORT A/B/C/D/E, DDR A/B/C/D/E, dan
PIN A/B/C/D/E
PORTA/B/C/D/E dan DDRA/B/C/D/E
merupakan register-register yang digunakan untuk
mengatur PORTA/B/C/D/E[16], sedangkan PIN
PORTA/B/C/D/E digunakan untuk mengakses pin
pada port A,B,C,D,E secara individu. Hubungan
antara PORT PORTA/B/C/D/E dan DDR
PORTA/B/C/D/E diperlihatkan pada Tabel 2.1.
TABEL 2.1 KOMBINASI BIT DDRN DAN PORTN .
DDRBn/Dn PORTBn/Dn I/O Keterangan
0 0 Input Tri-state (High-Z)
0 1 Input PORTA/B/C/D/En
akan menghasilkan
arus jika eksternal
pull-low
1 0 Output Push-pull zero output
1 1 Output Push-pull one output
2.1.1.3 Pewaktu/pencacah
Pencacah pada ATmega8515 diatur oleh register
TCCR1B (Timer/Counter1 Control Register B).
Register TCCR1B dijelaskan pada Gambar 2.2.
Gambar 2.2 Register TCCR1B.
Bit yang digunakan untuk penghitung
frekuensi dari sumber eksternal adalah bit 2:0
CS12, CS11, CS10: Clock Select1, Bits 2, 1 dan
0. Kombinasi dari bit-bit ini menentukan sumber
prescale dari Timer/Counter1 sebagaimana
dijelaskan melalui Tabel 2.2.
TABEL 2.2 CLOCK 1 PRESCALE SELECT.
CS12 CS11 CS10 Deskripsi
0 0 0 Stop, Timer/Counter1 dihentikan
0 0 1 CK
0 1 0 CK/8
0 1 1 CK/64
1 0 0 CK/256
1 0 1 CK/1024
1 1 0 Kaki Eksternal T1, tepian jatuh
1 1 1 Kaki Eksternal T1, tepian naik
Register TCNT1 merupakan register yang berisi
data 16-bit hasil perhitungan pencacah. Register ini
memiliki fungsi akses langsung, baik untuk operasi
menulis atau membaca data. Register TCNT1 terbagi
atas 2 register 8-bit, yaitu TCNT1H dan TCNT1L
seperti pada gambar 2.3.
Gambar 2.3 Register TCNT1
2.2 Tinjauan umum perangkat lunak
2.2.1 Bahasa C[1]
Bahasa C merupakan bahasa tingkat menengah,
yang memiliki kemampuan diatas bahasa assembly,
serta memiliki kemudahan seperti bahasa tingkat
tinggi lainnya. Bahasa ini digunakan untuk mengatur
kerja dari Mikrokontroler ATmega8515. Program
compiler C yang digunakan pada Tugas Akhir ini
adalah CodeVisionAVR versi 1.23.7a yang dapat
diperoleh di website www.hpinfotech.ro.
2.2.2 Bahasa Rakit (Assembly)
Bahasa rakit lain yang digunakan adalah bahasa
ASSEMBLER. Program CodeVisionAVR juga
mendukung bahasa rakit untuk menginisialisasikan
port LCD.
III. PERANCANGAN PERANGKAT KERAS DAN
PERANGKAT LUNAK
3.1 Perancangan perangkat keras
Diagram blok sistem secara keseluruhan pada
perancangan alat ini dapat dilihat pada Gambar 3.1
sebagai berikut :
Gambar 3.1 Diagram blok sistem.
3.1.1 Rangkaian sistem minimum mikrokontroler
ATmega8515
Mikrokontroler ini dirancang sebagai suatu
rangkaian single chip (Gambar 3.2), sehingga dalam
perancangannya cukup dibutuhkan rangkaian
pembangkit clock (crystal dan kapasitor) dan power
supply. Mikrokontroler diberi osilator kristal eksternal
sebagai pembangkit frekuensi internal sebesar 16
MHz. Secara umum penggunaan port-port pada
rangkaian ATmega8515 adalah seperti ditunjukkan
pada Tabel 3.1.
Gambar 3.2 Bagan rangkaian sistem
TABEL 3.1 PENGGUNAAN PORT-PORT PADA ATMEGA8515.
Port ATmega8515 Fungsi
Port A PA0-PA2,
PA4 – PA7
Output ke LCD
Port B PB1 Input penghitung frekuensi
Port C PC0 – PC7 Input dari Keypad
Port D PD5 Output pembangkit frekuensi.
ATmega
8515
Keypad
Input penghitung
frekuensi
LCD
Output pembangkit
frekuensi
3.1.2 Keypad
Keypad digunakan untuk memasukkan nilai dari
frekuensi kerja yang diharapkan. Pada keypad ini
digunakan tipe matrik 4 x 4. Skema rangkaian keypad
diperlihatkan pada Gambar 3.3.
Gambar 3.3 Skema rangkaian keypad.
Setiap tombol akan memberikan logika 0 pada
baris dan kolom tertentu sesuai dengan tabel yang
tampak pada Tabel 3.2. Jika logika pada sebuah Pin
berubah menjadi 0, mikrokontroler akan memberikan
sebuah konstanta. Konstanta ini kemudian
dikombinasikan, sehingga diperoleh nilai yang
menunjukkan penekanan tombol tertentu.
TABEL 3.2 DAFTAR ARTI TIAP TOMBOL MATRIK.
Pin PC.4 PC.5 PC.6 PC.7
PC.0 1 2 3 RESET1
PC.1 4 5 6 FAKTOR
TAMBAH
PC.2 7 8 9 PENAMB
AHAN
PC.3 RESET2 0 ENTER PENGUR
ANGAN
3.1.3 Liquid Crystal Display (LCD)
Perangkat ini digunakan unuk menampilkan hasil
perhitungan frekuensi kerja pada generator sinkron,
menampilkan frekuensi batas bawah sebagai referensi,
dan menampilkan keadaan dari sistem secara
keseluruhan. Jenis LCD yang digunakan dalam
perancangan Tugas Akhir ini adalah LCD matrix 2x16
seperti diperlihatkan pada Gambar 3.4.
Gambar 3.4 Rangkaian LCD M1632.
3.2 Perancangan perangkat lunak
3.2.1 Program utama
Bagian ini merupakan bagian utama dimana
compiler akan melakukan inisialisasi dan
pemanggilan fungsi-fungsi lain. Seperti pada Bahasa
C yang biasa digunakan, fungsi main() merupakan
fungsi istimewa. Hal ini karena fungsi ini merupakan
titik awal dan titik akhir eksekusi program. Diagram
alir (flowchart) program utama ditunjukkan pada
Gambar 3.5.
Gambar 3.5 Diagram alir program utama.
3.2.2 Fungsi generator
Bagian ini merupakan bagian utama dari menu
frekuensi generator, dimana pada fungsi ini terdapat
inisialisasi dan pemanggilan fungsi-fungsi lain yang
berhubungan dengan kerja dari frekuensi generator.
Diagram alir dari fungsi generator () diberikan pada
Gambar 3.6.
Gambar 3.6 Diagram alir fungsi generator ().
3.2.3 Fungsi Hz
Fungsi Hz() digunakan untuk mengaktifkan
fasilitas pencacah pada mikrokontroler. Pewaktuan
pada mikrokontroler dilakukan secara eksternal
menggunakan PORT B1 (T1). Port ini berfungsi
sebagai masukan, apabila sumber detak
timer/counter1 diaktifkan secara eksternal. Diagram
alir dari fungsi Hz() seperti pada Gambar 3.7.
Gambar 3.7 Diagram alir fungsi Hz().
Pencacah eksternal yang diaktifkan dalam bahasa
C adalah sebagai berikut :
220. TCCR1B=0x07;
221. delay_ms(1000);
222. TCCR1B=0x00;
Pencacah diaktifkan dengan register
TCCR1B=0x07 pada baris ke-220. Bit 0, 1, dan 2
pada TCCR1B merupakan bit untuk mengatur Clock
Select. Dengan masing-masing bernilai 1, maka clock
diaktifkan dari pin T1 pada tepian naik (rising edge).
Mikrokontroler diberikan waktu 1 detik untuk
melakukan pencacahan dengan mengatur
delay_ms(1000) pada baris ke-221. Setelah delay 1
detik, maka proses pencacahan dihentikan dengan
perintah TCCR1B=0x00 pada baris 222. Hasil
perhitungan timer/counter1 terdiri dari 16 bit data,
yang tersimpan pada TCNT1.
3.2.4 Fungsi counter
Bagian ini merupakan bagian utama dari menu
frekuensi counter, dimana pada fungsi ini terdapat
inisialisasi dan pemanggilan fungsi-fungsi lain yang
berhubungan dengan kerja dari frekuensi counter.
Diagram alir dari fungsi counter() seperti pada
Gambar 3.8.
Gambar 3.8 Diagram alir fungsi counter().
IV. HASIL PENELITIAN
4.1 Pengujian alat dengan frekuensi counter
Pada pengujian sistem dengan frekuensi
counter, dilakukan dengan memberi masukan pada
mikrokontroler ATmega8515 dan keluarannya berupa
frekuensi pada pin 5 PORT D (PD5) dimasukkan pada
frekuensi counter. Skema rangkaian pengujian seperti
pada Gambar 4.1. Hasil pengujian yang lain dari
sistem minimum mikrokontroler ATmega8515
dengan menggunakan frekuensi counter dapat dilihat
pada Tabel 4.1.
Gambar 4.1 Skema rangkaian pengujian alat dengan frek.counter.
TABEL 4.1 HASIL PENGUJIAN DENGAN FREKUENSI COUNTER.
Frek.Input(Hz)
Frek.pada
LCD
Frek. pada
Frek.Counter
500 500 500
600 600 600
700 700 700
800 800 800
900 900 900
1000 1000 1000
2000 2000 2000
3000 3000 3000
4000 4000 3999
5000 5000 4999
Dari data yang didapat dari pengujian sistem
minimum mikrokontroler ATmega8515 dengan
menggunakan frekuensi counter dapat terlihat bahwa
frekuensi yang dihasilkan oleh pembangkit frekuensi
mendekati frekuensi yang ditampilkan oleh frekuensi
counter. Hal tersebut disebabkan sistem ini
menggunakan clock sebesar 16 MHz, sehingga 1
siklusnya mendekati sama dengan 125 ns, karena
faktor 1 siklusnya bisa lebih atau kurang dari atau
sama dengan 125 ns maka frekuensi yang dihasilkan
dan ditampilkan pada LCD terjadi selisih. Bila 1
siklus kurang dari 125 ns diperoleh frekuensi lebih
dari 100 KHz, sebaliknya bila 1 siklus lebih dari 125
ns diperoleh frekuensi kurang dari 100 KHz. Selain
itu perbedaan ini disebabkan karena didalam proses
pengeksekusi program didalam sistem terdapat
berbagai macam instruksi-instruksi sehingga prosesproses
tersebut juga memakan waktu, karena terdapat
looping-looping didalamnya. Gambar 4.2 merupakan
hasil pengujian sistem minimum mikrokontroler
ATmega8515 dengan menggunakan frekuensi counter
pada audio generator.
Gambar 4.2 Pengujian alat dengan frek.counter pada audio
generator.
Pada pengujian ini hasil gelombang
keluarannya dapat dilihat dengan menggunakan
osciloscope. Dengan mengetahui V/div dan T/div dari
osciloscope, maka kita dapat mengetahui nilai
frekuensi yang dihasilkan. Gambar 4.3 merupakan
hasil pengujian alat dengan menggunakan
osciloscope.
Gambar 4.3 Hasil pengujian alat dengan menggunakan
osciloscope
Dari hasil pengamatan di atas terlihat bahwa
terdapat perbedaan antara frekuensi masukan, yaitu
frekuensi yang dimasukkan pada sistem minimum
mikrokontroler ATmega8515 dengan menggunakan
keypad, dengan frekuensi keluaran, yaitu frekuensi
yang terlihat pada layar osciloscope. Perbedaan ini
disebabkan karena didalam proses pengeksekusi
program didalam sistem mikrokontroler ATmega8515
terdapat berbagai macam instruksi-instruksi sehingga
menyebabkan proses frekuensi yang dihasilkan sedikit
berbeda dari frekuensi yang dimasukkan. Prosesproses
tersebut juga memakan waktu, karena terdapat
looping-looping didalamnya. Perbedaan tersebut dapat
juga disebabkan karena adanya faktor toleransi dari
masing-masing komponen sehingga menyebabkan
adanya sedikit penyimpangan dari kondisi idealnya.
4.2 Pengujian alat dengan frekuensi generator
digital
Pada pengujian mikrokontroler ATmega8515
dengan frekuensi generator, dilakukan dengan
memberi masukan frekuensi tertentu pada pin 1 PORT
B (T1). Skema rangkaian pengujian seperti pada
Gambar 4.4.
Gambar 4.4 Skema rangkaian pengujian alat dengan
frek.generator.
Hasil pengujian frekuensi mikrokontroler
ATmega8515 dengan menggunakan frekuensi
generator digital seperti pada Tabel 4.2.
TABEL 4.2 HASIL PENGUJIAN DENGAN MENGGUNAKAN FREKUENSI
GENERATOR DIGITAL..
Frekuensi Generator
Digital (Hz)
Frekuensi pada LCD
Mikrokontroler
ATmega8515 (Hz)
0 0
10 10
20 20
30 30
40 40
44 44
45 45
46 46
50 50
60 60
100 100
500 500
900 900
1000 1000
2000 2000
Data yang didapat dari pengujian pada
frekuensi generator menunjukkan bahwa frekuensi
yang dihitung oleh penghitung frekuensi mendekati
nilai frekuensi yang dihasilkan oleh frekuensi
generator. Hal tersebut disebabkan karena terjadi
beda waktu pada saat pencuplikan terhadap frekuensi
yang ada. Perbedaan ini juga disebabkan karena
didalam proses pengeksekusi program didalam sistem
mikrokontroler ATmega8515 terdapat berbagai
macam instruksi-instruksi sehingga menyebabkan
proses frekuensi yang dihasilkan sedikit berbeda dari
frekuensi yang dimasukkan.
V. PENUTUP
5.1 Kesimpulan
1. Kemampuan mikrokontroler ATmega8515 untuk
16-bit Timer/Counter dapat difungsikan sebagai
penghitung frekuensi dengan mengaktifkan
masukan pewaktu eksternal (External clock
source) pada T1 / Port B pin 1.
2. Kemampuan mikrokontroler ATmega8515 untuk
16-bit Timer/Counter dapat difungsikan sebagai
pembangkit frekuensi dengan mengaktifkan
pembanding (compare) pada Port D pin 5.
3. Pada pengujian pembangkit maupun penghitung
frekuensi diperoleh frekuensi yang mendekati
frekuensi masukan.
4. Dengan menggunakan mikrokontroler
ATmega8515, frekuensi dari pembangkit
frekuensi dapat diubah sesuai dengan keadaan
yang diinginkan.
5.2 Saran
Dari hasil perancangan dan pembuatan alat
penghitung frekuensi menggunakan mikrokontroler
ATmega8515 yang diaplikasikan pada generator
sinkron serta pengujian yang telah dilakukan dapat
diberikan saran-saran sebagai berikut :
1. Mikroprosesor ATmega8515 dapat digunakan
sebagai penghitung frekuensi yang mampu
menghitung frekuensi hingga setengah dari nilai
clock pada kristal yang digunakan, serta dapat
dikembangkan dengan menggunakan metode
algoritma yang berbeda.
2. Pembangkit dan penghitung frekuensi
merupakan salah satu fitur dasar dari
mikrokontroler Atmega8515 yang dapat
dikembangkan ke dalam berbagai aplikasi yang
lain misalnya : sistem pengaman pada generator
sinkron.
DAFTAR PUSTAKA
[1] Kadir, Abdul, Pemrograman Dasar Turbo C untuk
IBM PC, ANDI Offset, Yogyakarta, 1997.
[2] Khadiq, Achmad, Aplikasi Mikrokontroler ATMEL
AT90S8515 Sebagai Pengatur pada Mesin Tetas,
Tugas Akhir, Teknik Elektro Undip, 2005.
[3] Mahadmadi, Fajar, Embedded C Pada Mikrokontroler
AVR AT90S8515, Tugas Akhir, Teknik Elektro
Undip, 2003.
[4] ---, 8-bit AVR Microcontroller instruction set ,
http://www.atmel.com, 2005.
[5] ---, 8-bit Microcontroller with 8 K Bytes Flash,
ATmega8515 datasheet, http://www.atmel.com,
2005.
[6] ---, CodeVisionAVR User Manual, Version 1.0.1.7, HP
InfoTech, 2001.
[7] ---, Instruction Set, http://www.atmel.com.
Link Blog Lainnya............
khatirudinmaarif.blogspot.com
http://vengeance16.blogspot.com/
http://ilmucomputer2512.blogspot.com
http://hendraadiprasetyo.blogspot.com/
mreferensi.blogspot.com
cci-amikom.forumid.net
subur-ade.blogspot.com
erfanya.blogspot.com
adittyawardanii.blogspot.com
performance-arch.blogspot.com
dimasbobby.blogspot.com
ffikri863.blogspot.com
ilhamprimaadi.wordpress.com
erickmoestika.blogspot.com
gakbakalmati.blogspot.com
qiebae.blogspot.com
yudadayu.blogspot.com
elizwar.blogspot.com
Comments
Post a Comment