Anda di halaman 1dari 18

PERANCANGAN SISTEM PENGUKUR SUHU MENGGUNAKAN

SENSOR LM35 BERBASIS MIKROKONTROLER AVR ATMEGA 8535

1.1 Blok Diagram Sistem


Gambar dibawah ini merupakan gambar blok diagram dari sistem pengukuran suhu
menggunakan LM35 berbasis mikrokontroler ATmega 8535.

Catu daya

Minimum Sistem
Sensor LM 35 Display LCD
ATmega 8535

Gambar 1.1 Blok diagram sistem pengukur suhu

Dari diagram blok diatas terdiri dari beberapa komponen diantarannya :


A. Power supply , merupakan perangkat yang memberikan sumber energi ke rangkaian
Minimum sistem dan komponen pendukung lainnya.
B. Sensor LM35 merupakan perangkat yang digunakan untuk mengukur suhu
C. Minimum sistem mikrokontroler ATmega 8535 merupakan perangkat yang
digunakan sebagai pusat pengelolaan informasi
D. LCD tipe 16 x 2 (16 kolom 2 baris) merupakan display yang digunakan untuk
menampilkan huruf,angka, atau simbol-simbol tertentu

Dari beberapa komponen diatas dapat dijelaskan prinsip kerja lebih lanjut sebagai berikut :

1.2 Rangkaian Power Supply

Supply yang digunakan pada perancangan sistem pengukur suhu menggunakan


sumber energi 220 V AC dengan menggunakan rectifier (adaptor) tegangan disearahkan
dan diturunkan menjadi 12 V DC

Pada rangkaian elektronik diperlukan bagian power supply untuk menurunkan


tegangan +12 V menjadi tegangan level rendah yaitu sebesar +5V. Tegangan level rendah
akan dibutuhkan untuk memenuhi supply tegangan mikrokontroller yaitu 200 mA 5V
ditambah LED indikator sekitar 15 mA sehingga total 215 mA. Skematik rangkaian yang di
rancang untuk menurunkan tegangan +12 V menjadi +5V adalah sebagai berikut:

6A

12 Vdc
1
2
T IP 4 2 C
2 2 0 0 u F /5 0 v
Vcc
2 2 0 0 u F /5 0 v + +
1 o h m 1 w a tt 220 ohm
H EAD ER 2
0 0 0 D 22 0
U 1 LED
1 2
V IN VO U T

L M 7 8 0 5 /T O
0

Gambar 1.2 Skematik Rangkaian power supply

Pada skematik rangkaian power supply di atas terdapat diode yang berfungsi
sebagai pengaman apabila terjadi humanerror yaitu berupa kesalahan pemasangan kutup
adaptor, kesalahan pemasangan adaptor dapat mengakibatkan rusaknya seluruh
komponen elektronika akibat terbaliknya polaritas tegangan. Perancangan sumber
tegangan +5V digunakan regulator LM 7805, LM 7805 Merupakan IC regulator tegangan
positif yang bekerja dengan keluaran tegangan tetap, masukan tegangan maksimal pada
25 V dan memiliki arus keluaran 1A, IC regulator ini memiliki fasilitas pembatas arus dan
thermal shutdown yang melindunginya dari kelebihan beban. Karena IC LM 7805 hanya
memiliki arus keluaran 1A sedangkan yang dibutuhkan oleh beban kemungkin lebih maka IC
ini dihubungkan dengan komponen transistor TIP42C yang berfungsi sebagai penguat arus.
Pada masa riset tidak jarang perancang menggunakan sumber tegangan AC yang tentu
saja dipakai setelah melewati rectifier sehingga dipasang kapasitor pada rangkaian power
supply sebagai filter sedangkan untuk indikator tegangan dipasang sebuah LED warna
merah.

1.3 Mikrokontroller ATMega 8535

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 Menggunakan RISC(reduced instruction set computing), sedangkan MCS51
berteknologi CISC(complex instruction set computing). Secara umum, AVR dapat
dikelompokkan dalam 7 kelas, yaitu keluarga ATTiny, keluarga AT90Sxx, keluarga ATMega,
keluarga ATXMega, keluarga ATUSBxx, keluarga ATPWMxx dan AT86RFxx. Pada
dasarnya yang membedakan masing-masing kelas adalah memori, peripheral dan
fungsinya. Salah satu mikrokontroler AVR yang sering dipakai adalah ATMega 8 dan
ATMega 8535.

