Anda di halaman 1dari 12

BAB 2

LANDASAN TEORI

2.1

Mikrokontroler Atmega8535

Mikrokontroler adalah IC yang dapat diprogram berulang kali, baik ditulis atau
dihapus (Agus Bejo, 2007). Biasanya digunakan untuk pengontrolan otomatis dan
manual pada perangkat elektronika.

Beberapa tahun terakhir, mikrokontroler sangat banyak digunakan terutama


dalam pengontrolan robot. Seiring perkembangan elektronika, mikrokontroler dibuat
semakin kompak dengan bahasa pemrograman yang juga ikut berubah. Salah satunya
adalah mikrokontroler AVR (Alf and Vegards Risc processor) ATmega8535 yang
menggunakan teknologi RISC (Reduce Instruction Set Computing) dimana program
berjalan lebih cepat karena hanya membutuhkan satu siklus clock untuk mengeksekusi
satu instruksi program. Secara umum, AVR dapat dikelompokkan menjadi 4 kelas,
yaitu kelas 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.

Mikrokontroler AVR ATmega8535 memiliki fitur yang cukup lengkap.


Mikrokontroler AVR ATmega8535 telah dilengkapi dengan ADC internal, EEPROM
internal, Timer/Counter, PWM, analog comparator, dll (M.Ary Heryanto, 2008).
Sehingga

dengan

fasilitas

yang

lengkap

ini

memungkinkan

kita

belajar

mikrokontroler keluarga AVR dengan lebih mudah dan efisien, serta dapat
mengembangkan kreativitas penggunaan mikrokontroler ATmega8535.

Universitas Sumatera Utara

Fitur-fitur yang dimiliki oleh mikrokontroler ATmega8535 adalah sebagai


berikut:
1.

Saluran I/O sebanyak 32 buah, yaitu port A, port B, port C, dan port D.

2.

ADC internal sebanyak 8 saluran.

3.

Tiga buah Timer/Counter dengan kemampuan pembandingan.

4.

CPU yang terdiri atas 32 buah register.

5.

SRAM sebesar 512 byte.

6.

Memori Flash sebesar 8 kb dengan kemampuan Read While Write.

7.

Port antarmuka SPI

8.

EEPROM sebesar 512 byte yang dapat diprogram saat operasi.

9.

Antarmuka komparator analog.

10. Port USART untuk komunikasi serial.


11. Sistem mikroprosesor 8 bit berbasis RISC dengan kecepatan maksimal 16 MHz.
12. Dan lain-lainnya.

2.1.1 Konstruksi ATmega8535

Mikrokontroler ATmega8535 memiliki 3 jenis memori, yaitu memori program,


memori data dan memori EEPROM. Ketiganya memiliki ruang sendiri dan terpisah.
a. Memori program
ATmega8535 memiliki kapasitas memori progam sebesar 8 Kbyte yang
terpetakan dari alamat 0000h 0FFFh dimana masing-masing alamat
memiliki lebar data 16 bit. Memori program ini terbagi menjadi 2 bagian yaitu
bagian program boot dan bagian program aplikasi.
b. Memori data
ATmega8535 memiliki kapasitas memori data sebesar 608 byte yang terbagi
menjadi 3 bagian yaitu register serba guna, register I/O dan SRAM.
ATmega8535 memiliki 32 byte register serba guna, 64 byte register I/O yang
dapat diakses sebagai bagian dari memori RAM (menggunakan instuksi LD
atau ST) atau dapat juga diakses sebagai I/O (menggunakan instruksi IN atau
OUT), dan 512 byte digunakan untuk memori data SRAM.
c. Memori EEPROM

Universitas Sumatera Utara

ATmega8535 memiliki memori EEPROM sebesar 512 byte yang terpisah dari
memori program maupun memori data. Memori EEPROM ini hanya dapat
diakses dengan menggunakan register-register I/O yaitu register EEPROM
Address, register EEPROM Data, dan register EEPROM Control. Untuk
mengakses memori EEPROM ini diperlakukan seperti mengakses data
eksternal, sehingga waktu eksekusinya relatif lebih lama bila dibandingkan
dengan mengakses data dari SRAM.

ATmega8535 merupakan tipe AVR yang telah dilengkapi dengan 8 saluran


ADC internal dengan fidelitas 10 bit. Dalam mode operasinya, ADC ATmega8535
dapat dikonfigurasi, baik secara single ended input maupun differential input. Selain
itu, ADC ATmega8535 memiliki konfigurasi pewaktuan, tegangan referensi, mode
operasi, dan kemampuan filter derau yang amat fleksibel, sehingga dengan mudah
disesuaikan dengan kebutuhan ADC itu sendiri.

ATmega8535 memiliki 3 modul timer yang terdiri dari 2 buah timer/counter 8


