• Tidak ada hasil yang ditemukan

ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS MIKROKONTROLER AT89S51

N/A
N/A
Protected

Academic year: 2021

Membagikan "ALAT PENGUKUR KEDALAMAN SUMUR BERBASIS MIKROKONTROLER AT89S51"

Copied!
109
0
0

Teks penuh

(1)

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

(2)

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

(3)
(4)
(5)

v

(6)

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

orang-orang yang selalu mendukung dan menyayangi saya.

Special for Caecilia Erlin Desiana tercinta yang selalu

menemani aku dan memberi semangat.

Dan Almamaterku...

(7)

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

(8)

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.

(9)

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.

(10)

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

(11)

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

(12)

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

(13)

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

(14)

Gambar 4.5 Gambar satu pulsa... 36 Gambar 4.6 Grafik error pada pengukuran... 39

(15)

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

(16)

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

(17)

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

(18)

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.

(19)

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.

(20)

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 12

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.

(21)

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

(22)

R R

R

5v 5v

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

(23)

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

(24)

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

(25)

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 Operasi

0 0 0 Timer/counter 13-bit

0 1 1 Timer/counter 16-bit

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

(26)

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.

(27)

- - - 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 d cc a I V V R   ... (2.4.1) 11

(28)

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 f g 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 Menyala

0 a, b, c, d, e, f 1 b, c 2 a, b, g, e, d 3 a, b, g, c, d 4 f, g, b, c 5 a, f, g, c, d 6 a, f, g, c, d 7 a, b, c 8 a, b, c, d, e, f, g 9 a, b, g, f, c

(29)

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 Mikrokontroler AT89S51 Motor driver P2.1 P2.0 P2.2 Limit switch 1 Limit switch 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.

(30)

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.

4K7 150

4K7

5v 5v

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 = F I Vd Vcc Rd = mA V V 20 7 , 1 5  = 165 

(31)

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 V Vcc Rc = mA V V 1 3 , 0 5  = 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

(32)

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

Dalam 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

(33)

= 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 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 = C CE R V Vcc =   K V V 1 3 , 0 5 = 4,7 mA 17

(34)

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.

(35)

3.1.5. Mekanisme Alat Pengukuran

G

3.7. Mekanik Alat Pengukur Kedalaman Sumur ON/FF Start Tali Deteksi Posisi Kedalaman Limit Switch 2 Limit switch 1 Optocoupler Air Sumur Tali Motor Rotary encoder 19

(36)

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 9 RST R es et 1 2 1K

(37)

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

(38)

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 EN1 IN2 IN1 Out 1

(39)

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

330 Ra

Gambar 3.11. Rangkaian indikator LED

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

d

I

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

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

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

(40)

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 18K A733 LED P or t P 0. 7 P or t P 0. 6 P or t P 0. 0 LED 330 P or t P 0. 1 P or t P 0. 5 P or t P 0. 3 Port P1.0 LED LED P or t P 0. 4 P or t P 0. 2 LED LED LED 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 R dan B R digunakan sebagai pembatas arus yang masuk ke E dalam transistor. Arus kolektor transistor adalah ICIEIB, karena nilai IB

sangat kecil maka nilai ICIE. Dari data sheet transistor A733 dapat diperoleh besar arus penguatan dc ( hfe ) adalah 60, arus kolektor (I ) maksimal 100mA C dan besarnya V adalah 0,18 Volt. Diketahui pula arus LED 10mA sampai EC

(41)

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

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, VEB 0,7V, IC 10mA, VEC 0,18V , VLED 1,7V . Nilai R di dapat dengan persamaan :E

0     E EC LED CC V V V V LED EC CC E V V V V    VE = 5 - 0,18 - 1,7 V VE 3,12

Besarnya nilai RE berdasarkan persamaan di atas adalah : E E E I R VE E E I V R     312 10 . 10 12 , 3 3 E R

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

mA Hfe I I C jenuh B 60 0,167 10 . 10 min 3    

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

    18682,6 10 . 167 , 0 12 , 3 3 B B B I V R

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

(42)

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 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 VCC Q2 1 2 3 4 5 6 7 8 9 10 P0.4/AD4 P2.2 18K 330 1 2 3 4 5 6 7 8 9 10 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.

(43)

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 Hidupkan interupsi Putar motor ke bwah (ccw) Increment hitung pulsa Hentikan lalu putar motor cw Matikan interupsi Tampil ke seven segment Sensor jarak off ? 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

(44)

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.

(45)

START A= 0 ? Tambahkan 5 ke A Tidak Nolkan A B= 9 ? Nolkan B Satuan = 9 ? Nolkan satuan Increment puluhan Puluhan = 10 ? Matikan motor Tampilkan 7'S RET Tidak Increment B Increment satuan Tidak Tidak Ya Ya Ya Ya

Gambar 3.15. Diagram alir subrutin increment cacah pulsa

(46)

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.

.

(47)

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

(48)

Gambar 4.2. Foto alat tampak depan

(49)

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.

