ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

109
ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS MIKROKONTROLER AT89S51 TUGAS AKHIR Diajukan untuk memenuhi salah satu syarat memperoleh gelar Sarjana Teknik Program Studi Teknik Elektro Fakultas Teknik Universitas Sanata Dharma disusun oleh YUSUF FREDY HARYANTO NIM : 005114105 PROGRAM STUDI TEKNIK ELEKTRO JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS SANATA DHARMA YOGYAKARTA 2007

Transcript of ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

Page 1: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

ALAT PENGUKUR KEDALAMAN SUMUR

BERBASIS MIKROKONTROLER AT89S51

TUGAS AKHIR

Diajukan untuk memenuhi salah satu syaratmemperoleh gelar Sarjana Teknik

Program Studi Teknik ElektroFakultas Teknik Universitas Sanata Dharma

disusun oleh

YUSUF FREDY HARYANTONIM : 005114105

PROGRAM STUDI TEKNIK ELEKTROJURUSAN TEKNIK ELEKTRO

FAKULTAS TEKNIK UNIVERSITAS SANATA DHARMA

YOGYAKARTA2007

Page 2: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

WELL DEPTH MEASURING TOOLBASED ON AT89S51 MICROCONTROLLER

FINAL PROJECT

Presented as Partial Fulfilment of the Requirements To Obtain the Sarjana Teknik Degree

In Electrical Engineering

By

YUSUF FREDY HARYANTO

005114105

ELECTRICAL ENGINEERING STUDY PROGRAMELECTRICAL ENGINEERING DEPARTMENT

ENGINEERING FACULTYSANATA DHARMA UNIVERSITY

YOGYAKARTA2007

Page 3: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

iv

Page 4: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …
Page 5: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

v

v

Page 6: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

“Bersyukurlah kepada Tuhan Allahmu sebab Dialah sumber segala rahmat dan karunia yang

diberikan kepadamu ”

Ku persembahkan karya ilmiah ini untuk :Tuhan ku Yesus KristusSebab Dialah sumber segala sesuatu, oleh Dia dan kepada Dialah kemuliaan sampai selama-lamanya.Bunda Maria.................Keluargaku :Ayahanda tercinta (alm), Ibunda tercinta, mba Christin, mas Anto, mas Anton, mba Emi, cicil, fandy dan orang-orang yang selalu mendukung dan menyayangi saya. Special for Caecilia Erlin Desiana tercinta yang selalu menemani aku dan memberi semangat.Dan Almamaterku............

vi

Page 7: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

Alat Pengukur Kedalaman Sumur Berbasis Mikrokontroler AT89S51

NAMA : Yusuf Fredy Haryanto NIM : 005114105

INTI SARI

Tugas akhir ini membahas tentang alat untuk mengukur kedalaman sumur. Kedalaman sumur yang dihasilkan menggunakan satuan meter, yang akan ditampilkan melalui seven segments.

Alat ini terdiri dari rengkaian sensor, pengendali motor, microcontrollerdan seven segments. Kedalaman tersebut diketahui melalui optocoupler dan ditangkap menggunakan microcontroller. Fungsi dari microcontroller yaitu menghitung pulsa dari sensor, mengatur putaran motor dan menampilkan hasil perhitungan pada seven segments. Microcontroller yang digunakan pada alat ini adalah AT89S51.

Hasil akhir dari penelitian ini adalah alat dapat mengukur kedalaman dengan jangkauan 00,00 meter sampai 99,95 meter, dan resolusi 5 centi meter

Kata kunci : Pengukuran kedalaman, aplikasi microcontroller

vii

Page 8: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

Well Depth Measuring Tool Based On AT89S51 Microcontroller

NAME: Yusuf Fredy Haryanto NIM : 005114105

ABSTRACT

This paper discussed about the tool to measuring the depth of well. The well depth that is resulted using this tool uses the meter unit of depth.

This tool consists of sensor circuit, motor controller, microcontroller and seven segments. The depth is sensed by optocoupler and being captured using microcontroller. Microcontroller tasks are counting pulses from sensor, controls the direction of motor and display the counting result at seven segments. Microcontroller that is being used in this appliance is AT89S51

The results are this tool can measure the depth with range 00.00 m up to 99.95 m, and 5 cm resolution which is presented in through the seven segments. The seven segments circuit represents the end of the all circuit systems in the well depth measuring.

Keywords: Depth measurement, microcontroller application.

viii

Page 9: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

Kata Pengantar

Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa, oleh

karena kasih dan penyertaan-Nya sehingga penulis dapat meyelesaikan Tugas

Akhir yang berjudul “Pengukur Kedalaman Sumur Berbasis Mikrokontroler

AT89S51”. Tugas Akhir ini disusun sebagai salah satu syarat untuk

memperoleh gelar Sarjana Teknik. Dalam penyusunannya, banyak pihak yang

telah membantu dan memberikan dukungan pada penulis, oleh karena itu,

penulis ingin mengucapkan terima kasih kepada:

1. Bapak Ir. Greg. Heliarko, S.J., S.S., B.S.T., M.A., M.Sc., selaku Dekan

Fakultas teknik Universitas Sanata Dharma, Yogyakarta.

2. Bapak Agustinus Bayu Primawan, S.T., M.Eng., selaku Ketua Jurusan Teknik

Elektro, Fakultas Teknik, Universitas Sanata Dharma, Yogyakarta.

3. Ibu Wiwien Widyastuti, S.T., M.T., selaku Dosen Pembimbing Akademik.

4. Bapak B. Djoko Untoro S., Ssi., MT selaku Pembimbing I yang bersedia

membagikan ilmu yang dimilikinya dalam membantu proses penyusunan

tugas akhir ini.

5. Bapak Ir. Tjendro selaku Pembimbing II Yang bersedia meluangkan waktunya

untuk membantu proses penyusunan tugas akhir ini.

6. Seluruh staf Dosen Jurusan Teknik Elektro USD yang telah memberikan

banyak pelajaran berharga selama masa kuliah.

7. Pak Djito, Mas Sur, Mas Broto, Mas Mardi dan segenap staf serta karyawan

Fakultas Teknik USD, terimakasih atas keramahannya dan pelayanannya.

8. Ibunda tercinta MM. Sudarmi yang selalu mendoakan dan memberi kasih

sayangnya serta dukungan yang tiada habisnya.

9. Ayahanda tercinta Herybertus Satinem (alm) terimakasih atas nasehat dan

pengorbanan yang kau berikan untukku semasa hidup mu.

10. Istriku tercinta Caecilia Erlin Desiana terima kasih atas dorongan semangat,

kasih sayang, cinta, dan doamu.

ix

Page 10: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

11. Mbak Christin, mas Anto, mas Anton, mba Emi yang selalu memberi

semangat dan doa.

12. Para “pembimbing dua” Iyung, Aas, Parto”, makasih atas pengorbanannya dan

dukungannya.

13. Teman-teman seperjuangan di Prodi Teknik Elektro 2000: Joko, Niko, Surya,

Sigit, Roy, Marsel, Bowo Andre, Wahyu dan semua anak TE 2000. You are

the best!

14. Anak kontrakan, Puguh (kumis), Ucok, makasih atas semuanya.

15. Semua pihak yang telah membantu selama penyusunan laporan tugas akhir ini

yang tidak dapat penulis sebutkan satu per satu.

Penulis menyadari bahwa tugas akhir ini masih memiliki banyak

kekurangan. Oleh sebab itu, segala bentuk saran dan kritik yang bersifat

membangun sangat penulis harapkan demi penyempurnaan .

Penulis

x

Page 11: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

D A F T A R I S I

Hal

HALAMAN JUDUL ………………………………………………….…….…..... i

HALAMAN PENGESAHAN PEMBIMBING ….........……………...................... iii

HALAMAN PENGESAHAN PENGUJI…………………………….........…........ iv

PERNYATAAN KEASLIAN KARYA …………………………..…………........ v

HALAMAN PERSEMBAHAN DAN MOTO HIDUP…………………………... vi

INTISARI …………………………………………………………....………….... vii

ABSTRACT ……………………………………………………………....……...... viii

KATA PENGANTAR …………………………………………………...……...... ix

DAFTAR ISI ……………………………………………………………...…........ xi

DAFTAR GAMBAR …………………………………………………………....... xiv

DAFTAR TABEL …………..............……………………………………………......xvi

DAFTAR LAMPIRAN............................................................................................. xvii

BAB I PENDAHULUAN

1.1. Judul .................. ................................................................................... 1

1.2. Latar Belakang .............. ......................................................................’ 1

1.3. Pembatasan Masalah ............................................................................ 1

1.4. Tujuan dan Manfaat ......... .................................................................... 2

1.5. Metodologi Penelitian .............................................................................. 2

1.6. Sistematika Penulisan ........................................................................... 3

BAB II DASAR TEORI

2.1. Sensor Posisi .................................................................................... 4

2.1.1. Sensor Rotary Encoder..................................................................... 4

2.1.2. Pengondisi Sinyal............................................................................. 6

2.2. Mikrokontrolet AT89S51................................................................. 8

2.2.1. Timer dan Counter dalam Mikrokontroler AT89S51........................ 8

2.2.2.a.Timer Mode Register........................................................................ 8

2.2.2.b.Timer control Register Timer 0 dan 1 ............................................. 9

2.2.2.c.THx dan TLx..................................................................................... 10

2.2.3. Sistem Interupsi................................................................................ 10

xi

Page 12: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

2.3. Display / Penampil............................................................................ 11

2.3.1. Dioda Pemancar cahaya.................................................................... 11

2.3.2. Penampil seven segment................................................................... 12

BAB III PERANCANGAN ALAT

3.1. Perancangan Perangkat keras .......................................................................13

3.1.1. Rangkaian Sensor .............................................................................. 13

3.1.2. Rangkaian Sensor rotary encoder...................................................... 14

3.1.3 Piringan rotary encoder....................................................................... 15

3.1.4. Rangkaian Pengondisi Sinyal.............................................................. 15

3.1.5. Mekanisme alat pengukuran............................................................... 19

3.1.6. Mikrokontroler AT89S51 ................................................................. 20

3.1.7. Driver motor....................................................................................... 21

3.1.8. Unit Penampil............................... ..................................................... 23

3.2.. Perancangan Perangkat Lunak............................................................ 26

3.2.1. Algoritma Perangkat Lunak ............................................................... 26

3.2.2. Diagram alir program utama .............................................................. 27

3.2.3. Diagram alir subrutin increment cacah pulsa ..................................... 28

BAB IV HASIL PENGAMATAN DAN PEMBAHASAN

4.1. Pengamatan Cara kerja Alat.................................................................. 30

