RANCANG BANGUN SISTEM PENGUKURAN SUHU III by jayus10

VIEWS: 285 PAGES: 13

									                                    BAB 3

          RANCANGAN SISTEM PENGUKURAN SUHU RUANG
              BERBASISKAN MIKROKONTROLER AT89C52



3.1. Analisis Rangkaian Secara Diagram Balok

              Masukan                                            Keluaran


            Sensor                                                   Display
                                    Mikrokontroler
                                      AT89C52
            Keypad                                                  Komputer


    Gambar 3.1. Blok Diagram Rangkaian Programmable Thermometer


        Pada blok pertama terdapat blok masukan. Dimana pada blok ini terdapat
sensor suhu yang menggunakan IC LM35 sebagai sensornya. Sensor ini sangat
berpengaruh sekali, karena apabila diletakkan pada suatu ruangan, maka sensor
akan langsung bekerja mengukur suhu yang ada diruangan tersebut. Hasil dari
pengukuran suhu yang di deteksi oleh LM35 adalah berupa tegangan. Keluaran
dari LM 35 akan menjadi masukan pada IC LM 358 dan akan di teruskan ke ADC
0804.
        IC LM 358 digunakan sebagai penguat. Rangkaian penguat ini diperlukan
karena kenaikan sebesar 10 mV setiap derajat celcius tidak dapat langsung
dihubungkan ke ADC 0804 karena berada di bawah toleransi ketelitian. Tingkat
kenaikan tegangan yang lebih kecil dari toleransi ketelitian ADC 0804 akan
menyebabkan kesalahan dalam pengukuran. Untuk menghindari kesalahan
tersebut maka diperlukan rangkaian penguatan dengan menggunakan LM 358
serta dengan konfigurasi penguatan tak membalik. Resistor R 10kΩ dan
potensiometer 50kΩ dapat digunakan untuk mengatur agar keluaran dari LM 35
menjadi lima kali lebih besar. Sehingga keluarannya dapat menghasilkan tegangan


                                      35
                                                                                                 36




sebesar 50mV untuk setiap derajat celcius. Hubungan antara besarnya kenaikan
tegangan dengan nilai R dan P dapat dilihat pada rumus :
                         
                        PR
                    V 
                    out    V
                           . in...............................................................(3.1.)
                         R
       LM 358 pada rangkaian penguat ini menggunakan sumber tegangan
sebesar 12 volt sehingga dioda zener dan resistor R1 digunakan pada keluaran
penguat ini untuk menjaga agar batas maksimum tegangan hanya mencapai 5 volt
saja dan melindungi ADC 0804 dari tegangan berlebih. Keluaran dari penguat ini
selanjutnya akan masuk ke ADC 0804 pada kaki 6 (masukan analog).
       ADC0804 mempunyai sebuah saluran masukan analog. Pemilihan ini
dikarenakan sistem ini hanya membutuhkan sebuah masukan. ADC0804
memerlukan sinyal denyut untuk bekerja, sinyal ini bisa diumpan dari luar
ADC0804, tapi bisa juga dibangkitkan sendiri oleh ADC0804. waktu yang
diperlukan mengubah tegangan analog menjadi besaran digital sekitar 64 periode
sinyal denyut diatas, dengan demikian semakin tinggi frekuensi sinyal denyut
maka semakin cepat pula waktu konversi. Frekuensi yang diijinkan untuk
ADC0804 adalah 100 – 1460 KHz, tapi umumnya cukup dipakai 640 KHz.
Sedangkan tegangan yang diperbolehkan yaitu 0 – 5Volt. Sinyal denyut
dibangkitkan dengan menggunakan rangkaian RC.
       Dengan ketelitian di atas kenaikan LM35 (10 mV), maka keluaran LM35
akan menyebabkan kesalahan pengukuran bila langsung di hubungkan dengan
masukan analog ADC, oleh karena itu digunakan rangkaian amplifier untuk
menghasilkan kenaikan tegangan di atas toleransi ketelitian.
       Rangkaian ADC yang digunakan menggunakan MODE FREE, dimana
ADC0804 akan mengeluarkan data hasil pembacaan masukan secara otomatis
dan berkelanjutan setelah selesai mengubah tegangan analog ke digital.
       Kecepatan konversi tergantung dari frekuensi yang diberikan dari
