Laporan Suhu

  • Uploaded by: Nurul Furqon Rohmat
  • 0
  • 0
  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Laporan Suhu as PDF for free.

More details

  • Words: 1,545
  • Pages: 15
Laporan Microcontroler “Membuat Sensor Suhu yang ditampilkan melalui led dengan LM35 dan Mikrokontroller ATMega 8535 ”

Disusun oleh: Kelompok : Maxtor Adi Pramono (2B / 01 / 0731130019 ) Lina Ernani (2B / 15 / 0731130046) Nurul Furqon R (2B / 20 / 0731130073)

JURUSAN TEKNIK ELEKTRO

PROGRAM STUDI TEKNIK TELEKOMUNIKASI

POLITEKNIK NEGERI MALANG 2008

A. Tujuan 1. Menampilkan suhu pada 7 segmen common anoda dengan kendali

microcontroler Atmega 8535. 2. Mengetahui cara menampilkan angka pada 7 segmen yang ditulis secara

array dalam hexadecimal. 3. Pemprograman bahasa C untuk memprogram microcontroller AT mega 8535 dengan bantuan Code Vision AVR. 4. Memprogram microcontroller Atmega 8535 sebagai Analog to Digital converter. 5. Implementasi IC LM 35 sebagai presicion temperature sensor. B. Teori dasar input output 7 segmen common anoda piranti display yang mempuyai input dalam bentuk level tegangan , jika tegangan pada pin tersebut adalah “high” maka led yang terhubung pada pin tersebut mati dan sebaliknya jika tegangan pada pin tersebut “low” maka led yang tersebut akan menyala. Logika diatas dapat kita gunakan untuk mengkontrol 7 segmen untuk menanmpilkan angka sesuai dengan kebutuhan kita dengan menggunakan kontrol microcontroller Atmega 8535. Dengan menghubungkan salah satu port I/O microcontroller pada 7 segmen kita dapat mengatur logika pin yang ada pada port I/O ter sebut sehingga menampilkan angka pada 7 segmen sesuai dengan kebutuhan kita.

Dibawah ini adalah tabel hubungan antara angka hexadecimal microcontroller dan output tampilan pada 7 segmen display. Nyala Mati desim al

0 P 1 7 Hexadesi mal

.

P 6

P 5

P 4

P 3

P 2

P 1

P 0

tampilan

g

f

e

d

c

b

a

7 segmen

b c 1 0xF9

1

1

1

1

1

0

0

1 a b e

2 0xA4

1

0

1

0

0

1

0

g d

0

a b c 3 0xB0

1

0

1

1

0

0

0

d

0

f

b c

g 4 0x99

1

0

0

1

1

0

0

1 a f

5 0x92

1

0

0

1

0

0

1

g d

0

c

a f e 6 0x82

1

0

0

0

0

0

1

0

g d

c

a b c 7 0xF8

1

1

1

1

1

0

0

0 a f e

8 0x80

1

0

0

0

0

0

0

0

g d

b c

a f

9 0x90

1

0

0

1

0

0

0

g d

0

b c

a f e 0 0xC0

1

1

0

0

0

0

0

0

b c d

Jika kita menghubungan pin input pada suatu rangkaian analog untuk diambil level tegangannya, kemudian kita memprogram microcontroller sebagai ADC ( Analog to Digital Converter ), maka nilai tegangan analog tersebut akan di konversi menjadi tegangan dalam bentuk sinyal digital dengan menggunakan metode sampling kemudian hasil sampling tersebut dikuantisasi terhadap tegangan referensi. Hasil tersebut dikodekan dalam bentuk kode biner dan disimpan dalam suatu register. Jika kita menghubungkan input dari ADC pada suatu sensor suhu maka kita dapat mengkonversi nilai tegangan dari output sensor ke dalam kode biner yang kemudaian kita dapat tampilkan nilai biner tersebut pada sebuah 7 segmen display. Cara kerja system tersebut adalah sensor pertama – tama menangkap suhu dari lingkungan kemudian mengkonversi menjadi suatu level tegangan tertentu. Setiap perubahan suhu pada lingkungan akan menyebabkan perubahan level

tegangan pada output sensor. Selanjutnya level tegangan tersebut masuk pada input ADC untuk dikonversi menjadi data digital untuk diproses lebih lanjut. Data hasil konversi ADC tersebut akan digunakan untuk menggerakkan led untuk menunjukkan nilai tertentu sesuai dengan data hasil konversi tersebut.