4.2. Pengamatan Pada sensor........................................................................ 33

4.3. Pengamatan Pada Pengendali Motor DC............................................... 34

4.4. Proses Pencacahan ................................................................................ 34

4.5. Perhitungan jumlah pulsa......................................................................

4.6. Proses Pengukuran kedalaman.............................................................

35

36

BAB V KESIMPULAN DAN SARAN

5.1. Kesimpulan............................................................................................

5.2. Saran......................................................................................................

40

40

DAFTAR PUSTAKA ............................................................................................

LAMPIRAN ............................................................................................................

xii

Page 13: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

DAFTAR GAMBAR

Gambar 2.1 Piringan rotary encoder................................................................ 5

Gambar 2.2 Pulsa increment encoder .........................................................….....…..5

Gambar 2.3.a Phototransistor............................................................................ 6

Gambar 2.3.b Sensor rotary encoder...………………….................................. 6

Gambar 2.4 Transistor penguat....................................................................... 7

Gambar 2.5 Schmitt triger............................................................................... 7

Gambar 2.6 Register TMOD (Timer Mode Control Register)........................ 8

Gambar 2.7 Register TCON………...............................………….…............ 9

Gambar 2.8 Interrupt Enable Register............................................................ 10

Gambar 2.9 Interrupt Priority Register .......................................................... 11

Gambar 2.10 Rangkaian LED........................................................................... 11

Gambar 2.11 Bentuk tampilan seven segment……..….................................... 12

Gambar 3.1 Diagram blok sistem Pengukur Kedalaman Sumur..................... 13

Gambar 3.2.a Phototransistor........................................ .................................... 14

Gambar 3.2.b Sensor rotary encoder.................................................................. 14

Gambar 3.3 Pulsa rotary encoder.................................................................... 15

Gambar 3.4 Lebar pulsa.................... ........……............................................. 16

Gambar 3.5 Rangkaian Pengkondisi sinyal.........................................…….... 17

Gambar 3.6 Gelombang keluaran schmitt triger............................................. 18

Gambar 3.7 Mekanik Alat Pengukur Kedalaman Sumur................................ 19

Gambar 3.8 Rangkaian reset............................................................................ 20

Gambar 3.9 Rangkaian osilator....................................................................... 21

Gambar 3.10 Hubungan L293D dengan mikrokontroler AT89S51..... ............ 22

Gambar 3.11 Rangkaian indikator LED............................................................ 23

Gambar 3.12 Skema dasar konfigurasi saklar menggunakan transistor............. 24

Gambar 3.13 Rangkaian penampil seven segment............................................ 26

Gambar 3.14 Diagram alir program utama........................................................ 27

Gambar 3.15 Diagram alir subrutin increment cacah pulsa.............................. 29

xiii

Page 14: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

Gambar 4.1 Foto alat secara keseluruhan........................................................ 31

Gambar 4.2 Foto alat tampak depan...................................................................32

Gambar 4.3 Foto alat saat tampilan maksimal................................................. 32

Gambar 4.4 Pulsa keluaran dari rangkaian sensor............................................ 35

Gambar 4.5 Gambar satu pulsa......................................................................... 36

Gambar 4.6 Grafik error pada pengukuran....................................................... 39

xiv

Page 15: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

DAFTAR TABEL

Tabel II.1. Mode operasi pemilih timer / counter AT89S51 .............................. 9

Tabel II.2. Tabel kebenaran seven segment........................................................ 12

Tabel 3.2. Logika pada L293D........................................................................... 23

Tabel 4.1. Tegangan keluaran sensor..............................................................................33

Tabel 4.2. Pengamatan tegangan pada pengendali motor.................................. 34

Tabel 4.3. Hasil pengukuran dengan beban........................................................ 37

Tabel 4.4. Hasil pengukuran dengan menarik tali.............................................. 38

xv

Page 16: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

DAFTAR LAMPIRAN

Lampiran 1. Skematik Rangkaian…………………………………….…….......L1

Lampiran 2. Listing Program Mikrokontroler…….…………….………….......L2

Lampiran 3. Data-sheet AT89S51……...………………………………....……L3

Lampiran 4. Data-sheet Phototransistor…………………………………....… .L4

Lampiran 5. Data-sheet Transistor…………………………………… ……......L5

Lampiran 6. Data-sheet L293D……………………………………… ………...L6

Lampiran 7. Data-sheet seven segment…………………………………………L7

xvi

Page 17: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

BAB I

PENDAHULUAN

1.1. Judul

Alat Pengukur Kedalaman Sumur Berbasis Mikrokontroler AT89S51

1.2. Latar Belakang

Perkembangan elektronika akhir-akhir ini sangat pesat apalagi

perkembangan yang terjadi pada mikrokontroler. Mikrokontroler yang ada saat ini

sangat luas aplikasinya terutama dalam bidang elektronika. Penggunaan

mikrokontroler dalam bidang elektronika misalnya pada sistem kontrol,

monitoring, proteksi, juga dalam hal pengukuran. Piranti ini sangat baik untuk

melakukan pekerjaan tersebut dengan ditunjang oleh sistem perangkat lunak

(software) yang ada.

Mikrokontroler di dalam penelitian ini diaplikasikan sebagai pengukur

kedalaman sumur. Setelah data diolah dalam mikrokontroler AT89S51 kemudian

hasil olahan data tersebut akan ditampilkan melalui penampil seven segment.

Dengan alat Pengukur Kedalaman Sumur berbasis mikrokontroler AT89S51

ini diharapkan dapat membantu dunia industri maupun kehidupan sehari-hari

yang memudahkan manusia dalam hal pengukuran terutama segala sesuatu

yang berkaitan dengan pengukuran kedalaman.

1.3. Pembatasan Masalah

Adapun batasan masalah yang dipakai pada penelitian ini adalah :

1. Rotary encoder hanya berfungsi sebagai penghasil cacah pulsa.

2. Optocoupler berfungsi untuk mendeteksi banyaknya jumlah pulsa yang

dihasilkan.

3. Alat ini hanya dapat mengukur sampai pada permukaan sumur.

1

Page 18: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

4. Pemanfaatan mikrokontroler AT89S51 sebagai pengendali dan sarana

untuk mengimplementasikan program perhitungan kedalaman sumur.

5. Motor dc sebagai sarana penggerak mekanik.

6. Tampilan untuk jarak kedalaman permukaan air sumur ini

menggunakan seven segment.

7. Jangkauan kedalaman maksimal yang diukur 99,95 meter dengan

resolusi sebesar 5 cm.

1.4. Tujuan dan manfaat dari Penelitian

Tujuan dan manfaat dari penelitian ini adalah untuk membuat miniatur

(prototipe) sistem dari alat pengukur kedalaman sumur berbasis mikrokontroler

AT89S51. Sedangkan tujuan sekunder dari penelitian ini adalah :

1. Merancang suatu sistem untuk menghitung kedalaman sumur berbasis

mikrokontroler AT89S51.

2. Mengerti dan memahami cara kerja masing-masing rangkaian

3. Dapat merancang rangkaian-rangkaian sensor, seven segment dan

pengendali motor dc.

4. Memberi kemudahan dalam pengukuran kedalaman sumur

5. Mengaplikasikan ilmu-ilmu yang telah diperoleh selama kuliah

khususnya yang mempelajari mikrokontroler, dan beberapa mata

kuliah yang lainnya.

1.5. Metodologi Penelitian

Dalam penulisan Tugas Akhir ini, metode penelitian yang digunakan

meliputi :

1. Studi literatur pustaka yang berkaitan dengan mikrokontroler, rotary

encoder, dan pengendali motor dc.

2. Membuat rangkaian sensor dan rotary encoder.

3. Membuat program proses perhitungan pencacahan.

4. Ide perancangan yang direalisasikan kedalam rangkaian nyata, diuji,

dan diamati melalui percobaan-percobaan.

2

Page 19: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

I.6. Sistematika Penulisan

Sistematika penulisan laporan ini terdiri dari :

BAB I : PENDAHULUAN

Pada Bab Pendahuluan ini berisikan tentang judul, latar

belakang, pembatasan masalah, tujuan penelitian, manfaat

penelitian, metodelogi penelitian, dan sistematika penulisan.

BAB II : DASAR TEORI

Pada dasar teori ini menjelaskan teori dasar pembentukan dari

‘Alat Pengukur Kedalaman Sumur Menggunakan AT89S51’,

yang terdiri dari AT89S51, seven segment, Motor dc,

Optocoupler, dan rotary encoder.

BAB III : PERANCANGAN ALAT

Dalam bab ini berisikan tentang perancangan perangkat keras

yang terdiri dari rangkaian mikrokontroler AT89S51, rotary

encoder, Motor dc, Optocoupler, dan seven segment. Dan

berisikan tentang perancangan perangkat lunak dalam pembuatan

alat tersebut.

BAB IV : PENGAMATAN DAN PEMBAHASAN

Pada bab ini akan membahas tentang analisis hasil penelitian

yang telah dilaksanakan.

BAB V : KESIMPULAN DAN SARAN

Bab yang terakhir ini merupakan kesimpulan dari alat yang telah

dibuat dan berisikan saran-saran untuk pengembangan menuju

yang lebih baik.

3

Page 20: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

BAB II

DASAR TEORI

2.1. Sensor Posisi

Sensor berfungsi untuk memonitoring dan menganalisis gejala yang terjadi

pada posisi suatu benda. Hal ini sangat penting dalam hal mengendalikan posisi

dari benda yang dikendalikan.

2.1.1. Sensor Rotary Encoder

Encoder merupakan peralatan mekanis yang dapat memonitor gerakan

atau posisi. Secara khusus encoder menggunakan sensor cahaya untuk

memberikan suatu urutan pulsa yang dapat diubah ke dalam gerakan, posisi atau

arah. Encoder terbuat dari piringan yang sangat tipis dan LED yang tetap tidak

bergerak ditempel sehingga cahaya secara kontinyu difokuskan ke celah piringan.

Sebuah cahaya menggerakan transistor yang ditempel pada sisi yang lain dari

piringan sehingga dapat mendeteksi cahaya dari LED. Piringan ditempelkan pada

motor atau peralatan lain sehingga ketika diputar piringan bergerak. Begitu

cahaya dari LED difokuskan pada transistor maka transistor akan saturasi dan 21

gelombang pulsa elektronika akan dihasilkan. Tipe piringan ini digunakan dalam

aplikasi yang lebih mudah tetapi ukuran lubang piringan dibatasi sejumlah

ketelitian yang ditentukan.

Rotary encoder pada dasarnya dibagi menjadi dua jenis yaitu Increment

