You are on page 1of 13

LAPORAN PROJEK MIKROKONTROLLER

Heater Suhu dengan Sistem Dimmer Berbasis Mikrokontroler AT Mega 8A


Nama Kelompok

: 1. Galih Eki Maulana (P27838014024)


2. Chilya Millati Izzah (P27838014037)

1. TUJUAN
a. Mahasiswa dapat membuat rangkaian Heater Suhu dengan dengan sistem dimmer.
b. Mahasiswa dapat mengaplikasikan sistem ADC dan sinyal PWM yang berada
pada mikrokontroler IC AT Mega 8A sebagai pengatur heater.
c. Mahasiswa dapat menciptakan rangkaian minimum system dan mengaplikasikan
sensor LM35 sebagai kontrol suhu.
d. Mahasiswa dapat mengerti serta mengatasi troubel shoot rangkaian minimum
system maupun program pada mikrokontroler.
2. ALAT DAN BAHAN
NO
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
1.
2.
3.
4.
5.
6.
7.
8.
9.

JENIS KOMPONEN
Komponen Downloader
Jeck printer
Kapasitor polar 22 pF 16 V
Kapasitor tantalum (MKM) 104 j
Kapasitor non polar 22 pF
Dioda zener
Resistor 680 watt
Resistor 2200 watt
Resistor 10 K watt
Resistor 1 K watt
Led
IC AT Mega 8A
White housing 6 pin
Kristal 12 MHz
Soket IC 28 pin
Komponen Minsys
DC jack
Diode Bridge
Transistor NPN TIP 3055
IC LM7805CT
Kapasitor non polar 104 j
Dioda 1A
Led 3 ml
Kapasitor polar 2200 uF 16 V
Con 8 pin

JUMLAH
1
1
1
2
2
2
1
1
2
2
1
1
1
1
1
1
1
1
1
1
1
1
3

10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.

Con 2 pin
Con 3 pin
Con 4 pin
Resistor 220 watt
Resistor 330 watt
Resistor 1K watt
Resistor 56K watt
Resistor 330 watt
Resistor 330 1 watt
Kapasitor AC 104 j 400 V
BT 136
Transistor PNP 9012
Konektor AC 2 pin
MOC 3041
Switch
Seven segment
Soket female
IC TL084
IC 78132
IC AT Mega 8A
Soket IC 16 pin
Multitone 50 K
Multitone 10 K
Kapasitor 220 uF 25 V
Kapasitor 10 uF 16 V
Enabel
Dioda zener
Kapasitor non polar 22 pF
Kristal 12 MHz
LM35
Soket IC 28 pin

2
1
1
13
1
4
2
1
2
1
1
4
2
1
4
4
32 pin
1
1
1
2
1
1
1
1
1
1
2
1
1
1

3. DASAR TEORI
Heater suhu sangatlah di butuhkan dalam aplikasi dunia kesehatan, bagaimana
suhu pada suatu ruangan tetap stabil sesuai dengan ukuran yang kita inginkan,
pengaplikasian heater suhu ini pada umumnya kita temukan pada alat alat kesehatan
diantaranya : Baby Incubator, Infarm Warmer, dan Water bath yang mana kontrol suhu itu
di butuhkan dengan fungsi alat masing masing, baby incubator berfungsi untuk
menstabilkan suhu dalam ruangan inkubator agar sesuai dengan suhu yang di butuhkan
oleh bayi prematur, sedangkan Water bath berfungsi untuk memanaskan air yang berguna
untuk menjaga kestabilan suhu dan menginkubasi sampel yang berada pada tabung reaksi.
Heater suhu kali ini kami buat dengan menggunakan lampu AC yang
intensiatasnya diatur oleh dimmer sebagai heater dan sensor LM 35 sebagai kontrol

suhu, berbasis mikrokontroler AT Mega 8A, yang mana pada mikro tersebut kita dapat
memanfaatkan program dari ADC dan sinyal PWM untuk mengatur heater. Komponen
utama pada heater suhu yakni :
1. Sensor LM 35