1.4 Karakteristik ATmega 8535


Prosesor yang digunakan sebagai pengendali utama robot adalah 8 bit
mikrokontroler dari keluarga AVR, yaitu ATmega8535. Alasan penggunaan mikrokontroler
ini adalah karena harga yang relatif murah, mudah diperoleh, kemudahan dalam
pemrograman, dan fitur-fitur menarik yang dimilikinya. Beberapa karakteristik dan fitur yang
dimiliki mikrokontroler ATMega8535 antara lain:

1) Resolusi data 8 bit.


2) RISC arsitektur.
3) 8 K byte In System Programmable Flash.
4) 512 Bytes EEPROM.
5) 512 Bytes SRAM internal.
6) 8 channel, 10 bit resolusi ADC.
7) 4 channel PWM.
8) 2 timer/counter 8 bit.
9) 1 timer/counter 16 bit.
10) Osilator internal yang dikalibrasi.
11) Internal dan eksternal sumber interrupt.
12) 6 mode sleep.

1.5 ATmega 8535 memiliki bagian struktur bagian sebagai berikut :

1) Saluran I/O 32 buah, yaitu Port A, Port B, Port C, dan Port D.


2) Tiga buah Timer/Counter dengan kemampuan perbandingan.
3) CPU yang terdiri atas 32 buah register.
4) Memori Flash sebesar 8 kb dengan kemampuan Read While Write.
5) Unit interupsi internal dan eksternal.
6) Port antarmuka SPI
7) EEPROM sebesar 512 byte yang dapat diprogram saat operasi.
8) Antarmuka komparator analog.
9) Port Usart untuk komunikasi serial
Mikrokontroler ATMega 8535 mempunyai tugas mengendalikan seluruh sistem.
Untuk dapat berfungsi sesuai dengan yang diharapkan maka programmer harus
mempogram mikrokontroller dengan algoritma yang telah dirancang. Dalam proses
pemograman, mikrokontroller menerima program dalam format heksadesimal dari komputer
dan menyimpannya dimemori flash. Berikut merupakan rangkaian mikrokontroller ATMega
8535

Gambar 1.3 Skematik Rangkaian sistem minimum

Pada rangkaian di atas terdapat beberapa komponen yang dihubung dengan


mikrokontroller, komponen tersebut merupakan komponen minimal yang wajib dipasang
supaya mikrokontroller dapat bekerja. Oscillator yang dipasang berfungsi sebagai clock
speed untuk mode kerja mikrokontroller sedangkan Pin reset pada mikrokontroller
dihubungkan pada resistor dan kapasitor, bila push botton ditekan minimal selama 1,5 us
maka pin reset akan bekerja karena mendapatkan pulsa rendah (aktif low ).

1.6 Tata Letak Penempatan Komponen Mini Trainer ATmega 8535

Serial USART
Power Supply

PINA.0
Led PORTB

Saklar PORTA

LCD PORTC

Gambar 1.4 Mini Trainer ATmega 8535

Keterangan :

 PORTA = Merupakan port I/O 8-bit dua arah dengan resistor pull-up internal,
selain sebagai Port I/O 8-bit Port A juga dapat berfungsi sebagai masukan 8
channel ADC,PORTA berisi 8 buah saklar yang berfungsi sebagai modul input.
 PORTB = Merupakan Port I/O 8-bit dua arah (bi-directional) dengan resistor
pull- up internal, selain sebagai Port I/O 8-bit PORTB berisi modul output 8 buah
LED.
 PORTC = Merupakan port I/O 8-bit dua arah ( bi-directional ) dengan
resistor pull-up internal, selain sebagai Port I/O 8-bit Port C berisi modul output
LCD 16 karakter
 PORTD = Merupakan port I/O 8-bit dua arah ( bi-directional )
dengan resistor pull-up internal, selain Sebagai Port I/O 8-bit
 USART = Sistem komunikasi serial mikrokontroler dengan PC
 Power Supply = Sebagai pencatu tengangan supply inputan 12 V dan 5V
 Potensio meter = Merupakan PIN inputan untuk melakukan fungsi ADC