bit dan 1 buah timer/counter 16 bit. Ketiga modul timer/counter ini dapat diatur dalam
mode yang berbeda secara individu dan tidak saling mempengaruhi satu sama lain.
Selain itu, semua timer/counter juga dapat difungsikan sebagai sumber interupsi.
Masing-masing timer/counter ini memiliki register tertentu yang digunakan untuk
mengatur mode dan cara kerjanya.

Serial Peripheral Interface (SPI) merupakan salah satu mode komunikasi


serial syncrhronous kecepatan tinggi yang dimiliki oleh ATmega8535. Universal
Syncrhronous and Asyncrhronous Serial Receiver and Transmitter (USART) juga
merupakan salah satu mode komunikasi serial yang dimiliki oleh ATmega8535.
USART merupakan komunikasi yang memiliki fleksibilitas tinggi, yang dapat
digunakan untuk melakukan transfer data baik antar mikrokontroler maupun dengan
modul-modul eksternal termasuk PC yang memiliki fitur UART.

USART memungkinkan transmisi data baik secara syncrhronous maupun


asyncrhronous, sehingga dengan memiliki USART pasti kompatibel dengan UART.
Pada ATmega8535, secara umum pengaturan mode syncrhronous maupun
asyncrhronous adalah sama. Perbedaannya hanyalah terletak pada sumber clock saja.

Universitas Sumatera Utara

Jika pada mode asyncrhronous masing-masing peripheral memiliki sumber clock


sendiri, maka pada mode syncrhronous hanya ada satu sumber clock yang digunakan
secara bersama-sama. Dengan demikian, secara hardware untuk mode asyncrhronous
hanya membutuhkan 2 pin yaitu TXD dan RXD, sedangkan untuk mode
syncrhronous harus 3 pin yaitu TXD, RXD dan XCK.

2.1.2 Pin-pin pada Mikrokontroler ATmega8535

Gambar 2.1 Konfigurasi pin ATmega8535 (Data Sheet AVR)

Konfigurasi pin ATmega8535 dengan kemasan 40 pin DIP (Dual Inline


Package) dapat dilihat pada gambar 2.1. Dari gambar di atas dapat dijelaskan fungsi
dari masing-masing pin Atmega8535 sebagai berikut:
1.

VCC merupakan pin yang berfungsi sebagai masukan catu daya.

2.

GND merukan pin Ground.

3.

Port A (PortA0PortA7) merupakan pin input/output dua arah dan pin masukan
ADC.

4.

Port B (PortB0PortB7) merupakan pin input/output dua arah dan dan pin
fungsi khusus, seperti dapat dilihat pada tabel di bawah ini.

Universitas Sumatera Utara

Tabel 2.1 Fungsi Khusus Port B


Pin

Fungsi Khusus

PB7

SCK (SPI Bus Serial Clock)

PB6

MISO (SPI Bus Master Input/ Slave Output)

PB5

MOSI (SPI Bus Master Output/ Slave Input)

PB4

SS (SPI Slave Select Input)


AIN1 (Analog Comparator Negative Input)
OC0 (Timer/Counter0 Output Compare Match Output)
AIN0 (Analog Comparator Positive Input)
INT2 (External Interrupt 2 Input)

PB3
PB2
PB1
PB0

T1 (Timer/ Counter1 External Counter Input)


T0 T1 (Timer/Counter External Counter Input)
XCK (USART External Clock Input/Output)

4. Port C (PortC0PortC7) merupakan pin input/output dua arah dan pin fungsi
khusus, seperti dapat dilihat pada tabel dibawah ini.

Tabel 2.2 Fungsi Khusus Port C


Pin
PC7

Fungsi khusus
TOSC2 ( Timer Oscillator Pin2)

PC6

TOSC1 ( Timer Oscillator Pin1)

PC5

Input/Output

PC4

Input/Output

PC3

Input/Output

PC2

Input/Output

PC1

SDA ( Two-wire Serial Buas Data Input/Output Line)

PC0

SCL ( Two-wire Serial Buas Clock Line)

5. Port D (PortD0PortD7) merupakan pin input/output dua arah dan pin fungsi
khusus, seperti yang terlihat pada tabel dibawah ini.

Tabel 2.3 Fungsi Khusus Port D


Pin
PD7

Fungsi khusus
OC2 (Timer/Counter Output Compare Match Output)

Universitas Sumatera Utara

PD6

ICP (Timer/Counter1 Input Capture Pin)

PD5

OC1A (Timer/Counter1 Output Compare A Match Output)

PD4

OC1B (Timer/Counter1 Output Compare B Match Output)

PD3

INT1 (External Interrupt 1 Input)

PD2

INT0 (External Interrupt 0 Input)

PD1

TXD (USART Output Pin)

PD0

RXD (USART Input Pin)

6.

