BAB II (hal 5)

advertisement
BAB II
DASAR TEORI
2.1
SENSOR TGS 2610
2.1.1 Gambaran Umum
Sensor gas LPG TGS 2610 adalah sebuah sensor gas yang dapat mendeteksi
adanya konsentrasi gas LPG di sekitar sensor tersebut. Sensor gas LPG TGS 2610
akan memberikan perubahan resistansi pada saat terdeteksi adanya gas LPG di
sekitar sensor, dimana semakin kuat konsentrasi gas LPG yang terdeteksi maka
semakin rendah resistansi output sensor gas LPG TGS 2610 (daya konduksi sensor
meningkat) dan sebaliknya resistansi menjadi semakin membesar (daya konduksi
sensor berkurang) apabila tidak terdeteksi adanya gas LPG di sekitar sensor tersebut.
Sensor gas LPG TGS 2610 adalah suatu jenis semikonduktor oksida logam film tebal
yang dapat mendeteksi adanya kebocoran gas LPG, beroperasi dengan konsumsi arus
yang rendah dan memiliki daya tahan yang lama dalam penggunaanya. Sensitifitas
dari sensor gas LPG TGS 2610 sangat bagus sehingga sesuai untuk keperluan
pendeteksian kebocoran gas LPG. Sensor mendeteksi kadar gas LPG secara terusmenerus dan selalu meng-update keluaran tegangan analog yang kemudian diolah
oleh mikrokontroler.
2.1.2 Bentuk Fisik Sensor Gas LPG TGS 2610
Bentuk fisik sensor TGS 2610 terlihat pada gambar berikut :
Gambar 2.1 Bentuk Fisik Sensor TGS 2610
5
http://digilib.mercubuana.ac.id/
6
Elemen yang digunakan untuk sensor gas LPG TGS 2610 adalah
semikonduktor dari bahan dioksida timah (SnO2) yang mempunyai resistansi yang
tinggi pada udara bersih. Jika terdapat gas yang dideteksi, maka resistansi dari sensor
gas TGS 2610 akan menurun tergantung pada konsentrasi gas LPG di udara sekitar
sensor TGS 2610 tersebut diletakan. Sensor gas LPG TGS 2610 membutuhkan
heater dan sumber tegangan DC +5 volt dalam bekerja.
2.1.1 Rangkaian Aplikasi Sensor Gas LPG TGS 2610
2.1.3
Perubahan resistansi pada sensor gas LPG TGS 2610 dapat diubah menjadi
perubahan tegangan dengan menggunakan rangkaian sederhana seperti gambar
berikut.
Gambar 2.2 Rangkaian Aplikasi Sensor Gas LPG TGS 2610
Rangkaian di atas merupakan rangkaian aplikasi dasar pengoperasian sensor
gas LPG TGS 2610. Heater dan elemen sensor gas LPG TGS 2610 diberikan sumber
tegangan DC +5 volt dan ditambahkan resistor (R) sebagai kontrol level tegangan
output sensor gas LPG TGS 2610. Dengan rangkaian dasar yang sederhana seperti
yang ditunjukan pada gambar di atas maka perubahan resistansi yang dihasilkan oleh
sensor gas LPG TGS 2610 pada proses deteksi kandungan gas LPG akan berubah
menjadi perubahan tegangan yang levelnya tergantung dari konsentrasi kandungan
http://digilib.mercubuana.ac.id/
7
gas LPG yang diterima sensor gas LPG TGS 2610. Dimana semakin kuat konsentrasi
gas LPG yang dideteksi oleh sensor gas LPG TGS 2610 maka tegangan output
sensor semakin tinggi dan sebaliknya pada udara yang bersih dari konsentrasi gas
LPG maka tegangan output sensor gas LPG TGS 2610 semakin rendah.
2.2
MIKROKONTROLER
Perkembangan teknologi telah maju dengan pesat dalam perkembangan dunia
elektronika, khususnya dunia mikroelektronika. Penemuan silicon menyebabkan
bidang ini mampu memberikan sumbangan yang amat berharga bagi perkembangan
teknologi modern. Atmel sebagai salah satu vendor yang mengembangkan dan
memasarkan produk mikroelektronika telah menjadi standar bagi para desainer
sistem elektronika masa kini. Dengan perkembangan terakhir , yaitu generasi AVR
(Alf and Vegard’s Risc processor), para desainer sistem elektronika telah diberi
suatu teknologi yang memiliki kapabilitas yang amat maju, tetapi dengan biaya
ekonomis yang cukup minimal.
Mikrokontroler AVR memiliki arsitektur RISC 8 bit, dimana semua instruksi
dikemas dalam kode 16 -bit (16-bits word) dan sebagian besar instruksi dieksekusi
dalam 1 (satu) siklus clock, berbeda dengan instruksi MCS51 yang membutuhkan 12
siklus clock. Tentu saja itu terjadi karena kedua jenis mikrokontroler tersebut
memiliki arsitektur yang berbeda. AVR berteknologi RISC (Reduced Instruction Set
Computing), sedangkan seri MCS51 berteknologi CISC (Complex Instruction Set
Computing). Secara umum AVR dapat dikelompokkan menjadi 4 kelas, yaitu
keluarga 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. Oleh karena itu penulis mempergunakan salah satu dari AVR produk
Atmel, yaitu ATMega 8535.
http://digilib.mercubuana.ac.id/
8
2.2.1 Arsitektur ATMega 8535
Gambar 2.3 Blok diagram fungsional ATMega 8535
Dari gambar diatas dapat dilihat bahwa ATMega memiliki bagian
sebagai berikut :
1.
Saluran I/O sebanyak 32 buah, yaitu Port A, Port B, Port C, Port D.
2.
ADC 10 bit sebanyak 8 saluran.
3.
Tiga buah Timer/Counter dengan kemampuan pembandingan.
4.
CPU yang terdiri atas 32 register.
http://digilib.mercubuana.ac.id/
9
5.
Watchdog Timer dengan osilator internal.
6.
SRAM sebesar 512 byte.
7.
Memori Flash sebesar 8 kb dengan kemampuan Read While Write.
8.
Unit interupsi internal dan eksternal.
9.
Port antarmuka SPIEEPROM sebesar 512 byte yang dapat diprogram
saat operasi.
10.
Antarmuka komparator analog
11.
Port USART untuk komunikasi serial.
2.2.2 Fitur ATMega 8535
Kapabilitas detail dari ATMega 8535 adalah sebagai berikut:
1.
Sistem mikroprosesor 8 bit berbasis RISC dengan kecepatan maksimal 16
MHz.
2.
Kapabilitas memori flash 8 Kb, SRAM 512 byte, dan EEPROM
(Electrically Eraseble Programmable Read Only Memory) 512byte.
3.
ADC internal dengan fidelitas 10 bit sebanyak 8 channel.
4.
Portal komunikasi (USART) dengan kecepatan maksimal 2,5 Mbps
5.
Enam pilihan mode sleep menghemat penggunaan daya listrik.
2.2.3 Konfigurasi Pin ATMega8535
Konfigurasi pin ATMega8535 bisa dilihat pada gambat 2.14. dari gambar
tersebut dapat dijelaskan secara fungsional konfigurasi pin ATMega8535
sebagai berikut :
1.
VCC merupakan pin yang berfungsi sebagai pin masukan daya.
2.
GND merupakan pin ground.
3.
Port A (PA0..PA7) merupakan pin I/O dua arah dan pin masukan ADC.
4.
Port B (PB0..PB7) merupakan pin I/O dua arah dan pin fungsi khusus,
yaitu Timer /Counter, komparator analog, dan SPI.
5.
Port C (PC0..PC7) merupakan pin I/O dua arah dan pin fungsi khusus,
yaitu TWI, komparator analog, dan Timer Oscilator.
6.
Port D (PD)..PD7) merupakan pin I/O dua arah dan pin fungsi khusus,
http://digilib.mercubuana.ac.id/
10
yaitu komparator analog, interupsi eksternal dan komunikasi serial.
7.
RESET merupakan pin yang digunakan untuk me-reset mikrokontroler.
8.
XTAL1 dan XTAL2 merupakan pin masukan clock eksternal.
9.
AVCC merupakan pin masukan tegangan untuk ADC.
10. AREFF merupakan pin masukan tegangan referensi ADC.
Gambar 2.4 Pin ATMega 8535
2.2.4 Peta Memori
AVR ATMega8535 memiliki ruang pengalamatan memori data dan
memori program yang terpisah.Memori data terbagi menjadi 3 bagian, yaitu 32
buah register umum, 64 buah register I/O, dan 512 byte SRAM internal.
Register keperluan umum menempati space data pada alamat terbawah,
yaitu $00 sampai $1F. Sementara itu, register khusus untuk menangani I/O dan
control terhadap berbagai peripheral mikrokontroler, seperti control register,
timer/counter, fungsi-fungsi I/O, dan sebagainya. Register khusus alamat
memori secara lengkap dapat dilihat pada table 1.1. alamat memori berikutnya
dapat digunakan untuk SRAM 512 byte, yaitu pada lokasi $60 sampai dengan
$25F. konfigurasi memori data ditunjukkan pada gambar di bawah ini.
http://digilib.mercubuana.ac.id/
11
Register Umum
Alamat
R0
S0000
R1
$0001
R30
Register I/O
$00
$0020
$01
$0021
$3E
$RAM Internal
$0060
$0061
$025E
$025F (RAMEND)
Gambar 2.5 Konfigurasi memori data AVR ATMega 8535
Memori program yang terletak dalam Flash PEROM tersusun dalam
word atau 2 byte karena setiap instruksi memiliki lebar 16-bit atau 32-bit. AVR
ATMega8535 memiliki 4KByteX16-bit Flash PEROM dengan alamat mulai
dari $000 sampai $FFF. AVR tersebut memiliki 12-bit Program Counter (PC)
sehingga mampu mengalami isi Flash.
Gambar 2.6 Memori program AVR ATMega 8535
http://digilib.mercubuana.ac.id/
12
Selain itu, ATMega8535 memiliki memiliki data berupa EEPROM 8-bit
sebanyak 512 byte. Alamat EEPROM dimulai dari $000 sampai $1FF.
Tabel 2.1 Pengalamatan register I/O
http://digilib.mercubuana.ac.id/
13
2.2.5 Status Register (SREG)
Status Register adalah register berisi status yang dihasilkan pada setiap
operasi yang dilakukan ketika suatu instruksi dieksekusi. SREG merupakan
bagian dari inti CPU mikrokontroler.
Gambar 2.7 Status register ATMega 8535
a.
Bit 7-I: Global Interrupt Enable
Bit harus diset untuk meng-enable interupsi. Setelah itu, anda dapat
mengaktifkan interupsi mana yang akan anda gunakan dengan cara mengenable-kan bit control register yang bersangkutan secara individu. Bit akan diclear apabila terjadi suatu interupsi yang dipicu oleh hardware, dan bit tidak
akan mengizinkan terjadinya interupsi, serta akan diset kembali oleh instruksi
RET1.
b.
Bit 6-T:Bit Copy Storage
Instruksi BLD dan BST menggunakan bit-T sebagai sumber atau tujuan
dalam operasi bit. Suatu bit dalam sebuah register GPR dapat disalin ke bit T
menggunakan instruksi BST, dan sebaliknya bit-T dapat disalin kembali ke
suatu bit dalam register GPR menggunakan instruksi BLD.
c.
Bit 5-H:Half Carry Flag
d.
Bit 4-S:Sign Bit
Bit –S merupakan hasil operasi EOR antara flag-N (negative) dan flag V
(komplemen dua overflow)
e.
Bit 3-V:Two’s Complement Overflow Flag
Bit berguna untuk mendukung operasi aritmetika
f.
Bit 2-N:Negative Flag
Apabila suatu operasi mengahasilkan bilangan negative, maka flag-N
akan diset.
g.
Bit 1-Z:Zero Flag
Bit akan diset bila hasil operasi yang diperoleh adalah nol.
http://digilib.mercubuana.ac.id/
14
h.
Bit 0-C:Carry Flag
Apabila suatu operasi menghasilkan carry,bit akan diset.
2.2.6 Analog To Digital Converter (ADC)
ATMega8535 merupakan tipe AVR yang telah dilengkapi dengan 8
saluran ADC internal dengan fidelitas 10 bit. Dalam mode operasinya, ADC
ATMega8535 dapat dikonfigurasi, baik sebagai mode single ended input
maupun differential input. Selain itu, ADC ATMega8535 memiliki konfigurasi
pewaktuan, tegangan referensi, mode operasi, dan kemampuan filter derau
yang sangat fleksibel sehingga dapat dengan mudah disesuaikan dengan
kebutuhan ADC itu sendiri.
2.2.7 Inisialisasi ADC
Proses inisialisasi ADC meliputi proses penentuan clock, tegangan
referensi, format input data, dan mode pembacaan. Register yang perlu diset
nilainya adalah ADMUX (ADC Multiplexer Selection Register), ADCSRA
(ADC Control and Status Register A), dan SFIOR (Special Function IO
Register). ADMUX merupakan register 8 bit yang berfungsi menentukan
tegangan referensi ADC, format data output, dan saluran ADC yang
digunakan. Konfigurasinya seperti pada gambar di bawah ini.
Gambar 2.8 Register ADMUX
Bit penyusunnya dapat dijelaskan sebagai berikut:
a.
REFS[1..0] merupakan bit pengatur tegangan referensi
ADC
ATMega8535. Memiliki nilai awal 00 sehingga referensi tegangan
berasal dari pin AREF. Detail nilai yang lain dapat dilihat pada tabel
dibawah ini.
http://digilib.mercubuana.ac.id/
15
Tabel 2.2 Pemilihan mode tegangan referensi ADC
b.
ADLAR merupakan bit pemilih mode data dan keluaran ADC. Bernilai
awal 0 sehingga 2 bit tertinggi data hasil konversinya berada si register
ADCH dan 8 bit sisanya berada di register ADCL, seperti gambar
dibawah ini. Jika bernilai 1.
Gambar 2.9 Format data ADC dengan ADLAR = 0
Gambar 2.10 Format data ADC dengan ADLAR = 1
c.
MUX[4..0] merupakan bit pemilih saluran pembacaan ADC. Bernilai
awal 00000. Untuk mode single ended input, MUX[4..0] bernilai dari
00000-00111. Berikut table konfigurasi bit MUX.
http://digilib.mercubuana.ac.id/
16
Tabel 2.3 Tabel pemilihan bit saluran pembacaan ADC
ADCSRA merupakan register 8 bit yang berfungsi melakukan
manajemen sinyal kontrol dan status dari ADC. Memiliki susunan seperti
gambar dibawah ini.
Gambar 2.11 Register ADCSRA
Bit penyusunannya dapat dijelaskan sebagai berikut:
a.
ADEN merupakan bit pengatur aktivasi ADC. Bernilai awal 0. Jika
berniali 1 maka ADC aktif.
b.
ADCS merupakan bit penanda mulainya konversi ADC. Bernilai awal 0
selama konversi ADC akan bernilai 1, sedangkan jika konversi telah
selesai, akan bernilai 0.
c.
ADATE merupakan bit pengatur aktivasi picu otomatis operasi ADC
bernilai awal 0. Jikabernilai 1, operasi konversi ADC akan dimulai pada
http://digilib.mercubuana.ac.id/
17
saat transisi positif dari sinyal picu yang dipilih. Pemilihan sinyal picu
menggunakan bit ADTS pada register SFIOR.
d.
ADIF merupakan bit penanda akhir suatu konversi ADC. Bernilai awal 0.
Jika bernilai 1, maka konversi ADC pada suatu saluran telah selesai dan
data siap diakses.
e.
ADIE merupakan bit pengatur aktivasi interupsi yang berhubungan
dengan nilai akhir konversi ADC. Bernilai awal 0. Jika bernilai 1 dan jika
sebuah konversi ADC telah selesai, sebuah interupsi akan dieksekusi.
f.
ADPS[2..0] merupakan bit pengatur clock ADC. Bernilai awal 00.
Detailnya dapat dilihat pada table di bawah ini.
Tabel 2.4 Konfigurasi ADPS[2..0]
SFIOR merupakan register 8 bit pengatur sumber picu konversi ADC
apakah dari picu eksternal atau dari picu internal. Susunanya sebagai berikut:
Gambar 2.12 Register SFIOR
ADITS[2..0] merupakan bit pengatur picu eksternal operasi ADC. Hanya
berfungsi jika bit ADATE pada bit ADCSRA bernilai 1. Bernilai awal 000
sehingga ADC bekerja pada mode free running dan tidak ada interupsi yang
akan dihasilkan. Detail nilai ADTS[2..0] dapat dilihat pada tabel berikut :
http://digilib.mercubuana.ac.id/
18
Tabel 2.5 Pemilihan sumber picu (trigger source) ADC
Untuk operasi ADC, bit ACME, PUD, PSR2 dan PSR10 tidak diaktifkan.
Pembacaan ADC
Dalam proses pembacaan hasil konversi ADC, dilakukan pengecekan
terhadap bit ADIF (ADC Interrupt Flag) pada register ADCSRA, ADIF akan
bernilai satu jika konversi sebuah saluran ADC telah selesai dilakukan dan data
hasil konversi siap untuk diambil, dan demikian sebaliknya. Data disimpan
dalam dua buah register, yaitu ADCH dan ADCL.
Masukan analog ADC tegangan harus lebih besar dari 0 dan lebih kecil
daripada tegangan referensi yang dalam contoh ini tegangan referensi sama
dengan tegangan VCC 5 volt. Masukan ADC dihubungkan dengan konfigurasi
potensio yang dihubungkan dengan VCC dan GND untuk memperoleh rentang
masukan analog ADC dari 0 volt sampai 5 volt. Untuk hasil kalkulasi, ADC
dapat diperoleh dengan rumus berikut:
Hasil konversi ADC= round(vin/vref)*255
Jika dipakai 8 bit ADC, maka rentan output yang mungkin dihasilkan
adalah dari 0-255 (8 bit = 28 = 256), jika masukan analog ADC adalah 0 V
maka keluaran hasil konversi adalah 0. Jika masukan analog sama dengan
tegangan referensi, maka hasil keluaran konversi adalah 255. Dan jika masukan
analog ADC sama dengan tegangan referensi/2 maka hasil konversi adalah
128. Apabila anda menggunakan 10 bit ADC, maka rentang output yang
dihasilkan adalah dari 0 sampai 1023. ADC adalah pengubahan dari sinyal
http://digilib.mercubuana.ac.id/
19
analog ke nilai diskrit sehingga terdapat error pada ADC yang disebut sebagai
error kuantisasi.
2.3
LCD (LIQUID CRYSTAL DISPLAY)
LCD yang digunakan adalah LCD 2x16, di mana LCD ini mempuyai 2 baris
dan 16 kolom. Di mana pada sistem minimum sudah terdapat soket khusus untuk
LCD. Dengan adanya soket ini, LCD dapat terhubung langsung ke mikrokontroler
tanpa rangkaian tambahan apapun dan untuk mengatur kontras dari LCD tersebut
dapat menggunakan trimpot 100K ohm yang ada pada modul sistem minimum.
Konfigurasi soket LCD pada modul telah berurutan dari pin 1 hingga 16,
sehingga pin LCD dapat dihubungkan langsung sesuai dengan nomor pin yang ada
pada soket LCD. Untuk keperluan konfigurasi pin LCD pada program, maka
konfigurasi pin LCD adalah sebagai berikut :
DB 4 : Port C.2
DB 5 : Port C.3
DB 6 : Port C.4
DB 7 : Port C.5
RS : Port C.6
E : Port C.7
http://digilib.mercubuana.ac.id/
20
U2
1
2
3
4
5
6
7
8
14
15
16
17
18
19
20
21
9
12
13
PB0 (XCK/T0)
PB1 (T1)
PB2 (AIN0/INT2)
PB3 (AIN1/OC0)
PB4 (SS)
PB5 (MOSI)
PB6 (MISO)
PB7 (SCK)
PA0 (ADC0)
PA1 (ADC1)
PA2 (ADC2)
PA3 (ADC3)
PA4 (ADC4)
PA5 (ADC5)
PA6 (ADC6)
PA7 (ADC7)
PD0 (RXD)
PD1 (TXD)
PD2 (INT0)
PD3 (INT1)
PD4 (OC1B)
PD5 (OC1A)
PD6 (ICP)
PD7 (OC2)
PC0 (SCL)
PC1 (SDA)
PC2
PC3
PC4
PC5
PC6 (TOSC1)
PC7 (TOSC2)
RESET
VCC
AVCC
AREF
XTAL2
XTAL1
GND
GND
40
39
38
37
36
35
34
33
22
23
24
25
26
27
28
29
10
30
32
+5
R4
100K
JP5
1
3
5
7
9
11
13
15
PC2
PC4
+5
2
4
6
8
10
12
14
16
PC6
PC7
PC3
PC5
Header 8X2
Soket LCD
31
11
ATmega8535-16PI
Gambar 2.13 Interface LCD
http://digilib.mercubuana.ac.id/
Download