1.7 Sensor Suhu LM35


Sensor suhu LM35 merupakan komponen elektronika yang berfungsi untuk
mengubah besaran fisis yang berupa suhu menjadi besaran elektris tegangan. Sensor suhu
LM35 memiliki parameter bahwa setiap kenaikan 1ºC tegangan keluarannya naik sebesar
10mV dengan batas maksimal keluaran sensor adalah 1,5 V pada suhu 150°C. Misalnya
pada perancangan menggunakan sensor suhu LM35 kita tentukan keluaran adc mencapai
full scale pada saat suhu 100°C, sehingga saat suhu 100°C tegangan keluaran transduser
(10mV/°C x 100°C) = 1V.

Gambar 1.5  
Bentuk Fisik LM 35

pin 1 berfungsi
sebagai sumber

tegangan kerja dari LM35, pin 2 atau tengah digunakan sebagai tegangan keluaran atau
Vout dengan jangkauan kerja dari 0 Volt sampai dengan 1,5 Volt dengan tegangan operasi
sensor LM35 yang dapat digunakan antar 4 Volt sampai 30 Volt.

A. Prinsip Kerja
 Mula-mula vcc sebesar 5 V digunakan untuk menghidupkan sensor LM35 yang akan
mendeteksi suhu.  Keluaran sensor ini akan naik sebesar 10 mV setiap derajad celcius
sehingga diperoleh persamaan sebagai berikut :

                                                VLM35   = Suhu*10Mv

Secara prinsip sensor akan melakukan penginderaan pada saat perubahan suhu
setiap suhu 1 ºC akan menunjukan tegangan sebesar 10 mV. Pada penempatannya LM35
dapat ditempelkan dengan perekat atau dapat pula disemen pada permukaan akan tetapi
suhunya akan sedikit berkurang sekitar 0,01 ºC karena terserap pada suhu permukaan
tersebut. Dengan cara seperti ini diharapkan selisih antara suhu udara dan suhu permukaan
dapat dideteksi oleh sensor LM35 sama dengan suhu disekitarnya, jika suhu udara
disekitarnya jauh lebih tinggi atau jauh lebih rendah dari suhu permukaan, maka LM35
berada pada suhu permukaan dan suhu udara disekitarnya .
Meskipun tegangan sensor suhu LM35 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 (self-heating) dari sensor yang
dapat menyebabkan kesalahan pembacaan yang rendah yaitu kurang dari 0,5 ºC pada suhu
25 ºC .

B. Berikut ini adalah karakteristik dari sensor suhu LM35.

 Memiliki sensitivitas suhu, dengan faktor skala linier antara tegangan dan suhu 10
mVolt/ºC, sehingga dapat dikalibrasi langsung dalam celcius.
 Memiliki ketepatan atau akurasi kalibrasi yaitu 0,5ºC pada suhu 25 ºC seperti terlihat
pada gambar 2.2.
 Memiliki jangkauan maksimal operasi suhu antara -55 ºC sampai +150 ºC.
 Bekerja pada tegangan 4 sampai 30 volt.
 Memiliki arus rendah yaitu kurang dari 60 µA.
 Memiliki pemanasan sendiri yang rendah (low-heating) yaitu kurang dari 0,1 ºC pada
udara diam.
 Memiliki impedansi keluaran yang rendah yaitu 0,1 W untuk beban 1 mA.
 Memiliki ketidaklinieran hanya sekitar ± ¼ ºC.

1.8 Display LCD


Gambar 1.6 Display LCD

LCD berfungsi untuk menampilkan informasi yang diterima oleh sensor, data tersebut
di proses melalui mikrokontroler kemudian ditampilkan berupa data digital,text maupun
simbol lainnya.LCD ini terdiri dari dua baris karakter dimana dua baris karakter memiliki
panjang karakter sebanyak 16.

1.9 Deskripsi kerja


Prinsip kerja sistem pengukuran suhu menggunakan LM35 dapat di lihat dari diagram
box dibawah ini :

Gambar 1.7 diagram BOX Sistem pengukur suhu menggunakan Sensor LM35

