Anda di halaman 1dari 7

1

Pemantau dan Penjaga Kestabilan Suhu Ruangan


Menggunakan Mikrokontroler
Rifki Yafi (13117049)
Program Studi Teknik Elektro
Institut Teknologi Sumatera, Jalan Terusan Ryacudu Lampung Selatan 35365, Indonesia
rifki.13117049@student.itera.ac.id

Abstrak—Telah dilakukan suatu percobaan mengenai II. LANDASAN TEORETIS


Analog to Digital Converter. ADC merupakan pengubah
input analog menjadi kode-kode digital atau dapat A. Sensor Suhu LM35DZ
disimpulkan ADC ini mengubah nilai suatu masukan yang
berupa arus, tegangan listrik, atau sinyal analog lainnya Sensor Suhu LM35DZ adalah komponen elektronika
menjadi sinyal digital angka. Umumnya ADC digunakan yang memiliki fungsi untuk mengubah besaran suhu
sebagai perantara antara sensor yang kebanyakan analog menjadi besaran listrik dalam bentuk tegangan. Sensor
dengan sistem komputer seperti sensor suhu, cahaya,
tekanan/berat, aliran, dan sebagainya kemudian diukur
Suhu LM35DZ yang dipakai dalam penelitian ini berupa
dengan menggunakan sistem digital (komputer). Resolusi komponen elektronika elektronika yang diproduksi
ADC menentukan ketelitian nilai hasil konversi ADC. oleh National Semiconductor. Sensor Suhu LM35DZ
Tujuan dilakukan praktikum ini agar praktikan mampu memiliki keakuratan tinggi dan kemudahan perancangan
menggunakan ADC pada AVR ATMega 8535 untuk jika dibandingkan dengan sensor suhu yang lain,
mengkonversi input tegangan dan temperature analog LM35DZ juga mempunyai keluaran impedansi yang
menjadi nilai digital. Kemudian praktikan dapat mampu rendah dan linieritas yang tinggi sehingga dapat dengan
membuat suatu program untuk mengubah hasil konversi mudah dihubungkan dengan rangkaian kendali khusus
dalam satuan biner menjadi satuan BCD dan dikirimkan
serta tidak memerlukan penyetelan lanjutan. Meskipun
ke PC melalu komunikasi USART.
tegangansensorini dapat mencapai 30 volt akan tetapi
KataKunci—ATMega 8535, Sensor, Suhu, LM35DZ yang diberikan ke sensor adalah sebesar 5 volt,
USART, AVR ATMega 8535, ADC, Analog, Digital sehinggadapat digunakan dengan catu daya tunggal
dengan ketentuan bahwa LM35DZ hanya membutuhkan
arus sebesar 60µA hal ini berarti LM35DZ mempunyai
kemampuan menghasilkan panas (self- heating) dari
I. PENDAHULUAN sensor yang dapat menyebabkan kesalahan pembacaan
yang rendah yaitu kurang dari 0,5ºC pada suhu 25 ºC.

P ada zaman era modern ini, perkembangan teknologi


elektronika berkembang dengan pesat. Salah satu
komponen elektronika yang berkembang pesat
tersebut adalah sensor dan pengendali mikro single-
board. Meskipun terdapat beraneka ragam sensor,
kebanyakan sensor suhu memiliki rentang terukur yang
sempit serta akurasi yang rendah namun memiliki biaya
yang tinggi. Disamping itu, terdapat banyak pengendali
mikro single-board yang tidak berbasis opensource
sehingga sangat sulit untuk membuatnya.Oleh karena itu,
dalam penelitian pembuatan alat ini penulis
menggunakan sensor suhu dengan kode LM35 dengan
tipe LM35DZ, dimana range suhu yang terukurnya
Gambar 1: Sensor Suhu LM35DZ
cukup lebar dan memiliki akurasi yang cukup tinggi serta
tergolong ekonomis.