rangkaian eksternal. Pada rangkaian ini digunakan rangkaian RC dengan resistor
10kΩ dan kapasitor 150pF agar menghasilkan frekuensi sebesar 640 KHz.
                                                                           37




       Keluaran 8 bit dari ADC 0804 pada kaki 11 – 18 akan di hubungkan / di
masukkan ke kaki port P1.0 – P1.7 pada AT89C52 untuk diproses agar menjadi
data yang bisa ditampilkan pada 7 segmen.




                  Gambar 3.2. Gambar Rangkaian Sensor


       Selain sensor, pada masukan juga terdapat keypad. Keypad pada rangkaian
ini disusun secara matriks 4 baris x 3 kolom. Masing-masing baris dihubungkan
ke P 2.4 s/d P 2.7 dan masing-masing kolom dihubungkan ke P 2.0 s/d P 2.2 pada
IC Mikrokontroler AT89C52.
                Selengkapnya diperhatikan pada tabel 3.1 :
                Tabel 3.1. Daftar Arti Tiap Tombol Matriks


                                P 2.0        P2.1    P 2.2
                      P 2.7    SW 1         SW 2    SW 3
                      P 2.6    SW 4         SW 5    SW 6
                      P 2.5    SW 7         SW 8    SW 9
                      P 2.4    SW 10        SW 11   SW 12


       Sebelum tombol keypad ditekan, maka akan terbaca logika 1 hal ini di
karenakan pada saat mulai dihidupkan AT89C52 akan menuliskan logika 1 ke
                                                                           38




seluruh port. Pada saat salah satu tombol keypad ditekan maka akan terbaca
logika 0.




                    Gambar 3.2. Gambar Rangkaian Keypad


       Kombinasi kapasitor dan tahanan pada reset juga merupakan rangkaian
baku, komponen ini dipakai untuk membentuk rangkaian ‘power on reset’, artinya
rangkaian yang akan otomatis me-reset AT89C2051 setiap kali AT89C2051 mulai
menerima sumber daya listrik.
       Port 1 pada mikrokontroler digunakan sebagai masukan yang menerima
data 8 bit hexa dari ADC. Suhu maksimum tercapai saat keluaran ADC bernilai
255 (FF hexa) saat tegangan masukan analog ADC sebesar 5 volt. Selanjutnya
mikrokontroler akan membagi menjadi 3 digit desimal untuk ditampilkan pada 7-
segmen.
       Mikrokontroler akan mulai bekerja apabila telah dimasukkan data-data,
yaitu data bulan, tanggal, menit, jam dan range. Untuk memasukkan data-data
tersebut ialah dengan menggunakan masukan keypad yang terhubung ke port 2
pada IC mikrokontroller.
                                                                                                   39




                                                39                            21
                                                38     P0.0/AD0     P2.0/A8   22
                      P 0.0 - P 0.7                                                P 2.0 - P 2.7
                                                37     P0.1/AD1     P2.1/A9   23
                                                36     P0.2/AD2    P2.2/A10   24
                                                35     P0.3/AD3    P2.3/A11   25
                                                34     P0.4/AD4    P2.4/A12   26
                                                33     P0.5/AD5    P2.5/A13   27
                                                32     P0.6/AD6    P2.6/A14   28
                                                       P0.7/AD7    P2.7/A15
                                                 1                            10
                                                 2     P1.0/T2   P3.0/RXD     11
                      P 1.0 - P 1.7                                                P 3.0 - P 3.7
                                                 3     P1.1/T2-EX P3.1/TXD    12
                                                 4     P1.2      P3.2/INT0    13
                                                 5     P1.3      P3.3/INT1    14
                                                 6     P1.4        P3.4/T0    15
                                                 7     P1.5        P3.5/T1    16
                                                 8     P1.6       P3.6/WR     17
                                                       P1.7       P3.7/RD
                                                19                            30
                                                18     XTAL1      ALE/PROG    29
                                                       XTAL2          PSEN
                           10u
                     +5V                        31
                                                 9     EA/VPP
                                                       RST
                                                     AT89C52

                                 10K
                                   30pF



                                  30pF
                                          11.0592MHz




            Gambar 3.3. Gambar Rangkaian Mikrokontroler [11]
       Pada rangkaian ini dapat bekerja bila rangkaian sensor suhu berfungsi dan