Selama prosesnya, pengukuran suhu melakukan tiga operasi utama diantaranya :

1. Sensor suhu LM35 berfungsi untuk mengubah besaran fisis yang berupa suhu
menjadi besaran elektris tegangan. Sensor suhu LM35 memiliki parameter bahwa
setiap kenaikan 1ºC tegangan keluarannya naik sebesar 10mV.
2. Data sensor suhu berupa sinyal analog kemudian di konversi menjadi data digital
melalui PORT A pada mikrokontroler Analog to Digital Converter (ADC). Data digital
diolah oleh mikrokontroler Atmega 8535 sebagai pusat pengendali melalui
pemrograman menggunakan compiler codevision AVR .
3. Hasil pengelolaan informasi tersebut kemudian ditampilkan menggunakan display
LCD.

1.10 Pembuatan Algoritma


Algoritma merupakan suatu urutan langkah-langkah (steps) yang disusun
secara logis dan sistematis untuk menyelesaikan suatu masalah dan dapat dieksekusi.
Pembuatan algoritma berkaitan erat dengan proses pemograman, algoritma menjadi
panduan programer pada saat melakukan proses pemograman. Setelah melakukan
identifikasi hardware dan penetapan input output selanjutnya melakukan proses pembuatan
algoritma, dengan merujuk kepada langkah-langkah sebelumnya penulis membuat algoritma
dalam bentuk flowchart, berikut flowchart algoritma yang dibuat :

Mulai

Inisialisasi
PINA uC

Inputan data
Sensor Suhu
LM35

Pemrosesan Data
Mikrokontroler
AT mega 8535

Inisialisasi PORTC
Display LCD

Tampilan
Hasil
pemrosesan
data

Selesai

Gambar 1.8 Flowchart Algoritma Program Pengukuran Sensor Suhu

1.11 Pembuatan Program Pengukuran sensor suhu


Penulisan program menggunakan software CodeVision v.1.25.6. sebagai proses
editor program dan compiler. Dengan program ini penulis memanfatkan fasilitas dalam
programnya dengan bantuan code wizard yang dapat membuat settingan register-register
khusus (SFR) dalam mikrokontroler AVR secara otomatis.

Berikut ini penyettingan yang dilakukan penulis dalam menerjemahkan algoritma


yang telah dibuat seperti diatas kedalam bentuk pemrogramanan bahasa C untuk
embedded system.

(a) (b) (c)

Gambar 1.9 (a) Inisialisasi PORTA sebagai Input

(b) Inisialisasi PORTC sebagai Output LCD

(C) Pengaktifan Fungsi ADC


Gambar 1.10 Proses generate and save dalam melakukan prosess code wizard
otomatis

Short cort program Sensor Suhu

/*****************************************************
This program was produced by the
CodeWizardAVR V2.03.9 Standard
Automatic Program Generator
© Copyright 1998-2008 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com

Project :
Version :
Date : 10/12/2010
Author : LPKIA
Company : Bandung
Comments:

Chip type : ATmega8535


Program type : Application
AVR Core Clock frequency : 11.059200 MHz
Memory model : Small
External RAM size :0
Data Stack size : 128
*****************************************************/
#include <mega8535.h>
unsigned char adc,bar1[16],bar2[16],bar3[16],bar4[16],bar5[16];
float suhu1;
unsigned char x=0;
#define arah_motor_kanan PORTB.1
// Timer 0 overflow interrupt service routine
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
// Alphanumeric LCD Module functions
#asm
.equ __lcd_port=0x15 ;PORTC
#endasm
#include <lcd.h>

// Standard Input/Output functions


#include <stdio.h>
#include <delay.h>
#define ADC_VREF_TYPE 0x60

// Read the 8 most significant bits


// of the AD conversion result
unsigned char read_adc(unsigned char adc_input)
{
ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
// Delay needed for the stabilization of the ADC input voltage
delay_us(10);
// Start the AD conversion
ADCSRA|=0x40;
// Wait for the AD conversion to complete
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCH;
}
// Declare your global variables here