Rotary encoder dan Absolute rotary encoder. Increment rotaray encoder relatif

lebih murah dan memberikan resolusi sudut yang tinggi dan dapat mendeteksi

seberapa kecilnya putaran yang terjadi. Absolute encoder memiliki kelebihan

dalam hal transmisi data yang handal terutama apabila terdapat peralatan listrik

yang dapat menimbulkan interfensi.

Increment encoder mempunyai kelebihan dibanding Absolute encoder

diantaranya resolusi yang tinggi dan juga murah meskipun terdapat kelemahan.

Gambar 2.1. memperlihatkan piringan increment encoder.

4

Page 21: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

Gambar 2.1 Piringan Rotary encoder

Pada gambar diatas terdapat satu buah sensor. Sensor A dimanfaatkan untuk menentukan piringan berputar searah jarum jam. Pulsa yang dihasilkan oleh incremen encoder ditunjukan pada gambar 2.2.

Pulsa A

Gambar 2.2 Pulsa increment encoder

Sensor merupakan piranti elektronika yang berfungsi sebagai sensor cahaya, yang

terdiri dari bagian sumber (source) dan penerima (receiver).

Bagian sumber biasanya berupa LED infra marah, sedangkan penerimanya

berupa phototransistor. Sensor dibuat sedemikian rupa sehingga cahaya yang

dipancarkan dari sumber dapat diterima dengan baik oleh penerima seperti yang

ditunjukan pada gambar 2.3.a. Sensor terbuat dari galium arsenida infrared

emiting diode dan silicon phototransistor yang sudah dikemas dalam bentuk

tertentu.

A

5

Page 22: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

RR

R

5v5v

Gambar 2.3.a Phototransistor Gambar 2.3.b Sensor Rotary encoder

Dari gambar 2.3.b menunjukan bahwa saat phototransistor tidak terhalang

maka akan terjadi aliran elektron dari basis menuju emiter sehingga

mengakibatkan phototransistor aktif. Dengan kata lain saat dioda infra merah

memancarkan cahaya, pada basis phototransistor akan mengalir arus IB sehingga

menghasilkan tegangan VB yang cukup besar sehingga phototransistor ON.

Untuk memaksimalkan tegangan phototransistor, maka phototransistor

dibuat bersifat seperti saklar yang terhubung tertutup yang menyebabkan tegangan

pada emiternya maksimal VE VCC, pada keadaan ini phototransistor bekerja

pada daerah jenuh atau saturasi. Dan apabila phototransistor terhalang maka arus

pada basisnya sama dengan nol sehingga phototransistor off, dengan demikian

tegangan basisnya sangat kecil (VB < VF) pada keadaan ini phototransistor

bersifat seperti saklar yang terhubung buka. Arus kolektor fototransistor pada

kondisi ini maksimal yang menyebabkan tegangan VE sangat kecil VE 0, kondisi

demikian sering disebut phototransistor pada keadaan cut-off.

2.1.2. Pengkondisi Sinyal

Rangkaian penguat dan Schemitt trigger merupakan sebagian rangkaian

pengondisi sinyal dalam sistem kendali. Pengondisi sinyal memiliki tugas

memodifikasi atau mengubah dalam arti luas keluaran sensor untuk disesuaikan

6

Page 23: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

dengan kebutuhan unsur berikutnya. Berdasarkan fungsinya, pengondisi sinyal

dapat diklasifikasikan sebagai rangkaian pengondisi seperti penguatan dan

pelemahan serta rangkaian pengolah seperti konversi tegangan ke frekuensi dan

konversi tegangan ke arus.

Untuk menguatkan sinyal yang dihasilkan oleh rotary encoder

menggunakan penguat transistor seperti ditunjukan pada gambar 2.4 berikut ini.

Gambar 2.4. Transistor Penguat

Sinyal yang telah dikuatkan dipicu menggunakan pemicu schmitt trigger

agar sinyal keluaran terjadi perubahan yang tajam dari tinggi ke rendah atau

sebaliknya. Rangkaian pemicu schmitt trigger menggunakan CMOS Inverting

Schmitt Trigger. Rangkaian ini sudah dikemas dalam IC 7414 seperti

diperlihatkan pada gambar 2.5.

Gambar 2.5 Schmitt Triger

R

BD677

Ke schmitt triger

Dari sensor

+5V

7

Page 24: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

2.2. Mikrokontroler AT89S51

Mikrokontroler AT89S51 merupakan mikrokontroler buatan Atmel yang

menguasai teknologi pembuatan FPEROM (Flash Programmable and Erasable

Read Only Memory). FPEROM merupakan ROM (Read Only Memory) yang

dapat dihapus dan ditulis kembali dengan teknologi flash. Kelebihan flash ini

adalah mikrokontroler dapat menyimpan program secara internal, tidak

membutuhkan ROM eksternal.

AT89S51 memiliki 4 kBytes FPEROM, 256 Bytes RAM, 32 jalur I/O

(Input/Output), dan dua 16-bit timers/counters.

2.2.1. Timer dan Counter dalam Mikrokontroler AT89S51

Mikrokontroler AT89S51 dilengkapi dengan dua buah timer/counter, yaitu

timer 0 dan timer 1. Pencacah timer/counter AT89S51 merupakan pencacah biner

naik (count-up binary counter) yang mencacah dari 0000h sampai FFFFh. Saat

kondisi pencacah berubah dari FFFFh kembali ke 0000h akan timbul sinyal

limpahan (overflow).

Masing-masing timer juga dapat berfungsi sebagai counter. Pada saat

sebagai timer, register naik satu (increment) setiap satu siklus mesin. Pada saat

sebagai counter, register naik satu (increment) pada saat transisi dari 1 ke 0 dari

masukan eksternal, T0 dan T1.

2.2.2. a. Timer Mode Register (TMOD)

Penggunaan register TMOD yang ditunjukkan pada Gambar 2.6. adalah

untuk mengatur kerja Timer 0 dan Timer 1. Register TMOD terbagi atas dua

yaitu, bit 0 sampai 3 (TMOD.0 sampai TMOD.3) untuk mangatur kerja Timer 0,

sedangkan bit 4 sampai 7 (TMOD.4 sampai TMOD.7) untuk mengatur kerja

Timer 1. Register TMOD merupakan register yang tidak bit addressable.

GATE C/T M1 M0 GATE C/T M1 M0

Timer 1 Timer 0

Gambar 2.6. Register TMOD

8

Page 25: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

GATE : Jika GATE = 1, maka timer/counter “x” aktif bila pin INTx

high dan pin TRx juga high.

Jika GATE = 0, maka timer/counter “x” aktif jika hanya pin

TRx high.

C/T : low untuk fungsi timer dan high untuk fungsi counter.

M1 dan M0 : pemilih mode timer/counter (Mode 0 sampai Mode3) yang

konfigurasinya dapat dilihat pada tabel II.1.

Tabel II.1. Mode operasi pemilih Timer/counter AT89S51

M1 M0 Mode Operasi0 0 0 Timer/counter 13-bit0 1 1 Timer/counter 16-bit1 0 2 Timer/counter 8-bit isi ulang (auto reload)1 1 3 Gabungan timer/counter 16-bit dan 8-bit

2.2.2.b. Timer control Register Timer 0 dan 1

TCON merupakan bit addressable sehingga bisa diatur per-bitnya (dengan

instruksi SETB atau CLR). Register TCON (gambar 2.7.) berisi pengaturan timer

dan interupsi eksternal sekaligus dalam 1 byte.

TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0

Timer1 Interupsi

Gambar 2.7. Register TCON

Jika dalam pemrograman tidak memakai interupsi eksternal, maka IE dan

IT dapat diabaikan (diset ‘0’).

TR1 dan TR0 : pengatur aktif dan nonaktif timer / counter.

TF1 dan TF0 : penampung bit limpahan (overflow) timer/counter

IE1 dan IE0 : tanda (flag) interupsi eksternal

IT1 dan IT0 : menentukan pen-trigger-an interupsi eksternal.

9

Page 26: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

2.2.2.c. THx dan TLx (x adalah penomoran Timer)

Pengaksesan timer masing-masing memerlukan dua register 8-bit. Timer 0

melalui TH0 (Timer 0 High Byte) dan TL0 (Timer 0 Low Byte), sedangkan timer 1

melalui TH1 (Timer 1 High Byte) dan TL1 (Timer 1 Low Byte).

2.2.3. Sistem Interupsi

Interupsi merupakan suatu sarana dalam mikrokontroler yang sangat

berperan dalam penanganan sistem input/output. Dalam proses interupsi,

terjadinya sesuatu pada perangkat keras akan dicatat pada flip-flop tertentu yang

sering disebut petanda (flag). Catatan dalam petanda tersebut diatur sedemikian

rupa sehingga merupakan sinyal permintaan interupsi pada prosesor.

Program yang dijalankan dengan cara tersebut dinamakan sebagai program

pelayanan interupsi (ISR – Interrupt Service Routine). Saat prosesor menjalankan

ISR, pekerjaan yang sedang dilakukan dalam program utama ditinggalkan

sementara. Selesai menjalankan ISR program utama kembali dijalankan.

AT89S51 menyediakan 5 sumber interupsi yakni : interupsi external 0,

interupsi external 1, interupsi timer 0, interupsi timer 1, dan interupsi port serial.

Setiap sumber interupsi dapat diaktifkan atau dinonaktifkan dengan mengatur

interrupt enable (IE) bit dalam SFR.

Dalam mikrokontroler AT89S51 terdapat dua register khusus yang dapat

digunakan untuk mengatur sistem interupsi yakni interrupt enable (IE) register

dan interrupt priority (IP) register.

EA - - ES ET1 EX1 ET0 EX0

Gambar 2.8. Interrupt Enable Register

Enable bit = 1, mengijinkan interupsi tersebut.

Enable bit = 0, membatalkan interupsi bersangkutan.

10

Page 27: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

- - - PS PT1 PX1 PT0 PX0

Gambar 2.9. Interrupt Priority Register

Keadaan tinggi pada salah satu bit membuat bit tersebut berada dalam

prioritas tinggi. Register TCON menyediakan 4 bit yang dapat juga digunakan

untuk mengatur interupsi.

2.3. Display/ Penampil

Penampil yang digunakan adalah dioda pemancar cahaya dan seven

segment. Konfigurasi dioda terbagi atas dua yaitu konfigurasi common annoda

dan common cathoda. Untuk konfigurasi common annoda, kaki-kaki annoda-nya

dihubung menjadi satu sedangkan untuk konfigurasi common cathoda kaki-kaki

