BAB 2 DASAR TEORI 2.1 Perangkat Keras Perangkat keras

advertisement
BAB 2
DASAR TEORI
2.1
Perangkat Keras
Perangkat keras merupakan bentuk fisik dari alat pengukur suhu dan kelembaban yang terdiri
dari modul SHT-11, sistem minimum Atmega8, LCD display M1632.
2.1.1
SHT-11
SHT-11 Module merupakan modul sensor suhu dan kelembaban relatif yang berbasis sensor
SHT-11 dari Sensirion. Modul ini dapat digunakan sebagai alat pengindra suhu dan
kelembaban dalam aplikasi pengendali suhu dan kelembaban ruangan maupun aplikasi
pemantau suhu dan kelembaban relatif ruangan.
Spesifikasi dari SHT-11 antara lain:
1. Berbasis sensor suhu dan kelembaban relatif Sensirion SHT-11.
2. Mengukur suhu dari -40 oC hingga +123,8
o
C, atau dari -40 oF hingga +254,9
o
F dan
o
C dan
kelembaban relatif dari 0 % RH hingga 100 % RH.
3. Memiliki ketetapan (akurasi) pengukuran suhu hingga ± 0,5
o
C pada suhu 25
ketepatan (akurasi) pengukuran kelembaban relatif hingga ± 3,5 % RH.
4. Memiliki atarmuka serial synchronous 2-wire, bukan 12 C.
5. Jalur antarmuka telah dilengkapi dengan rangkaian pencegah kondisi sensor lock-up
6. Membutuhkan catu daya +5V DC dengan konsumsi daya rendah 30∝ W.
7. Modul ini memiliki faktor bentuk 8 pin DIP 0,6 sehingga memudahkan pemasangannya.
Gambar 2.1 Sensor SHT-11
Untuk menghubungkan sensor 2 wire dengan mikrokontroler, umumnya bentuk rangkaian
dapat dilihat seperti Gambar 2.2.
Universitas Sumatera Utara
Gambar 2.2 Blok diagram umum sensor
Tabel 2.1 Konfigurasi pin sensor SHT-11
Pin
Name
Comment
1
GND
Ground
2
DATA
Serial Data Bidirectional
3
SCK
Serial Clock Input
4
VDD
Supply 2.4 – 5.5 V
Adapun cara kerja Sensor SHT-11 tersebut, yaitu; Kaki Serial Clock Input (SCK) digunakan
untuk mensinkronkan komunikasi diantara mikrokontroller dan SHT-11. Kaki Serial Data
(DATA) yang merupakan tristate digunakan untuk mentransfer data masuk dan keluar dari
alat. Proses pengukuran dilakukan dengan memberikan logika ‘00000101’ untuk RH dan
‘00000011’ untuk temperatur, lalu controller harus menunggu agar proses pengukuran selesai.
Ralat pada sensor
Waktu yang dibutuhkan sekitar 500 ms untuk resolusi 14 bit.
Suhu sebenarnya
Universitas Sumatera Utara
Ralat pada sensor
Kelembaban relative
Gambar 2.3 Akurasi RH dan Temperatur pada berbagai tipe
Gambar di atas menampilkan kinerja dari sensor SHT-11, yaitu grafik perbandingan akurasi
RH dan Temperatur pada berbagai tipe jenis sensor. Pada sensor SHT-11 terlihat pada grafik
akurasi Temperatur untuk suhu yang diukur dari 0 – 50 o C, maka ralat pada sensor sebesar
± 1 o C.Untuk suhu dari -10 – 60 o C, maka ralat pada sensor sebesar 1,4 o C. Dengan demikian
dari grafik didapat suhu maksimal sebesar 20,5 o C. Sedangkan pada grafik akurasi RH, besar
kelembaban yang diukur dari 20 – 80% RH, ralat pada sensor sebesar ± 5% RH. Dari
berbagai tipe sensor pada grafik diatas terlihat hasil yang lebih baik dapat diperoleh jika
menggunakan sensor SHT75 dengan resolusi dan kualitas yang lebih baik.
2.1.2
Rangkaian Sistem Minimum AVR ATmega8
Sistem minimum mikrokontroler adalah rangkaian elektronik minimum yang diperlukan
untuk beroperasinya IC mikrokontroler. Sistem minimum ini kemudian bisa dihubungkan
dengan rangkaian lain untuk menjalankan fungsi tertentu. Di keluarga mikrokontroler AVR,
seri 8 adalah salah satu seri yang sangat banyak digunakan. Untuk membuat rangkaian sistem
minimum Atmel AVR 8 diperlukan beberapa komponen yaitu:
1. IC mikrokontroler Atmega8
2. Satu XTAL 4 MHz
3. Dua kapasitor yaitu satukapasitor 220µF dan satu kapasitor 100 µF
4. Satu resistor
5. Satu trimpot
6. IC Regulator 7805
7. Atmega8A-PU
Universitas Sumatera Utara
Selain itu tentunya diperlukan power supply (adaptor) yang bisa memberikan tegangan 5V
DC. Rangkaian sistem minimum ini sudah siap untuk menerima sinyal analog (fasilitas ADC)
di port A. Gambar rangkaiannya adalah sebagai berikut.
Gambar 2.4 Sistem Minimum AVR ATmega8
2.1.2.1 Arsitektur Mikrokontroller AVR
Mikrokontroler adalah suatu chip yang dapat digunakan sebagai pengontrol utama sistem
elektronika, misalnya sistem pengukur suhu digital, sistem keamanan rumah dan lain
sebagainya. Hal ini dikarenakan di dalam chip tersebut sudah ada unit pemroses, memori
ROM (Read Only Memori), RAM (Random Access Memory), Input-Output, dan fasilitas
pendukung lainnya.
Mikrokontroler AVR memiliki arsitektur RISC 8 bit, di mana semua instruksi dikemas
dalam kode 16-bit (16-bit word) dan sebagian besar instruksi dieksekusi dalam 1 (satu) siklus
clock, berbeda dengan instruksi MCS51 yang membutuhkan 12 siklus clock. Hal ini terjadi
karena kedua jenis mikrokontroler tersebut memiliki arsitektur yang berbeda. AVR
berteknologi RISC (Reduced Instruksi Set Computing), sehingga eksekusi instruksi dapat
berlangsung sangat cepat dan efisien. Sedangkan seri MCS51 berteknoli CISC (Complex
Instruktion Set Computing). Pada dasarnya yang membedakan masing-masing kelas adalah
memori, peripheral, dan fungsinya. Dari segi arsitektur dan instruksi yang digunakan, mereka
bias dikatakan hampir sama.
Universitas Sumatera Utara
Mikrokontroler AVR sudah menggunakan konsep arsitektur Harvard yang
memisahkan memori dan bus untuk data dan program, serta sudah menerapkan single level
pipelining.
Blok sistem mikrokontroler AVR adalah sebagai berikut :
Gambar 2.5 Skematik Blok Sistem Mikrokontroller AVR
Berikut adalah feature-feature mikrokontroler seri Atmega8.
1. Memori Flash 8 Kbytes dalam programmable flash
2. Memori EEPROM 512 bytes untuk data yang dapat diprogram saat operasi
3. Memori SRAM 1 bytes untuk data
4. Dua buah Timer / Counter 18 bit dengan kemampuan pembandingan
Universitas Sumatera Utara
5. Watchdog Timer dengan osilator internal
6. 6 channel ADC, Empat Saluran 10-bit Akurasi dan Dua Saluran 8-bit Akurasi
7. Lima Mode Sleep: Idle, ADC Noise Reduction, Power-save, Power-down, dan Siaga
8. Antar muka komparator analog
9. Saluran I/O sebanyak 23 buah, yaitu Port A, Port B, Port C, dan Port D.
10. Unit interupsi internal dan eksternal
11. Programmable Serial USART
12. Master / Slave SPI Serial Interface
13. Power-on reset dan Deteksi Programmable Brown-out
14. Internal dikalibrasi RC Oscillator
2.1.2.2 Penjelasan Fungsi PIN Mikrokontroller AVR
IC mikrokontroler dikemas (packaging) dalam bentuk yang berbeda. Namun pada dasarnya
fungsi kaki yang ada pada IC memiliki persamaan. Gambar salah satu bentuk IC seri
mikrokontroler AVR Atmega 8 dapat dilihat pada gambar 2.6 dibawah ini.
Gambar 2.6 Pin Atmega 8
Berikut adalah penjelasan fungsi tiap kaki :
1) PORT A
Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up
resistor (dapat diatur per bit). Output buffer Port A dapat memberi arus 20 mA dan dapat
mengendalikan display LED secara langsung. Data Direction Register port A (DDRA)
harus disetting terlebih dahulu sebelum Port A digunakan. Bit-bit DDRA diisi 0 jika ingin
memfungsikan pin-pin port A yang bersesuaian sebagai input, atau diisi 1 jika sebagai
output.
Universitas Sumatera Utara
2) PORT B
Merupakan 8 bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up
resistor (dapat diatur perbit). Output buffer Port B dapat member arus 20 mA dan dapat
mengendalikan display LED secara langsung.Data Direction Register Port B (DDRB)
harus disetting terlebih dahulu sebelum Port b digunakan. Bit-bit DDRB diisi 0 jika ingin
memfungsikan pin-pin Port B bersesuaian sebagai input, atau diisi 1 jika sebagai
output.Pin-pin Port B juga memiliki fungsi alternatif khusus seperti yang dapat dilihat
dalam tabel konfigurasi pin Port B Atmega 8 berikut.
Tabel 2.2. Konfigurasi pin port B Atmega8
Port Pin
Fungsi Khusus
PB0
T0 = timer/counter 0 external counter input
PB1
T1 = timer/counter 0 external counter input
PB2
AIN0 = analog comparator positive input
PB3
AIN1 = analog comparator negative input
PB4
SS = SPI slave select input
PB5
MOSI = SPI bus master output / slave input
PB6
MISO = SPI bus master input / slave output
PB7
SCK = SPI bus serial clock
3) PORT C
Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up
resistor (dapat diatur per bit). Output buffer Port C dapat memberi arus 20 mA dan dapat
mengendalikan display LED secara langsung.Data Direction Register port C (DDRC)
harus disetting terlebih dahulu sebelum Port C digunakan. Bit-bit DDRC diisi 0 jika ingin
memfungsikan pin-pin port C yang bersesuaian sebagai input, atau diisi 1 jika sebagai
output. Selain itu, dua pin port C (PC6 dan PC7) juga fungsi alternatif sebagai oscillator
untuk timer/counter 2.
4) PORT D
Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up
resistor (dapat diatur per bit). Output buffer Port D dapat member arus 20 mA dan dapat
mengendalikan display LED secara langsung. Data Direction Register port D (DDRD)
harus disetting terlebih dahulu sebelum Port D digunakan. Bit-bit DDRD diisi 0 jika ingin
memfungsikan pin-pin port D yang bersesuaian sebagai input, atau diisi 1 jika sebagai
output.
Universitas Sumatera Utara
Selain itu, pin-pin port D juga memiliki untuk fungsi-fungsi alternatif khusus seperti yang
dapat dilihat dalam tabel konfigurasi pin Port D Atmega8 berikut.
Tabel 2.3.Konfigurasi Pin Port D Atmega8
Port Pin
Fungsi Khusus
PD0
RDX (UART input line)
PD1
TDX (UART output line)
PD2
INT0 ( external interrupt 0 input )
PD3
INT1 ( external interrupt 1 input )
PD4
OCIB (Timer/Counter1 output compareB match output)
PD5
OC1A (Timer/Counter1 output compareA matchoutput)
PD6
ICP (Timer/Counter1 input capture pin)
PD7
OC2 (Timer/Counter2 output compare match output)
5) RESET
RST pada pin 9 merupakan reset dari AVR. Jika pada pin ini diberi masukan low selama
minimal 2 machine cycle maka system akan di-reset.
6) XTAL1
XTAL1 adalah masukan ke inverting oscillator amplifier dan input ke internal clock
operating circuit.
7) XTAL2
XTAL2 adalah output dari inverting oscillator amplifier.
8) Avcc
Avcc adalah kaki masukan tegangan bagi A/D Converter. Kaki ini harus secara eksternal
terhubung ke Vcc melalui lowpass filter.
9) AREF
AREF adalah kaki masukan referensi bagi A/D Converter. Untuk operasionalisasi ADC,
suatu level tegangan antara AGND dan Avcc harus dibeikan ke kaki ini.
10) AGND
AGND adalah kaki untuk analog ground. Hubungkan kaki ini ke GND, kecuali jika board
memiliki anlaog ground yang terpisah.
2.1.3
Modul LCD (Liquid Crystal Display) M1632
M1632 merupakan modul LCD matrix dengan konfigurasi 16 karakter dan 2 baris dengan
setiap karakternya dibentuk oleh 8 baris pixel dan 5 kolom pixel (1 baris pixel terakhir adalah
Universitas Sumatera Utara
kursor). HD44780 ini sudah tersedia dalam Modul M1632 yang dikeluarkan oleh Hitachi,
Hyundai dan modul-modul M1632 lainnya.
HD44780 sebetulnya merupakan mikrokontroler yang dirancang khusus untuk
mengendalikan LCD dan mempunyai kemampuan untuk mengatur proses scanning pada layar
LCD yang terbentuk oleh 16 COM dan 40 SEG sehingga mikrokontroler/perangkat yang
mengakses modul LCD ini tidak perlu lagi mengatur proses scanning pada layar LCD.
Mikrokontroler atau perangkat tersebut hanya mengirimkan data-data yang merupakan
karakter yang akan ditampilkan pada LCD atau perintah yang mengatur proses tampilan pada
LCD saja.
2.1.3.1 Kaki-kaki Modul M1632
Untuk keperluan antarmuka suatu komponen elektronik dengan mikrokontroler, perlu
diketahui fungsi dari setiap kaki yang ada pada komponen tersebut.
1) Kaki 1 (GND)
Kaki ini berhubungan dengan tegangan +5 Volt yang merupakan tegangan untuk sumber
daya dari HD44780 (khusus untuk modul M1632 keluaran hitachi, kaki ini adalah VCC)
2) Kaki 2 (VCC)
Kaki ini berhubungan dengan tegangan 0 volt (ground) dan modul LCD (khusus untuk
modul M1632 keluaran hitachi, kaki ini adalah GND)
3) Kaki 3 (VEE/VLCD)
Tegangan pengatur kontras LCD, kaki ini terhubung pada V5. Kontras mencapai nilai
maksimum pada saat kondisi kaki ini pada tegangan 0 volt.
4) Kaki 4 (RS)
Register Select, kaki pemilih register yang akan diakses. Untuk akses ke register data,
logika dari kaki ini adalah 1 dan untuk akses ke register perintah, logika dari kaki ini
adalah 0.
5) Kaki 5 (R/W)
Logika 1 pada kaki ini menunjukkan bahwa modul LCD sedang pada mode pembacaan
dan logika 0 menunjukkan bahwa modul LCD sedang pada mode penulisan. Untuk
aplikasi yang tidak memerlukan pembacaan data pada modul LCD, kaki ini dapat
dihubungkan langsung ke ground.
6) Kaki 6 (E)
Enable Clock LCD, kaki ini mengaktifkan clock LCD. Logika 1 pada kaki ini diberikan
pada saat penulisan atau pembacaan data.
Universitas Sumatera Utara
7) Kaki 7-14 (D0-D7)
Data bus, kedelapan kaki modul LCD ini adalah bagian dimana aliran data sebanyak 4 bit
atau 8 bit mengalir saat proses penulisan maupun pembacaan data.
8) Kaki 15 (Anoda)
Berfungsi untuk tegangan positif dari backlight modul LCD sekitar 4,5 volt (hanya
terdapat untuk M1632 yang memiliki backlight).
9) Kaki 16 (Katoda)
Tegangna negatif backlight modul LCD sebesar 0 volt (hanya untuk M1632 yang
memiliki backlight).
2.1.3.2 Akses ke register
Seperti telah dijelaskan sebelumnya, HD44780 yang menjadi pengendali modul M1632
mempunyai dua buah register, yaitu register data dan register perintah.
Berikut ini akan dijelaskan bagaimana proses terjadinya penulisan maupun pembacaan data
dari kedua register ini.
1)
Penulisan Data ke Register Perintah
Penulisan data ke register perintah digunakan untuk memberikan perintah-perintah
pada Modul M1632 sesuai dengan data-data yang dikirimkan ke register tersebut.
Gambar 2.7 menunjukkan proses penulisan data ke register perintah menggunakan
mode 4 bit interface. Kondisi RS berlogika 0 menunjukkan akses data ke register
perintah. RW berlogika 0 menunjukkan proses penulisan data akan dilakukan. Nibble
tinggi (bit7 sampai bit 4) terlebih dahulu dikirimkan dengan diawali pulsa logika 1
pada E Clock, kemudian nibble rendah (bit 3 sampai bit 0) dikirimkan dengan
diawalai pulsa logika 1 pada E Clock lagi.
Gambar 2.7 Timing penulisan data ke register perintah mode 4 bit interface
Universitas Sumatera Utara
Built In Routine
Kirim_Perintah EQU 433H
……………………………
Lcall kirim perintah
2)
Pembacaan Data dari Register Perintah
Proses pembacaan data dari register perintah ini digunakan untuk membaca status sibuk
M1632 dan addres counter saja. RS diatur pada logika 0 untuk akses ke register perintah
dan R/W diatur pada logika 1 yang menunjukkan proses pembacaan data. Empat bit
nibble tinggi dibaca dengan diawali pulsa logika 1 pada E Clock dan kemudian 4 bit
nibble rendah dibaca dengan diawali pulsa logika 1 pada E clock.
Gambar 2.8 Timing diagram pembacaan register perintah mode 4 bit interface
3)
Penulisan Data ke Register Data
Penulisan data ke register data digunakan dalam proses penulisan data karakter yang
akan ditampilkan ke LCD (DDRAM) atau proses penulisan data pola karakter ke
CGRAM. Proses diawali dengan adanya logika 1 pada RS yang menunjukkan akses ke
register data. Kondisi R/W diatur pada logika 0 yang menunjukkan proses penulisan
data. Data 4 bit nibble tinggi (bit 7 hingga bit 4) dikirim dengan diawali dngan pulsa
logika 1 pada sinyal E Clock dan kemudian diikuti 4 bit bit nibble rendah (bit 3 hingga
bit 0) yang juga diawali pulsa logika 1pada sinyal E Clock.
Gambar 2.9 Timing diagram penulisan data ke register data mode 4 bit interface
Universitas Sumatera Utara
4)
Pembacaan Data ke Register Data
Pembacaan data dari rd dilakukan untuk membaca kembali data yang tampil pada
LCD. Proses dilakukan dengan mengatur RS pada logika 1 yang menunjukkan adanya
akses ke rd. Kondisi R/W diatur pada logika tinggi yang menunjukkan adanya proses
pembacaan data. Data 4 bit nibble (bit 7 hingga bit 4) dibaca dengan diawali adanya
pulsa logika 1 pada E Clock dan dilanjutkan dengan data 4 bit nibble rendah (bit 3
hingga bit 0) yang juga diawali dengan pulsa logika 1 pada E Clock.
Gambar 2.10 Timing diagram pembacaan data dari register data mode 4 bit
2.1.3.3 Struktur Memori LCD
Modul LCD M1632 memiliki beberapa jenis memori yang digunakan untuk menyimpan atau
memproses data-data yang akan ditampilkan pada layar LCD. Setiap jenis memori
mempunyai fingsi-fungsi tersendiri.
1.
DDRAM
DDRAM merupakan memori tempat karakter yang ditampilkan berada. Contohnya,
karakter “A” atau 41h yang ditulis pada alamat 00 akan tampil pada baris pertama dan
kolom pertama dari LCD. Apabila karakter tersebut ditulis di alamat 40h, karakter
tersebut akan tampil pada baris kedua kolom pertama dari LCD.
2.
CGRAM
CGRAM adalah memori untuk menggambarkan pola sebuah karakter dan bentuk
karakter dapat diubah-ubah sesuai keinginan. Akan tetapi isi memori akan hilang saat
power supply tidak aktif sehingga pola karaktr akan hilang.
3.
CGROM
CGROM adalah memori untuk menggambarkan pola sebuah karakter dan pola tersebut
sudah dientukan secara permanen dari HD44780 sehingga pengguna tidak dapat
mengubah lagi. Oleh karena ROM bersifat permanen, pola karakter tersebut tidak akan
hilang walaupun power suplly tidak aktif.
Universitas Sumatera Utara
2.2 Perangkat Lunak
Perangkat lunak merupakan program yang meliputi bahasa pemrograman CodeVisionAVR
Evaluation (CVAVR) untuk pemrograman mikrokontroler Atmega8.
2.2.1
Bahasa basic Menggunakan Code Vision AVR (CVAVR)
CodeVisionAVR merupakan sebuah cross-compiler C,Integrated Development Environtment
(IDE), dan Automatic Program Generator yang didesain untuk mikrokontroler buatan Atmel
seri AVR. CodeVisionAVR dapat dijalankan pada sistem operasi Windows 95, 98, Me, NT4,
2000, dan XP. Cross-compiler C mampu menerjemahkan hampir semua perintah dari bahasa
ANSI C, sejauh yang diijinkan oleh arsitektur dari AVR, dengan tambahan beberapa fitur
untuk mengambil kelebihan khusus dari arsitektur AVR dan kebutuhan pada sistem
embedded.
File object COFF hasil kompilasi dapat digunakan untuk keperluan debugging pada
tingkatan C, dengan pengamatan variabel, menggunakan debugger Atmel AVR Studio. IDE
mempunyai fasilitas internal berupa software AVR Chip In-System Programmer yang
memungkinkan Anda untuk melakukan transfer program kedalam chip mikrokontroler setelah
sukses melakukan kompilasi/asembli secara otomatis. Software In-System Programmer
didesain untuk bekerja dengan Atmel STK500/AVRISP/AVRProg, Kanda Systems
STK200+/300, Dontronics DT006, Vogel Elektronik VTEC-ISP, Futurlec JRAVR dan
MicroTronics ATCPU/Mega2000 programmers/development boards.
Universitas Sumatera Utara
Download