void main(void)
{
// Declare your local variables here

// Input/Output Ports initialization


// Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTA=0x00;
DDRA=0x00;

// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTB=0x00;
DDRB=0xFF;

// Port C initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTC=0x00;
DDRC=0x00;

// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTD=0x00;
DDRD=0x00;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=FFh
// OC0 output: Disconnected
TCCR0=0x01;
TCNT0=0x00;
OCR0=0x00;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer 1 Stopped
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer 2 Stopped
// Mode: Normal top=FFh
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;

// External Interrupt(s) initialization


// INT0: Off
// INT1: Off
// INT2: Off
MCUCR=0x00;
MCUCSR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization


TIMSK=0x00;

// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: On
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud Rate: 9600
UCSRA=0x00;
UCSRB=0x18;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x47;

// Analog Comparator initialization


// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;

// ADC initialization
// ADC Clock frequency: 345.600 kHz
// ADC Voltage Reference: AVCC pin
// ADC High Speed Mode: On
// ADC Auto Trigger Source: None
// Only the 8 most significant bits of
// the AD conversion result are used
ADMUX=ADC_VREF_TYPE & 0xff;
ADCSRA=0x85;
SFIOR&=0xEF;
SFIOR|=0x10;
// Global enable interrupts
// LCD module initialization
lcd_init(16);
lcd_gotoxy(1,0);lcd_putsf("-=LPKIA=-");
lcd_gotoxy(0,0);lcd_putsf("Mempersembahkan");lcd_gotoxy(0,1);
lcd_putsf("-=sensor suhu=-");delay_ms(2500);lcd_clear();
#asm("sei")
while (1)
{
// Place your code here

lcd_clear();
adc=read_adc(0);
suhu1=adc;
suhu=1.92*suhu1;
sprintf(bar1,"Data ADC:%d",adc);

if ((suhu>=30)&&(suhu<=40))
{
lcd_clear();
lcd_gotoxy(0,0);lcd_putsf("Suhu haredang");
sprintf(bar2,"Suhu:%0.01f Der Cel",suhu);
lcd_gotoxy(0,1);lcd_puts(bar2);
delay_ms(500);
}
if ((suhu>=40)&&(suhu<=60))
{
lcd_clear();
lcd_gotoxy(3,0);lcd_putsf("Suhu Hangat");
sprintf(bar3,"Suhu:%0.01f Der Cel",suhu);
lcd_gotoxy(0,1);lcd_puts(bar3);
delay_ms(500);
}
if ((suhu>=60)&&(suhu<=80))
{
lcd_clear();
lcd_gotoxy(3,0);lcd_putsf("Suhu Panas");
sprintf(bar4,"Suhu:%0.01f Der Cel",suhu);
lcd_gotoxy(0,1);lcd_puts(bar4);
delay_ms(500);
}
if ((suhu>=80)&&(suhu<=100))
{
lcd_clear();
lcd_gotoxy(3,0);lcd_putsf("sangat Panas");
sprintf(bar5,"Suhu:%0.01f Der Cel",suhu);
lcd_gotoxy(0,1);lcd_puts(bar5);
delay_ms(500);
}
if ((suhu>=0)&&(suhu<=30))
{
lcd_clear();
lcd_gotoxy(3,0);lcd_putsf("Suhu kini");
sprintf(bar1,"Suhu:%0.01f Der Cel",suhu);
lcd_gotoxy(0,1);lcd_puts(bar1);
delay_ms(500);
}
}
;}

Setelah program telah ditulis, maka selanjutnya program siap untuk dimasukan ke
dalam mikrokotroler ATMEGA8535, berikut ini langkah-langkah yang dilakukan dalam
melakukan pen-download-an program:

1. Setting terlebih dahulu programmer yang akan dipakai. Programmer yang dipakai
oleh penulis adalah jenis kanda system STK200+/300.
Gambar 1.11 Setting programmer yang akan dipakai

2. Setting pada configure pilih tab after make dan centang untuk program the chip

Gambar 1.12 Settingan untuk konfigurasi sistem compile dan download

3. Pilih make the project, jika tidak ada kesalahan akan terlihat tampilan sebagai berikut
dan tekan enter untuk memasukan program ke dalam chip.
Gambar 1.13 Tampilan make the project yang siap untuk pen-download-an ke-chip

Gambar 1.14 Proses pemasukan program ke-chip mikrokontroler

Anda mungkin juga menyukai