cathoda-nya yang dihubung menjadi satu.

Penampil yang digunakan pada rangkaian ini menggunakan konfigurasi

common annoda.

2.3.1. Dioda Pemancar cahaya

Dioda pemancar cahaya (Light Emiting Dioda atau LED) bila diberi pra-

tegangan maju akan memancarkan cahaya. Gambar 2.10. menunjukkan rangkaian

LED yang dihubungkan dengan resistansi secara seri.

VCC

Vd

Ra

Gambar 2.10. Rangkaian LED

Kebutuhan arus LED diantara 10mA sampai 20mA dan tegangan antara

1,5V sampai 2 V, sehingga nilai Ra dapat dicari dengan persamaan berikut :

d

dcca I

VVR

.................. (2.4.1)

11

Page 28: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

2.3.2. Penampil Seven Segment

Salah satu penampil yang digunakan adalah seven segment yang

ditunjukkan pada gambar 2.11.

a

b

c

d

e

fg

dp

Gambar 2.11. Bentuk Tampilan Seven Segment

Pada seven segment, untuk menampilkan suatu lambang harus dinyalakan

tiap segment yang berkaitan dengan lambang tersebut yang digerakkan oleh

saklar. Sebagai contoh, bila diinginkan desimal 8 menyala, saklar a, b, c, d, e, f, g

ditutup, maka segment LED a, b, c, d, e, f, g menyala sehingga pada seven

segment akan tertampil desimal 8.

Seven segment tersebut mempunyai hubungan common anode yaitu anoda-

anoda terhubung satu sama lain. Pada kaki-kaki katoda dipasang resistor sebagai

penahan arus dan saklar sebagai fungsi driver.

Untuk lengkapnya, dapat dilihat pada tabel kebenaran untuk tampilan

seven segment tabel II.2.

Tabel II.2. Tabel Kebenaran Seven Segment

Cacahan Segmen Yang Menyala0 a, b, c, d, e, f1 b, c2 a, b, g, e, d3 a, b, g, c, d4 f, g, b, c5 a, f, g, c, d6 a, f, g, c, d7 a, b, c8 a, b, c, d, e, f, g9 a, b, g, f, c

12

Page 29: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

BAB III

PERANCANGAN ALAT

3.1. Perancangan Perangkat Keras

Pengukur kedalaman sumur berbasis mikrokontroler AT89S51 ini

memiliki tiga bagian utama yaitu masukan, pengontrol dan keluaran. Piranti

masukannya adalah rangkaian sensor rotary encoder dan rangkaian sensor

optocoupler yang dihubungkan ke pengkondisi sinyal. Piranti kontrolnya adalah

mikrokontroler AT89S51, sedangkan piranti keluarannya digunakan penampil

seven segment empat digit yang menunjukkan kedalaman sumur.

Trafo

Regulator

MikrokontrolerAT89S51

Motordriver

P2.1

P2.0

P2.2

Limitswitch 1

Limitswitch 2

P3.2

P3.3

Sensor P1.0

AC

P0.0. P0.1, P0.2, P0.3, P0.4, P0.5, P0.6. P0.7

Gambar 3.1. Diagram Blok Sistem Pengukur Kedalaman Sumur

3.1.1. Rangkaian Sensor

Dalam perancangan ini membutuhkan dua buah sensor. Kedua sensor

yang digunakan mempunyai fungsi yang berbeda. Yang satu berfungsi untuk

menentukan posisi awal dari benda saat sistem direset. Sensor berikutnya

berfungsi untuk memonitor posisi akhir benda yang digerakan.

13

Page 30: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

3.1.2. Rangkaian sensor rotary encoder

Rotary encoder terdiri dari LED infra merah, piringan bercelah dan

phototransistor. Rotary encoder ini akan bekerja saat motor mulai berputar,

dengan tali yang dihubungkan dari motor ke rotary encoder maka bersamaan

dengan perputaran motor maka rotary encoder akan berputar. Tali yang

digunakan untuk memutar rotaray encoder ini berfungsi juga sebagai penduga

kedalaman sumur yang akan diukur. Dalam perancangan ini tali penduga yang

digunakan minimal sepanjang 100 meter. Pada saat rotary encoder mulai berputar

maka sensor optocoupler akan mulai bekerja dan akan menghasilkan suatu

gelombang pulsa elektronik. Dari banyaknya pulsa elektronik inilah yang nantinya

akan diproses oleh mikrokontroler menjadi jarak kedalaman sumur. Rangkaian

phototransistor ditunjukan pada gambar 3.2.a. Dan rangkaian elektronis dari

sensor rotary encoder diperlihatkan pada gambar 3.2.b.

4K7150

4K7

5v5v

Gambar 3.2.a. Phototransistor Gambar 3.2.b. sensor rotary encoder

LED memancarkan cahaya yang difokuskan ke phototransistor melalui

sebuah celah yang dibentuk dengan sangat teliti. Pada saat dioda diberi tegangan

maju maka Vd = 1.7V dengan arus 20 mA. Penentuan nilai resistor diperoleh

dengan menggunakan persamaan:

Rd = FI

VdVcc

Rd = mA

VV

20

7,15 = 165

14

Page 31: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

Karena dipasaran tidak terdapat nilai resistor seperti hasil perhitungan

maka dalam perancangan menggunakan resistor dengan nilai 150 .

Jika cahaya dari dioda dihalangi maka phototransistor akan off, sehingga

tegangan kolektor phototransistor menjadi rendah. Saat tegangan kolektor rendah

VCE = 0,3V dan Ic = 1mA maka nilai Rc dapat diperoleh dengan persamaan:

Rc =C

CE

I

VVcc

Rc = mA

VV

1

3,05 = 4,7 K

3.1.3. Piringan rotary encoder

Piringan bercelah terdapat 8 buah celah. Celah-celah tersebut melewatkan

atau menghalangi sorotan cahaya yang akan diterima oleh phototransistor.

Keluaran phototransistor terbentuk sesuai dengan ada tidaknya sorotan cahaya.

Kondisi ini akan menghasilkan suatu gelombang kotak pada keluaran

phototransistor. Bentuk gelombang diperlihatkan pada gambar 3.3 berikut ini:

pulsa

A

Gambar 3.3. Pulsa rotary encoder

Sensor tersebut dipasang dengan posisi tertentu agar membentuk

gelombang keluaran. Untuk mendapatkan jumlah pulsa dalam satu putaran dapat

mengunakan persamaan sebagai berikut:

1pulsa = Pulsa

……………………….. ( persamaan 3.1)

= .d

Keterangan:

= Keliling lingkaran

15

Page 32: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

= 3,14

d = diameter lingkaran

Jumlah celah yang digunakan dalam perancangan ini sebanyak 8 celah.

Setiap celah mempunyai jarak yang sama. Jarak setiap celah besarnya 2,5 cm.

Karena piringan terdiri dari celah dan tidak celah maka satu siklus gelombang yag

terjadi oleh perubahan terang dan gelap mempunyai jarak dua kali jarak celah.

Dari persamaan diatas dapat dihitung menggunakan persamaan 3.1 yang berarti

satu pulsa sama dengan 5 cm dengan diameter roda putar piringan adalah 6,369

cm. Hasil perhitungan adalah sebagai berikut:

1pulsa = Pulsa

5 cm = Pulsa

d

.

5 cm = 4

.14,3 d

3,14.d = 5 x 4

= 20

d = 6,369 cm

Jika digambarkan dalam bentuk pulsa akan terlihat seperti gambar 3.4. berikut ini:

2,5 cm

5 cm

Gambar 3.4. Lebar pulsaDalam perancangan ini untuk menentukan banyaknya jumlah cacahan yang

dihasilkan dengan jarak maksimal 99,95 meter dapat diperoleh dari perhitungan

sebagai berikut :

∑ pulsa = cm

m

5

95,99

= cm

cm

5

9995

16

Page 33: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

= 1999 pulsa

3.1.4. Rangkaian Pengkondisi Sinyal

Pada bagian ini berfungsi untuk mengkondisikan sinyal dari sensor posisi

sebelum sinyal itu masuk ke mikrokontoler AT89S51. Rangkaian yang digunakan

berfungsi agar dapat dibaca oleh mikrokontroler.

7414

5K6

IN T O/P1.7

5V

1K

BD677A

Gambar 3.5. Rangkaian Pengkondisi sinyal

Dari gambar 3.5 rangkaian pengkondisi sinyal ini terdiri dari transistor

NPN dan inverter yang dikemas dalam IC74LS14.

Saat phototransistor cutoff transistor saturasi dengan IB = 1mA, sehingga

IC dapat diperoleh dengan persamaan sebagai berikut:

IC = .IB ; = 750

IC = 750.1 mA = 750 mA

Berdasarkan perhitungan diatas IC merupakan arus maksimal yang

dihasilkan oleh transistor. Pada perancangan sudah diketahui Vcc = 5V dan Rc =

1K. Ketika transistor saturasi maka VCE = 0,3V. Dengan demikian Ic dapat

diperoleh dengan persamaan sebagai berikut:

Ic = C

CE

R

VVcc =

K

VV

1

3,05 = 4,7 mA

17

Page 34: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

Ketika Ic = 0 maka:

VCE = Vcc – Ic.Rc

VCE = 5 – 0

VCE = 5Volt

Sinyal dari penguat sinyal dibutuhkan untuk menggerakan rangkaian

masukan pada CMOS inverter schmitt trigger. Sinyal keluaran transistor penguat

terjadi perubahan dari tinggi ke rendah dan dari rendah ke tinggi belum sempurna.

Untuk itu digunakan schmitt trigger agar dapat menghasilkan gelombang keluaran

dengan perubahan yang tajam. Gambar 3.6 memperlihatkan bentuk gelombang

keluaran schmitt trigger. Keluaran dari schmitt triger diumpankan ke kaki P3.4

pada mikrokontroler.

A P3.4

Gambar 3.6. Gelombang Keluaran SchmittTtrigger

Dari keluaran yang berupa pulsa seperti gambar 3.6. inilah yang akan digunakan

oleh mikrokontroler untuk melakukan proses perhitungan sehingga dapat

diperoleh jarak kedalaman.

18

Page 35: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

3.1.5. Mekanisme Alat Pengukuran

G

3.7. Mekanik Alat Pengukur Kedalaman Sumur

ON/FFStart

Tali

Deteksi PosisiKedalaman

Limit Switch 2

Limit switch 1Optocoupler

Air

Sumur

Tali

MotorRotary encoder

19

Page 36: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

3.1.5.a. Saat pengukuran

Pada gambar 3.7 diatas untuk melakukan pengukuran, tombol start