Serta penulis juga menggunakan Arduino uno yang Gambar diatas menunjukan bentuk dari LM35DZ tampak
merupakan pengendali mikro single-board yang bersifat depan dan tampak bawah. 3 pin LM35DZ menujukan
open-source dan LCD sebagai display. Dalampenelitian fungsi masing-masing pin diantaranya, pin1 berfungsi
ini penulis membuat sebuah alat pemantau dan penjaga sebagai sumber tegangan kerja dari LM35DZ, pin 2 atau
kestabilan suhu ruangan dengan menggunakan tengah digunakan sebagai tegangan keluaran atau Vout
mikrokontroler arduino uno yang akan ditampilkannya dengan jangkauan kerja dari 0 Volt sampai dengan
dengan menggunakan LCD dan log suhu akan tersimpan 1,5Volt dengan tegangan operasi sensor LM35DZ yang
di memori. Berdasarkan latar belakang tersebut, maka dapat digunakan antar 4 Volt sampai 30Volt.
dibuatlah Tugas Besar ini dengan judul ―Pemantau
dan penjaga kestabilan suhu miniatur ruangan
menggunakan mikrokontroler.
2

B. ATMega 8535 bahasa assembly sebagai bahasa perantaranya. Selain


AVR studio, ada beberapa software pihak ketiga yang
dapat digunakan untuk membuat program pada AVR.
Software dari pihak ketiga ini menggunakan bahasa
pemrograman tingkat tinggi seperti bahasa C, Java, atau
Basic. Untuk melakukan pemindahan dari komputer
kedalam chip, dapat digunakan beberapa cara seperti
menggunakan kabel JTAG atau menggunakan STNK
Gambar 2: ATMega 8535
buatan Atnel.
ATMega 8535 merupakan salah satu mikrokontroler 8
C. Konfigurasi ADC
bit buatan Atmel untuk keluarga AVR yang diproduksi
secara massal pada tahun 2006. Karena merupakan ADC Multiplexer Selection Register
keluarga AVR, maka ATMega 8535 juga menggunakan
arsitektur RISC. Secara singkat, aplikasi ATMega 8535
memiliki beberapa kemampuan:

a. Sistem Mikrokontroler 8 bit berbasis RISC


dengan kecepatan maksimal 16MHz.
b. Memiliki memori flash 8Kb, SRAM sebesar
512 byte dan EEPROM (Electrically Erasable
Programmable Read Only Memory) sebesar ADC Control and Status Register A
512 byte.
c. Memiliki ADC (pengubah analog-digital)
internal dengan ketelitian 10 bit sebanyak 8
saluran. ADC Data Register ADCL and ADCH, ADLAR=0
d. Memiliki PWM (Pulse Width Modulation)
internal sebanyak 4 saluran.
e. Portal komunikasi serial (USART) dengan
kecepatan maksimal 2.5Mbps.
f. Enam pilihan mode sleep untuk menghemat
penggunaan daya listrik.
ADC Data Register ADCL and ADCH, ADLAR=1
Mikrokontroler ATMega 8535 memiliki 40 pin untuk
model PDIP, dan 44 poin untuk model TQFP dan PLCC.
Nama-nama pin pada mikrokontroler ini adalah:
a. VCC untuk tegangan pencatu daya positif.
b. GND untuk tegangan pencatu daya negatif.
Special Function IO Register
c. Port A (PA0-PA7) sebagai port input-output
dan memiliki kemampuan lain yaitu sebagai
input ADC.
d. Port B (PB0-PB7) sebagai port input-output dan
memiliki kemampuan yang lain. Pada ADC hasil konversi untuk single ended input dapat
e. Port C (PC0-PC7) sebagai port input-output dihitung dengan menggunakan persamaan berikut ini:
untuk ATMega 8535.
f. Port D (PD0-PD7) sebagai port input-output
VIN 1024
dan memiliki kemampuan yang lain. ADC 
g. RESET untuk melakukan reset program dalam VREF
mikrokontroler.
h. XTAL1 dan XTAL2 untuk input pembangkit
sinyal clock. Perubahan hasil konversi persatu LSB pada ADC 10-bit
i. AVCC untuk pin masukkan tegaangan pencatu dapat dihitung dengan menggunaakn rumus dengan
daya untuk ADC. VREF  5V
j. AREF untuk pin tegangan referensi ADC.
Untuk melakukan pemrograman dalam mikrokontroler VREF
AVR, Atmel telah menyediakan software khusus yang ILSB 
dapat diunduh dari website resmi Atmel. Software 2n  1
tersebut adalah AVRStudio. Software ini menggunakan
3

