Kali ini saya akan mencoba membahas experimen digital yang pernah saya coba, salah satunya adalah Experimen pembuatan termometer digital berbasis MCS-51. termometer ini terbukti sangat akurat dikarenakan sensor yang digunakan sangat presisi. bahan-bahan yang digunakan adalah :
1. MCU 8051 sebagai pemroses (AT89S51,AT89S52,....)
2. ADC 0804 sebagai converter tegangan analog dari sensor agar menjadi data digital
3. LM 35 sebagai sensor suhu
Gambar diagram blok rangkaiannya
Sensor LM 352. ADC 0804 sebagai converter tegangan analog dari sensor agar menjadi data digital
3. LM 35 sebagai sensor suhu
4. LCD 16x2
Gambar diagram blok rangkaiannya
Sensor ini mempunyai range suhu dari 0-150 celcius dengan kenaikan tegangan per step suhunya adalah 0,01 volt sehingga range tegangannya adalah dari 0 volt sampai 1,5 volt. Sensor ini dapat dioperasikan antara 4 volt sampai 20 volt
ADC 0804
ADC 1 channel ini hanya mempunyai inputan type + / - dan mempunyai keluaran data 8 bit. Vref yang digunakan adalah tegangan output dari pembagi tegangan VR(variabel resistor).
perhitungan nilai Vref--->> apabila kita menginginkan suhu maksimal adalah 100 Celcius maka keluaran dari sensor adalah 1Volt Maksimal. tegangan 1volt ini dijadikan sebagai acuan untuk menentukan nilai Vref. Nilai Vref untuk ADC 0804 sendiri sudah ditentukan dengan menggunakan rumus Vref= Vin/2 maka untuk nilai input maksimal untuk 1 volt diketemukan nilai Vref sebesar 0,5 volt agar ADC mengeluarkan data 1111 1111 atau FF pada saat suhu 100 celcius....
Mode Rangkaian yang digunakan--->> mode rangkaian yang digunakan adalah termasuk jenis rangkaian ADC free running. maksud dari free running sendiri adalah ADC akan langsung mengkonverter tegangan analog menjadi digital begitu saat pin WR-INT dihubungkan dan di triger dengan logic 0 (ground) (lihat saklar start)
MCU 8051
MCU ini sudah sangat familiar dikalangan hobi digital karena fitur murah, mudah didapat dan mudah diaplikasikan. mempunyai 4 port I/o dengan kapasitas memori 4kb untuk S51 dan 8kb untuk S52
LCD 16x2
Namanya juga LCD 16x2 jadi mempunyai 16 kolom dan 2 baris dengan 8bit input. mempunyai 2 mode penulisan data LCD dapat menggunakan mode 8 bit data atau menggunakan mode 4bit data MSB. disini rangkaian yang digunakan adalah dengan menggunakan mode 4 bit data MSB dikarenakan lebih irit pemakaian port.
Bahasa pemrograman
yang digunakan adalah Bahasa Bascom(basic compiller), saat ini bascom menjadi pilihan utama dalam memprogram MCU dikarenakan bahasa pemrograman ini sangat dekat dengan bahasa manusia. berikut adalah program termometer :
$crystal = 11059200
$baud = 9600
Enable Interrupts
Config Lcdpin = Pin , Db4 = P0.4 , Db5 = P0.5 , Db6 = P0.6 , Db7 = P0.7 , E = P0.3 , Rs = P0.2
Config Lcd = 16 * 2
Cursor Off
Display On
Cls
Dim Adc As Word , Suhu As Word
P2.0 = 0 'WR-INT triger
Waitms 500
P2.0 = 1
Awal:
Suhu:
Adc = 0
Adc = P3
Adc = Adc * 100
Suhu = Adc * 2
Suhu = Suhu / 5
Suhu = Suhu / 100
Locate 1 , 1
Lcd "Suhu Saat Ini"
Locate 2 , 1
Lcd Suhu
Locate 2 , 4
Lcd "Celcius"
Goto Awal
End
Rumus yang dipakai mengkonversi data digital menjadi derajat celcius
apabila suhu 100 celsius maka data ADC 1111 1111 atau FF atau 256-1 = 255 , Maka :
Adc = 255 * 100
Suhu = 25500 * 2
Suhu = 51000 / 5
Suhu = 10200 / 100
suhu = 102 ----->> mbleset atau lebih 2 derajat
Kelebihan 2 derajat dapat ditanggulangi dengan memutar VR pada Vref ADC sehingga dapat pas 100 derajat.......
saatnya beraksi............................demo.........................................................................
Percobaan dengan Suhu ruangan
Percobaan mengukur suhu dengan solder
SELAMAT MENCOBAAAAA.......................... SEMOGA BERHASILLLLL.....................................
sangat membantu sekali tapi kenapa apabila saat suhu sudah mencapai 100 celsius terus turun itu angka 0 dibelakang tidak bisa hilang...??
BalasHapuscoba tambahkan program
BalasHapusif suhu < 100 then
locate 2,3
LCD " "
end if
sisipkan pada sebelum GOTO AWAL.......
semoga membantu........
sssuuuuuiiippppppp makasihhhh kang atas ilmunya...........
BalasHapusyeaahhhhh aku berhasillllll..........thanks kang :-)
BalasHapusMAAF,,,SAYA TERTARIK SEKALI MEMBACA PENGETAHUAN SEPERTI INI....
BalasHapusKALO KITA MEMAKAI BAHASA PROGRAM ASSEMBLER BISA KAN????APAKAH ANDA PUNYA PROGRAMNYA...
KALAU PUNYA TOLONG KIRIMKAN KE E-MILE SAYA,,,,
TOLONG YACH...
DILIHAT DARI BLOG RANGKAIANNYA SAMA SEPERTI PUNYA BAPAK...
satria_ituaja@yahoo.co.id
TERIMA KASIH..
satria_ituaja@yahoo.co.id
BalasHapuswahhh dipersori mas.... saya belajarnya pake bahasa bascom karena lebih mudah dimengerti dan mudah diaplikasikan tanpa pengalamatan memori.... kalo pake asembler kurang begitu paham apalagi kalau pake asembler programnya mungkin tidak akan sependek itu bisa lebih panjang.... sekali lagi dipersori....
NDAN....BISAKAH ITU ALAT RANCANGAN DIBUAT UNTUK MONITORING SUHU PAKE KOMPUTER?KALAU BISA TOLONG YA DIBANTU DENGAN DITAMBAHIN LAGI POSTINGAN RANCANGANNYA...
BalasHapusBOs
BalasHapusbisakah anda menjelaskan
fungsi atau peran dari bascom di alat thermometer digital
mohon di jelaskan ya bos...??
bascom adalah sebuah bahasa pemrograman (basic compiller) jadi kita memprogram dengan bahasa yang dekat dengan bahasa manusia kemudian dicompile jadi bahasa mesin/bahasa assembler..... biasanya file yang bentuk sudah bahasa assembler denagn tipe .hex yang kemudian didownloadkan ke microcontroller.......
BalasHapusbisa-bisa saja buat monitoring via computer..... hanya dengan menambahkan IC max 232 yang fungsinya mengubah tegangan level TTL pada port tx/rx lalu kita program untuk komunikasi serial dan kita hubungkan dengan port serial(DB9) maka kita bisa memperoleh data dari pembacaan sensor LM35 yang kemudian ditampilkan ke komputer.....
BalasHapuswah bagus bagus
BalasHapuskunjungi juga http://goes-open.blogspot.com/2012/02/pemrograman-bascom-avr-termometer.html
bos ane nyoba buat termometer kaya yang diatas tapi pingin nampilin d lcdnya berisi koma, misalnya 50,02. kalo boleh tau gimana caranya ya? tolong bantuannya ya...
BalasHapusgan software buat merubah ke file hex apa ya?
BalasHapus