ADC (Analog to Digital Converter) 1. Register ADMUX(ADC Multiplexer) Mengatur tegangan referensi ADC,format data,dan saluran ADC 7

6

5

4

3

2

1

0

REFS1 RERF0 ADLAR MUX4 MUX3 MUX2 MUX1 MUX0

Bit 7:6 – REFS1:0: Reference Selection Bits REFS1

REFS0

VREF

0

0

Pin VRef

0

1

Vcc

1

0

Not Used

1

1

2,56 V

Bit 5 – ADLAR : ADC Left Adjust Result Untuk mengatur format penyimpanan data ADC pada register ADCL dan ADCH. ADLAR

ADCH

ADCL

0

D9 – D8

D7 – D0

1

D9 – D2

D1 – D0

Bit 4:0 – MUX4:0 : Analog Channel and Gain Selection Bits Bit – bit MUX4:0 dapat digunakan untuk menentukan pin masukan analog ADC pada mode konversi tunggal atau untuk menentukan pin- pin masukan analog dan nilai penguatannya (gain) pada mode penguat beda . MUX4 MUX3

MUX2

MUX1

MUX0

SINGLE

END

Input 0

0

0

0

0

ADC0

0

0

0

0

1

ADC1

0

0

0

1

0

ADC2

0

0

0

1

1

ADC3

0

0

1

0

0

ADC4

0

0

1

0

1

ADC5

0

0

1

1

0

ADC6

0

0

1

1

1

ADC7

2. ADCSRA (ADC Control and Status Register) Management sinyal control 7 ADEN



6 ADCS

5 ADATE

Bit7 - ADEN (ADC Enable)

4 ADIF

3 ADIE

2 ADPS2

1 ADPS1

0 ADPS0

Jika bit ADEN diset 1 = ADC Aktif, 0



= ADC non Aktif

Bit6 - ADCS ‘1’ = Saat operasi ‘0’ = Selesai operasi



Bit5 – ADATE (ADC Auto Trigger Enable) ‘1’ = Aktif start otomatis saat tepi positif (pemicu ADC diaktifkan)



Bit4 – ADIF (ADC Interrupt Flag) Penanda akhir konversi ‘0’ = Belum siap dibaca ‘1’ = Siap dibaca data ADCnya



Bit3 – ADIE (ADC Interrupt Enable) ‘0’ = Interupsi selesai belum aktif ‘1’ = Interupsi penanda telah selesai konversi ADC diaktifkan



Bit2:0 – ADPS2:0 (ADC Prescaler Select Bits) Digunakan untuk menetukan factor pembagi frekuensi Kristal yang kemudian

hasilnya digunakan sebagai frekuensi clock ADC.(Pengatur clock ADC).

ADPS2

ADPS1

ADPS0

Faktor Pembagi

0

0

0

2

0

0

1

2

0

1

0

4

0

1

1

8

1

0

0

16

1

0

1

32

1

1

0

64

1

1

1

128

3. SFIOR Pengaturan sumber pemicu ADC //start ADC ADTS2

ADTS1

ADTS0

-

ACME

PUD

PSR2

PSR10

Bila ADATE = 0 //REG ADCSRA ADTS2 – ADTS3 tidak berfungsi

ADATE = 1

ADTS2

ADTS1

ADTS0

Sumber pemicu/start

0

0

0

Free Running Mode

0

0

1

Analisis Komparator

0

1

0

External Interupsi Request

0

1

1

Timer/counter 0 compare match

1

0

0

Timer/counter 0 over flow

1

0

1

1

1

0

Timer/counter 1 over flow

1

1

1

Timer/counter 1 capture event

Timer/counter 1 compare match B

LM 35 ( Precision Temperature Sensor) IC LM 35 adalah sebuah IC yang mempunyai kemampuan mengubah suhu lingkungan menjadi level tegangan tertentu. Untuk setiap perubahan 10C akan terjadi perubahan level tegangan output sebesar 10mV. IC LM 35 juga mempunyai tegangan supply rendah yaitu 5 V dan mempunyai impendasi output rendah, sehingga arus output cukup rendah. Kemampuan jelajah suhu yang cukup besar yaitu mulai -550C sampai +1500C untuk tipe komersial

C. Gambar Rangkaian

D. Flow Char

start PORTB= ratusan

Input pin ADC.0 PORTB= puluhan