ditekan maka kondisi limit switch 1 menjadi ON yang mengakibatkan motor akan

mulai berputar CCW, hal ini menunjukan bahwa proses pengukuran dimulai.

Bersamaan dengan itu rotary encoder berputar CCW untuk memulai pencacahan

hingga deteksi posisi menyentuh permukaan air.

Saat deteksi posisi kedalaman mencapai permukaan air maka tali akan

mengendor yang mengakibatkan limit switch 1 menjadi kondisi OFF, dan motor

akan berhenti berputar, itu berarti rotary encoder akan berhenti mencacah. Hasil

dari awal pencacahan sampai akhir pencacahan akan diproses oleh mikrokontroler

dan akan ditampilkan pada seven segment sebagai hasil pengukuran.

3.1.5.b. Selesai pengukuran

Setelah hasil pengukuran diperoleh, pada saat limit swich 1 off kondisi ini

digunakan untuk memutar balik arah putaran motor. Motor akan berputar CW dan

deteksi posisi kedalaman akan naik. Saat deteksi posisi kedalaman menyentuh

limit switch 2 maka hal itu akan mengakibatkan motor akan berhenti berputar, hal

ini menunjukan bahwa pengukuran sudah selesai.

3.1.6. Mikrokontroler AT89S51

3.1.6.a. Rangkaian Reset

Rangkaian reset digunakan untuk mereset mikrokontroler pada saat catu

daya dihidupkan seperti pada gambar 3.8.

10K

10uF

VCC

AT89S51

9RST

Res

et1

2

1K

Gambar 3.8. Rangkaian reset

20

Page 37: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

Keadaan reset pada mikrokontroler diperoleh apabila pin reset diberi

logika tinggi (biasanya dalam waktu beberapa milidetik). Waktu reset tersebut

dapat dihitung dengan rumus T = RC. Pada perancangan ini waktu reset 100 ms

dengan menggunakan kapasitor C = 10 µF, maka nilai resistansi dapat dihitung :

100 ms = 10 µF x R

R = 100.10-3 / 10.10-6

R = 10 K.

Cara kerja rangkaian reset adalah sebagai berikut, bila tegangan catu

dihidupkan arus akan mengalir melewati kapasitor sehingga akan menimbulkan

beda tegangan pada resistor. Tegangan pada pin reset merupakan beda tegangan

antara Vcc dengan kapasitor.

3.1.6.b. Rangkaian Osilator

Mikrokontroler mempunyai rangkaian osilator internal (on-chip oscillator)

yang dapat digunakan sebagai sumber clock bagi CPU. Untuk dapat menggunakan

rangkaian osilator dalam chip tersebut, harus ditambahkan sebuah kristal dan dua

buah kapasitor pada pin XTAL1 dan pin XTAL2 (pin 19 dan pin 18 ) seperti pada

gambar 3.9.

30pF

AT89S51

18

19

XTAL2

XTAL1

12MHz

30pF

Gambar 3.9. Rangkaian osilator

Rangkaian osilator ini menggunakan kristal 12 MHz dan dua buah

kapasitor 30 pF sehingga frekuensi detak pada CPU adalah 12 MHz.

3.1.7. Driver Motor DC

Driver motor DC yang digunakan yaitu L293D. Port-port mikrokontroler

AT89S51 yang digunakan yaitu port P2.0 – P2.2 untuk mengirim sinyal ke

L293D. Port P2.0 berfungsi untuk mengirim sinyal ke pin input 1 L293D dan port

21

Page 38: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

P2.1 berfungsi untuk mengirim sinyal ke pin input 2 L293D. Port P2.2 sebagai

pengirim sinyal bagi enable 1 L293D. Hubungan L293D dengan mikrokontroler

dapat dilihat pada gambar 3.10.

M

AT89S51 L293D

Gambar 3.10. Hubungan L293D dengan mikrokontroler AT89S51

Untuk menggerakan motor dc, pin enable L293D harus berlogika tinggi

dengan demikian akan ada tegangan output jika ada input yang diberikan melalui

pin L293D. Sebaliknya jika pin enable berlogika rendah maka tegangan output

akan nol meskipun ada input yang diberikan.

Dari gambar 3.11, untuk mengatur arah putaran motor dapat dilakukan

dengan cara sebagai berikut:

1. Pin enable 1 dan input 1 berlogika tinggi,input 2 berlogika rendah, maka

output 1 berlogika tinggi dan output 2 berlogika rendah. Dengan

demikian motor dc akan berputar ccw.

2. Pin enable 1 dan input 2 berlogika tinggi,input 1 berlogika rendah, maka

output 2 berlogika tinggi dan output 1 berlogika rendah. Dengan

demikian motor dc akan berputar cw.

3. Jika pin enable berlogika tinggi dan kedua input berlogika rendah, maka

tegangan kedua outputnya nol, dan juga jika pin enable berlogika rendah,

maka tegangan kedua outputnya nol meskipun ada kedua input berlogika

tinggi.

P2.2 P2.1 P2.0

Out 2 EN1IN2IN1 Out 1

22

Page 39: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

4. Jika pin enable berlogika tinggi dan kedua pin input berlogika tinggi,

maka kedua outputnya berlogika rendah.

Hubungan logika dari rangkaian yang dibuat dapat dilihat pada tabel 3.1.

Tabel 3.1. Logika pada L293D

Enable 1 Input 1 Input 2 Output1 Output 2 Motor dc

H H H L L Diam

H H L H L Putar kiri

H L H L H Putar

kanan

H L L L L Diam

L H H L L Diam

Keterangan:

H = Berlogika tinggi

L = Berlogika rendah

3.1.8. Unit Penampil

3.1.8.a. Dioda Pemancar cahaya

LED yang diberi pra-tegangan maju akan memancarkan cahaya, untuk

rangkaian seperti ditunjukkan pada gambar 3.11.

Vd

5Volt

330Ra

Gambar 3.11. Rangkaian indikator LED

Pada perancangan rangkaian ini, berdasarkan data sheet dV = 1,7 Volt dan

dI = 10mA serta Vcc yang digunakan adalah 5 Volt, maka nilai Ra adalah:

33010

7,15

mA

VVRa

Jadi resistor yang digunakan adalah 330 Ω sebagai hambatan penahan arus

yang melewati LED.

23

Page 40: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

Untuk menampilkan datanya dengan metode scanning, yaitu pengiriman

data keluaran dari mikrokontroler ke seven segment secara bergantian dan dengan

cepat sehingga terlihat seakan-akan hidup secara bersamaan.

Transistor PNP A733 yang digunakan berfungsi sebagai saklar untuk

menghubungkan antara seven segment dengan tegangan Vcc seperti terlihat pada

gambar 3.12.

5Volt

18KA733

LED

Por

t P

0.7

Por

t P

0.6

Por

t P

0.0

LED

330

Por

t P

0.1

Por

t P

0.5

Por

t P

0.3

Port P1.0

LEDLED

Por

t P

0.4

Por

t P

0.2

LEDLEDLED LED

Gambar 3.12. Skema Dasar Konfigurasi Saklar Menggunakan Transistor

Agar transistor menjadi ON (kondisi jenuh) maka pada keluaran port P1.0

harus diberi logika 0 sehingga terdapat arus yang mengalir dari Vcc ke CA.

Transistor saat berada dalam kondisi saturasi seperti sebuah saklar yang

tertutup dari terminal emiter ke kolektor dan apabila transistor dalam kondisi cut

off maka transistor seperti sebuah saklar yang terbuka dari terminal emiter ke

kolektor. Resistor BR dan ER digunakan sebagai pembatas arus yang masuk ke

dalam transistor. Arus kolektor transistor adalah BEC III , karena nilai BI

sangat kecil maka nilai EC II . Dari data sheet transistor A733 dapat diperoleh

besar arus penguatan dc ( hfe ) adalah 60, arus kolektor ( CI ) maksimal 100mA

dan besarnya ECV adalah 0,18 Volt. Diketahui pula arus LED 10mA sampai

24

Page 41: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

20mA, maka ditentukan nilai CI saturasi 10mA yang disesuaikan dengan arus

minimal LED.

Saat keluaran Port P1.0 bernilai 0, P1.0 = 0 maka transistor berada dalam

keadaan aktif, dan diperoleh persamaan sebagai berikut:

Dari data sheet A733, VVEB 7,0 , mAIC 10 , VVEC 18,0 , VVLED 7,1 .

Nilai ER di dapat dengan persamaan :

0 LEDECECC VVVV

LEDECCCE VVVV

VE = 5 - 0,18 - 1,7

VVE 12,3

Besarnya nilai ER berdasarkan persamaan di atas adalah :

EEE RIV

E

EE I

VR

31210.10

12,33ER

Besarnya nilai ER yang di dapat dari perhitungan adalah 312Ω, maka

digunakan resistor yang mendekati harga tersebut yaitu resistor sebesar 330Ω.

Saat transistor saturasi BI mencapai nilai jenuh sebesar :

mAHfe

II C

jenuhB 167,060

10.10

min

3

Maka besarnya nilai BR yang digunakan sebagai penahan muka arus yang masuk

ke transistor melalui kaki basis adalah :

6,1868210.167,0

12,33

B

BB I

VR

Dalam perhitungan di dapat nilai BR sebesar 18682,6Ω maka digunakan

resistor yang mudah di dapat di pasaran, yaitu resistor sebesar 18KΩ.

25

Page 42: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

3.1.8.b. Rangkaian penampil dengan seven segment

Rangkaian penampil yang digunakan adalah seven segment empat digit

yang langsung dihubung dengan mikrokontroler AT89S51 pada port P0 sebagai

saluran data. Dan port P1.0, P1.1 serta P1.2 digunakan sebagai saklar yang

menghubungkan antara Vcc dan CA (Common Anoda) pada seven segment,

seperti ditunjukkan pada gambar 3.13.

P0.0/AD0

1 2 3 4 5678910

1 2 3 4 5678910

VCC

Q2

1 2 3 4 5678910

P0.4/AD4

P2.2

18K

330

1 2 3 4 5678910

P0.7/AD7

330

P0.6/AD6

Q1

P0.2/AD2

P2.1

18K

P2.3

18K

Q4

P0.3/AD3

Q3

P2.0

18K

330

P0.5/AD5

P0.1/AD1

330

Gambar 3.13. Rangkaian Penampil seven segment

3.2. PERANCANGAN PERANGKAT LUNAK

3.2.1. Algoritma Perangkat Lunak

Sistem kerja dari pengukur kedalaman sumur berbasis mikrokontroler

AT89S51 ini disusun menjadi suatu algoritma berdasarkan cara kerja perangkat