RESET merupakan pin yang digunakan untuk me-reset mikrokontroler.

7.

XTAL1 dan XTAL2 merupakan pin masukan clock eksternal.

8.

AVCC merupakan pin masukan tegangan untuk ADC.

9.

AREFF merupakan pin masukan tegangan referensi ADC.

2.2

Motor DC

Motor DC (Direct Current) adalah peralatan elektromagnetik dasar yang berfungsi


untuk mengubah tenaga listrik menjadi tenaga mekanik yang desain awalnya
diperkenalkan oleh Michael faraday lebih dari seabad yang lalu (E. Pitowarno, 2006).
Motor DC dikendalikan dengan menentukan arah dan kecepatan putarnya. Arah
putaran motor DC adalah searah dengan arah putaran jarum jam (Clock Wise/CW)
atau berlawanan arah dengan arah putaran jarum jam (Counter Clock Wise/CCW),
yang bergantung dari hubungan kutub yang diberikan pada motor DC. Kecepatan
putar motor DC diatur dengan besarnya arus yang diberikan.

Gambar 2.2 Sebuah motor DC (Innovative Electronics)

Universitas Sumatera Utara

Motor DC dipakai untuk menggerakkan roda robot. Digunakan H-Brighge IC


L298 sebagai penguat motor DC yang berfungsi sebagai driver, sebab sangat tidak
mungkin mengendalikan motor DC langsung dari mikrokontroler yang memiliki arus
dan tegangan terbatas. Untuk itu digunakan H-Brihge sebagai driver motor DC
(H.Andrianto, 2008).

Metode Pulsa with modulation atau PWM dapat digunakan untuk mengatur
kecepatan motor dan untuk menghindarkan rangkaian mengkomsumsi daya berlebih.
PWM dapat mengatur kecepatan motor karena tegangan yang diberikan dalam selang
waktu tertentu saja. PWM ini dapat dibangkitkan melalui software. Lebar pulsa PWM
dinyatakan dalam Duty Cycle. Misalnya duty cycle 10 %, berarti lebar pulsa adalah
1/10 bagian dari satu perioda penuh (E. Pitowarno, 2006).

Berikut adalah rumusan frekuensi sinyal keluaran pin output compare


OC1A/OC1B dengan menggunakan timer/counter1 (A.Bejo, 2008):
a.

Mode Phase Correct PWM


fOC1A_PCP

fOSC

.(2.1)

2 * N * (1+TOP)
fOC1B_PCP

fOSC

.(2.2)

2 * N * (1+TOP)
D

OCR1A+OCR1B * 100 %

.(2.3)

TOP
Keterangan:

b.

fOC1A_PCP

= frekuensi output OC1A mode PCP

fOC1B_PCP

= frekuensi output OC1B mode PCP

fOSC

= frekuensi kristal/ osilator

= duty cycle

= skala clock (Tabel 2.1)

TOP

= nilai maksimum counter (TCNT1)

Mode CTC
fOC1A_CTC

fOSC

..(2.4)

2 * N * (1 + OCR1A)
fOC1B_CTC

fOSC

..(2.5)

2 * N * (1 + OCR1B)

Universitas Sumatera Utara

Keterangan:

c.

fOC1A_CTC

= frekuensi output OC1A mode CTC

fOC1B_CTC

= frekuensi output OC1B mode CTC

fOSC

= frekuensi Kristal/ osilator

= skala clock (Tabel 2.1)

OCR1A

= isi register OCR1A

OCR1B

= isi register OCR1B

Mode Fast PWM


fOC1A_FastPWM =

fOSC

..(2.6)

N * (1 + TOP)
fOC1B_FastPWM

fOSC

..(2.7)

N * (1 + TOP)
Keterangan:
fOC1A_FastPWM = frekuensi output OC1A mode fast PWM
fOC1B_FastPWM = frekuenai output OC1B mode fast PWM
fOSC

= frekuensi Kristal/ osilator

= skala clock (Tabel 2.1)

TOP

= nilai maksimum counter (TCNT1)

Tabel 2.4 Skala Clock Timer/Counter


CS12

CS11

CS10

Deskripsi

Tidak ada clock, timer/counter berhenti.


Skala clock = 1,
(clock timer = clock osilator)
Skala clock = 8,
(clock timer = 1/8 clock osilator)
Skala clock = 64,
(clock timer = 1/64 clock osilator)
Skala clock = 256,
(clock timer = 1/256 clock osilator)
Skala clock = 1024,
(clock timer = 1/1024 clock osilator)
Sumber clock eksternal pada pin T0,
clock pada transisi turun.
Sumber clock eksternal pada pin T0,
clock pada transisi naik.

Sumber : Data sheet ATmega8535

Universitas Sumatera Utara

IC L298 sudah mencukupi digunakan sebagai rangkain driver. Cukup