D. ADC (Analog to Digital Converter) ground. Pin 20 harus dihubungkan dengan catu daya
+5V. A/D ini mempunyai dua buah ground, A GND ( pin
Analog to Digital Converter (ADC) adalah pengubah 8 ) dan D GND ( pin 10). Keduanya harus dihubungkan
atau pengkonversi sinyal dari sinyal Analog ke Digital, dengan catu daya, sebesar +5V. Pada A/D 0804
yang jadi pertanyaan adalah kenapa sinyal analog merupakan tegangan referensi yang digunakan untuk
tersebut harus di ubah ke sinyal digital? Yaitu agar sinyal offset suatu keluaran digital maksimum. A/D ini dapat
analog tersebut bisa dibaca sebagai data dan kalo sudah dirangkai untuk menghasilkan konversi secara kontinu.
dalam bentuk data maka kita dapat dengan mudah Untuk melaksanakannya, kita harus menghubungkan CS,
mengolah data tersebut didalam perangkat digital. dan RD ke ground dan menyambungkan WR dengan
INTR seperti pada gambar dibawah ini. Maka dengan ini
E. Karakteristik Dasar ADC keluaran digital yang kontinu akan muncul, karena sinyal
INTR menggerakkan masukan WR. Pada akhir konversi
INTR berubah menjadi low, sehingga keadaan ini akan
mereset konverter dan mulai konversi.

F. Parameter-parameter penting pada ADC


 Resolusi Konversi ADC
Resolusi konversi dari sebuah konverter analog ke digital
adalah, dimana kita dapat mengkonversikan data analog
kedalam bit-bit digital tersebut, apakah data analog
Gambar 3: Konfigurasi PIN ADC080x tersebut akan dikonversikan ke dalam data 8bit, 16 bit
atau 32bit, ini tergantung keinginan si perancang design
Konverter A/D tersedia secara komersial tersedia sebagai dan tergantung dari kekompatibelan device yang nanti
rangkaian terpadu dengan resolusi 8bit, 16 bit sampai
akan di interface kan. Misalkan ingin meng interface kan
dengan 32 bit. Pada pembahasan kali ini kita akan coba
jelaskan mengenai perbedaan dari bit resolusi tersebut, ADC dengan mikrokontroller maka harus dilihat support
pada ADC0801, yaitu sebagai sebuah konverter A/D 8 untuk berapa bit kah mikrokontroller tersebut?, dan
bit yang mudah diinterfacekandengan sistem berbasis 8 biasanya mikrokontroller support untuk ADC dengan
bit misalkan mikrokontroller. Analog to Digital resolusi 8 bit.
Converter ini menggunakan metode approksimasi
berturut-turut untuk mengkonversikan masukan analog  Time Konversi
(0-5V) menjadi data digital 8 bit yang ekivalen. Time konversi atau waktu konversi adalah waktu yang
ADC0801 mempunyai pembangkit clock internal dan
dibutuhkan oleh ADC untuk mengkonversi data analaog
memerlukan catu daya +5V dan mempunyai waktu
konversi optimum sekitar 100us. Diagram konfigurasi ke digital, untuk menentukan time konversi ini tentunya
pin ADC0804 ditunjukkan pada gambar 1. Pin 11 sampai kita harus melihat di datasheet nya, dan harus dilihat
18 ( keluaran digital ) adalah keluaran tiga keadaan, yang untuk kebutuhan seperti apa.
dapat dihubungkan langsung dengan bus data bilamana
diperlukan. Apabila CS ( pin 1 ) atau RD (pin2) dalam Time konversi semakin tinggi mungkin semakin baik,
keadaan high (“1”), pin 11 sampai 18 akan mengambang tetapi harus didukung pula untuk interface nya seperti
( high impedanze ), apabila CS dan RD rendah
apa, missal untuk mikrokontroller yang support untuk
keduanya, keluaran digital akan muncul pada saluran
keluaran. time lebih besar maka tidak akan cocok bila
menggunakan ADC dengan Time yang lebih besar,
Sinyal mulai konversi pada WR (pin 3). Untuk memulai penentuan time konversi ini perlu disesuaikan dengan
suatu konversi, CS harus rendah. Bilamana WR menjadi design interface nya seperti apa. Jika semua device nya
rendah, konverter akam mengalami reset, dan ketika WR mendukung untuk time yang lebih cepat maka dengan
kembali kepada keadaan high, konversi segera dimulai.
menggunakan ADC yang time nya lebih cepat itu akan
Konversi detak konverter harus terletak dalam daereh
frekuensi 100 sampai 800kHz. CLK IN ( pin 4) dapat menjadi lebih baik.
diturunkan dari detak mikrokontroller, sebagai
kemungkinan lain, kita dapat mempergunakan G. Converter
pembangkit clock internal dengan memasang rangkaian Alat bantu digital yang paling penting untuk teknologi
RC antara CLN IN ( pin 4) dan CLK R ( pin 19).Pin 5 kontrol proses adalah yang menerjemahkan informasi
adalah saluran yang digunakan untuk INTR, sinyal digital ke bentuk analog dan juga sebaliknya. Sebagian
selesai konversi. INTR akan menjadi tinggi pada saat besar pengukuran variabel-variabel dinamik dilakukan
memulai konversi, dan akan aktiv rendah bila konversi oleh piranti ini yang menerjemahkan informasi mengenai
telah selesai. Tepi turun sinyal INTR dapat dipergunakan vaiabel ke bentuk sinyal listrik analog. Untuk
untuk menginterupsi sistem mikrokontroller, supaya menghubungkan sinyal ini dengan sebuah komputer atau
mikrokontroller melakukan pencabangan ke subrutine rangkaian logika digital, sangat perlu untuk terlebih
pelayanan yang memproses keluaran konverter. Pin 6 dahulu melakukan konversi analog ke digital (A/D).
dan 7 adalah masukan diferensial bagi sinyal analog.
A/D ini mempunyai dua ground, A GND (pin 8) dan D
GND ( pin10). Kedua pin ini harus dihubungkan dengan
4

