Catu daya
Minimum Sistem
Sensor LM 35 Display LCD
ATmega 8535
Dari beberapa komponen diatas dapat dijelaskan prinsip kerja lebih lanjut 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
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.
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.
Serial USART
Power Supply
PINA.0
Led PORTB
Saklar PORTA
LCD PORTC
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
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 :
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 .
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.
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.
Gambar 1.7 diagram BOX Sistem pengukur suhu menggunakan Sensor LM35
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.
Mulai
Inisialisasi
PINA uC
Inputan data
Sensor Suhu
LM35
Pemrosesan Data
Mikrokontroler
AT mega 8535
Inisialisasi PORTC
Display LCD
Tampilan
Hasil
pemrosesan
data
Selesai
/*****************************************************
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:
void main(void)
{
// Declare your local variables here
// 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;
// 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;
// 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
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