IC AT89C52 ini bekerja sesuai dengan program yang diisi. Yang selanjutnya akan
diteruskan sebagai keluaran pada penampil tujuh segmen dan komputer.
       Display penampil dalam alat ini terdiri dari 3 buah 7 segmen yang
berfungsi menampilkan saat memasukkan masukan tanggal, bulan, jam, menit,
range pada saat setting awal alat, serta menampilkan perubahan suhu saat
pengukuran. Penampil 7 segmen pada rangkaian ini menggunakan Port 0 dari
AT89C52.
       Rangkaian penggerak penampil 7 segmen menggunakan Port 0 dengan
konfigurasi common anoda. Karena dilihat dari struktur Port 0 serta sifat-sifat dari
Port 0, akan lebih mudah mengkonfigurasikan LED dalam 7 segmen dengan
common anoda. Dengan demikian untuk menghidupkan atau menyalakan LED
diperlukan logika 0 pada Port 0.
       Selain memakai 7 segmen sebagai penampil, pada alat ini juga akan
menghasilkan keluaran berupa grafik yang dapat ditampilkan pada komputer.
Grafik yang ditampilkan adalah grafik perubahan suhu dari suatu ruangan yang
diukur yang sebelumnya telah disimpan pada memori penyimpanan sementara
dari atmel. Agar dapat berkomunikasi dari alat ke komputer akan dibutuhkan
suatu dekoder yaitu berupa IC RS 232. Karena IC Atmel tidak dapat langsung
berkomunikasi dengan port serial yang ada pada komputer dan juga bit rate Atmel
                                                                           40




tidak sama dengan bit rate pada komputer serta untuk menterjemahkan interupsi-
interupsi dari komputer.




               Gambar 3.4. Gambar Sarana Komunikasi Serial


3.2.   Analisis Program Mikrokontroler
41
                                                                             42




  Gambar 3.5. Diagram Alur Rancangan Program Perangkat Keras Sistem


       Alat akan bekerja diawali dengan melakukan proses inisialisasi timer dan
interupsi pada IC Mikrokontroler. Setelah itu alat akan melakukan setting awal.
Lalu mengkosongkan data yang ada pada memori penyimpanan data sementara
dari IC Mikrokontroler. Setelah memori dikosongkan, maka alat akan melakukan
prosedur tampil sebentar.
       Berikut penggalan program untuk prosedur tampil sebentar :
                    mov       29h,#50
                    tampil_sebentar_ulang:
                    call      tampilan
                    djnz      29h,tampil_sebentar_ulang
                    ret


       Program tersebut akan menampilkan karakter-karakter pemasukan data.
Seperti karakter tgl (untuk tanggal), bln (untuk bulan), jam (untuk jam), mnt
(untuk menit), dan rng (untuk range). Penampilan karakter-karakter tersebut akan
ditampilkan selama 0,5 detik pada penampil 7 segmen..
                                                                            43




       Kemudian alat akan melakukan prosedur ambil suhu dan isikan ke buffer
tampilan.. Berikut penggalan program untuk prosedur ambil suhu dan isikan ke
buffer tampilan :
                            mov        34h,P1

                            mov        a,34h
                            mov        b,#100
                            div        ab
                            mov        31h,a

                            mov        a,b
                            mov        b,#10
                            div        ab
                            mov        32h,a

                            mov        a,b
                            mov        b,#1
                            div        ab
                            mov        33h,a
                            ret

       Proses selanjutnya adalah alat akan mendeteksi apakah ada masukan dari
keypad ? Jika ya, maka alat akan melakukan proses memasukkan data tanggal.
Jika tidak, alat akan kembali mengkosongkan data-data yang terdapat pada
memori ROM IC Mikrokontroler. Setelah ada masukan dari keypad, alat akan
mendeteksi apakah ada akses tanggal ? Jika ya, masukan data tanggal dari keypad
dan data tanggal tersebut akan dikirim ke subrutin buffer tampilan untuk
ditampilkan pada 7 segmen. Jika tidak, alat akan melanjutkan ke proses
berikutnya untuk mengakses bulan. Proses berikutnya adalah, alat akan
mendeteksi apakah mengakses bulan ? Jika ya, masukan data bulan dari keypad
dan data bulan tersebut akan dikirim ke subrutin buffer tampilan untuk
ditampilkan pada 7 segmen. Jika tidak, alat akan melanjutkan ke proses
berikutnya untuk mengakses jam.
       Proses berikutnya alat akan mendeteksi apakah mengakses jam ? Jika ya,
