Pada
pembahasan kali ini akan dibahas mengenai bagaimana cara pembuatan dari alat
pengukur suhu yang menggunakan sensor LM35 menggunakan mikrokontroller ATMega32
dengan tambahan yaitu adanya system penyimpanan data logger yang berupa SD
Card, jadi data yang diperoleh oleh sensor akan disimpan kedalam SD Card dalam
bentuk file.txt
Lalu bagaimana cara melihat text yang tersimpan
di SD Card?, Caranya yaitu dengan memasukkan SD Card tersebut ke komputer PC
atau Laptop sehingga akan Nampak file.txt yang tersimpan.
Fungsi dan Tujuan
Fungsi
dibuatnya alat ini adalah untuk mengetahui kinerja dari sensor LM35 sebagai
sensor suhu dan cara mikrokontroller
menyimpan data ke SD Card. Tujuannya untuk mengetahui
tingkat suhu disuatu tempat atau ruangan secara teratur dan terus menerus.
Prinsip
Kerja Alat
Prinsip kerja alat ini yaitu sensor suhu LM35 sebagai
input data utama dari keadaan suhu yang terdeteksi, karena sensor LM35 termasuk
dalam karakteristik sensor yang mengeluarkan tegangan yang kecil paling besar
sekitar 0,5 volt tiap kenaikannya, kondisi ini akan sulit dibaca oleh
mikrokontroler ATMega32 karena kecil sekali tegangan keluaran dari LM35,
maka dari itu dibuatlah rangkaian penguat tegangan yang menggunakan IC LM358.
Mikrokontroler hanya bertugas untuk
menmpilkan data yang ditangkap oleh sensor kemudian jika tombol push button ditekan maka data yang ada
dalam mikrokontroller yang berupa data ADC disimpan ke dalam SD Card.
Rangkaian
Hardware
Rangkaian
penyusun dari alat ini tidak banyak, hanya memerlukan beberapa rangkaian
penyusun yaitu rangkaian sensor LM35, rangkaian pengkondisi sinyal, dan
rangkaian minimum system, untuk komponen
hardware yang diperlukan yaitu SD Card Module dan SD card berkapasitas 128 MB
Sensor
LM35
Sensor LM35 hanya menggunakan vcc, gnd dan data,
seperti gambar 6.22b yang mana hanya perlu
disambungkan port data output ke input data rangkaian pengkondisi sinyal.
Rangkaian
Pengkondisi Sinyal
Rangkaian pengkondisi sinyal
digunakan untuk memperbesar output tegangan dari sensor yang memiliki tegangan
output yang kecil, sehingga perlu diperbesar agar mikrokontroler dapat dengan
jelas membaca data tersebut.
Bahan-Bahan
:
a.
IC LM358 x 1 buah
b.
Resistor 4,85k x 1 buah
c.
Resistor 1,21 M x 1 buah
d.
Resistor 100k x 1 buah
e.
Variabel Resistor 100k x 1 buah
f.
Pinheader tunggal
Pengkondisi sinyal terdapat dua buah input yaitu
input + dan - , yang digunakan untuk input dari sensor LM35 adalah input + dan
input – dihubungkan dengan GND. pada output tegangan dari pengkondisi sinyal
masuk ke ADC port di mikrokontroler.
Rangkaian
Minimum System ATMega32
Rangkaian minimum system yang digunakan untuk alat
ini adalah rangkaian
minimum system ATMega32 yang hanya memerlukan beberapa port yaitu portC untuk
LCD, portA untuk input dari sensor, dan pin RX, TX untuk komunikasi serial.
Berikut gambar skematiknya
Push button yang digunakan
untuk menyimpan data ke SD card menggunakan push button biasa yang mana push
button ini terhubung ke portB.0 dan GND, untuk tampilan bentuk dan skemanya
bisa dilihat pada gambar
SD Card Module
SD Card module disini adalah sebagai media untuk
menghubungkan antara mikrokontroller dengan SD card, yang mana agar data dapat
tersimpan dengan baik ke SD card yang dimasukkan ke dalam SD Card module, untuk
konfugurasi dari SD Card Module ke mikrokontroller dapat dilihat pada bagan
berikut.
SD Card 128
MB
SD Card yang dipakai pada
pembahasan kali ini yaitu SD card dengan kapasitas atau volume memori
penyimpanannya sebesar 128 MB, untuk cara menghubungkannya ke SD Card Module
hanya perlu memasukkan SD Card ke dalam tempat yang disediakan pada SD Card
Module yang lebar dan panjangnya sesuai, untuk tampilan SD Card 128 MB seperti
pada gambar
Program Bascom AVR
'===============================================================
'Programmer: Yanuar Mukhammad
‘Nama File Utama : sd card.bas
'===============================================================
$regfile = "m32def.dat"
$crystal = 12000000
'==========================
Config Lcdpin = Pin , E = Portc.1 , Rs = Portc.0 ,
Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3
, Db6 = Portc.4 , Db7 = Portc.5
Config Lcd = 16 * 2
Config Adc = Single , Prescaler = Auto , Reference =
Avcc
Config Pinb.0 = Input
Tombol1 Alias Pinb.0
Set Portb.0
Set Portb.1
'======VARIABEL MMC==================
Dim A As Byte
Dim L As String * 10
Dim Ff As Byte
Dim S As Long
Dim Diskf As Long
Dim Disks As Long
Dim Nama As String * 20
$include "Config_AVR-DOS32.BAS"
$include "Config_MMC32.bas"
Ff = Drivereset()
Ff = Driveinit()
$external Waitms
'--------------------------
Dim Suhu_ref As Word
Dim Suhu As Word
'--------------------------
Deflcdchar 0 , 12 , 18 , 18 , 12 , 32 , 32 , 32 , 32
Start Adc
Perintah:
Cls
Cursor Off
'--------------------------
Do
Suhu_ref = Getadc(7)
'ambil data ADC portA.7
Suhu = Suhu_ref * 5 'kalibrasi dari LM35
Suhu = Suhu / 10
Suhu = Suhu - 225
'jika kurang tepat disesuaikan dengan termometer
digital
'yang dijual dipasaran
Locate 1 , 1
Lcd "**THERMOMETER***"
Locate 2 , 1
Lcd "Suhu="
Locate 2 , 6
Lcd "
"
Locate 2 , 6
Lcd Suhu
Locate 2 , 9
Lcd Chr(0)
Locate 2 , 10
Lcd "C"
Locate 2 , 11
Lcd "
"
If Tombol1 = 0 Then Goto Utama
Waitms 500
Loop
Utama:
Cls
Waitms 200
Upperline
Lcd " PLEASE WAIT !!"
Wait 1
Cls
Do
If Gbdriveerror <> 0 Then 'CEK MEMORY CARD ERROR
Cls
Locate 1 ,
1
Lcd
"Error Config"
Locate 2 ,
1
Lcd
"CEK MEMORY"
Wait 2
End If
A = Initfilesystem(1) 'init file system
If A <> 0 Then
Cls
Locate 1 ,
1
Lcd
"Error MEMORY"
Locate 2 ,
1
Lcd
"CEK MEMORY CARD"
Wait 2
Cls
Goto
Perintah
End If
If A = 0 Then
Cls
Locate 1 ,
1
Lcd
"MEMORY OK"
Wait 1
End If
Diskf = Diskfree()
Select Case Diskf 'CEK FREESPACE
S = Diskf
S = Str(s)
Case Is > 3000 : Locate 2 , 1
Lcd " Free > 3MB"
Lcd S
Case Is > 1000 : Locate 2 , 1
Lcd " Free > 1MB"
Lcd S
Case Else : Locate 2 , 1
Lcd "!! FREE < 1MB !!"
Wait 1
Locate 2 , 1
Lcd "GANTI memoryCARD"
End Select
Wait 3
Ff = Freefile()
L = "TEST"
Nama = L + ".txt"
Open Nama For Append As #ff
Print #ff , " RESULT "
Print #ff ,
"#################################"
Print #ff , " Data Suhu LM35 "
Print #ff ,
"#################################"
Print #ff , "Suhu: " ; Suhu ; "
Celcius "
Print #ff ,
Print #ff ,
Close #ff
'tutup file
Cls
Locate 1 ,
1
Lcd
"FILE CREATED"
Wait 2
Goto
Perintah
Cls
Loop
Return
Catatan:
Saat Program di-compile pada file bascom, terlebih dahulu
masukkan file CONFIG_AVR-DOS32.bas dan Config_MMC32.bas pada satu folder dengan
file utama, seperti tampilan gambar berikut.
Maksud
file utama yaitu file yang terdapat program diatas, yang berisikan program LM35
dan SD card, yang jadi masalah disini yaitu bagaimana cara mendapatkan file CONFIG_AVR-DOS32.bas dan
Config_MMC32.bas ?, tidak usah khawatir tinggal download di link berikut ini
CONFIG_AVR-DOS32.bas =
Config_MMC32.bas =
6.22.5 Cara Penggunaan Alat
Cara penggunaan alat ini hanya
berikan sumber daya 12v pada rangkaian regulator sehingga alat akan menyala dan
berfungsi, setelah berfungsi akan terlihat tampilan dari data suhu yang diambil
oleh port ADC mikrokontroller dari sensor LM35, untuk menyimpan data tersebut,
tekanlah tombol push button sekali, maka akan tampak tulisan-tulisan pada LCD
yang akan mengarah ke penyimpanan file, jika berhasil maka tidak ada tampilan
atau kata-kata error pada saat penyimpanan dan otomatis tulisan pada lcd akan
kembali pada deteksi suhu.
Untuk
kalibrasi LM35 disesuaikan dengan alat yang sebenarnya, yaitu termometer
digital yang dijual dipasaran, untuk membandingkan kevalid-an data yang diperoleh.
thank u infonya bro .. bro bisa ngak projectnya itu ngak ngukur suhu tapi dipake buat ngukur arus listrik hingga 300 A terus data pengukurannya itu di simpan ke dalam SD card tiap jam ..??
ReplyDeletepa boleh saya dibuatkan alat ini? bgmn caranya?
ReplyDeletekok pada baris ini
ReplyDeleteIf Gbdriveerror <> 0 Then
error ya?