keras (hardware)nya. Algoritma ini disusun agar persoalan pengendalian

pengukur kedalaman sumur ini dapat diterjemahkan menjadi bentuk yang

sistematis sehingga dapat ditangani oleh mikrokontroler.

26

Page 43: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

Algorima ini diuraikan menjadi Program Utama dan subrutin-subrutin,

seperti : subroutin program counter-up dan subroutine program counter-down.

3.2.2 Diagram Alir Program Utama

Diagram alir program utama ditunjukkan pada gambar 3.14.

Inisialisasi

Hidupkaninterupsi

Putar motorke bwah

(ccw)

Incrementhitung pulsa

Hentikan laluputar motor

cw

Matikaninterupsi

Tampil keseven

segmentSensor jarakoff ?

End

Mulai

A

Ya

A

Gambar 3.14. Diagram alir program utama

Program ini dimulai dengan prooses inisialisasi mengosongkan data di

alamat penyimpan data tampilan. Setelah proses inisialisasi selanjutnya di cek

apakah beban sudah berada pada posisi awal atau belum, apabila beban belum

pada posisi awal maka selanjutnya putaran motor akan menggerakan beban keatas

27

Page 44: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

hingga mencapai posisi awal. Jika dari pengecekan beban sudah pada posisi awal

maka putaran motor akan dimatikan. Selanjutnya program akan melakukan

perintah untuk menghidupkan interupsi. Saat interupsi mulai dihidupkan lalu

putaran motor akan berputar menggerakan beban ke bawah. Selama putaran

motor berputar menggerakan beban ke bawah mikrokontroler juga akan memulai

proses increment penghitungan pulsa, setelah itu akan di cek kembali apakah

sensor jarak sudah pada posisi off atau belum, jika sensor jarak belum berada pada

posisi off maka motor akan terus berputar dan proses perhitungan juga terus

dijalankan. Jika sensor jarak sudah berada pada posisi off maka putaran motor

akan dimatikan dan proses interupsi juga akan dimatikan. Untuk seterusnya hasil

perhitungan akan di tampilkan ke seven segment lalu di transfer ke PC melalui

port serial.

3.2.3 Diagram Alir subrutin increment cacah pulsa

Proses increment cacah pulsa pada gambar 3.15, nilai awal akan dimulai

dengan nol untuk nilai satuan, puluhan dan dua digit dibelakang koma. Saat rotary

encoder mulai berputar maka program mulai melakukan proses increment cacah

pulsa hingga rotary encoder berhenti atau motor penggerak berhenti. Dalm

program ini angka dua digit dibelakang koma diinisialkan sebagai A dan B, untuk

A adalah sebagai satuan dan B sebagai puluhan.

Awal program akan dimulai dengan membandingkan apakah nilai A = 0

atau tidak, jika A = 0 maka nilai A akan ditambahkan dengan 5 lalu akan

langsung ditampilkan ke seven segment namun jika A tidak bernilai nol maka nilai

akan dinolkan terlebih dahulu, setelah itu program akan membandingkan apakah

B bernilai 9 atau tidak, jika B tidak sama dengan 9 maka selanjutnya nilai B akan

di jumlahkan dan langsung ditampilkan ke seven segment, jika B = 9 maka nilai B

akan dinolkan. Proses seperti ini akan dilakukan hingga mencapai angka puluhan

atau rotary encoder berhenti. Untuk lebih jelasnya dapat dilihat pada gambar 3.15.

28

Page 45: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

START

A= 0 ?

Tambahkan 5 keA

Tidak

Nolkan A

B= 9 ?

Nolkan B

Satuan = 9 ?

Nolkan satuanIncrementpuluhan

Puluhan = 10 ?

Matikan motor

Tampilkan 7'S

RET

Tidak

Increment B

Incrementsatuan

Tidak

Tidak

Ya

Ya

Ya

Ya

Gambar 3.15. Diagram alir subrutin increment cacah pulsa

29

Page 46: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

BAB IV

ANALISIS HASIL PENGUKURAN DAN PEMBAHASAN

Pada bab ini akan dibahas tentang hasil akhir dari alat yang dibuat.

Untuk mengetahui apakah alat yang sudah jadi sesuai dengan rancangan awal

atau tidak. Untuk mengetahui tegangan masukan dan tegangan keluaran

digunakan alat ukur multimeter digital, juga akan dibahas tentang cara kerja

alat apakah sudah sesuai dengan rancangan yang dibuat.

4.1. Pengamatan Cara Kerja Alat

Pertama kali alat dihidupkan tampilan pengukur kedalaman akan

menunjukkan angka 00.00, yang menandakan bahwa rotary encoder belum mulai

berputar. Selanjutnya tombol start ditekan, yang menandakan bahwa alat siap

digunakan. Dengan menekan tombol start akan memberi masukan pada

pengendali motor, sehingga motor akan mulai berputar berlawanan arah jarum

jam. Kemudian rotary encoder akan mulai berputar dan sensor optocoupler akan

mulai mendeteksi celah-celah pada piringan rotary. Jika sensor optocoupler

terhalang maka keluaran dari sensor berlogika rendah (0), sedangkan jika sensor

tidak terhalang maka keluaran dari sensor tersebut berlogika tinggi (1). Dari hasil

keluaran sensor yang berupa pulsa inilah yang akan digunakan oleh

mikrokontroler untuk melakukan proses perhitungan sampai saat limit switch 1

pada kondisi off. Hasil dari proses perhitungan yang dilakukan oleh

mikrokontroler akan ditampilkan oleh seven segment sebagai hasil pengukuran

dan kondisi berganti untuk mengembalikan ke posisi awal ( memutar balik arah

putaran motor ). Pada Gambar 4.1. dapat dilihat foto hasil akhir alat pengukur

kedalaman sumur berbasis mikrokontroler AT89S51.

.

30

Page 47: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

A F

G B H C D I E J

Gambar 4.1. Foto alat secara keseluruhan

Keterangan gambar :

A. Tombol start

B. Seven segment

C. Piringan rotary encoder

D. Sensor optocoupler

E. Beban

F. Tombol ON/OFF

G. Limit switch 1

H. Motor

I. Penggulung tali

J. Limit switch 2

31

Page 48: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

Gambar 4.2. Foto alat tampak depan

Gambar 4.3. Foto alat saat tampilan maksimal

32

Page 49: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

Gambar 4.3. menunjukkan bahwa alat berada pada tampilan maksimal, ini dapat

dilihat dari hasil tampilan yang menunjukkan angka 99.95. Tampilan maksimal ini

diperoleh dengan cara memutar piringan rotary encoder menggunakan tali yang

ditarik.

4.2. Pengamatan pada sensor

Sensor ini menggunakan sensor optocoupler yang diletakan pada ujung

piringan rotary.

Cara kerja dari sensor ini adalah pada saat phototransistor mendapat sinar

dari LED inframerah dalam artian sensor tidak terhalang, maka phototransistor

on. Sehingga masukan ke schemitt triger SN74LS14 akan berlogika tinggi (1).

Keluaran dari schmitt triger SN74LS14 akan berlogika rendah (0).

Pada saat sinar inframerah terhalang maka phototransistor off, sehingga keluaran

dari sensor akan berlogika rendah (0) dan keluaran dari schmitt trigerr SN74LS14

akan berlogika tinggi (1).

Tegangan keluaran pada sensor phototransistor dapat dilihat pada tabel

4.1. berikut :

Tabel 4.1. Tegangan keluaran sensor

Kondisi sensor Tegangan masukan

schmitt triger SN74LS14

Tegangan keluaran

schmitt triger SN74LS14

Tidak terhalang 4.8V 0.2V

Terhalang 0.42V 5V

Dari tabel 4.1 dapat dilihat tegangan keluaran pada sensor optocopler

merupakan tegangan masukan pada schmitt triger SN74LS14. Pada saat kondisi

tidak terhalang keluaran pada schmitt trigerr SN74LS14 sebesar 0,2V, tegangan

keluaran ini sebagai logika ‘0’, dan pada saat kondisi terhalang tegangan

keluarannya sebesar 5V, tegangan keluaran ini sebagai logika ‘1’ pada masukan

mikrokontroler.

33

Page 50: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

4.3. Pengamatan Pada Pengendali Motor DC

Pengendali motor dc mendapat masukan dari mikrokontroler melalui

logika yang diberikan oleh input 1 dan input 2. Dari hasil pengamatan masukan

yang diberikan oleh mikrokontroler ke pengendali motor ditunjukkan pada tabel

4.2 :

Tabel 4.2. Pengamatan tegangan pada pengendali motor dc

Kondisi Motor dc Enable Input 1 Input 2 Output1 Output2

Saat on Diam 5,01 5,01 5,01 0 0

Saat turun Putar kiri 5,01V 5,01V 0 5,01V 0

Saat naik Putar kanan 5,01V 0 5,01V 0 5,01V

Saat menyen-

tuh airDiam 0 0 0 0 0

Dari tabel 4.2 Tegangan keluaran pada mikrokontoler 5,01V dianggap

sebagai logika tinggi (1) dan 0 dianggap sebagai logika rendah (0). Tegangan ini

merupakan tegangan masukan pada rangkaian pengendali untuk menggerakkan

motor.

4.4. Proses pencacahan

Proses pengukuran pada tahap pencacahan dilakukan untuk menentukan

berapa jarak kedalaman sumur yang diukur. Kedalaman yang diperoleh dari

pencacahan satu putaran penuh pada rotary encoder adalah 19,8 cm.

Hasil ini diperoleh dari persamaan sebagai berikut :

1pulsa = 4,95 cm

1putaran penuh = 4 pulsa

Jadi jarak satu putaran = 4,95 cm x 4

= 19,8 cm

Pulsa sebagai masukan dihasilkan oleh rotary encoder yang berputar. Gambar

pulsa yang dihasilkan oleh rotary encoder dapat dilihat pada gambar 4.4 dibawah

ini :

34

Page 51: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

Gambar 4.4. Pulsa keluaran dari rangkaian sensor

Gambar 4.4. merupakan gambar bentuk pulsa keluaran yang dihasilkan oleh

rangkaian sensor, dimana pada saat pulsa naik itu berarti sensor pada posisi

terhalang dan pada saat pulsa turun sensor berada pada posisi tidak terhalang.

4.5 Perhitungan jumlah pulsa

Untuk mengetahui jumlah pulsa dari jarak yang diperoleh dapat dihitung

dengan persamaan berikut :

∑ pulsa = resolusi

jarak …………………………..( persamaan 4.1 )

Dari perancangan telah diketehui bahwa satu pulsa terdiri dari dua celah yaitu