III. PERANCANGAN PERANGKAT KERAS DAN Flowchart Percobaan B


LUNAK

A. Studi Literatur
Mempelajari tentang pemprograman sofware ATMega
8535 dalam penunjang software aplikasi sistem kendali
dan tentang desain rangkaian. Selain itu mempelajari
tentang teknik interface antara input dan output ATMega
8535 dengan sensor suhu LM35DZ sebagai input-output
pada tampilan di LCD pada software Hyperterminal.

B. Perancangan Sistem
Rangkaian pemantau dan penjaga suhu ruangan berbasis
microcontroller dirancang sebagai sistem kontrol yang
bekerja secara otomatis dengan lup tertutup (otomatic
clossed-loop control system). Sistem ini berfungsi
sebagai penstabil suhu ruangan yang bekerja otomatis
berdasarkan set point suhu yang telah ditentukan. Sistem
microcontroller berfungsi sebagai pengendali agar
mendapatkan suatu masukan set-point suhu dari program
yang telah diupload kedalamnya. Berikut flowchart dari
masing-masing percobaan ini

Flowchart Percobaan A

Flowchart Percobaan C
5

Rangkaian Percobaan A IV. HASIL DAN ANALISIS

A. Pengukuran Suhu Dengan LM35DZ


Pada percobaan ini praktikan mencoba untuk mengetahui
suhu ruangan dengan menggunakan sensor suhu seri
LM35DZ yang akan ditampilkan pada Hyperterminal.
Dengan menggunakan script atau source code pada
percobaan 1 maka hasil output pada Hyperterminal akan
mengeluarkan hasil seperti berikut:

Gambar 4: Pengukuran Suhu Dengan LM35DZ

Rangkaian Percobaan B

Gambar 7: Output Hyperterminal Suhu

Pada percobaan kali ini hasil pada ADC0 atau yang


