Alat pengukur kedalaman sumur berbasis mikrokontroler AT89S51 - USD Repository

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

WELL DEPTH MEASURING TOOL

BASED 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 PROGRAM
ELECTRICAL ENGINEERING DEPARTMENT
ENGINEERING FACULTY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2007

iv


v

v

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

Ku persembahkan karya ilmiah ini untuk :
Tuhan ku Yesus Kristus
Sebab 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 orangorang yang selalu mendukung dan menyayangi saya.
Special for Caecilia Erlin Desiana tercinta yang selalu
menemani aku dan memberi semangat.
Dan Almamaterku............


vi

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, microcontroller
dan 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

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

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

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

DAFTAR ISI
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

2.3.

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

2.3.1. Dioda Pemancar cahaya.................................................................... 11
2.3.2. Penampil seven segment................................................................... 12
BAB III PERANCANGAN ALAT
13
3.1. Perancangan Perangkat keras .......................................................................
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...................................................................... 35
4.6. Proses Pengukuran kedalaman.............................................................

36

BAB V KESIMPULAN DAN SARAN
5.1. Kesimpulan............................................................................................ 40
5.2. Saran...................................................................................................... 40
DAFTAR PUSTAKA ............................................................................................
LAMPIRAN ............................................................................................................

xii

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

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

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

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

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

2

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.

3

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.

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

1

2

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

5

A

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.

6

5v

5v

R
R

R

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

7

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.

+5V

R

Ke schmitt triger
BD677
Dari sensor

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

8

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
Timer 1

M0

GATE

C/T

M1

Timer 0

Gambar 2.6. Register TMOD

M0

9

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

GATE

high dan pin TRx juga high.
Jika GATE = 0, maka timer/counter “x” aktif jika hanya pin
TRx high.
: low untuk fungsi timer dan high untuk fungsi counter.

C/T

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
0
0
1
1

M0
0
1
0
1

Mode
0
1
2
3

Operasi
Timer/counter 13-bit
Timer/counter 16-bit
Timer/counter 8-bit isi ulang (auto reload)
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

Timer1

TR0

IE1

IT1

IE0

IT0

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.

10

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

Gambar 2.8. Interrupt Enable Register
Enable bit = 1, mengijinkan interupsi tersebut.
Enable bit = 0, membatalkan interupsi bersangkutan.

EX0

11

-

-

-

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 prategangan maju akan memancarkan cahaya. Gambar 2.10. menunjukkan rangkaian
LED yang dihubungkan dengan resistansi secara seri.
VCC
Ra
Vd

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 :
Ra 

Vcc  Vd
Id

..................

(2.4.1)

12

2.3.2. Penampil Seven Segment
Salah satu penampil yang digunakan adalah seven segment yang
ditunjukkan pada gambar 2.11.
a
f

g

e

b

c
d

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 anodaanoda 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
0
1
2
3
4
5
6
7
8
9

Segmen Yang Menyala
a, b, c, d, e, f
b, c
a, b, g, e, d
a, b, g, c, d
f, g, b, c
a, f, g, c, d
a, f, g, c, d
a, b, c
a, b, c, d, e, f, g
a, b, g, f, c

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.

AC

Trafo
Regulator

P2.0
P2.1
P2.2

Motor
driver

Mikrokontroler
AT89S51
Sensor

P1.0

P3.2
P3.3

Limit
switch 1
Limit
switch 2

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

14

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.
5v

5v

150
4K7

Gambar 3.2.a. Phototransistor

4K7

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 =

Vcc  Vd
IF

Rd =

5V  1,7V
= 165 
20mA

15

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 =
Rc =

Vcc  VCE
IC
5V  0,3V
= 4,7 K
1mA

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 =


……………………….. ( persamaan 3.1)
 Pulsa

 = .d
Keterangan:
 = Keliling lingkaran

16

 = 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

=

 .d
 Pulsa

5 cm

=

3,14.d
4

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 pulsa
Dalam perancangan ini untuk menentukan banyaknya jumlah cacahan yang
dihasilkan dengan jarak maksimal 99,95 meter dapat diperoleh dari perhitungan
sebagai berikut :
∑ pulsa =

99,95m
5cm
=

9995cm
5cm

17

= 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.

5V

5K6

1K

I N T O/ P1.7
7414
BD 677A

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 =