dihubungkan ke mikrokontroler dan diberi tegangan sebesar 7 volt dengan arus
minimal 2 ampere rangkaian driver berbasis L298 sudah dapat digunakan. Selain itu,
supply IC L298 dapat diberi tegangan sampai 50 Volt (Data Sheet L298).

Gambar 2.3 Konfigurasi pin IC L298 (Data sheet L298)

Untuk menjalankan motor, pin enable A dan enable B pada IC L298 harus
diberi logika 1. Current sensing A dan current sensing B dihubungkan ke ground.
Input 1 dan input 2 masing-masing berlogika 1 dan 0, output 1 dan output 2
dihubungkan ke motor.

2.3

Led Super Bright Merah dan Photo Dioda

Led super bright merah dan photo dioda dapat digunakan sebagai sensor halangan.
Photo dioda bekerja jika mendapat cahaya. Prinsip kerjanya yaitu led super bright
memancarkan cahaya ke photo dioda sehingga photo dioda menjadi aktif. Jika
mendeteksi adanya halangan, maka photo dioda akan berlogika low dan jika tidak ada
halangan maka photo dioda akan berlogika high. Logika high dan low inilah yang
harus dibaca mikrokontroler untuk mengambil keputusan. Disamping itu, digunakan
rangkaian op-amp IC LM 324 sebagai penguat keluaran photo dioda.

2.4

Rangkaian Sensor dan Komparator

Komparator berfungsi untuk membandingkan input yang diterima dari sensor dengan
tegangan referensi. Jika input dari sensor lebih besar dari input tegangan referensi,

Universitas Sumatera Utara

maka output akan berlogika high. Sebaliknya, jika tegangan referensi lebih besar dari
input sensor, maka output akan berlogika low. Komparator konvensional umumnya
dapat menggunakan IC LM 324 atau LM 339 yang merupakan sebuah penguat
operasional (op-amp) (W. Budiharto, 2004). Perbedaan input positif dan input negatif
menyebabkan keluaran pada pin output. Perbedaan ini diatur menggunakan
potensiometer dimana pada penerapan pada robot dipasang sensor Led super bright
dan Photo dioda.

Gambar 2.4 IC LM 324 (Data sheet LM324)

Sensor analog dalam aplikasi selalu berhadapan dengan berbagai macam


gangguan. Selain itu sensor memiliki impedansi dan jangkauan tegangan output yang
tidak selalu kompatibel dengan perangkat data yang digunakan. Sensor garis yang
output-nya analog perlu dikuatkan

agar jangkauannya maksimal. Untuk itu

diperlukan perlakuan penyelarasan sinyal antara sensor dengan mikrokontroler (H.


Andrianto, 2008).

Gambar 2.5 Rangkaian sensor garis menggunakan IC LM 324

2.5

Bahasa Pemrograman ATmega8535

Pemrograman mikrokontroler ATmega8535 dapat menggunakan low level language


(assembly) dan high level language (C, Basic, Pascal, JAVA,dll) tergantung compiler

Universitas Sumatera Utara

yang digunakan (Widodo Budiharto, 2006). Bahasa Assembler mikrokontroler AVR


memiliki kesamaan instruksi, sehingga jika pemrograman satu jenis mikrokontroler
AVR sudah dikuasai, maka akan dengan mudah menguasai pemrograman keseluruhan
mikrokontroler jenis mikrokontroler AVR. Namun bahasa assembler relatif lebih
sulit dipelajari dari pada bahasa C.

Untuk pembuatan suatu proyek yang besar akan memakan waktu yang lama
serta penulisan programnya akan panjang. Sedangkan bahasa C memiliki keunggulan
dibanding bahasa assembler yaitu independent terhadap hardware serta lebih mudah
untuk menangani project yang besar.

Bahasa

memiliki

keuntungan-

keuntungan yang dimiliki bahasa assembler (bahasa mesin), hampir semua operasi
yang dapat dilakukan oleh bahasa mesin, dapat dilakukan dengan bahasa C dengan
penyusunan program yang lebih sederhana dan mudah. Bahasa C terletak diantara
bahasa pemrograman tingkat tinggi dan assembly (Agus Bejo,2007).

2.6

Software ATmega8535 Editor dan Simulator

2.6.1

Software ATmega8535 Editor

Instruksiinstruksi yang merupakan bahasa C tersebut dituliskan pada sebuah editor, yaitu
CodeVisionAVR.Tampilannyasepertiberikutini:

Gambar 2.6 Tampilan Code Vision AVR

Universitas Sumatera Utara

2.6.2

Software Downloader

Melakukan download program ke mikrokontroler dapat menggunakan ponyprog2000.


Tampilannya seperti di bawah ini:

Gambar 2.7 Tampilan Ponyprog2000

Universitas Sumatera Utara

Anda mungkin juga menyukai