terhubung dengan sensor suhu dan PA0 pada board
ATMega memiliki keluaran suhu yang berbeda-beda. Hal
ini karena suhu ruangan yang tidak mungkin konstan
dengan faktor hembusan angin dll yang membuat dingin
atau faktor lainnya. Pada hasil output Hyperterminal
diatas, hasil output pada ADC0 menunjukkan 2 variasi
perbedaan suhu yaitu 28,42˚C dan 28,91˚C. Jika output
tersebut dirata-ratakan, maka diperoleh sebesar 28,60˚C.
Keterangan suhu 28,60˚C merupakan rata-rata suhu
ruangan pada laboratorium saat praktikan melakukan
percobaan praktikum.
Gambar 5: Mengukur Tegangan Output LDR
B. Mengukur Tegangan Output LDR
Rangkaian Percobaan C Pada percobaan ini, praktikan mencoba untuk
mengetahui tegangan keluaran yang terjadi saat sensor
cahaya atau LDR ini terkena berbagai intensitas cahaya
ketika disorotkan ke permukaan sensor. Percobaan
diantaranya melakukan dengan cahaya sekitar,
melakukan dengan flash atau cahaya yang terang,
melakukan dengan menutup permukaan sensor atau
cahaya yang gelap gulita. Sehingga menghasilkan data
percobaan sebagai berikut:

Gambar 6: Modifikasi Tugas 1 dan Tugas 2

Gambar 8: Output Hyperterminal Tegangan


6

Pada percobaan ini hasil output tegangan pada ADC1 SFIOR&=0xEF; //Sumber trigger : Free Running mode
memiliki nilai yang bervariasi, hanya saja disini hasil // Inisialisasi USART 8-N-1 dengan baud rate 9600
output menunjukkan satuan tegangan (volt). Yang berarti bps(4MHz)
UCSRA=0x00;
ini adalah nilai dari sensor cahaya. Terdapat berbagai
UCSRB=0x18;
output tegangan dengan penjelasan: UCSRC=0x86;
± 4,31 V adalah keadaan saat terang menggunakan flash UBRRH=0x00;
smartphone dimana permukaan sensor ditembakkan UBRRL=0x19;
cahaya yang berlebih agar menghasilkan keluaran while (1)
tegangan sekecil mungkin. {
for (i=0; i<= strlenf(string1)-1; i++)
± 4,57 V adalah keadaan cahaya sekitar laboratorium {
dimana cahaya dilaboratorium ini sangat tidak konstan temp=string1[i];
hal ini karena banyaknya faktor yang memengaruhi salah putchar(temp); //Kirim temp ke USART
satunya adanya bayangan dari praktikan yang menutupi }
hasil=read_adc(adc_input1); //Baca tegangan pada pin
cahaya yang masuk ke LDR tersebut.
ADC0
± 4,92 V adalah keadaan dimana tidak adanya cahaya hasil=hasil*49; //Hasil pembacaan dikalikan dengan 1
yang masuk ke sensor dimana sensor LDR benar-benar LSB
hasil=bin2BCD(hasil); //Konversi hasil ADC ke format
ditutupi oleh tangan praktikan agar tidak ada cahaya
BCD
sedikitpun yang dapat menembus ke sensor. Mengapa 5 temp=(hasil>>16 & 0x0F)+0x30; //Ubah format BCD ke
volt, karena tegangan masukan pada sensor adalah 5 volt ASCII
DC membuat tegangan maksimum pada ldr adalah temp=(hasil>>12 & 0x0F)+0x30;
seperti itu adanya. putchar(temp); //Kiirim ASCII ke USART
temp=(hasil>>8 & 0x0F)+0x30;
C. Modifikasi Tugas 1 dan Tugas 2 putchar(temp);
putchar(',');
Pada percobaan ini praktikan merangkai sebuah temp=(hasil>>4 & 0x0F)+0x30;
rangkaian agar kedua sensor dapat bekerja bersamaan putchar(temp);
dengan menghubungkan V(+) kedua sensor ke tegangan temp=(hasil & 0x0F)+0x30;
input 5 VCC DC dan V(-) ke ground pada board putchar(temp);
ATMega dan menggabungkan atau memodifikasi script putchar(' ');
putchar('C');
pada percobaan 1 dan 2 agar sensor dapat terbaca pada
putchar(0x0D);//Kirim ENTER pada terminal untuk baris
Hyperterminal dengan keluaran suhu dan juga baru
tegangannya juga. Maka hasil output yang keluar akan putchar(0x0A);
seperti berikut ini: delay_ms(1000);
//TEGANGAN
for (i=0; i<= strlenf(string2)-1; i++)
{
temp=string2[i];
putchar(temp); //Kirim temp ke USART
}
hasil=read_adc(adc_input2); //Baca tegangan pada pin
ADC1
hasil=hasil*49; //Hasil pembacaan dikalikan dengan 1
LSB
hasil=bin2BCD(hasil); //Konversi hasil ADC ke format
BCD
temp=(hasil>>16 & 0x0F)+0x30; //Ubah format BCD ke
Gambar 9: Output Hyperterminal Tegangan dan Suhu ASCII
putchar(temp); //Kiirim ASCII ke USART
Berikut cuplikan script yang dimodifikasi, sebagai putchar(',');
berikut: temp=(hasil>>12 & 0x0F)+0x30;
flash unsigned char string1[]= {"Hasil pada ADC0 : "}; putchar(temp);
flash unsigned char string2[]= {"Hasil pada ADC1 : "}; temp=(hasil>>8 & 0x0F)+0x30;
void main(void) putchar(temp);
{ putchar(' ');
unsignedchar i,temp,adc_input1=0x00,adc_input2=0x01; putchar('V');
DDRA=0x00; temp=(hasil>>4 & 0x0F)+0x30;
//Tegangan referensi ADC : pin AREF temp=(hasil & 0x0F)+0x30;
ADMUX=ADC_VREF_TYPE; putchar(0x0D); //Kirim ENTER pada terminal untuk
//Inisialisai ADC (Enable ADC) baris baru
//Frekuensi clock ADC : 31.250 kHz (4MHz/128) putchar(0x0A);
ADCSRA=0x87; delay_ms(1000);
7

}
} REFERENSI