Gambar Sensor Suhu


LM35
Sensor suhu LM35 adalah komponen elektronika yang memiliki fungsi untuk
mengubah besaran suhu menjadi besaran listrik dalam bentuk tegangan, LM35
memiliki keakuratan tinggi dan kemudahan perancangan jika dibandingkan
dengan sensor suhu yang lain, LM35 juga mempunyai keluaran impedansi
yang rendah dan linieritas yang tinggi sehingga dapat dengan mudah
dihubungkan dengan rangkaian kendali khusus serta tidak memerlukan
penyetelan lanjutan.

Meskipun

tegangan sensor ini dapat mencapai 30 volt

akan tetapi yang


volt,

sehingga

dengan ketentuan bahwa LM35 hanya

diberikan kesensor adalah sebesar 5


dapat digunakan dengan catu daya tunggal
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 .
Karakteristik Sensor 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,5C 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.

Kelebihan dan Kelemahan Sensors LM35

Kelebihan:
a

Rentang suhu yang jauh, antara -55 sampai +150 oC

Low self-heating, sebesar 0.08 oC

Beroperasi pada tegangan 4 sampai 30 V

Rangkaian tidak rumit

Tidak memerlukan pengkondisian sinyal

Kekurangan:
Membutuhkan sumber tegangan untuk beroperasi
2. IC AT Mega 8A

Gambar IC AT Mega 8A
Tentunya

banyak

yang

telah

sering

mendengar

tentang

mikrokontroler.

Mikrokontroler adalah adalah suatu chip berupa IC (Integrated Circuit) yang dapat menerima
sinyal input, mengolahnya dan memberikan sinyal output sesuai dengan program yang
diisikan ke dalamnya. Mikrokontroler dapat menerima masukan dan memproses keluaran
untuk sebagai pengendali, yang dapat ditulis dan dihapus perintahnya. Teknologi jaringan
terus mengalami perkembangan yang sangat pesat, sehingga dari kemampuan teknologi
tersebut kita bisa memperoleh manfaat berbagai layanan, salah satunya adalah transfer data
melalui jaringan lokal. Hubungan komputer satu dengan lainnya dalam jaringan lokal, dengan
memfungsikan salah satu komputer sebagai web server yang dihubungkan dengan alat
penerima data, maka memungkinkan data tersebut untuk didistribusikan ke semua komputer
yang masuk dalam jaringan tersebut.
Mikrokontroler ATMEGA8 dapat difungsikan sebagai pemantau suhu. yang berfungsi
sebagai perangkat dan sistem jaringan yang dibangun mampu memberikan informasi data
suhu yang dapat dimonitor pada komputer yang terkoneksi dengan jaringan lokal.
Monitoring suhu sering dilakukan, dalam kondisi tertentu pemantauan suhu sebaiknya
dilakukan dengan jarak yang cukup jauh dan dapat dimonitor setiap saat. Pada makalah ini
dibuat pemantauan suhu melalui sensor. Data suhu yang dibaca oleh sensor LM35D diproses
oleh mikrokontroler ATmega8, kemudian hasilnya dikirimkan ke tampilan LCD maupun
seven segment.

Sistem Minimum AT

Mega 8A

Minimum sistem merupakan suatu perangkat sistem yang dapat di gunakan untuk belajar
serta mengaplikasikan mikrokontroler. Dalam ATMega 8 terdapat dari Port B, Port C, dan
Port D, dan juga di sertai MOSI , MISO, SCK beserta RESET, VCC, dan GND.

4. FLOW CHART DAN CARA KERJA RANGKAIAN

5. GAMBAR RANGKAIAN DAN CARA KERJA


A. Rangkaian Minimum System ( Minsys)

B. Rangkaian Dimmer

6. SOFTWARE / LISTING PROGRAM DAN PENJELASAN


