BAB II LANDASAN TEORI 2.1. Sensor Suhu dan Kelembaban HSM

advertisement
BAB II
LANDASAN TEORI
2.1. Sensor Suhu dan Kelembaban HSM-20G
Sensor HSM-20G adalah sensor pengukur kelembaban dan temperatur. Dimana wujud
darihumidity tersebut seperti gambar dibawah ini
Gambar 2.1. Sensor HSM-20G
Sensor humidity HSM-20G dimana kelembaban relatif bisa di konversi ke tegangan keluaran
yang standart. Macam- macam dari jenis aplikasi yang dapat digunakan oleh sensor ini adalah
lembab,dan sangat lembab, untuk AC,data loggers kelembaban, automotive climate control, dll.
Sensor ini mempunyai beberapa karekteristik dimana batas input tegangan DC 5±0.2
volt, batas output tegangan adalah sebesar DC 1-3volt, akurasi pengukuran ±5%RH, operasi arus
maksimum 2mA, batas storage RH 0-99%RH, batas operasi RH 20-95%(100%RH intermittent),
kondensasi transient <3%RH, batas storage temperatur -200C - 700C, batas operasi temperatur
00C-500C, hysteresis (RH@250C) maksimal 2%RH, sangat linier, respon waktu (63%
perubahan step) 1 menit. Semua standart alat ini berdasarkan variasi kelembaban di bawah
60%RH pada saat 250C. kelengkapan semua tes-tes yang ada, module ini akan melewati batas
bawah nominal lingkungan. Dan juga kelembaban untuk 24 jam.
Universitas Sumatera Utara
Grafik 1. Kurva Respon HSM-20G Pada 250C (3)
Pada grafik 1 diatas dapat terlihat jelas bagaimana hubungan antara nilai kelembaban dan
tegangan keluaran yang membentuk garis linier karena kelembaban berbanding lurus dengan
tegangan keluaran. Pada table 1 diatas dapat dilihat range atau batas untuk nilai kelembaban pada
sensor ini sebagaimana terlihat bahwa nilai tengan keluaran berbanding lurus dengan persentase
kelembaban. Nilai yang tertera diatas bahwa nilai batas kelembaban maksimum 90%RH dan
batas minimum 10%RH dengan tegangan 0.74volt dan maksimal 3.19 volt.
2.2. Mikrokontroler ATMega 8535
Mikrokontroler merupakan sebuah single chip yang didalamya telah dilengkapi dengan CPU
(Central Prosessing Unit); RAM ( RandomAcces Memory); ROM ( Read only Memory), Input,
dan Output, Timer\ Counter, Serial com port secara spesifik digunakan untuk aplikasi –aplikasi
control dan buka aplikasi serbaguna. Mikrokontroler umumnya bekerja pada frekuensi 4MHZ40MHZ. Perangkat ini sering digunakan untuk kebutuhan kontrol tertentu seperti pada sebuah
penggerak motor. Read only Memory (ROM) yang isinya tidak berubah meskipun IC kehilangan
catu daya. Sesuai dengan keperluannya, sesuai dengan susunan MCS-51. Memory penyimpanan
program dinamakan sebagai memory program.Random Acces Memory (RAM) isinya akan begitu
sirna IC kehilangan catudaya dipakai untuk menyimpan data pada saat program bekerja. RAM
yang dipakai untuk menyimpan data ini disebut sebagai memori data.
Mikrokontroler biasanya dilengkapi dengan UART (Universal Asychoronous
Receiver Transmitter) yaiut port serial komunikasi serial asinkron, USART (Universal
Asychoronous\Asy choronous Receiver Transmitter) yaitu port yang digunakan untuk
komunikasi serial asinkron dan asinkron yang kecepatannya 16 kali lebih cepat dari Uart, SPI (
Universitas Sumatera Utara
Serial Port Interface), SCI ( Serial Communication Interface ), Bus RC ( Intergrated circuit Bus
) merupakan 2 jalur yang terdapat 8 bit, CAN ( Control Area Network ) merupakan standard
pengkabelan SAE (Society of Automatic Enggineers).
Pada system computer perbandingan RAM dan ROM-nya besar, artinya program-program
pengguna disimpan dalam ruang RAM yang relatif besar,sedangkan rutin-rutin antar muka
pernagkat keras disimpan dalm ruang ROM yang kecil. Sedangkan pada mikrokontroler,
perbandingan ROM dan RAM-nya yang besar artinya program control disimpan dalam ROM
yang ukurannya relative lebih besar, sedangkan RAM digunakan sebagai tempat penyimpanan
sedrhana sementara, termasuk register-register yang digunakan pada Microctroller yang
bersangkutan.
Mikrokontroler saat ini sudah dikenal dan digunakan secar luas pada dunia industri.
Banyak sekali penelitian atau proyek mahasiswa yang menggunakan berbagai versi
mikrokontroler yang dapat dibeli dengan harga yang relative murah. Hal ini dikarenakan
produksi misal yang dilakukan oleh para produse chip seperti Atmel, Maxim, dan Microchip.
Mikrokontroler saat ini merupakan chip utama pada hampir setiap peralatan elektronika canggih.
Alat-alat canggih pun sekarang ini sangat bergantung pada kemampuan mikrokontroler tersebut.
Mikrikontroler AVR memilki arsitektur RISC 8 bit, dimana semua instruksi dikemas dalam kode
16-bit (16-bit word) dan sebagian besar instruksi dieksekusi dalam satu siklus clock, berbeda
dengan instruksi CS51 yang membutuhkan siklus 12 clock. Tentu saja itu terjadi karena kedua
jenis mikrokontroler
tersebut memiliki arsitektur yang berbeda. AVRberteknologi RISC
(Reduce Instruction Set Computing), sedangkan seri MCS51 berteknologi CISC (Complex
Instruction Set Computing). Secara umum, AVR dapatdikelompokkan menjadi 4 kelas, yaitu
keluarga AT90Sxx, keluarga ATmega, dan AT86RFxx. Pada dasarnya, yang membedakan
masing-masing kelas adalah memori, peripheral, dan fungsinya. Dari segi arsiektur dan instruksi
yang digunakan, mereka bias dikatakan hampir sama.
2.2.1. Fitur ATMega 8535
Kapabilitas detail dari ATMega8535 adalah sebagai berikut :
1. Sistem mikroprosesor 8 bit berbasis RISC dengan kecepatan maksimal
16MHz.
2. Kapabilitas memori flash 8 KB, SRAM sebesar 512 byte , dan EEPROM (Electrically
Universitas Sumatera Utara
Erasable Programmable Read Only Memory) sebesar 512 byte.
3. ADC internal dengan fidelitas 10 bit sebanyak 8 channel.
4. Portal komunikasi serial (USART) dengan kecepatan maksimal 2,5 Mbps.
5. Enam pilihan mode sleep menghemat penggunaan daya listrik.
2.2.2. Konfigurasi ATMega 8535
Konfigurasi pin ATMega 8535 bisa dilihat pada gambar 2.3. di bawah ini. Dari gambar tersebut
dapat dijelaskan secara fungsional konfigurasi pin ATMega 8535 sebagai berikut:
1. VCC merupakan pin yang berfungsi sebagai pin masukan catu 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 Oscilat.
6. Port D (PD0.. PD7 merupakan pin I/O dua arah dan fungsi khusus, yaitu
komparator analog, interupsi eksternal, 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. AREF merupakan pin masukan tegangan referensi ADC.
Gambar 2.2.Pin ATMega 8535
Universitas Sumatera Utara
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. Selain itu, kedelapan pin port A
juga digunakan untuk masukan sinyal analog bagi A/D coverter.
2. PORT B
Merupakan 8 bit directional port I/O. setiap pinnya dapat menyediakan internal pull-up resistor (
dapat diatur per bit). Output buffer Port B dapat memberi 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
yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Pin-pin port B juga memiliki
untuk fungsi\fungsi alternatif khusus seperti yang terlihat pada tabel berikut.
Tabel 2.1. Konfigurasi Pin Port B ATMega 8535
PORT PIN
FUNGSI KHUSUS
PB0
T0 = timer/ counter 0 external counterinput
PB1
T1 = timer/counter 0 external counter input
PB2
AINO = analog comparator positive input
PB3
AINI =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
Universitas Sumatera Utara
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 memiliki fungsi alternatif sebagai oscilator 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 memberi 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. Selain itu, pin-pin port D juga
memiliki untuk fungsi\fungsi alternatif khusus.
Tabel 2.2.Konfigurasi Pin Port D ATmega8535
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
OC1B (Timer/Counter1 output compareB match output)
PD5
PD6
OC1A (Timer/Counter1 output compareA match
output)
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
Universitas Sumatera Utara
selama minimal 2 machine cycle maka system akan di-reset.
6. XTAL1
XTAL1 adalah masukan ke inverting oscilator amplifier dan input ke internal clock operating
circuit.
7. XTAL2
XTAL2 adalah output dari inverting oscilator 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 operasional ADC, suatu level
tegangan antara AGND dan Avcc harus diberikan ka kaki ini.
10. AGND
AGND adalah kaki untuk analog ground. Hubungkan kaki ini ke GND, kecuali jika board
memiliki analog ground yang terpisah.
2.2.3. Peta Memori
AVR ATMega8535 memilii ruang pengalamatan memori data dan memori programyang
terpisah. Memori data terbagi menjadi 3 bagian, yaitu 32 buah register umum, 64 buah register
I/O, dan 512 byte SRAM Interanal. Register keperluan umum menempati space data pada alamt
terbawah, yaitu $00 sampai $1F. Sementara itu, register khusus untuk menangani I/O dan control
terhadapmikrokontroler menempati 64 alamat berikutnya, yaitu mulai dari $20 hingga $5F.
Register tersebut merupakan register yang khusus digunakan mengatur fungsi terhadap berbagai
peripheral mikrokontroller, seperti contoh register, timer/counter, fungsi-fungsi I/O, dan
sebagainya. Register khusus alamat memori secara lengkap dapat dilihat tabel ini. Alamat
memori berikutnya digunakan untuk SRAM 512 byte, yaitu pada lokasi $60 sampai dengan
$25F. Konfigurasi memori dapat kita ketahui dimana, memori program yang terletak dalam flash
PEROM tersususn dalam word atau 2 byte karena setiap instruksi memiliki lebar 16-bit atau 32bit, AVR ATMega8535 memiliki KByte 12-bit program Counter (PC) sehingga mampu
mengalamati isi flash. Selain itu AVR ATMega8535 juga memiliki memori data berupa
EEPROM 8-bit sebanyak 512 byte. Alamat EEPROM dimulai dari $000sampai $1FF. Dibawah
Universitas Sumatera Utara
ini adalah gambar memori program AVR ATMega8535.
2.2.4. 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.3. Status Register ATMega 8535
1. Bit 7-I: Global Interrupt Enable
Bit harus diset untuk meng-enable interupsi. Setelah itu, dapat kita aktifkan interupsi
mana yang akan digunakan dengan cara meng-enable bit kontrol register yang
bersangkutan secara individu. Bit akan di-clear apabila terjadi suatu interupsi yang dipicu
oleh hardware, dan bit tidak akan mengizinkan terjadinya interupsi, serta akan diset
kembali oleh instruksi RETI.
2. 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.
3. Bit 5-H: Half Carry Flag
4. Bit 4-S: Sign Bit
Bit-S merupakan hasil operasi EOR antara flag-N (negative) dan flag V
(komplemen dua overflow).
5. Bit 3-V: Two’s Complement Overflow Flag
Bit berguna untuk mendukung operasi aritmatika.
Universitas Sumatera Utara
6. Bit 2-N: Negative Flag
Apabila suatu operasi menghasilkan bilangan negatif, maka flag-N akan
diset.
7. Bit 1-Z: Zero Flag
Bit akan diset bila hasil operasi yang diperoleh adalah nol.
8. Bit 0-C: Carry Flag
Apabila suatu operasi menghasilkan carry, maka bit akan diset.
Port I/O pada mikrokontroller ATmega8535 dapat difungsikan sebagai input dan juga
sebagai output dengan keluaran high atau low.Untuk mengatur fungsi portI/O sebagai input
ataupun output, perlu dilakukan setting pada DDR dan port. Logika port I/O dapat diubah-ubah
dalam program secara byte atau hanya bit tertentu. Mengubah sebuah keluaran bit I/O dapat
dilakukan menggunakan perintah cbi (clear bit I/O)untuk menghasilkan output low atau perintah
sbi (set bit I/O)untukmenghasilkan output high. Pengubahan secara byte dilakukan dengan
perintah in atau out yang menggunakan register bantu. I/O merupakan bagian yang paling
menarik dan penting untuk diamati karena I/O merupakan bagian yang bersangkutan dengan
komunikasi mikrokontroller dengan dunia luar. Selain port I/O, bagian ini juga menyediakan
informasi mengenai berbagai peripheral mikrokontroller yang lain, seperti ADC, EEPROM,
UART, dan Timer. Komponen yang tercakup dalam workspace I/O meliputi berbagai register
berikut :
1. AD_CONVERTER; register: ADMUX, ADCSR, ADCH, ADCL
2. ANALOG_COMPARATOR; register: ACSR
3. CPU; register: SREG, SPH, SPL, MCUCR, MCUCSR, OSCCAL, SFIOR,
SPMCR.
4. EEPROM; register: EEARH, EEARL, EEDR, EECR
5. External_Interrupt; register: GICR, GIFR, MCUCR, MCUCSR
6. PORTA; register: PORTA, DDRA, dan PINA
7. PORTB; register: PORTB, DDRB, dan PINB
8. PORTC; register: PORTC, DDRC, dan PINC
9. PORTD; register: PORTD,DDRD, dan PIND
10. SPI; register: SPDR, SPSR, SPCR
Universitas Sumatera Utara
11. TIMER_COUNTER_0; register: TCCR0, TCNT0, OCR0, TIMSK, TIFR,
SFIOR
12. TIMER _COUNTER_1; register: TIMSK, TIFR, TCCR1A, TCCR1B,
TCNT1H, TCNT1L, OCR1AH, OCR1AL, OCR1BL, ICR1H, 1CR1L
13. TIMER_COUNTER_2; register: TIMSK, TIFR, TCRR2, TCNT2, OCR2,
ASSR, SFIOR
14. TWI; register: TWBR, TWCR, TWSR, TWDR, TWAR
15. USART; register: UDR, UCSRA, UCSRB, UCSRC, UBRRH, UBRRL
16. WATCDOG; register: WDTCR
Adapun komponen-komponen yang dapat diamati melalui I/O pada workspace
sebagai berikut :
1. Isi register
- R0 sampai dengan R15
- R16 sampai dengan R13
2. Processor
- Stack pointer
- Program counter
- Cycle pointer
- X_register
- Y_register
- Z_register
- Frequency
- Stop Watch
3. I/O AVR
Adapun Instruksi I/O adalah sebagai berikut :
1. in; membaca data I/O Port atau internal peripheral register{Timers,UART, ke
dalam register}
2. Out; menulis data sebuah register ke I/O Port atau internal peripheral register.
3. Idi (load immediate); untuk menulis konstanta ke register sebelum konstanta
itu dituliskan ke I/O port.
Universitas Sumatera Utara
4. Sbi (set bit in I/O); untuk membuat logika high satu bit I/O register.
5. Cbi ( clear bit in I/O); untuk membuat logika low satu bit I/O register.
6. Sbic (skip if bit in I/O is cleared); untuk mengecek apakah bit I/O register clear.Jika ya, skip
satu perintah dibawahnya.
7. Sbis (skip if bit in I/O is set); untuk mengecek apakah bit I/O register set. Jika
ya, skip satu perintah dibawahnya. Data yang dipakai dalam mikrokontroller ATmega8535
dipresentasikan dalam sistem bilangan biner, desimal, dan bilangan heksadesimal. Data yang
terdapat di mikrokontroller dapat diolah dengan berbagai operasi aritmatik (penjumlahan,
pengurangan, dan perkalian)maupun operasi nalar (AND, OR, dan EOR /eksklusif OR).
AVR ATmega8535 memiliki tiga buah timer, yaitu:
1. Timer/counter 0 (8 bit)
2. Timer/ counter 1 (16 bit)
3. Timer/counter 2 (8 bit)
Karena ATmega8535 memiliki 8 saluran ADC maka untuk keperluan konversi sinyal analog
menjadi data digital yang berasal dari sensor dapat langsung dilakukan prosesor utama. Beberapa
karakteristik ADC internal ATmega8535 adalah
1. Mudah dalam pengoperasian.
2. Resolusi 10 bit.
3. Memiliki 8 masukan analog.
4. Konversi pada saat CPU sleep.
5. Interrupt waktu konversi selesai.
2.2.5. Program Code-Vision AVR
Untuk mengaktifkan micro sistem akuisisi data, penerima sinyal control dan sistem transmisi
data maka terlebih dahulu mikrokontroller tersebut diberi program dengan cara mendownload
program yang terlebih dahulu kita buat dengan bahasa C pada CodeVisionAVR.
Universitas Sumatera Utara
Gambar 2.4. Form pembuatan program micro chip (CodeVisionAVR).
Software CodeVision AVR merupakan C Compiler untuk mikrokontroler AVR. Pada
CodeVision telah disediakan editor yang berfungsi untuk membuat program dalam bahasa C,
setela melakukan proses kompilasi kita dapat mengisikan program yang telah dibuat ke dalam
memory pada mikrokontroler menggunakan programmer yang telah disediakan oleh CodeVision
AVR. Programmer yang didukung oleh CodeVision Programmer Cable dapat diintegrasik
dengan CodeVision AVR, terlebih dahulu harus dilakukan konfigurasi sebagai berikut:
-Jalankan Software CodeVision AVR. -Pilih menu Setting . Programmer.
-Pilih tipe programmer
-Lalu klik tombol OK.
Catatan: Proses ini hanya dapat dilakukan pada saat ada project yang telah dibuat atau dibuka.
Tekan Shift+F9, download ke target board dengan cara klik pada tombol Program.
Universitas Sumatera Utara
2.2.6. Perancangan Rangkaian LCD (Liquid Crystal Display)
Pada alat ini, display yang digunakan adalah LCD (Liquid Crystal Display) 16 x 2. Untuk blok
ini tidak ada komponen tambahan karena mikrokontroler dapat memberi data langsung ke LCD,
pada LCD Hitachi - M1632 sudah terdapat driver untuk mengubah data ASCII output
mikrokontroler menjadi tampilan karakter. Pemasangan potensio sebesar 5 KΩ untuk mengatur
kontras karakter yang tampil.
Gambar 2.5. Rangkaian LCD
Rangkaian ini terhubung ke PB.0 .... PB.7, yang merupakan pin I/O dua arah dan pin
fungsi khusus, yaitu sebagai Timer/Counter, komperator analog dan SPI mempunyai fungsi
khusus sebagai pengiriman data secara serial. Sehingga nilai yang akan tampil pada LCD display
akan dapat dikendalikan oleh Mikrokontroller ATMega8535.
Universitas Sumatera Utara
Download