Skip to main content

APLIKASI MIKROKONTROLER ATMEL ATmega8515 SEBAGAI PEMBANGKIT DAN PENGHITUNG FREKUENSI

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
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.
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
membangkitkan frekuensi hingga 8 MHz, kemampuan
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



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
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]
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).

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.



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

Popular posts from this blog

Aplikasi Penghitung Rumus Kubus.

Pemrograman Visual.... Kali ini saya mau bagi bagi info tentang aplikasi penhitung rumus kubus... siapa tau akan berguna buat kawan - kawan semua. aplkasi yang saya buat ini menggunakan sofware microsoft visual video 2010.. dengan listing program seperti ini...  Namun sebelumnya kawan - kawan harus membuat boton - boton dan text box... yang kemudian baru di singkronisaskan dengan listing prog di atas. nah.... contoh boton nya ada di sini.... setelah di run akan keluar aplikasi... dan siap di gunakan....... selamat mencoba. Untuk file yang sudah jadi.. bisa anda download di  http://www.ziddu.com/download/20597226/VisualBasic.zip.htm

Analisis Latihan 2

ANALISIS TUGAS 2 Latihan 1 1.        Yang menyebabkan   eror pada btalamat1_Clik baris program alamat = “Kuningan” adalah   alamat sudah di deklarisan sebagai konstanta sembari awal, sehingga variabel tersebut tidak akan berubah. Solusinya kita beri tanda (‘) pada alamat = “Kuningan” atau (‘alamat = “Kuningan”)   atau di nyatakan tidak ada. 2.        Yang menyebabkan apabila di tekan nama1 dan nama2 menampilkan view yg berbeda sedangkan alamat1 dan alamat2 menampilkan view yang sama. Adalah, nama1 menggunakan Dim sehingga mencari deklarasi terdekat. Sedangkan nama2 karena hanya menggunakan txtnama.text = nama sehingga mencari deklarasi pada module Sedangkan alamat1 dan alamat2 mencari deklarasi yang sama (const alamat = “kuningan”) sehingga menjadikan view yang sama 3.        Yang menyebabkan saatdi tekan tombol umur1 selalu keluar angka 1. Dan saat di tekan umur2 . umur selalu bertambah adalah, pada tambah umur 1, variabel umur dideklarasikan bukan sebbagai variabel