/*****************************************************
This program was produced by the
CodeWizardAVR V2.05.3 Standard
Automatic Program Generator
Copyright 1998-2011 Pavel Haiduc, HP InfoTech s.r.l.

http://www.hpinfotech.com
Project :
Version :
Date : 1/10/2016
Author : ria
Company : adilah
Comments:
Chip type
: ATmega8
Program type
: Application
AVR Core Clock frequency: 1.000000 MHz
Memory model
: Small
External RAM size
:0
Data Stack size
: 256
*****************************************************/
#include <mega8.h>
#include <delay.h>
// Timer2 overflow interrupt service routine
interrupt [TIM2_OVF] void timer2_ovf_isr(void)
{
// Place your code here
}
#define ADC_VREF_TYPE 0x00
int ubah;
int sat,pul,rat,;
unsigned int data;
// Read the AD conversion result
unsigned int 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 ADCW;
}
void ubah_ke_format7segment()
{
if(ubah==0){ubah=0xc0;}
if(ubah==1){ubah=0xf9;}

if(ubah==2){ubah=0xa4;}
if(ubah==3){ubah=0xb0;}
if(ubah==4){ubah=0x99;}
if(ubah==5){ubah=0x92;}
if(ubah==6){ubah=0x82;}
if(ubah==7){ubah=0xf8;}
if(ubah==8){ubah=0x80;}
if(ubah==9){ubah=0x90;}
}
void tampil_7segment()
{
PORTD=rat;
PORTC.1=0;
PORTC.2=0;
PORTC.3=0;
delay_us(100);
PORTD=pul;
PORTC.1=1;
PORTC.2=0;
PORTC.3=0;
delay_us(100);
PORTD=sat;
PORTC.1=0;
PORTC.2=1;
PORTC.3=0;
delay_us(100);
}
// Declare your global variables here
void main(void)
{
// Declare your local variables here
// Input/Output Ports initialization
// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=Out Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=0 State2=T State1=T State0=T
PORTB=0x00;
DDRB=0x08;
// Port C initialization
// Func6=In Func5=In Func4=In Func3=Out Func2=Out Func1=Out Func0=In
// State6=T State5=T State4=T State3=0 State2=0 State1=0 State0=T
PORTC=0x00;
DDRC=0x0E;
// Port D initialization

// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out


Func0=Out
// State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0
PORTD=0x00;
DDRD=0xFF;
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
TCCR0=0x00;
TCNT0=0x00;
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer1 Stopped
// Mode: Normal top=0xFFFF
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer1 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: 125.000 kHz
// Mode: Fast PWM top=0xFF
// OC2 output: Non-Inverted PWM
ASSR=0x00;
TCCR2=0x6A;
TCNT2=0x00;
OCR2=0x00;
// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
MCUCR=0x00;

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


TIMSK=0x40;
// USART initialization
// USART disabled
UCSRB=0x00;
// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;
// ADC initialization
// ADC Clock frequency: 125.000 kHz
// ADC Voltage Reference: AREF pin
ADMUX=ADC_VREF_TYPE & 0xff;
ADCSRA=0x83;
// SPI initialization
// SPI disabled
SPCR=0x00;
// TWI initialization
// TWI disabled
TWCR=0x00;
// Global enable interrupts
#asm("sei")
while (1)
{
data=read_adc(4)*5;
sat=data%10;
pul=data/10;
pul=pul%10;
rat=data/100;
ubah=sat;
ubah_ke_format7segment();
sat=ubah;
delay_ms(1);
ubah=pul;
ubah_ke_format7segment();
pul=ubah;
delay_ms(1);
ubah=rat;
ubah_ke_format7segment();
rat=ubah;

delay_ms(1);
tampil_7segment();
if(data<=380)
{OCR2=0;
}
else if(data>=330)
{OCR2=200;
}
else
{OCR2=0;
}
// Place your code here
}
}

You might also like