masukan data jam dari keypad dan data jam tersebut akan dikirim ke subrutin
buffer tampilan untuk ditampilkan pada 7 segmen. Jika tidak, alat akan
melanjutkan ke proses berikutnya untuk mengakses menit. Proses berikutnya, alat
                                                                                                                 44




akan mendeteksi apakah mengakses menit ? Jika ya, masukan data menit dari
keypad dan data menit tersebut akan dikirim ke subrutin buffer tampilan untuk
ditampilkan pada 7 segmen. Jika tidak, alat akan melanjutkan ke proses
berikutnya untuk mengakses range.
       Setelah itu alat akan melakukan deteksi apakah akses range ? Jika ya,
masukan data range dari keypad dan data range tersebut akan dikirim ke subrutin
tampilan. Jika tidak, alat akan melanjutkan proses berikutnya untuk mengukur
suhu ruangan. Range ini yang akan menentukan rentang waktu penyimpanan hasil
pengukuran suhu pada memori penyimpanan sementara atmel. Perhitungan range
pada alat ini dipengaruhi oleh nilai Xtal yang digunakan yaitu 11,0592 MHz.
Untuk mendapatkan perhitungan waktu ini maka digunakan persamaan berikut :
                     12
                P
                     f osc ...................................................................................(3.2.)

                    12
                P
                      Hz
                  11059200
               P = 1,085.10-6 detik
Untuk mendapatkan nilai 15 detik, maka siklus yang dibutuhkan untuk mencapai
nilai 15 detik adalah :
                15
                 .11059200
                12
               = 13824000 siklus
Karena bilangan tersebut tidak dapat dimasukkan pada mikrokontroler secara
langsung, maka digunakan cara dengan mengalikan faktor-faktornya yaitu 2403 =
13824000
       Setelah semua proses pemasukan data dilakukan, maka alat akan langsung
bekerja mendeteksi suhu pada suatu ruangan dan hasil dari pengukuran suhu
tersebut akan ditampilkan pada 7 segmen. Apakah alat terhubung dengan
komputer ? Jika ya, maka pada komputer akan menampilkan grafik perubahan
suhu tersebut. Jika tidak, maka alat hanya menampilkan hasil pengukuran suhu
pada 7 segmen saja. Grafik yang ditampilkan adalah grafik perubahan suhu yang
telah tersimpan terlebih dahulu pada memori penyimpanan sementara (buffer).
                                                              45




3.3.   Analisis Program Delphi




          Gambar 3.6. Diagram Alur Rancangan Program Delphi
                                                                                46




       Program dimulai dengan melakukan setting serial port. Setting serial port
disesuaikan dengan perangkat keras sistem. Apakah setting sudah benar ? Jika ya,
setting serial port selesai dan benar, proses selanjutnya adalah proses pembacaan
data yang diterima oleh komputer dari perangkat keras serta akan dilakukan
interupsi terhadap perangkat keras sistem. Jika tidak, setting belum benar ulangi
lagi setting serial port, agar data dapat diterima oleh komputer.
       Proses selanjutnya adalah, perangkat keras akan mengirimkan data suhu.
Data yang telah diterima oleh komputer, akan disimpan sementara ke dalam
variabel dan data suhu akan disimpan ke dalam array. Data-data yang disimpan ke
dalam array akan dibuat grafik perubahan suhu dan grafik tersebut akan
ditampilkan.
       Apakah grafk dapat ditampilkan ? Jika ya, maka grafik perubahan suhu
akan tampil. Jika grafik tidak bisa tampil, setting serial port salah. Lakukan lagi
setting sampai benar. Jika sudah benar maka grafik dapat ditampilkan. Apakah
grafik yang telah ditampilkan akan disimpan ? Jika ya, grafik yang telah
ditampilkan akan disimpan ke komputer. Jika tidak ingin disimpan, maka bisa
dilakukan proses pembacaan kembali dan proses selesai.
                                                 47




Gambar 3.7. Tampilan Besar Suhu Terhadap Waktu

								
To top