Process conversi ADC (ADCH)

Leve=data_templ= ADCH

Satuan= data_temp%10

Data_temp/=10 puluhan= data_temp%10

Data_temp/=10 ratusan= data_temp%10

E. Program #include<mega8535.h>

PORTB= satuan

#include<delay.h> void conversi_digital_desimal (unsigned char level); void tulis_7segmen (unsigned int ratusan, unsigned int puluhan, unsigned satuan) ; unsigned char level; unsigned char aray[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; unsigned char satuan,puluhan,ratusan=0; void main (void) { PORTB=0x00; DDRB=0xff; ADMUX=0xe0; ADCSRA=0x84; SFIOR=0x1f; while(1) { ADMUX=0x00|0xe0; ADCSRA|=0x40; while((ADCSRA&0x10)==0); { ADCSRA|=0x10; level=ADCH; level+=10; conversi_digital_desimal (level); }; }; } void conversi_digital_desimal (unsigned char level) { unsigned data_temp; data_temp=level; satuan=data_temp%10; data_temp/=10; puluhan=data_temp%10; data_temp/=10; ratusan=data_temp%10; tulis_7segmen(ratusan,puluhan,satuan); } void tulis_7segmen (unsigned int ratusan, unsigned int puluhan, unsigned int satuan) { PORTB=aray[ratusan]; delay_ms(600); PORTB=aray[puluhan]; delay_ms(600); PORTB=aray[satuan]&0x7F; delay_ms(1800) ; }

F. Analisis

1. Code DDRB=0xff PORTB=0x00 menunjukkan perintah port B sebagai

output dan nilai awalnya adalah 0x00 yang berati semua led pada 7 segmen display menyala. 2. Code ADCMUX=0xE0 berarti tegangan referensi yang digunakan adalah

tegangan 2,56V dan pin input ADC terletak pada ADC.0 atau pin nomor 40. 3. Code ADCSRA=0x84 adalah perintah untuk mengaktifkan fungsi ADC pada PORT A, serta mengatur frekuensi sampling dari ADC sebesar 1/16 dari frekuensi oscilator. 4. Register SFIOR yang mempuyai nilai 0x1f berfungsi mengatur mode kerja dari sumber picu start sampling ADC. Mode kerja diatas diset pada free running yang berarti ADC melakukan sampling terhdapa tegangan input ADC secara terus menerus. 5. Perintah didalam while adalah fungsi yang melakukan sampling ADC kemudian menyimpannya di register ADCH. 6. Perintah level=ADCH berarti kita mengkopi nilai ADCH ke variabel level 7. Pada baris selanjutnya terdapat subprogram yang memproses nilai dari

variabel level untuk dipisahkan antara nilai ratusan, puluhan dan satuan. 8. Subprogram tulis_7segmen berfungsi mengatur format penulisan masing –

masing nilai ratusan, puluhan dan satuan untuk ditampilkan pada 7 segmen. 9. Perintah pada penjelasan nomor 1 sampai nomor 8 akan diulangi terus

menerus sampai ada interupsi reset dari pin reset, dan eksekusi program kembali mulai baris yang pertama.

B. Kesimpulan

1. Microcontroller ATmega 8535 mempunyai fungsi ADC yang build in dengan chip microcontroller tersebut. 2. Microcontroller dapat difungsikan sebagai pengendali 7 segmen display dengan cara mengatur logika dari pin-pin dari port I/O microcontroller tersebut. 3. Pemilihan keluaran / respons output dari microcontroller dapat

dikendalikan dari luar dengan cara membaca level tegangan analog dari pin input ADC. 4. Cara penulisan code untuk 7 segmen common anoda dan common katoda berbeda hal ini dikarenakan logikan pin yang dibutuhkan untuk mengendalikan led – led pada dua 7 segmen tersebut berbeda. 5. Microcontroller ATMega 8535 dapat digunakan sebagai decoder / driver

input dari sensor suhu menggunakan IC LM 35.

Related Documents

Laporan Suhu
November 2019 49
Suhu
June 2020 38
Suhu Kulkas.xlsx
July 2020 22
Suhu Kulkas.docx
December 2019 49

More Documents from "Nazhifah"

Waluyo
November 2019 43
Isi
November 2019 46
Codevisio Avr
November 2019 42
Codevision Avr
November 2019 40
Data Link Layer
November 2019 50
Am Dsb
November 2019 39