BAB II LANDASAN TEORI 2.1 Mikrokontroler AVR Atmega8 AVR

advertisement
BAB II
LANDASAN TEORI
2.1 Mikrokontroler AVR Atmega8
AVR merupakan salah satu jenis mikrokontroler yang di dalamnya
terdapat berbagai macam fungsi. Perbedaannya pada mikro yang pada umumnya
digunakan seperti MCS51 adalah pada AVR tidak perlu menggunakan oscillator
eksternal karena di dalamnya sudah terdapat internal oscillator. Selain itu
kelebihan dari AVR adalah memiliki Power-On Reset, yaitu tidak perlu ada
tombol reset dari luar karena cukup hanya dengan mematikan supply, maka secara
otomatis AVR akan melakukan reset. Untuk beberapa jenis AVR terdapat
beberapa fungsi khusus seperti ADC, EEPROM sekitar 128 byte sampai dengan
512 byte. AVR ATmega8 adalah mikrokontroler CMOS 8-bit berarsitektur AVR
RISC yang memiliki 8K byte in-System Programmable Flash. Mikrokontroler
dengan konsumsi daya rendah ini mampu mengeksekusi instruksi dengan
kecepatan maksimum 16MIPS pada frekuensi 16MHz. Jika dibandingkan dengan
ATmega8L perbedaannya hanya terletak pada besarnya tegangan yang diperlukan
untuk bekerja. Untuk ATmega8 tipe L, mikrokontroler ini dapat bekerja dengan
tegangan antara 2,7 - 5,5 V sedangkan untuk ATmega8 hanya dapat bekerja pada
tegangan antara 4,5 – 5,5 V.
5
Universitas Sumatera Utara
2.1.1. Konfigurasi Pin Atmega8
Gambar 2.1. Konfigurasi Pin ATmega 8
Atmega8 ATmega8 memiliki 28 Pin, yang masing-masing pin nya
memiliki fungsi yang berbeda-beda baik sebagai port maupun fungsi yang
lainnya. Berikut akan dijelaskan fungsi dari masing-masing kaki ATmega8.
a. VCC
Merupakan supply tegangan digital.
b. GND
Merupakan
ground untuk semua komponen yang membutuhkan
grounding.
c. Port B (PB7...PB0)
Didalam Port B terdapat XTAL1, XTAL2, TOSC1, TOSC2. Jumlah Port
B adalah 8 buah pin, mulai dari pin B.0 sampai dengan B.7. Tiap pin dapat
digunakan sebagai input maupun output. Port B merupakan sebuah 8-bit
bi-directional I/O dengan internal pull-up resistor. Sebagai input, pin-pin 7
yang terdapat pada port B yang secara eksternal diturunkan, maka akan
6
Universitas Sumatera Utara
mengeluarkan arus jika pull-up resistor diaktifkan. Khusus PB6 dapat
digunakan sebagai input Kristal (inverting oscillator amplifier) dan input
ke rangkaian clock internal, bergantung pada pengaturan Fuse bit yang
digunakan untuk memilih sumber clock. Sedangkan untuk PB7 dapat
digunakan sebagai output Kristal (output oscillator amplifier) bergantung
pada pengaturan Fuse bit yang digunakan untuk memilih sumber clock.
Jika sumber clock yang dipilih dari oscillator internal, PB7 dan PB6 dapat
digunakan
sebagai
I/O
atau
jika
menggunakan
Asyncronous
Timer/Counter2 maka PB6 dan PB7 (TOSC2 dan TOSC1) digunakan
untuk saluran input timer.
d. Port C (PC5…PC0)
Port C merupakan sebuah 7-bit bi-directional I/O port yang di dalam
masingmasing pin terdapat pull-up resistor. Jumlah pin nya hanya 7 buah
mulai dari pin C.0 sampai dengan pin C.6. Sebagai keluaran/output port C
memiliki karakteristik yang sama dalam hal menyerap arus (sink) ataupun
mengeluarkan arus (source).
e. RESET/PC6
Jika RSTDISBL Fuse diprogram, maka PC6 akan berfungsi sebagai pin
I/O. Pin ini memiliki karakteristik yang berbeda dengan pin-pin yang
terdapat pada port C lainnya. Namun jika RSTDISBL Fuse tidak
diprogram, maka pin ini akan berfungsi sebagai input reset. Dan jika level
tegangan yang masuk ke pin ini rendah dan pulsa yang ada lebih pendek
dari pulsa 8 minimum, maka akan menghasilkan suatu kondisi reset
meskipun clock-nya tidak bekerja. Port D (PD7…PD0)
7
Universitas Sumatera Utara
f. Port D merupakan 8-bit bi-directional I/O dengan internal pull-up resistor.
Fungsi dari port ini sama dengan port-port yang lain. Hanya saja pada port
ini tidak terdapat kegunaan-kegunaan yang lain. Pada port ini hanya
berfungsi sebagai masukan dan keluaran saja atau biasa disebut dengan
I/O.
g. AVcc
Pin ini berfungsi sebagai supply tegangan untuk ADC. Untuk pin ini harus
dihubungkan secara terpisah dengan VCC karena pin ini digunakan untuk
analog saja. Bahkan jika ADC pada AVR tidak digunakan tetap saja
disarankan untuk menghubungkannya secara terpisah dengan VCC. Jika
ADC digunakan, maka AVcc harus dihubungkan ke VCC melalui low
pass filter.
h. AREF
Merupakan pin referensi jika menggunakan ADC.
2.1.2.SPESIFIKASI Atmega 8
1. Kinerja tinggi, rendah daya Atmel®AVR® 8-bit Microcontroller
2. Advanced RISC Architecture
a. 130 Instruksi Powerfull - Kebanyakan Single-jam Siklus Eksekusi
b. 32 × 8 General Purpose Kerja Register
c. Operasi Fully Static
d. Sampai dengan 16MIPS throughput di 16MHz
e. On-chip 2-siklus Multiplier
3. segmen Memory Tinggi Ketahanan Non-volatile
8
Universitas Sumatera Utara
a. 8Kbytes In-System Self-programmable memori program flash
b. 512bytes EEPROM
c. SRAM 1Kbyte internal
d. Menulis / Erase Cycles: 10.000 Flash / 100.000 EEPROM
e. Data retensi: 20 tahun pada 85 ° C / 100 tahun pada 25 ° C (1)
f. Opsional Boot Kode Bagian dengan Independent Lock Bits
g. In-System Programming secara On-chip Program Boot
h. Benar Operasi Baca-Sementara-Write
i. Kunci Pemrograman untuk Security Software
4. Fitur Peripheral
a. Dua 8-bit Timer / Counter dengan Prescaler terpisah, satu
Bandingkan Modus
b. Satu 16-bit Timer / Counter dengan Prescaler terpisah, Bandingkan
Mode, dan Tangkap
c. Mode
d. Real Time Counter dengan Oscillator terpisah
e. Tiga Saluran PWM
f. 8-channel ADC di TQFP dan QFN / MLF paket
g. Delapan Saluran 10-bit Akurasi
h. 6-channel ADC dalam paket PDIP
i. Enam Saluran 10-bit Akurasi
j. Byte berorientasi Dua-kawat Serial Interface
k. Programmable Serial USART
l. Master / Slave SPI Serial Interface
9
Universitas Sumatera Utara
m. Programmable
Watchdog
Timer
dengan
terpisah
On-chip
Oscillator
n. On-chip Analog Comparator
5. Fitur Mikrokontroler Khusus
a. Power-on ulang dan Programmable Brown-out Detection
b. Internal dikalibrasi RC Oscillator
c. Eksternal dan Sumber Interrupt internal
d. Lima Mode Sleep: Idle, ADC Noise Reduction, Power-save,
Power-down, dan
e. Bersiap
6. I / O dan Paket
a. 23 Programmable I / O Garis
b. 28-lead PDIP, 32-lead TQFP, dan 32-pad QFN / MLF
7. Tegangan Operasi
a. 2.7V - 5.5V (ATmega8L)
b. 4.5V - 5.5V (ATmega8)
8. Kelas Kecepatan
a. 0 - 8MHz (ATmega8L)
b. 0 - 16MHz (ATmega8)
9. Konsumsi Daya di 4Mhz, 3V, 25 C
a. Aktif: 3.6mA
b. Menganggur Mode: 1.0mA
c. Power-down Mode: 0.5μA
10
Universitas Sumatera Utara
2.1.3. Memori AVR Atmega 8
Memori atmega terbagi menjadi tiga yaitu :
1. Memori Flash Memori flash adalah memori ROM tempat kode-kode
program berada. Kata flash menunjukan jenis ROM yng dapat ditulis dan
dihapus secara elektrik. Memori flash terbagi menjadi dua bagian yaitu
bagian aplikasi dan bagian boot. Bagian aplikasi adalah bagian kode-kode
program apikasi berada. Bagian boot adalah bagian yang digunakan
khusus untuk booting awal yang dapat diprogram untuk menulis bagian
aplikasi
tanpa melalui
programmer/downloader, misalnya
melalui
USART. 32 General purpose registers 64 I/O registers Additional I/O
registers Internal RAM Flash Boot Section EEPROM 13.
2. Memori Data Memori data adalah memori RAM yang digunakan untuk
keperluan program. Memori data terbagi menjadi empat bagian yaitu : 32
GPR (General Purphose Register) adalah register khusus yang bertugas
untuk membantu eksekusi program oleh ALU (Arithmatich Logic Unit),
dalam instruksi assembler setiap instruksi harus melibatkan GPR. Dalam
istilah processor komputer sahari-hari GPR dikenal sebagai “chace
memory”. I/O register dan Aditional I/O register adalah register yang
difungsikan khusus untuk mengendalikan berbagai pheripheral dalam
mikrokontroler seperti pin port, timer/counter, usart dan lain-lain. Register
ini dalam keluarga mikrokontrol MCS51 dikenal sebagi SFR(Special
Function Register).
11
Universitas Sumatera Utara
3. EEPROM EEPROM adalah memori data yang dapat mengendap ketika
chip mati (off), digunakan untuk keperluan penyimpanan data yang tahan
terhadap gangguan catu daya. 14 2.1.3 Timer/Counter 0 Timer/counter 0
adalah sebuah timer/counter yang dapat mencacah sumber pulsa/clock
baik dari dalam chip (timer) ataupun dari luar chip (counter) dengan
kapasitas 8-bit atau 256 cacahan. Timer/counter dapat digunakan untuk :
1. Timer/counter biasa
2. Clear Timer on Compare Match (selain Atmega 8)
3. Generator frekuensi (selain Atmega 8)
4. Counter pulsa eksternal
2.1.4. Komunikasi Serial Pada Atmega 8
Mikrokontroler AVR Atmega 8 memiliki Port USART pada Pin 2 dan
Pin 3 untuk melakukan komunikasi data antara mikrokontroler dengan
mikrokontroler ataupun mikrokontroler dengan komputer. USART dapat
difungsikan sebagai transmisi data sinkron, dan asinkron. Sinkron berarti clock
yang digunakan antara transmiter dan receiver satu sumber clock. Sedangkan
asinkron berarti transmiter dab receiver mempunyai sumber clock sendiri-sendiri.
USART terdiri dalm tiga blok yaitu clock generator, transmiter, dan receiver.
2.1.5. Sistim Minimum Atmega 8
Dengan menggunakan minimum sistem yang kompatibel dengan atmega8
mikrokontroler atmega8 bertindak sebagai mikro target dimana kita membutuhkan
downloader lain intuk mendownload firmware ke atmega8. downloader tersebut
12
Universitas Sumatera Utara
bisa berupa downloader paralel atau serial dengan tools programmernya
menggunakan Ponkemudian sediakan USBASP (Downloader) yang lain untuk
mendownload firmware ke atmega8. (Downloader tidak harus yang berbasis
USBASP bisa yang lain asal kompatibel dengan MOSI,MISO,SCK dan reset
mikrokontroler AVR).
2.2 Sensor Temperatur LM35
Sensor suhu LM35 adalah komponen elektronika yang memiliki fungsi
untuk mengubah besaran suhu menjadi besaran listrik dalam bentuk tegangan.
Sensor Suhu LM35 yang dipakai dalam penelitian ini berupa komponen
elektronika elektronika yang diproduksi oleh National Semiconductor. LM35
memiliki keakuratan tinggi dan kemudahan perancangan jika dibandingkan
dengan sensor suhu yang lain, LM35 juga mempunyai keluaran impedansi yang
rendah dan linieritas yang tinggi sehingga dapat dengan mudah dihubungkan
dengan rangkaian kendali khusus serta tidak memerlukan penyetelan lanjutan.
Meskipun tegangan sensor ini dapat mencapai 30 volt akan tetapi yang
diberikan kesensor adalah sebesar 5 volt, sehingga dapat digunakan dengan catu
daya tunggal dengan ketentuan bahwa LM35 hanya membutuhkan arus sebesar 60
µA hal ini berarti LM35 mempunyai kemampuan menghasilkan panas (selfheating) dari sensor yang dapat menyebabkan kesalahan pembacaan yang rendah
yaitu kurang dari 0,5 ºC pada suhu 25 ºC .
13
Universitas Sumatera Utara
2.3. LCD
LCD merupakan salah satu perangkat penampil yang sekarang ini mulai
banyak digunakan.Penampil LCD mulai dirasakan menggantikan fungsi dari
penampil CRT (Cathode Ray Tube), yang sudah berpuluh-puluh tahun digunakan
manusia sebagai penampil gambar/text baik monokrom (hitam dan putih),
maupun yang berwarna.Teknologi LCD memberikan keuntungan dibandingkan
dengan teknologi CRT, kaena pada dasarnya, CRT adalah tabung triode yang
digunakan sebelum transistor ditemukan.
Beberapa keuntungan LCD dibandingkan dengan CRT adalah konsumsi
daya yang relative kecil, lebih ringan, tampilan yang lebih bagus, dan ketika
berlama-lama di depan monitor, monitor CRT lebih cepat memberikan kejenuhan
pada mata dibandingkan dengan LCD
Gambar 2.2.LCD
LCD memanfaatkan silicon atau gallium dalam bentuk Kristal cair sebagai
pemendar cahaya.Pada layar LCD, setiap matrik adalah susunan dua dimensi
piksel yang dibagi dalam baris dan kolom.Dengan demikian, setiap pertemuan
baris dan kolom adalah sebuah LED terdapat sebuah bidang latar (backplane),
yang merupakan lempengan kaca bagian belakang dengan sisi dalam yang
14
Universitas Sumatera Utara
ditutupi oleh lapisan elektroda trasparan.Dalam keadaan normal, cairan yang
digunakan memiliki warna cerah. Daerah-daerah tertentu pada cairan akan
berubah warnanya menjadi hitam ketika tegangan diterapkan antara bidang latar
dan pola elektroda yang terdapat pad sisi dalam lempeng kaca bagian depan.
Keunggulan LCD adalah hanya menarik arus yang kecil (beberapa
microampere), sehingga alat atau sistem menjadi portable karena dapat
menggunakan catu daya yang kecil.Keunggulan lainnya adalah tampilan yang
diperlihatkan dapat dibaca dengan mudah di bawah terang sinar matahari.Di
bawah sinar cahaya yang remang-remang dalam kondisi gelap, sebuah lampu
(berupa LED) harus dipasang dibelakang layar tampilan.
LCD yang digunakan adalah jenis LCD yang mena mpilkan data dengan 2
baris tampilan pada display. Keuntungan dari LCD ini adalah :
1. Dapat menampilkan karakter ASCII, sehingga dapat memudahkan untuk
membuat program tampilan.
2. Mudah dihubungkan dengan port I/O karena hanya mengunakan 8 bit data
dan 3 bit control.
3. Ukuran modul yang proporsional.
4. Daya yang digunakan relative sangat kecil.
D0
D1
D2
D3
D4
D5
D6
D7
RS
RW
EN
LCD 16x2
4
5
6
1
GND
3
LCD Drv
16
V-BL
10
11
12
13
11
12
13
14
2
VCC
V+BL15
+5VDC
Gambar 2.3. Konfigurasi Pin LCD
15
Universitas Sumatera Utara
Operasi dasar pada LCD terdiri dari empat, yaitu instruksi mengakses
proses internal, instruksi menulis data, instruksi membaca kondisi sibuk, dan
instruksi membaca data. ROM pembangkit sebanyak 192 tipe karakter, tiap
karakter dengan huruf 5x7 dot matrik.Kapasitas pembangkit RAM 8 tipe karakter
(membaca program), maksimum pembacaan 80x8 bit tampilan data.Perintah
utama LCD adalah Display Clear, Cursor Home, Display ON/OFF, Display
Character Blink, Cursor Shift, dan Display Shift. Tabel 2.2. menunjukkan operasi
dasar LCD
Tabel 2.1.Operasi Dasar LCD
RS R/W
Operasi
0
0
Input Instruksi ke LCD
0
1
Membaca Status Flag (DB7) dan alamat counter
(DB0 ke DB6)
1
0
Menulis Data
1
1
Membaca Data
Tabel 2.2. Konfigurasi LCD
Pin
Bilangan biner
Keterangan
RS
0
Inisialisasi
1
Data
0
Tulis LCD / W (write)
RW
16
Universitas Sumatera Utara
E
1
Baca LCD / R (read)
0
Pintu data terbuka
1
Pintu data tertutup
Tabel 2.3.Konfigurasi Pin LCD
Pin
Keterangan
Konfigurasi Hubung
1
GND
Ground
2
VCC
Tegangan +5VDC
3
VEE
Ground
4
RS
Kendali RS
5
RW
Ground
6
E
Kendali E/Enable
7
D0
Bit 0
8
D1
Bit 1
9
D2
Bit 2
10
D3
Bit 3
11
D4
Bit 4
12
D5
Bit 5
13
D6
Bit 6
14
D7
Bit 7
15
A
Anoda (+5VDC)
16
K
Katoda (Ground)
No.
17
Universitas Sumatera Utara
Lapisan film yang berisis Kristal cair diletakkan di antara dua lempeng
kaca yang telah ditanami elektroda logam transparan. Saat teganga dicatukan pada
beberapa pasang elektroda, molekul – molekul Kristal cair akan menyusun diri
agar cahaya yang mengenainya akan dipantulkan atau diserap. Dari hasil
pemantulan atau penyerapan cahaya tersebut akan terbentuk pola huruf, angka,
atau gambar sesuai bagian yang di aktifka.
LCD membutuhkan tegangan dan daya yang kecil sehingga sangat popular
untuk aplikasi pada kalkulator, arloji digital, dan instrument elektronika lain
seperti Global Positioning System (GPS), baragraph display dan multimeter
digital. LCD umumnya dikemas dalam bentuk Dual In Line Package (DIP) dan
mempunyai kemampuan untuk menampilkan beberapa kolom dan baris dalam
satu panel. Untuk membentuk pola, baik karakter maupun gambar pada kolom
dan baris secara bersamaan digunakan metode Screening.
Metode screening adalah mengaktifkan daerah perpotongan suatu kolo dan suatu
baris secara bergantian dan cepat sehingga seolah-olah aktif semua.Penggunaan
metode ini dimaksudkan untuk menghemat jalur yang digunakan untuk
mengaktifkan panel LCD. Saat ini telah dikembangkan berbagai jenis LCD, mulai
jenis LCD biasa, Passive Matrix LCD (PMLCD), hingga Thin-Film Transistor
Active Matrix (TFT-AMLCD). Kemampuan LCD juga telah ditingkatkan daru
yang monokrom hingga yang mampu menampilkan ribuan warna.
18
Universitas Sumatera Utara
2.4. PWM
PWM ( Pulse Width Modulation) adalah salah satu teknik modulasi
dengan mengubah lebar pulsa (duty cylce) dengan nilai amplitudo dan frekuensi
yang tetap. Satu siklus pulsa merupakan kondisi high kemudian berada di zona
transisi ke kondisi low. Lebar pulsa PWM berbanding lurus dengan amplitudo
sinyal asli yang belum termodulasi. Duty Cycle merupakan representasi dari
kondisi logika high dalam suatu periode sinyal dan di nyatakan dalam bentuk (%)
dengan range 0% sampai 100%, sebagai contoh jika sinyal berada dalam kondisi
high terus menerus artinya memiliki duty cycle sebesar 100%. Jika waktu sinyal
keadaan high sama dengan keadaan low maka sinyal mempunyai duty cycle
sebesar 50%.
Aplikasi penggunaan PWM biasanya ditemui untuk pengaturan kecepatan
motor dc, pengaturan cerah/redup LED, dan pengendalian sudut pada motor
servo. Contoh penggunaan PWM pada pengaturan kecepatan motor dc semakin
besar nilai duty cycle yang diberikan maka akan berpengaruh terhadap cepatnya
putaran motor. Apabila nilai duty cylce-nya kecil maka motor akan bergerak
lambat.
Untuk membandingkannya terhadap tegangan DC, PWM memiliki 3 mode
operasi yaitu :
1. mode inverted
Pada mode inverted ini jika nilai sinyal lebih besar dari pada titik
pembanding (compare level) maka output akan di set high (5v) dan
sebaliknya jika nilai sinyal lebih kecil maka output akan di set low (0v)
seperti pada gelombang A pada gambar di atas.
Universitas Sumatera Utara
2. Non Inverted Mode
Pada mode non inverted ini output akan bernilai high (5v) jika titik
pembanding (compare level) lebih besar dari pada nilai sinyal dan
sebaliknya jika bernilai low (0v) pada saat titik pembanding lebih kecil
dari nilai sinyal seperti pada gelombang B pada gambar di atas.
3. Toggle Mode
Pada mode toggle output akan beralih dari nilai high (5v) ke nilai low (0v)
jika titik pembanding sesuai dan sebaliknya beralih dari nilai low ke high.
2.5. Modul Bluetooth HC-05
Modul HC-05 adalah modul bluetooth yang dapat berfungsi sebagai
master atau sebagai slave. modul HC-05 memiliki dua mode kerja yaitu mode AT
Command dan mode Data. Modul HC-05 menggunakan mode Data secara
default. Berikut ini adalah keterangan untuk kedua mode tersebut:
•
AT Command. Pada mode ini, modul HC-05 akan menerima instruksi
berupa perintah AT Command. Mode ini dapat digunakan untuk mengatur
konfigurasi modul HC-05. Perintah AT Command yang dikirimkan ke
modul HC-05 menggunakan huruf kapital dan diakhiri dengan karakter
CRLF (\r\n atau 0x0d 0x0a dalam heksadesimal).
•
Data. Pada mode ini, modul HC-05 dapat terhubung dengan perangkat
bluetooth lain dan mengirimkan serta menerima data melalui pin TX dan
RX. Konfigurasi koneksi serial pada mode ini menggunakan baudrate:
9600 bps, data: 8 bit, stop bits: 1 bit, parity: None, handshake: None.
20
Universitas Sumatera Utara
Adapun password default untuk terhubung dengan modul HC-05 pada
mode Data adalah 0000 atau 1234.
Gambar 2.4. Modul Bluetooth HC-05
Keterangan pin out di atas adalah sebagai berikut:
•
EN fungsinya untuk mengaktifkan mode AT Command Setup pada modul
HC-05. Jika pin ini ditekan sambil ditahan sebelum memberikan tegangan
ke modul HC-05, maka modul akan mengaktifkan mode AT Command
Setup. Secara default, modul HC-05 aktif dalam mode Data.
•
Vcc adalah pin yang berfungsi sebagai input tegangan. Hubungkan pin ini
dengan sumber tegangan 5V.
•
GND adalah pin yang berfungsi sebagai ground. Hubungkan pin ini
dengan ground pada sumber tegangan.
•
TX adalah pin yang berfungsi untuk mengirimkan data dari modul ke
perangkat lain (mikrokontroler). Tegangan sinyal pada pin ini adalah 3.3V
sehingga dapat langsung dihubungkan dengan pin RX pada arduino karena
21
Universitas Sumatera Utara
tegangan sinyal 3.3V dianggap sebagai sinyal bernilai HIGH pada
arduino.
•
RX adalah pin yang berfungsi untuk menerima data yang dikirim ke
modul HC-05. Tegangan sinyal pada pin sama dengan tegangan sinyal
pada pin TX, yaitu 3.3V. Untuk keamanan, sebaiknya gunakan pembagi
tegangan jika menghubungkan pin ini dengan arduino yang bekerja pada
tegangan 5V. Pembagi tegangan tersebut menggunakan 2 buah resistor.
Resistor yang digunakan sebagai pembagi tegangan pada tutorial ini
adalah 1K ohm dan 2K ohm. Untuk lebih jelasnya, dapat dilihat pada
bagian implementasi koneksi antara modul HC-05 dan arduino UNO.
•
STATE adalah pin yang berfungsi untuk memberikan informasi apakah
modul terhubung atau tidak dengan perangkat lain.
22
Universitas Sumatera Utara
Download