(50)

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 air Diam 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 :

(51)

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

(52)

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.

(53)

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 = sebenarnya jarak sebenarnya jarak terukur jarak  x 100 % Contoh :

a. Galat pada pengukuran 45 cm = 45

45 45

x 100 % = 0 % b. Galat pada pengukuran 427 cm =

427 427

435 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.

(54)

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

(55)

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) G al 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.

(56)

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.

(57)

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

(58)
(59)

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 34h Data2 equ 35h Jumlah equ 36h Putar equ 37h Simpan equ 38h SimpanPort equ 39h org 00h awal:

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

clr p2.1

clr p2.2

acall MotorTurun ; panggil subrutin motor turun

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

setb tr0 ; hiduokan timer 0

(60)

clr 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 MotorHenti ajmp 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 ret MotorHenti: clr p2.0 clr p2.1 clr p2.2 ret 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 #00H

mov a,r2 ; isi accumulator dengan data r2

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

(61)

acall Hitung1 ; panggil subrutin hitung 1

acall Tampil ; panggil subrutin tampil

ret Tinggi:

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 ratusan

mov 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

(62)

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 angka5

cjne r1,#0,satu ; bandingkan r1 dengan 0, jika tidak sama loncat ke satu

acall 7s1 ; panggil 7s1

acall 7s2 ; panggil 7s2

sjmp dua ; lompat ke dua

satu:

(63)

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 dptr

acall 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 empat

tiga1:

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 7s1

acall 7s2 ; panggil 7s2

sjmp SlsKonv ; lompat ke Siskonv

empat1:

inc dptr ; naikan dptr

acall 7s1 ; panggil 7s1

djnz 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 port2 mov satuan,#00 ; isi satuan dengan #00

mov Puluhan,#00 ; isi puluhan dengan #00

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

(64)

orl a,#0fh ; or-kan acc dengan #oFFH

rr 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

(65)

Gambar Rangkaian Alat Pengukur Kedalaman Sumur Berbasis Mikrokontroler AT89S51 R26 330 1 2 3 4 5 6 7 8 9 10 4K7 Vcc 1 2 3 4 5 6 7 8 9 10 Q2 1K 1 2 3 4 5 6 7 8 9 10 9V 30Pf 10uF 74LS14 1 2 9V

<Doc> <Rev Code>

<Title> A

1 1

Tuesday , August 14, 2007 Title

Size Document Number Rev

Date: Sheet of R17 Q1 R15 R27 330 R18 S2 SW R24 18K PHOTO NPN BD677 L293D 1 2 3 4 5 6 7 8 16 15 14 13 12 11 10 9 R22 18K S1 SW Q3 12MHz CRYSTAL R21 18K R16 5V M MOTOR DC Q4 Vcc VCC AT89S51 9 18 19 29 30 31 1 2 3 4 5 6 7 8 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17 39 38 37 36 35 34 33 32 RST XTAL2 XTAL1 PSEN ALE/PROG EA/VPP P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INTO P3.3/INT1 P3.4/TO P3.5/T1 P3.6/WR P3.7/RD P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 1 2 3 4 5 6 7 8 9 10 150 R14 30Pf 10K start R27 330 R23 18K R25 330 R20R19 R13

Gambar

Gambar 2.1 Piringan Rotary encoder
Gambar 2.3.a Phototransistor    Gambar 2.3.b Sensor Rotary encoder
Gambar 2.4. Transistor Penguat
Gambar 2.7. Register TCON
+7

Referensi

Dokumen terkait

Efektivitas Pendekatan Konseling Karir Trait and Factor untuk Meningkatkan Kompetensi Karir Peserta Didik (Penelitian Ekperimen Kuasi terhadap Peserta Didik Kelas VIII

Selain itu kerja praktek tersebut dilaksanakan untuk menambah pengalaman guna mengetahui dan memahami mekanisme serta mencoba mngaplikasikan pengetahuan penulis dan

Pada web ini bahwa setiap user atau pemakai web ini jika telah men-downloads suatu materi fisika yang disampaikan diweb ini, maka ia bisa mengikuti ujian (test) yang hanya bisa

Dari hasil penelitian yang ada, diberikan usulan untuk toko plastik TGC memberikan diskon khusus untuk pembeli dalam jumlah besar, produk yang diperjualkan dengan harga

Skripsi berjudul Faktor-faktor yang mempengaruhi keputusan pelanggan dalam pembelian kartu prabayar AXIS telah di uji dan disahkan oleh Fakultas Ilmu Sosial Dan

Faktor-Faktor yang Mempengaruhi Audit Delay di Indonesia (Studi Empiris pada Perusahaan-Perusahaan LQ 45 Yang Terdaftar di Bursa Efek Jakarta).. Jurnal Bisnis

‘Jika seseorang perempuan yang berkahwin dengan seseorang lelaki melahirkan seorang anak lebih daripada enam bulan qamariah dari tarikh perkahwinannya itu atau

Disertasi PEMAHAMAN ELITE PKB KOTA KEDIRI..