hitam dan putih. Jadi untuk satu pulsa adalah pergeseran dari celah warna hitam

35

Page 52: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

hingga mencapai warna hitam lagi atau dari celah putih hingga mencapai putih

lagi. Untuk gambar satu pulsa dapat dilihat pada gambar 4.5.

v

t0 t

Gambar 4.5.a Satu pulsa dimulai celah hitam

v

5V

t0 t

Gambar 4.5.b Satu pulsa dimulai celah putih

4.6. Proses Pengukuran Kedalaman

4.6.a. Pengukuran dengan beban

Pada proses ini pengukuran dilakukan dengan cara meletakkan alat

pengukur pada pinggiran di atas meja untuk data 1 dan 2, di atas lemari untuk data

3 dan 4, dan di pinggiran atap rumah untuk data 5 dan 6 lalu alat dioperasikan.

Beban berfungsi sebagai pendeteksi kedalaman yang akan diukur. Proses

pengukuran ini dilakukan sebanyak 5 kali untuk setiap pengukuran, dari hasil

pengukuran ini diperoleh data seperti pada tabel 4.3.

36

Page 53: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

Tabel 4.3. Hasil pengukuran dengan beban

NO Jarak sebenarnya

(cm )

Jarak terukur oleh

alat ( m )

Galat (%)

1 45 00.45 0

2 70 00.70 0

3 110 01.10 0

4 150 01.50 0

5 298 03.00 0.6

6 427 04.35 1.8

Kesalahan pengukuran ( galat / error ) diperoleh dari persamaan :

Galat = sebenarnyajarak

sebenarnyajarakterukurjarak x 100 %

Contoh :

a. Galat pada pengukuran 45 cm = 45

4545 x 100 % = 0 %

b. Galat pada pengukuran 427 cm = 427

427435 x 100 % = 1,8 %

4.6.b. Pengukuran dengan cara menarik tali

Proses pengukuran ini dilakukan dengan menarik tali secara manual untuk

memperoleh kedalaman maksimal yang dapat dihasilkan oleh alat pengukur. Pada

cara ini pengukuran dilakukan setiap kelipatan 5 meter, dari hasil pengukuran ini

diperoleh data seperti pada tabel 4.4.

37

Page 54: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

Tabel 4.4. Hasil pengukuran dengan menarik tali

NO Jarak sebenarnya

(m )

Terukur oleh

alat ( m )

Galat (%)

1 5 05.15 3.00

2 10 10.35 3.50

3 15 15.60 4.00

4 20 20.90 4.50

5 25 26.15 4.60

6 30 31.50 5.00

7 35 36.90 5.42

8 40 42.25 5.62

9 45 47.80 6.22

10 50 53.30 6.60

11 55 58.90 7.09

12 60 64.40 7.33

13 65 70.10 7.84

14 70 75.60 8.00

15 75 81.15 8.20

16 80 86.60 8.25

17 85 92.25 8.52

18 90 98.05 8.94

Dari tabel 4.4 dapat diketahui bahwa tampilan pengukuran kedalaman

sejauh 90 m dengan tampilan 98.05 m. Hal ini disebabkan karena adanya error

pada saat pengukuran. Dari data yang diperoleh pada tabel 4.4 dapat dibuat grafik

error terhadap jarak seperti pada gambar 4.6

38

Page 55: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

0

1

2

3

4

5

6

7

8

9

10

0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95

Jarak (m)

Gal

at (

%)

Gambar 4.6. Grafik error pada pengukuran

Dari gambar 4.6. dapat diketehui bahwa error yang diperoleh dari hasil

pengukuran selalu mengalami kenaikan sejalan dengan bertambahnya kedalaman

sumur. Jumlah error maksimal yang diperoleh dari hasil pengukuran sebesar

8,94%. Error maksimal ini terjadi pada saat pengukuran mencapai jarak 90 m.

39

Page 56: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

BAB VKESIMPULAN DAN SARAN

5.1 Kesimpulan

Berdasarkan dari pengamatan alat yang telah dilakukan, dapat

diperoleh beberapa kesimpulan antara lain :

1. Semakin dalam jarak pengukuran maka error yang dihasilkan

semakin besar.

2. Tampilan alat pengukur mulai dari 00.00 meter sampai 99.95 meter.

5.2 Saran

Hasil perancangan alat pengukur kedalaman sumur ini masih

memiliki beberapa kelemahan. Dengan mengacu pada kekurangan hasil

perancangan, maka disarankan:

1. Penambahan pembuatan mekanik untuk letak motor, penggulung tali,

letak dan beban yang digunakan agar alat dapat berfungsi secara

maksimal.

2. Peletakan sensor pada piringan rotary, limit switch agar lebih baik

lagi sehingga alat dapat bekerja dengan baik.

3. Untuk pengembangan alat, sumber tegangan dapat menggunakan

batere.

40

Page 57: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

DAFTAR PUSTAKA

1. Budiharto, Widodo. Interfacing Komputer dan Mikrokontroler. Jakarta:

PT Elexmedia Komputindo Kelompok Gramedia. 2004

2. Malvino, Albert Paul, Electronics Principles, The McGraw-Hill

Companies, 1997

3. Putra, Afgianto Eko, Belajar Mikrokontroler AT89C51/52/55 Memori dan

Aplikasi,Edisi 2. Penerbit Gava Media, Yogyakarta 2002.

4. Schuler, Charle A. 2003. Electronics Principles and Applications Sixth

Edition. USA:McGraw-Hill Companies Inc.

Page 58: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

LAMPIRAN

Page 59: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

Listing Program

;Tugas Akhir;Pengukur Kedalaman Sumur

;Inisialisasi

satuan equ 30h ; alamat penyimpanan data satuan

Puluhan equ 31h ; alamat penyimpanan data puluhan

Ratusan equ 32h ; alamat penyimpanan data ratusan

Ribuan equ 33h ; alamat penyimpanan data ribuan

Data1 equ 34hData2 equ 35hJumlah equ 36hPutar equ 37hSimpan equ 38hSimpanPort equ 39h

org 00hawal:

setb p1.0 ; set p1.0 logika tinggi

setb p1.1 ; set p1.1 logika tinggi

setb p1.2 ; set p1.2 logika tinggi

On:acall Tampilan ; panggil subrutin tampilan

jb p1.2,On ; cek tombol start ditekan, jika tidak lompat ke on

mulai:mov tcon,#00 ; reset tcon

mov th0,#00 ; isi th0 dengan 00H

mov Tl0,#00 ; isi tl0 dengan 00H

mov Jumlah,#00 ; isi jumlah dengan data 00

mov satuan,#00 ; isi satuan dengan data 00

mov Puluhan,#00 ; isi puluhan dengan data 00

mov Ratusan,#00 ; isi ratusan dengan data 00

mov Ribuan,#00 ; isi ribuan dengan data 00

clr p2.0clr p2.1clr p2.2acall MotorTurun ; panggil subrutin motor turun

mov Tmod,#00011101b ; pindahkan Tmod dengan #1DH

setb tr0 ; hiduokan timer 0

acall Tampilan ; panggil subrutin tampilan

Page 60: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

turun:acall Tampilan ; panggil subrutin tampilan

jnb p1.0,turun ; jika p1.0 = 0 lompat ke turun

acall MotorHenti ; panggil motor hentimov Tmod,#00010001b ; isi Tmod dengan mode 1clr tr0 ; matikan timer 0

acall Tunda ; panggil subrutin tunda

acall Tampilan ; panggil subrutin tampilan

acall MotorNaik ; panggil motor naik

naik:acall Tampilan ; panggil subrutin tampilan

jb p1.1,naik ; lompat ke naik jika p1.1 logika tinggi

acall MotorHentiajmp awal

MotorTurun:setb p2.0 ; enable dibuat high

setb p2.1 ; in 1 dibuat high

clr p2.2 ; in 2 dibuat low

ret

MotorNaik:setb p2.0 ; enable dibuat high

setb p2.2 ; in 2 dibuat high

clr p2.1 ; in 1 dibuat low

retMotorHenti:

clr p2.0clr p2.1clr p2.2ret

Tampilan:mov Data1,Th0 ; isi data 1 dengan data Th0

mov Data2,Tl0 ; isi data 2 dengan data Tl0

mov Jumlah,#00 ; isi jumlah dengan data #00H

mov r2,Data1 ; pindahkan isi data 1 ke r2

mov r3,Data2 ; pindahkan isi data 2 ke r3

mov Jumlah,#00 ; isi jumlah dengan data #00H

mov r1,#00 ; isi r1 dengan data #00Hmov a,r2 ; isi accumulator dengan data r2

cjne a,#0,Tinggi ; bandingkan acc dengan #0, jika tidak sama loncat ke tinggi

mov a,r3 ; jika sama pindahkan data r3 ke acc

Page 61: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

acall Hitung1 ; panggil subrutin hitung 1

acall Tampil ; panggil subrutin tampil

retTinggi:

mov Simpan,r2 ; pindahkan data r2 ke alamat simpan

acall Hitung2 ; panggil subrutin hitung2

mov a,r3 ; pindahkan data r3 ke acc

mov r2,Simpan ; pindahkan data simpan ke r2

add a,r2 ; tambahkan data r2 dengan acc

acall Hitung1 ; panggil subrutin hitung1

acall Tampil ; panggil subrutin tampil

ret

Hitung2:cjne r1,#0ffh,Cek2 ; bandingkan r1 dengan #0FFH, jika tidak sama loncat ke cek2

mov r1,#00 ; jika sama isi r1 dengan data #00

djnz r2,Hitung2 ; cek r2, jika r2 tidak sama dengan 0 loncat ke hitung2

ret

Cek2:inc r1 ; naikan r1

mov r4,#00 ; isi r4 dengan #00H

inc satuan ; naikan alamat satuan

mov r4,satuan ; isi r4 dengan data satuan

cjne r4,#2,Hitung2 ; bandingkan r4 dengan data2, jika tidak sama loncat ke hitung2

mov satuan,#00 ; jika sama isi satuan dengan #00H

mov r4,#00 ; isi r4 dengan #00H

inc Puluhan ; naikan alamat puluhan

mov r4,Puluhan ; isi r4 dengan data puluhan

cjne r4,#10,Hitung2 ; bandingkan r4 dengan data10, jika tidak sama loncat ke hitung2

mov satuan,#00 ; jika sama isi satuan dengan #00H

mov Puluhan,#00 ; isi puluhan dengan #00H

mov r4,#00 ; isi r4 dengan #00H

inc Ratusan ; naikan alamat ratusanmov r4,Ratusan ; isi r4 dengan data ratusan