Pada script modifikasi ini praktikan mengubah flash [1] Dhananjay V. Gadre. 2001. “Programming and Customizing The
unsigned agar pada Hyperterminal tulisan akan berbeda AVR Microcontroller”. New Delhi:Mc-Graw-Hill
dari sebelumnya. Kemudian praktikan menambah
[2] Kenneth J. Ayala. 1991. “The 8051 Microcontroller”. New
adc_inputx untuk mengeluarkan hasil pada tegangan York:West Publishing Company
LDR. Praktikan selanjutnya menambahkan fungsi for
pada LDR kedalam fungsi while. [3] Ronald J. Tocci, etc. 2001.”Digital Systems Principles and
Applications, Eight Edition”. New Jersey: Prenctice Hall

[4] Alan S. Morris. 2001. “Measurement and Instumentation


V. SIMPULAN Principles”. Butterworth: Heinemann

Dari hasil percobaan diaatas dapat disimpulkan sebagai [5] Jacob Fraden. 2004. “Handbook of Modern Sensors: Physics,
berikut : Designs, and Applications”. Springer Verlag

1. ATMega8535 merupakan salah satu mikrokontroler


8 bit buatan Atmel untuk keluarga AVR yang
diproduksi secara massal pada tahun 2006.
2. Nilai DDRB harus diisi nilai untuk seluruh bitnya,
artinya diisi 0xFF jika PORT B bernilai „1‟, maka
LED akan mati. Namun, jika nilai register DDRB
diset nol atau 0x00 yang bearti seluruh PORT B
bernilai „0‟, maka LED akan menyala.
3. Resistor Pull-up berfungsi untuk memaksa nilai pin
selalu „1‟ atau HIGH ketika tidak ada input yang
masuk.
4. Output pada ATMega 8535 dapat diset/diatur
dengan cara mengeset nilai register yang berkaitan
dengan output tersebut yg dapat direpresentasikan
dari bilangan decimal ke bilangan hexa, kemudian
bilangan hex di ubah kedalam bentuk bilangan
biner yaitu “0” dan “1”.
5. Loop akan berlangsung selama tak hingga karena
variabel syarat looping selalu bernilai satu. Loop
akan berguna untuk mengulangi tiap siklus nyala
matinya LED.
6. Semakin besar suatu nilai clock yang terdapat pada
ATMega 8535, maka delay yang dihasilkan akan
semakin lama. Namun sebaliknya, jika semakin
kecil suatu nilai clock maka delay yang dihasilkan
akan semakin cepat.

Anda mungkin juga menyukai