Vcc  VCE
5V  0,3V
= 4,7 mA
=
RC
1K

18

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.

19

3.1.5. Mekanisme Alat Pengukuran

Start

ON/FF

Tali

Rotary
encoder

Limit switch 1
Optocoupler

Motor

Tali
Limit Switch 2

Sumur
Deteksi
Posisi
Kedalaman
Air

G
3.7. Mekanik Alat Pengukur Kedalaman Sumur

20

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.

VCC
AT89S51
10uF

Reset
1

2

1K

9

RST

10K

Gambar 3.8. Rangkaian reset

21

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.
AT89S51
30pF
19

XTAL1

12MHz
18

XTAL2

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

22

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.

Out 2

P2.2
P2.1
P2.0

EN1
IN2
IN1

AT89S51

M
Out 1

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.

23

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.
5Volt
Ra
330
Vd

Gambar 3.11. Rangkaian indikator LED
Pada perancangan rangkaian ini, berdasarkan data sheet Vd = 1,7 Volt dan

I d = 10mA serta Vcc yang digunakan adalah 5 Volt, maka nilai Ra adalah:
Ra 

5V  1,7V
 330
10mA

Jadi resistor yang digunakan adalah 330 Ω sebagai hambatan penahan arus
yang melewati LED.

24

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

330

A733

LED

LED

LED

LED

LED

LED

LED

Port P0.2

Port P0.3

Port P0.4

Port P0.5

Port P0.6

Port P0.7

18K

Port P0.1

Port P0.0

Port P1.0

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 RB dan R E digunakan sebagai pembatas arus yang masuk ke
dalam transistor. Arus kolektor transistor adalah I C  I E  I B , karena nilai I B
sangat kecil maka nilai I C  I E . Dari data sheet transistor A733 dapat diperoleh
besar arus penguatan dc ( hfe ) adalah 60, arus kolektor ( I C ) maksimal 100mA
dan besarnya V EC adalah 0,18 Volt. Diketahui pula arus LED 10mA sampai

25

20mA, maka ditentukan nilai I C 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, V EB  0,7V , I C  10mA , V EC  0,18V , V LED  1,7V .
Nilai RE di dapat dengan persamaan :
VCC  V E  V EC  VLED  0
V E  VCC  VEC  VLED
VE = 5 - 0,18 - 1,7

V E  3,12V
Besarnya nilai R E berdasarkan persamaan di atas adalah :

V E  I E RE
RE 
RE 

VE
IE

3,12
 312
10.10 3

Besarnya nilai RE yang di dapat dari perhitungan adalah 312Ω, maka
digunakan resistor yang mendekati harga tersebut yaitu resistor sebesar 330Ω.
Saat transistor saturasi I B mencapai nilai jenuh sebesar :

I B jenuh 

IC
10.10 3

 0,167mA
Hfe min
60

Maka besarnya nilai RB yang digunakan sebagai penahan muka arus yang masuk
ke transistor melalui kaki basis adalah :
RB 

VB
3,12

 18682,6
I B 0,167.10 3

Dalam perhitungan di dapat nilai RB sebesar 18682,6Ω maka digunakan
resistor yang mudah di dapat di pasaran, yaitu resistor sebesar 18KΩ.

26

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.

VCC

330
P2.0

330
P2.1

18K

330
P2.2

18K

18K

18K

1
2
3
4
5

1
2
3
4
5

1
2
3
4
5

10
9
8
7
6

10
9
8
7
6

Q4

10
9
8
7
6

Q3

1
2
3
4
5

Q2

10
9
8
7
6

Q1

330
P2.3

P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7

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.

27

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.

Mulai
Inisialisasi
Hidupkan
interupsi
Putar motor
ke bwah
(ccw)
Increment
hitung pulsa

Sensor jarak
off ?

A
Hentikan lalu
putar motor
cw
Matikan
interupsi
Tampil ke
seven
segment
End

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

28

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.

29

START

A= 0 ?
Ya

Tidak
Nolkan A

Tambahkan 5 ke
A
B= 9 ?

Tidak

Ya

Increment B

Nolkan B

Satuan = 9 ?

Tidak
Increment
satuan

Ya
Nolkan satuan
Increment
puluhan

Puluhan = 10 ?

Tidak

Ya

Matikan motor

Tampilkan 7'S

RET

Gambar 3.15. Diagram alir subrutin increment cacah pulsa

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 m