cjne r4,#10,Hitung2 ; bandingkan r4 dengan data10, jika tidak sama loncat hitung2

mov satuan,#00 ; jika sama isi satuan dengan #00H

mov Puluhan,#00 ; isi puluhan dengan #00H

mov Ratusan,#00 ; isi ratusan dengan #00H

mov r4,#00 ; isi r4 dengan #00H

inc Ribuan ; naikan alamat ribuan

mov r4,Ribuan ; isi r4 dengan data ribuan

cjne r4,#10,Hitung2 ; bandingkan r4 dengan data10, jika tidak sama loncat hitung2

ret

Page 62: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

Hitung1:cjne a,Jumlah,Cek1; bandingkan acc dengan data jumlah, jika tidak sama loncat ke cek1

acall Tampil ; panggil subrutin tampilret

Cek1:inc Jumlah ; naikan alamat jumlah

mov r4,#00 ; isi r4 dengan data 0

inc satuan ; naikan alamat satuan

mov r4,satuan ; isi r4 dengan alamat satuan

cjne r4,#2,Hitung1 ; bandingkan r4 dengan data2, jika tidak sama loncat ke hitung1

mov satuan,#00 ; isi satuan dengan #00H

mov r4,#00 ; isi r4 dengan data #00H

inc Puluhan ; naiakan alamat puluhan

mov r4,Puluhan ; isi r4 dengan alamat puluhan

cjne r4,#10,Hitung1; bandingkan r4 dengan #10H, jika tidak sama loncat ke hitung1

mov satuan,#00 ; isi satuan dengan #00H

mov Puluhan,#00 ; isi puluhan dengan data #00H

mov r4,#00 ; isi r4 dengan data #00H

inc Ratusan ; naikan alamat ratusan

mov r4,Ratusan ; isi r4 dengan alamat ratusan

cjne r4,#10,Hitung1; bandingkan r4 dengan #10H, jika tidak sama loncat ke hitung1

mov satuan,#00 ; isi satuan dengan #00H

mov Puluhan,#00 ; isi puluhan dengan #00H

mov Ratusan,#00 ; isi ratusan dengan #00H

mov r4,#00 ; isi r4 dengan #00h

inc Ribuan ; naikan alamat ribuan

mov r4,Ribuan ; isi r4 dengan alamat ribuan

cjne r4,#10,Hitung1; bandingkan r4 dengan #10H, jika tidak sama loncat ke hitung1

ret

Tampil:mov SimpanPort,p2 ; pindahkan dat port2 ke simpan port

mov r6,#7fh ; isi r6 dengan #7FH

mov r1,satuan ; isi r1 dengan data satuan

mov r2,Puluhan ; isi r2 dengan data puluhan

mov r3,Ratusan ; isi r3 dengan data ratusan

mov r4,Ribuan ; isi r4 dengan data ribuan

mov dptr,#Angka5 ; isi dptr dengan data angka5cjne r1,#0,satu ; bandingkan r1 dengan 0, jika tidak sama loncat ke satu

acall 7s1 ; panggil 7s1

acall 7s2 ; panggil 7s2sjmp dua ; lompat ke dua

satu:inc dptr ; naikan dptr

Page 63: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

acall 7s1 ; panggil 7s1

djnz r1,satu ; decrement r1, jika r1 tidak sama dengan nol loncat ke satu

acall 7s2 ; panggil 7s2

dua:mov dptr,#Angka ; isi dptr dengan data angka

cjne r2,#0,dua1 ; bandingkan r2 dengan 0, jika tidak sama loncat ke dua1

acall 7s1 ; panggil 7s1

acall 7s2 ; panggil 7s2

sjmp tiga ; lompat ke tiga

dua1:inc dptr ; naikan dptracall 7s1 ; panggil 7s1

djnz r2,dua1 ; decrement r2, jika tidak sama dengan 0, loncat ke dua1

acall 7s2 ; panggil 7s2

tiga:mov dptr,#AngkaK ; isi dptr dengan data angkaK

cjne r3,#0,tiga1 ; bandingkan r3 dengan 0, jika tidak sama dengan 0 loncat ke tiga1

acall 7s1 ; panggil 7s1

acall 7s2 ; panggil 7s2

sjmp empat ; lompat ke empattiga1:

inc dptr ; naikan dptr

acall 7s1 ; panggil 7s1

djnz r3,tiga1 ; decrement r3, jika tidak sama dengan 0 loncat ke tiga1

acall 7s2 ; panggil 7s2

empat:mov dptr,#Angka ; isi dptr dengan data angka

cjne r4,#0,empat1 ; bandingkan r4 dengan 0, jika tidak sama dengan 0 loncat ke empat1

acall 7s1 ; panggil 7s1acall 7s2 ; panggil 7s2

sjmp SlsKonv ; lompat ke Siskonvempat1:

inc dptr ; naikan dptr

acall 7s1 ; panggil 7s1djnz r4,empat1 ; decrement r4, jika tidak sama dengan 0 loncat ke empat1

acall 7s2 ; panggil 7s2

SlsKonv:mov p2,SimpanPort ; kirim data simpan port ke port2mov satuan,#00 ; isi satuan dengan #00mov Puluhan,#00 ; isi puluhan dengan #00

mov Ratusan,#00 ; isi ratusan dengan #00mov Ribuan,#00 ; isi ribuan dengan #00

ret

Page 64: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

7s2:mov p0,a ; kirim dat acc ke port0

mov a,r6 ; pindahkan data r6 ke acc

anl a,SimpanPort ; and-kan acc dengan data simpan port

mov p2,a ; kirim data acc ke port2

orl a,#0fh ; or-kan acc dengan #oFFHrr a ; geser bit acc ke kanan

mov r6,a ; pindahkan data acc ke r6

mov Putar,#200 ; isi putar dengan data #200

djnz Putar,$ ; decrement putar sebanyak 200x

mov p0,#0ffh ; kirim data #0FFH ke port0

ret

7s1:clr a ; bersihkan acc

movc a,@a+dptr ; jumlahkan isi acc dengan dptr

ret

Subrutin delay

Tunda:mov r7,#10 ; isi r7 dengan dat #10

Tunda1:mov Th1,#high -50000 ; isi th1 dengan high(50000)

mov Tl1,#low -50000 ; isi tl1 dengan low (50000)

setb tr1 ; hidupkan timer 1

Tunda2:jnb tf1,$ ; tunggu hingga tf1=0

clr tf1 ; matikan tf1

clr tr1 ; matikan tr1

djnz r7,Tunda1 ; kurangi isi r7 dan lompat ke tunda1 jika tidak0

ret

Angka:db 0C0H, 0F9H, 0A4H, 0B0H, 99H, 92H, 82H, 0F8H, 80H, 90H

AngkaK:db 40H, 79H, 24H, 30H, 19H, 12H, 02H, 78H, 00H, 10H

Angka5:db 0C0H, 92H

Page 65: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

Gambar Rangkaian Alat Pengukur Kedalaman Sumur Berbasis

Mikrokontroler AT89S51

R26330

1 2 3 4 5678910

4K7

Vcc

1 2 3 4 5678910

Q2

1K

1 2 3 4 5678910

9V

30Pf

10uF

74LS14

12

9V

<Doc> <Rev Code>

<Title>

A

1 1Tuesday , August 14, 2007

Title

Size Document Number Rev

Date: Sheet of

R17

Q1

R15

R27330

R18

S2

SW

R2418K

PHOTO NPNBD677

L293D

12345678

161514131211109

R2218K

S1

SW

Q3

12MHz

CRYSTAL

R2118K

R16

5V

MMOTOR DC

Q4

Vcc

VCC

AT89S51

91819 29

30

31

12345678

2122232425262728

1011121314151617

3938373635343332

RSTXTAL2XTAL1 PSEN

ALE/PROG

EA/VPP

P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7

P2.0/A8P2.1/A9

P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15

P3.0/RXDP3.1/TXD

P3.2/INTOP3.3/INT1

P3.4/TOP3.5/T1

P3.6/WRP3.7/RD

P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7

1 2 3 4 5678910

150

R14

30Pf

10K

start

R27330

R2318K

R25330

R20R19

R13

Page 66: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

Tabel hasil 5 kali pengukuran untuk setiap data

Tabel hasil pengukuran kedaman 45 cm

No Jarak sebenarnya (cm)

Terukur oleh Program

(m)

Galat (%)

1 45 00.45 02 45 00.45 03 45 00.45 04 45 00.45 05 45 00.45 0

Tabel hasil pengukuran kedalaman 70 cm

No Jarak sebenarnya (cm)

Terukur oleh Program

(m)

Galat (%)

1 70 00.70 02 70 00.70 03 70 00.70 04 70 00.70 05 70 00.70 0

Tabel hasil pengukuran kedalaman 1.10 m

No Jarak sebenarnya (cm)

Terukur oleh Program

(m)

Galat (%)

1 110 01.10 02 110 01.10 03 110 01.10 04 110 01.10 05 110 01.10 0

Page 67: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …

Tabel hasil pengukuran kedalaman 1.5 m

No Jarak sebenarnya (cm)

Terukur oleh Program

(m)

Galat (%)

1 150 01.50 02 150 01.50 03 150 01.50 04 150 01.50 05 150 01.50 0

Tabel hasil pengukuran kedalaman 2.98 m

No Jarak sebenarnya (cm)

Terukur oleh Program

(m)

Galat (%)

1 298 03.00 0.62 298 03.00 0.63 298 03.00 0.64 298 03.00 0.65 298 03.00 0.6

Tabel 4.8. Hasil pengukuran kedalaman 4.27 m

No Jarak sebenarnya (cm)

Terukur oleh Program

(m)

Galat (%)

1 427 04.35 1.82 427 04.35 1.83 427 04.35 1.84 427 04.35 1.85 427 04.35 1.8

Page 68: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …
Page 69: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …
Page 70: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …
Page 71: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …
Page 72: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …
Page 73: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …
Page 74: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …
Page 75: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …
Page 76: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …
Page 77: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …
Page 78: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …
Page 79: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …
Page 80: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …
Page 81: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …
Page 82: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …
Page 83: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …
Page 84: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …
Page 85: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …
Page 86: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …
Page 87: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …
Page 88: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …
Page 89: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …
Page 90: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …
Page 91: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …
Page 92: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …
Page 93: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …
Page 94: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …
Page 95: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …
Page 96: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …
Page 97: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …
Page 98: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …
Page 99: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …
Page 100: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …
Page 101: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …
Page 102: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …
Page 103: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …
Page 104: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …
Page 105: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …
Page 106: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …
Page 107: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …
Page 108: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …
Page 109: ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS …