Pintu Kanal Banjir Otomatis Pada Bendungan Menggunakan Microkontroler AT89S51 Sebagai Pusat Kendali

(1)

PINTU KANAL BANJIR OTOMATIS PADA BENDUNGAN

MENGGUNAKAN MICROKONTROLER AT89S51

SEBAGAI PUSAT KENDALI

TUGAS AKHIR

SYAHPUTRA

062408053

DEPARTEMEN FISIKA

JURUSAN FISIKA INSTRUMENTASI

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

MEDAN

2009


(2)

PINTU KANAL BANJIR OTOMATIS PADA BENDUNGAN

MENGGUNAKAN MICROKONTROLER AT89S51

SEBAGAI PUSAT KENDALI

TUGAS AKHIR

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh gelar Ahli Madya

SYAHPUTRA

062408053

DEPARTEMEN FISIKA

JURUSAN FISIKA INSTRUMENTASI

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2009


(3)

PERSETUJUAN

JuduI : PINTU KANAL BANJIR OTOMATIS

PADA BENDUNGAN MENGGUNAKAN

MICROKONTROLER AT89S51 SEBAGAI

PUSAT KENDALI

Kategori : TUGAS AKHIR

Nama : SYAHPUTRA

Nomor Induk Mahasiswa : 062408053

Program Studi : D3 FISIKA INSTRUMENTASI Departemen : FISIKA

Fakultas : MATEMATIKA DAN ILMUPENGETAHUAN ALAM (FMIPA)UNIVERSITAS SUMATERA UTARA (USU)

Diluluskan di Medan, Junari 2009

Ketua Program Studi

D3 Fisika Instrumentasi Pembimbing

Drs. Syahrul Humaidi, M.Sc Drs. Syahrul Humaidi, M.Sc NIP. 132050870 NIP. 132050870


(4)

PERNYATAAN

PINTU KANAL BANJIR OTOMATIS PADA BENDUNGAN

MENGGUNAKAN MICROKONTROLER AT89S51 SEBAGAI

PUSAT KENDALI

TUGAS AKHIR

Saya mengakui bahwa laporan tugas akhir ini adalah hasil kerja saya sendiri,kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, Junari 2009

SYAHPUTRA 062408053


(5)

PENGHARGAAN

Puji dan syukur penulis ucapkan kepada Allah Subhanahuwata’ala,sang penguasa langit dan bumi dan apa yang ada diantara keduanya.Yang senantiasa melimpahkan karunianya dan selalu memberikan kemudahan dan kelancaran sehingga penulis dapat menyelesaikan penulisan tugas akhir ini sesuai waktu yang telah ditetapkan.Sholawat dan salam semoga senantiasa tercurahkan kepada Rasululullah

Sallallhu’alaihiwasalam sang pembawa petunjuk dan selalu menjadi inspirasi dan

teladan bagi penulis.

Pada kesempatan kali ini penulis ingin mengucapkan ucapan terima kasih kepada Dekan dan Pembantu Dekan FMIPA USU,ketua departemen Fisika Bapak DR.Marhaposan Sitomorang,Ketua Jurusan Departemen DIII Fisika Instrumentasi Bapak Drs.Syahrul Humaidi,M.Sc.Sekretaris Jurusan Departemen Fisika Ibu Dra.Yustinon,M.Si.Dan khusus kepada Bapak Drs.Syahrul Humaidi,M.Sc. selaku Dosen Pembimbing penulis dalam penulisan dan penyusunan tugas akhir ini yang telah banyak membantu dan memberikan kepercayaan kepada penulis untuk dapat menyelesaikan tugas akhir ini.Serta kepada seluruh dan Dosen pengajar di Deprtemen Fisika FMIPA USU yang telah banyak membantu penulis selama menempuh pendidikan di bangku perkuliahan.

Tak lupa penulis memberikan penghargaan dan penghormatan kepada kedua orang tua dan seluruh keluarga yang selalu memberikan dukungan dan doa kepada penulis sehingga penulis termovitasi untuk dapat menyelesaikan tugas akhir ini.Juga kepada teman-teman atas segala bantuan dan segala bantuan dan kerja sama semoga Allah membalasnya dengan pahala terbaik. kepada seluruh teman-teman di jurusan Fisika Instrumentasi yang selalu memotivasi penulis agar segera mungkin menyelesaikan penulisan dan penyusunan tugas akhir ini serta kepada seluruh teman-teman seperjuangan lainnya yang tidak mungkin penulis sebutkan disini.Semoga Allah Subhanahuwata’ala melimpahkan kesejahteraan dan keselamatan kepada kalian semua.

Penulis menyadari bahwa dalam Laporan Tugas Akhir ini masih banyak terdapat kekurangan.Oleh karena itu penulis mengharapkan saran dan kritik yang bersifat membangun untuk perbaikan dan kesempurnaan Laporan Akhir ini dimasa yang akan datang.Semoga Laporan Tugas ini dapat bermanfaat kepada para pembaca dan memberikan suatu inspirasi bagi pnerapan teknologi dalam kehidupan sehari-hari.


(6)

ABSTRAK

Kajian ini merupakan pembahasan mengenai pengendalian pintu kanal banjir pada bendungan secara otomatis. Untuk mendeteksi tingginya volume air akan digunakan beberapa utas kabel yang kemudian disebuat sebagai sensor air. Motor stepper pengaturan atap dan suhu ruangan pada rumah.Untuk melakukan pengaturan suhu digunakan untuk penggerak pintu kanal. Pemilihan motor stepper sebagai penggerak karena besar sudut pergerakan motor ini dapat di ukur dengan cukup mudah dibanding dengan jenis motor penggerak lain

Sensor yang dipasang sebagai umpan balik (feedback) dalam system akan mengindra nilai ketinggian level atau volume air secara terus - menerus (real time). Hasil tersebut sebelum dikirimkan kepada mikrokontroler untuk diolah.

Dalam hal ini Instrumen Pengatur Buka/Tutup pintu kanal banjir pada bendungan ini menggunakan Mikrokontroler AT89S51 sebagai otak dari system, yang berfungsi mengolah data yang masuk dari sensor, kemudian meberi informasi kepada motor untuk melakukan tindakan membuka atau menutup pintu kanal banjir pada bendungan.


(7)

DAFTAR ISI

Halaman

Persetujuan i

Pernyataan ii

Penghargaan iii

Abstrak iv

Daftar isi v

Daftar Tabel vi Daftar Gambar vii

BAB 1 PENDAHULUAN 1

1.1 Latar Belakang 1

1.2 Rumusan Masalah 2

1.3 Maksud danTujuan Penulisan 3

1.4 Batasan Masalah 3

1.5 Sistematika Penulisan 3

BAB 2 LANDASAN TEORI 5

2.1 Prinsip kerja pembuka/penutup pintu 5

2.2 Sensor air sedehana 6

2.3 Mikrokontroler AT89S51 7

2.3.1 Kontruksi AT89S51 9

2.3.2 Pin-Pin pada Microcontroller AT89S51 11

2.4 Driver Motor stepper 14

2.5 Motor Langkah ( Stepper ) 17

2.6 Perangkat lunak 20

2.6.1. Bahasa Assembly MCS-51 20

2.6.2 Software 8051 Editor, Assembler, Simulator 24

2.6.3 Software Downloader 25


(8)

BAB 3 PERANCANGAN ALAT 26

3.1 Diagram Blok Rangkaian 26

3.2 Perancangan Power Supply (PSA) 28

3.3 Perancangan Rangkaian Mikrokontroler AT89S51 29

3.4 Rangkaian sensor air sederhana 31

3.5 Perancangan Rangkaian Driver Motor Stepper 32

3.6 Diagram Alir Program 33

BAB 4 PENGUJIAN ALAT DAN PROGRAM 35

4.1 Pengujian Rangkaian Power Supplay (PSA) 35

4.2Pengujian Rangkaian minimum AT89S51 36

4.3 Pengujian Rangkaian Driver Motor Stepper 39

BAB 5 KESIMPULAN DAN SARAN 43

5.1 Kesimpulan 43

5.2 Saran 44

DAFTAR PUSTAKA 45


(9)

DAFTAR TABEL

Halaman

Tabel 2.1 Fungsi Masing-masing Pin pada Port 3 Mikrokontroler 12 Tabel 2.2 Formasi tegangan/logika pada Stepper Motor 19 Tabel 2.3 Formasi double active bit untuk mode putaran full step 19 Tabel 4.1 Data Motor Stepper Untuk membuka dan Menutup 42


(10)

DAFTARGAMBAR

Halaman

Gambar 2.1 Diagram Blok Sistem pembuka/penutup pintu 5

Gambar 2.2 IC Mikrokontroler AT89S51 11

Gambar 2.3 (a) bentuk pulsa keluaran dari driver motor stepper

(b) penerapan pulsa driver pada motor stepper dan arah putaran yang bersesuaian 14 Gambar 2.4 bentuk gelombang keluaran rangkaian pembangkit pulsa 15 Gambar 2.5 Software 8051 Editor, Assembler, Simulator 24

Gambar 2.6 ISP- Flash Programmer 25

Gambar 3.1 Diagram Blok Sistem pembuka/penutup pintu 26

Gambar 3.2 Rangkaian Power Supplay (PSA) 28

Gambar 3.3 Rangkaian mikrokontroller AT89S51 29

Gambar 3.4 Rangkaian sensor air sederhana 31

Gambar 3.5 Rangkaian Driver Motor Stepper 32

Gambar 3.6 Diagram Alir Program 34

Gambar 4.1 Rangkaian Power Supplay (PSA) 35

Gambar 4.2 Rangkaian minimum AT89S51 37


(11)

ABSTRAK

Kajian ini merupakan pembahasan mengenai pengendalian pintu kanal banjir pada bendungan secara otomatis. Untuk mendeteksi tingginya volume air akan digunakan beberapa utas kabel yang kemudian disebuat sebagai sensor air. Motor stepper pengaturan atap dan suhu ruangan pada rumah.Untuk melakukan pengaturan suhu digunakan untuk penggerak pintu kanal. Pemilihan motor stepper sebagai penggerak karena besar sudut pergerakan motor ini dapat di ukur dengan cukup mudah dibanding dengan jenis motor penggerak lain

Sensor yang dipasang sebagai umpan balik (feedback) dalam system akan mengindra nilai ketinggian level atau volume air secara terus - menerus (real time). Hasil tersebut sebelum dikirimkan kepada mikrokontroler untuk diolah.

Dalam hal ini Instrumen Pengatur Buka/Tutup pintu kanal banjir pada bendungan ini menggunakan Mikrokontroler AT89S51 sebagai otak dari system, yang berfungsi mengolah data yang masuk dari sensor, kemudian meberi informasi kepada motor untuk melakukan tindakan membuka atau menutup pintu kanal banjir pada bendungan.


(12)

BAB 1

PENDAHULUAN

1.1 Latar Belakang

Air adalah sumber kehidupan, tampa air tak satupun mahluk hidup di bumi ini dapat bertahan, Namun air juga bisa menjadi bencana yang dapat membahayakan mahluk hidup seperti air bah atau banjir. Oleh sebab itu kita harus dapat mengendalikan jumlah debit air yang ada pada lingkungan kita. Salah satu cara pengendalian debit air adalah dengan membuat bendungan atau waduk, pada bendungan atau waduk tentunya terdapat pintu kanal banjir yang harus dibuka dan tutup sesuai dengan keadaan volume air yang ada pada bendungan itu. Alangkah baiknya apabila pengendalian pintu kanal banjir pada bendungan atau waduk bekerja secara otomatis kerena perubahan volume air yang selalu berubah ubah dalam periode waktu yang taidak menentu.

Alat ini bekerja berdasarkan ketinggian level air yang dideteksi oleh sensor air. Lebarnya pembukaan pintu air akan disesuaikan dengan tingginya level air yang telah dicapai, pintu kanal banjir akan semakin lebar terbuka apa bila level ketinggian aiar semakin ringgi.

Alasan mengapa kita memerlukan alat pengendali ini adalah perubahan volume air yang tidak menentu. Dengan alat ini dapat maka perubahan volume air


(13)

dapat di deteksi dan alat ini dapat langsung melakukan tindakan untuk penegdalian volume air tersebut. Tentunya faktor kelalaian yang sering terjadi pada manusiapun dapat dihindari, seringnya penjaga pintu kanal banjir lalai dalam mengendalikan pintu kanal banjir menyebapkan volume air yang tidak stabil, akibatnya sering terjadi kerusakan pada lingkungan. Dengan alat ini maka pengendalian volume air akan semakin mudah dan stabil.

1.2. Rumusan Masalah

Berdasarkan uraian yang terdapat dalam latar belakang di atas, maka dalam laporan Tugas akhir ini akan dibuat sebuah prototipe pengendali pintu kanal banjir pada bendungan yang dapat dibuka dengan menggunakan motor penggerak. Alat ini juga menggunaan sensor level air sebagai acuan seberapa lebar pintu kanal bajir akan dibuka.

Pada alat ini akan digunakan sebuah mikrokontroler AT89S51, sebuah motor, dan dua buah sensor air. Mikrokontroler AT89S51 sebagai otak dari system yang berfungsi menerima sinyal dari pemancar dan menggerakkan motor untuk membuka/menutup pintu. Motor yang akan digunakan adalah motor stepper yang dapat diatur perputarannya (dapat berputar kekanan/kekiri) sehingga dapat mengendalikan pergerakan pintu (membuka dan menutup). Pintu akan terbuka secara otomatis apabila ada sensor air dalam keadaan aktiv.


(14)

1.3 Tujuan Penulisan

Adapun tujuan dari penulisan tugas akhir ini adalah sebagai berikut: 1. Memahami prinsip kerja sensor air sederhana.

2. Memahami prinsip kerja Mikrokontroller AT89S51 sebagai tempat pemprosesan data dari pemancar ke penerima.

3. Memahami prinsip kerja dari Motor stepper sebagai motor penggerak pintu.

1.4 Batasan Masalah

Penulisan Laporan Tugas Akhir ini dibatasi pada:

1. Studi cara kerja rangkaian penerima yang meliputi diagram blok dan menguraikan secara umum fungsi dari masing-masing komponen utama dalam blok tersebut.

2. Mikrokontroler yang digunakan yaitu AT89S51, jadi hanya mikrokontroler ini yang akan diuaraikan cara kerjanya dan cara pemogramannya.

1.5 Sistematika Penulisan

Untuk mempermudah pembahasan dan pemahaman maka penulis membuat sistematika pembahasan bagaimana sebenarnya prinsip kerja dari rangkaian penerima, maka penulis menulis laporan ini sebagai berikut:

BAB 1. PENDAHULUAN

Meliputi latar belakang masalah, rumusan masalah maksud dan tujuan dari penulisan, batasan masalah, dan sistematika penulisan.


(15)

BAB 2. LANDASAN TEORI SISTEM PENERIMA

Dalam bab ini dijelaskan tentang teori pendukung yang digunakan untuk pembahasan dan cara kerja dari rangkaian.Teori pendukung itu antara lain tentang mikrokontroler AT89S51 (hardware dan software), bahasa program yang digunakan, serta cara kerja dari rangkaian penerima.

BAB 3. PERANCANGAN ALAT DAN PROGRAM

Dalam bab ini meliputi perancangan rangkaian pengendali motor stepper dan sensor air sederhana.

BAB 4. PENGUJIAN DAN ANALISA RANGKAIAN

Pada bab ini akan dibahas hasil analisa dari rangkian pengendali motor stepper.

BAB 5. KESIMPULAN DAN SARAN

Bab ini merupakan penutup yang meliputi tentang kesimpulan yang didapat setelah merakit proyek ini dan saran yang diberikan demi kesempurnaan dan pengembangan proyek ini pada masa yang akan datang.


(16)

BAB 2

LANDASAN TEORI

PINTU KANAL BANJIR OTOMATIS PADA

BENDUNGAN

2.1 Prinsip kerja pembuka/penutup pintu

Dalam membuat suatu alat ada beberapa hal yang perlu di perhatikan yaitu bagaimana cara merancang alat yang akan di buat sesuai dasar teori. Sebelum merancang suatu sistem atau rangkaian terlebih dahulu membuat blok diagramnya.

pintu Motor stepper Driver stepper motor

A T 8 9 S 5 1

Saklar batas tutup

Saklar batas buka Sensor air sederhana


(17)

Diagram blok merupakan salah satu cara yang paling sederhana untuk menjelaskan cara kerja dari suatu sistem dan memudahkan untuk melokalisir kesalahan dari suatu sistem.

Dengan diagram blok kita dapat menganalisa cara kerja rangkian dan merancang hardware yang akan dibuat secara umum. Diagram merupakan pernyataan hubungan yang berurutan dari suatu atau lebih komponen yang memiliki kesatuan kerja tersendiri, dan setiap blok komponen mempengaruhi komponen lainya.

Diagram blok memiliki arti yang khusus dengan memberikan keterangan di dalamnya. Untuk setiap blok di hubungkan dengan sutatu garis yang menunjukkan arah kerja dari setiap blok yang bersangkutan.

2.2 Sensor air sedehana

Sensor air sederhana dapat dibuat scara langsung yaitu,hanya dengan menggunakan dua utas kabel. Sifat air yang dapat menghantar arus listrik dengan baik menbuat kita dapat mendeteksi adanya air yang telah menyentu sensor.

Salah satu utas kabel diberi tegangan listrik apabila air menyentuh kedua utas kabel maka arus listrik yang telah diberikan kepada salah satu utas kabel akan mengali ke kabel yang satu lagi. Tegangan listrik yang diberikan tentunya bukan tegangan listrik yang tinggi, sebap tegangan listrik yang tinggi akan membahayakan dan membunuh ekosistem pada bendungan. Tegangan yang di berikan hanyalah tegangan rendah 5V DC.


(18)

2.3 Mikrokontroler AT89S51

Mikrokontroller sebagai suatu terobosan teknologi mikrokontroler dan microkomputer, hadir memenuhi kebutuhan pasar (market need) dan teknologi baru. Sebagai teknologi baru, yaitu teknologi semi konduktor dengan kandungan transistor yang lebih banyak namun hanya membutuhkan ruang kecil serta dapat diproduksi secara massal (dalam jumlah banyak) sehingga harga menjadi lebih murah (dibandingkan microprocessor). Sebagai kebutuhan pasar, mikrokontroler hadir untuk memenuhi selera industri dan para konsumen akan kebutuhan dan keinginan alat-alat bantu dan mainan yang lebih canggi serta dalam bidang pendidikan.

Tidak seperti sistem komputer, yang mampu menangani berbagai macam program aplikasi (misalnya pengolah kata, pengolah angka, dan lain sebagainya), Microcontroller hanya bisa digunakan untuk satu aplikasi tertentu saja. Perbedaan lainnya terletak pada perbandingan RAM dan ROM-nya. Pada sistem komputer perbandingan RAM dan ROM-nya besar, artinya program-program pengguna disimpan dalam ruang RAM yang relatif besar, sedangkan rutin-rutin antar muka perangkat keras disimpan dalam ruang ROM yang kecil. Sedangkan Pada mikrokontroler, perbandingan ROM dan RAM-nya yang besar artinya program control disimpan dalam ROM yang ukurannya relatif lebih besar, sedangkan RAM digunakan sebagai tempat penyimpanan sederhana sementara, termasuk register-register yang digunakan pada Microcontroller yang bersangkutan.

Microcontroller AT89S51 merupakan salah satu keluarga dari MCS-51 keluaran Atmel. Jenis Microcontroller ini pada prinsipnya dapat digunakan untuk mengolah data per bit ataupun data 8 bit secara bersamaan.


(19)

Pada prinsipnya program pada Microcontroller dijalankan bertahap, jadi pada program itu sendiri terdapat beberapa set instruksi dan tiap instruksi itu dijalankan secara bertahap atau berurutan.

Beberapa fasilitas yang dimiliki oleh microcontroller AT89S51 adalah sebagai berikut :

Sebuah Central Processing Unit 8 bit

Osilatc : internal dan rangkaian pewaktu RAM internal 128 byte

Flash memori 4 Kbyte

Lima buah jalur interupsi (dua buah interupsi eksternal dan tiga buah interupsi internal)

Empat buah programable port I/O yang masing-masing terdiri dari delapan buah jalur I/O

Sebuah port serial dengan kontrol serial full duplex UART

Kemampuan untuk melaksanakan operasi aritmatika dan operasi logika

Kecepatan dalam melaksanakan instruksi per siklus 1 mikrodetik pada frekuensi 12 MHz.


(20)

2.3.1 Kontruksi AT89S51

Mikrokontroller AT89S51 hanya memerlukan tambahan 3 kapasitor, 1 resistor dan 1 kristal serta catu daya 5 volt. Kapasitor 10 micro-fard dan resistor 10 kilo Ohm dipakai untuk membentuk rangkaian riset. Dengan adanya rangkaian riset ini AT89C4051 otomatis diriset begitu rangkaian menerima catu daya. Kristal dengan frekuensi maksimum 24MHz dan kapasitor 30 mikro-farad dipakai untuk melengkapi rangkaian oscilator pembentuk clock yang menentukan kecepatan kerja Microcontroller. Memori merupakan bagian yang sangat penting pada Microcontroller. Microcontroller memiliki dua macam memori yang sifatnya berbeda.

Read Only Memory (ROM) yang isinya tidak berubah meskipun IC kehilangan catu daya. Sesuai dengan keperluannya, dalam susunan MCS-51 memori penyimpanan program ini dinamakan sebagai memori program. Ada berbagai jenis ROM. Untuk Microcontroller dengan program yang sudah baku dan diproduksi secara massal, program diisikan kedalam ROM pada saat IC Microcontroller dicetak dipabrik IC. Untuk keperluan tertentu Microcontroller menggunakan ROM yang dapat diisi ulang atau Programble-Eraseable ROM yang disingkat menjadi PROM (PEROM). Dulu banyak UV-EPROM (Ultra Violet Eraseable Programble ROM) yang kemudian dinilai mahal dan ditinggalkan setelah ada flash PEROM yang harganya jauh lebih murah.

Random Access Memory (RAM) isinya akan sirna begitu IC kehilangan catu daya, dipakai untuk menyimpan data pada saat program bekerja. RAM yang dipakai untuk menyimpan data ini disebut sebagai memori data.


(21)

Jenis memori yang dipakai untuk memori program AT89S51 adalah flash PEROM, program untuk mengendalikan Microcontroller diisikan ke memori itu lewat bantuan alat yang dinamakan sebagai AT89C4051 flash PEROM Programmer. Memori data yang disediakan dalam chip AT89S51 sebesar 128 kilo byte meskipun hanya kecil saja tapi untuk banyak keperluan memori kapasitas itu sudah cukup.

AT89S51 dilengkapi UART (Universal Asyncronous Receiver/Transmiter) yang biasa dipakai untuk komunikasi data secara seri. Jalur untuk komunikasi data seri (RXD dan TXD) diletakkan berhimpitan dengan P1.0 dan P1.1. pada kaki nomor 2 dan 3, sehingga kalau sarana input/output bekerja menurut fungsi waktu. Clock penggerak untaian pencacah ini bisa berasal dari oscillator kristal atau clock yang diumpan dari luar lewat T0 dan T1/T0 dan T1 berhimpitan dengan P3.4 dan P3.5, sehingga P3.4 dan P3.5 tidak bisa dipakai untuk jalur input/output paralel kalau T0 dan T1 dipakai.

AT89S51 mempunyai enam sumber pembangkit interupsi, dua diantaranya adalah sinyal interupsi yang diumpankan ke kaki INT0 dan INT1. Kedua kaki ini berhimpitan dangan P3.2 dan P3.3 sehingga tidak bisa dipakai sebagai jalur input/output paralel kalau INT0 dan INT1 dipakai untuk menerima sinyal interupsi.

Port1 dan 2, UART, Timer 0, Timer 1 dan sarana lainnya merupakan yang secara fisik merupakan RAM khusus, yang ditempatkan di Special Function Register


(22)

2.3.2 Pin-Pin pada Microcontroller AT89S51

Deskripsi pin-pin pada Microcontroller AT89S51 :

Gambar 2.2 IC Mikrokontroler AT89S51

VCC (Pin 40) Suplai tegangan

GND (Pin 20 )

Ground


(23)

Port 0 dapat berfungsi sebagai I/O biasa, low order multiplex address/data ataupun penerima kode byte pada saat flash progamming Pada fungsi sebagai I/O biasa port ini dapat memberikan output sink ke delapan buah TTL input atau dapat diubah sebagai input dengan memberikan logika 1 pada port tersebut.

Pada fungsi sebagai low order multiplex address/data, por ini akan mempunyai internal pull up.

Pada saat flash progamming diperlukan eksternal pull up, terutama pada saat verifikasi program.

4. Port 2 (Pin 21 – pin 28)

Port 2 berfungsi sebagai I/O biasa atau high order address, pada saat mengaksememori secara 16 bit. Pada saat mengakses memori 8 bit, port ini akan mengeluarkan isi dari P2 special function register. Port ini mempunyai internal pull up dan berfungsi sebagai input dengan memberikan logika 1. Sebagai output, port ini dapat memberikan output sink keempat buah input TTL.

5. Port 3 (Pin 10 – pin 17)

Port 3 merupakan 8 bit port I/O dua arah dengan internal pullup. Port 3 juga mempunyai fungsi pin masing-masing, yaitu sebagai berikut :

Tabel 2.1 Fungsi Masing-masing Pin pada Port 3 Mikrokontroler

Nama Pin Fungsi Alternatif

P3.0 (pin 10) RXD Untuk menerima data port serial P3.1 (pin 11) TXD Untuk mengirim data port serial


(24)

P3.3 (pin 13) INT1 Interupsi Eksternal waktu pencacah 1 P3.4 (pin 14) T0 Input Eksternal waktu pencacah 0 P3.5 (pin 15) T1 Input Eksternal waktu pencacah 1 P3.6 (pin 16) WR Jalur menulis memori data eksternal P3.7 (pin 17 ) RD Jalur membaca memori data eksternal

6. RST (pin 9)

Reset akan aktif dengan memberikan input high selama 2 cycle. 7. ALE/PROG (pin 30)

Address latch Enable adalah pulsa output untuk me-latch byte bawah dari alamat selama mengakses memori eksternal. Selain itu, sebagai pulsa input progam (PROG) selama memprogam Flash.

8. SEN (pin 29)

Progam store enable digunakan untuk mengakses memori progam eksternal 9. EA (pin 31)

Pada kondisi low, pin ini akan berfungsi sebagai EA yaitu mikrokontroler akan menjalankan progam yang ada pada memori eksternal setelah sistem direset. Jika kondisi high, pin ini akan berfungsi untuk menjalankan progam yang ada pada memori internal. Pada saat flash progamming, pin ini akan mendapat tegangan 12 Volt.

10. XTAL1 (pin 19)

Input untuk clock internal 11. XTAL2 (pin 18)


(25)

2.4 Driver Motor stepper

Motor stepper yang digunakan pada contoh ini bertipe hibrid unipolar, memiliki empat fasa dan panjang langkah sebesar 1,80 per langkahi. Motor diharapkan dapat berputar dalam dua arah dan memiliki dua kecepatan. Karena itu diperlukan pengendali motor stepper yang memiliki empat keluaran pulsa dengan kemampuan dua arah perputaran dan dua macam frekuensi pulsa guna mengatur kecepatan motor.

.

Gambar 2.3 (a) bentuk pulsa keluaran dari driver motor stepper (b) penerapan pulsa driver pada motor stepper dan arah putaran yang bersesuaian

Arah putaran motor dapat diatur dengan mengatur kondisi logika masukan pada pena 13 dari IC 74LS86. Jika diterapkan logika 0, maka motor akan berputar berlawanan dengan arah jarum jam (counter clock wise) sedangkan jika diterapkan logika 1, maka motor akan berputar dengan arah sesuai dengan ajah jarum jam (clockwise).

Kecepatan motor ditentukan oleh frekuensi masukan clock yang berbentuk gelombang persegi empat. Pulsa clock ini dibangkitkan oleh rangkaian osilator pembangkit pulsa berbasis IC timer 555.


(26)

Gambar 2.4 bentuk gelombang keluaran rangkaian pembangkit pulsa

Pulsa di atas memiliki frekuensi dan periode yang konstan. Periode dari satu gelombang penuh adalah Tt (Time total). Th (Time high) adalah periode sinyal positif atau tinggi sedangkan Tl (Time low) adalah periode sinyal nol atau rendah. Periode gelombang keluaran tersebut ditentukan oleh VR1, VR2, R1, R2 dan C1. Kapasitor C2 hanya berfungsi sebagai penstabil rangkaian. Untuk menghitung Periode keluaran, dapat dilakukan dengan rumus berikut ini:

Th = 0,693 × C1 × (VR1 + R1 + R2) Tl = 0,693 × C1 × R2

Tt = Th + T Jadi periode gelombang (Tt) adalah:

f =

Tt

1

dimana f adalah frekunsi (Hz) Tt adalah time total ( sekon )

Karena motor yang digunakan terdiri atas 4 phase dan memiliki kecepatan sudut 1,80 per langkah, maka:


(27)

dimana : v adalah kecepatan motor ( rpm ) f adalah frekuensi (Hz )

digunakan transistor bipolar (BJT) tipe TIP31 yang disusun sebagai open collector switch. Transistor TIP31 adalah tergolong transistor daya menengah yang mampu mengalirkan arus puncak hingga 5 A. Transistor-transistor ini harus dilengkapi oleh lempengan pendingin dari aluminium untuk mengurangi panas yang terjadi akibat besarnya arus yang mengalir. L1 - L4 adalah lilitan (wound) dalam motor stepper. Dioda D1 - D4 berfungsi sebagai pelindung rangkaian dari tegangan tinggi (back EMF) yang mungkin timbul dari lilitan motor setepper.

Keluaran dari rangkain pengendali motor stepper (phase1 - phase4) dihubungkan ke masukan dari empat transistor tersebut melalui R1 - R2. Jika masukan bernilai sinyal rendah, maka transistor akan berada pada keadaan cut-off sehingga arus dalam lilitan motor stepper tidak mengalir. Jika masukan bernilai tinggi (diatas tegangan ambang transistor), maka transistor akan on sehingga tegangan antara kolektor dengan emitor (VCE ) turun dan arus dapat mengalir ke tanah (ground). Dengan begitu motor stepper berputar. Jika sinyal keluaran dari pengendali motor stepper berbentuk seperti L4 akan dialiri arus secara berurutan. Dengan begitu rotor dari motor stepper akan berputar sesuai dengan arah urutan.


(28)

2.5 Motor Stepper

Motor stepper adalah perangkat elektromekanis yang bekerja dengan mengubah pulsa

elektronis menjadi gerakan mekanis diskrit. Motor stepper bergerak berdasarkan urutan pulsa yang diberikan kepada motor. Karena itu, untuk menggerakkan motor stepper diperlukan pengendali motor stepper yang membangkitkan pulsa-pulsa periodik. Sudut rotasi motor proporsional dengan pulsa masukan sehingga lebih mudah diatur

Stepper motor adalah salah satu tipe motor yang sangat populer digunakan sebagai peralatan penggerak/pemutar (movement unit/actuator) dalam sistem kontrol otomatis di industri, instrumentasi, bahan printer yang sering kita pakai sehari-hari

Pada dasarnya, prinsip kerja stepper motor ini sama DC Motor, yaitu pembangkitan medan magnit untuk memperoleh gaya tarik ataupun gaya lawan dengan menggunakan catu tegangan DC pada lilitan/kumparannya. Perbedaanya terletak pada gaya yang digunakan. Bila DC Motor menggunakan gaya lawan untuk ”melawan” atau mendorong ”fisik kutub magnet” yang dihasilkan maka stepper motor justru menggunakan gaya tarik untuk menarik ”fisik kutub magnet yang berlawanan” sedekat mungkin ke posisi kutub magnet dihasilkan oleh kumparan.Oleh karena itu, pada DC Motor, putaranya relatif tidak terkendal, jarak tolakannya sangat relatif, tergantung pada besar medan magnet yang dihasilkan. Sebaliknya pada stepper motor, gerakan motor terkendali karena begitu kutub yang berlawanan tadi sudah tarik-menarik dalam posisi yang paling dekat, gerakan akan berhenti dan direm.

Bila kumparan mendapat tegangan dengan analogi mendapat logika 1, maka akan dibangkitkan kutub magnet yang berlawanan dengan kutub magnet tetap pada


(29)

rotor. Dengan demikian, posisi kutub magnet rotor akan ditarik mendekati lilitan yang menghasilkan kutub magnet tetap pada rotor itu akan berpinda posisi menuju kutub magnet lilitan yang dihasilkan sekarang. Berarti, telah terjadi gerakan 1 step. Bila langkah ini diulang terus-menerus, dengan memberikan tegangan secara bergantian ke lilitan-lilitan yang bersebelahan, rotor akan berputar.

Logika perputaran rotor tersebut dapat dianalogikan secara langsung dengan data 0 atau 1 yang diberikan secara serentak terhadap semua lilitan stator moto. Hal ini sangat memudahkan bagi sistem designer dalammencibtakan putaran-putaran stepper motor secara bebas dengan hanya mempermainkan bit-bit pada data yang dikirimkan ke rangkaian interface stepper motor tersebut.

Untuk stepper motor 4 fase, pada prinsipnya ada dua macam cara kerja, yaitu full stef dan Half stef . Penjabatan formasi logika dalam tabel ini adalah untuk mewakili putaran 360° relatif terhadap fase dari motor.

Stepper Motor yang dijumpai di pasaran sebagian besar melipatgandakan jumlah kutub magnit kumparannya dengan memperbanyak kumparan stator sejenis melingkar berurutan dalam konfigurasi penuh 360° rill terhadap poros rotor ( dengan jumlah fase tetap). Hal ini dilakukan untuk memperoleh efek rill ” putaran 1 stef” yang lebih presisi, misalnya 3,6°/stef atau 1,8°/stef.

Untuk memperoleh efek ” cekraman ” yang lebih kuat, modus data yang diberikan pada mode full wave dapa dimanipulasi dengan memberikan double aktive bits pada setiap formasi. Dengan cara ini, torsi yang dihasilkan akan lebih besar. Namun demikian, penggunaan arus akan berlipat dua karena pada saat yang


(30)

bersamaan dua lilitan mendapatkan arus kemudi. Dalam aplikasinya, sumber daya yang tersedia perlu diperhatikan.

Tabel 2.2 Formasi tegangan/logika pada Stepper Motor

Stef ke full stef Half stef

1 1 0 0 0 1 0 0 0

2 0 1 0 0 1 1 0 0

3 0 0 1 0 0 1 0 0

4 0 0 0 1 0 1 1 0

5

Berulang ke stef 1

0 0 1 0

6 0 0 1 1

7 0 0 0 1

8 1 0 0 1

Berulang ke stef 1

Tabel 2.3 Formasi double active bit untuk mode putaran full step

Stef ke Full step

1 1 1 0 0

2 0 1 1 0

3 0 0 1 1

4 1 0 0 1

Pada full step, suatu titik pada sebuah kutub magnet dirotor akan kembali mendapat tarikan medan magnet stator pada lilitan yang sama setelah step 4. Berikutnya, dapat diberikan lagi mulai dari stef satu 1. Untuk Half step semua kutub magnet pada rotor akan kembali mendapatkan tarikan dari medan magnet lilitan yang sama setelah step 8. Berikutnya mulai step 1.

Melihat bahwa pergerakan stepper motor adalah berdasarkan perubahan logika pada input lilitan-lilitanya maka menjadi mudah bagi programer untuk mengubah arah gerakan dan kedudukan rotor pada posisi yang akurat. Ini adalah salah satu keuntungan dari penggunaan stepper motor. Untuk membuat gerakan yang lebih


(31)

presisi, biasanya jumah batang magnet di rotor di perbanyak dan lilitan dibuat berpasangan sesuai posisi kutub magnet rotor. Cara lain adalah menggunakan sistem gear pada poros rotor tanpa mengubah karakteristik stepper motornya.

2.6 Perangkat lunak

2.6.1 Bahasa Assembly MCS-51

Bahasa yang digunakan untuk memprogram IC mikrokontroler AT89C4051 adalah bahasa assembly untuk MCS-51. angka 51 merupakan jumlah instruksi pada bahasa ini hanya ada 51 instruksi, antara lain yaitu :

1. Instruksi MOV

Perintah ini merupakan perintah untuk mengisikan nilai ke alamat atau register tertentu. Pengisian nilai dapat secara langsung atau tidak langsung.

Contoh pengisian nilai secara langsung

MOV R0,#20h

Perintah di atas berarti : isikan nilai 20 Heksadesimal ke register 0 (R0). Tanda # sebelum bilangan menunjukkan bahwa bilangan tersebut adalah nilai. Contoh pengisian nilai secara tidak langsung

MOV 20h,#80h ...

... MOV R0,20h

Perintah di atas berarti : isikan nilai yang terdapat pada alamat 20 Heksadesimal ke register 0 (R0).


(32)

Tanpa tanda # sebelum bilangan menunjukkan bahwa bilangan tersebut adalah alamat.

2. Instruksi DJNZ

Decreament Jump If Not Zero (DJNZ) ini merupakan perintah untuk mengurangi nilai register tertentu dengan 1 dan lompat jika hasil pengurangannya belum nol. Contoh ,

MOV R0,#80h Loop: ...

...

DJNZ R0,Loop ...

R0 -1, jika belum 0 lompat ke loop, jika R0 = 0 maka program akan meneruskan ke perintah pada baris berikutnya.

3. Instruksi ACALL

Instruksi ini berfungsi untuk memanggil suatu rutin tertentu. Contoh :

...

ACALL TUNDA ...

TUNDA:

...

4. Instruksi RET

Instruksi RETURN (RET) ini merupakan perintah untuk kembali ke rutin pemanggil setelah instruksi ACALL dilaksanakan. Contoh,


(33)

ACALL TUNDA ...

TUNDA:

... RET

5. Instruksi JMP (Jump)

Instruksi ini merupakan perintah untuk lompat ke alamat tertentu. Contoh,

Loop:

... ... JMP Loop

6. Instruksi JB (Jump if bit)

Instruksi ini merupakan perintah untuk lompat ke alamat tertentu, jika pin yang dimaksud berlogika high (1). Contoh,

Loop:

JB P1.0,Loop ...

7. Instruksi JNB (Jump if Not bit)

Instruksi ini merupakan perintah untuk lompat ke alamat tertentu, jika pin yang dimaksud berlogika Low (0). Contoh,

Loop:

JNB P1.0,Loop ...


(34)

8. Instruksi CJNZ (Compare Jump If Not Equal)

Instruksi ini berfungsi untuk membandingkan nilai dalam suatu register dengan suatu nilai tertentu. Contoh,

Loop:

...

CJNE R0,#20h,Loop ...

Jika nilai R0 tidak sama dengan 20h, maka program akan lompat ke rutin Loop. Jika nilai R0 sama dengan 20h,maka program akan melanjutkan instruksi selanjutnya.

9. Instruksi DEC (Decreament)

Instruksi ini merupakan perintah untuk mengurangi nilai register yang dimaksud dengan 1. Contoh,

MOV R0,#20h R0 = 20h

...

DEC R0 R0 = R0 – 1

...

10.Instruksi INC (Increament)

Instruksi ini merupakan perintah untuk menambahkan nilai register yang dimaksud dengan 1. Contoh,

MOV R0,#20h R0 = 20h

...

INC R0 R0 = R0 + 1


(35)

2.6.2Software 8051 Editor, Assembler, Simulator

Instruksi-instruksi yang merupakan bahasa assembly tersebut dituliskan pada sebuah editor, yaitu 8051 Editor, Assembler, Simulator. Tampilannya seperti di bawah ini.

Gambar 2.5 Software 8051 Editor, Assembler, Simulator

Setelah program selesai ditulis, kemudian di-save dan kemudian di-Assemble (di-compile). Pada saat di-assemble akan tampil pesan peringatan dan kesalahan. Jika masih ada kesalahan atau peringatan, itu berarti ada kesalahan dalam penulisan perintah atau ada nama subrutin yang sama, sehingga harus diperbaiki terlebih dahulu sampai tidak ada pesan kesalahan lagi.

Software 8051IDE ini berfungsi untuk merubah program yang kita tuliskan ke dalam bilangan heksadesimal, proses perubahan ini terjadi pada saat peng-compile-an. Bilangan heksadesimal inilah yang akan dikirimkan ke mikrokontroller.


(36)

2.6.3 Software Downloader

Untuk mengirimkan bilangan-bilangan heksadesimal ini ke mikrokontroller digunakan software ISP- Flash Programmer 3.0a yang dapat didownload dari internet.

Tampilannya seperti gambar di bawah ini

Gambar 2.6 ISP- Flash Programmer

Cara menggunakannya adalah dengan meng-klik Open File untuk mengambil file heksadesimal dari hasil kompilasi 8051IDE, kemudian klik Write untuk mengisikan hasil kompilasi tersebut ke mikrokontroller.


(37)

BAB 3

RANCANG BANGUN DAN PROGRAM

3.1 Diagram Blok Rangkaian

pintu Motor stepper Driver stepper motor

A T 8 9 S 5 1

Saklar batas tutup

Saklar batas buka Sensor air

Gambar 3.1 Diagram Blok Sistem pembuka/penutup pintu Fungsi tiap blok:

Sensor air

merupakan bagian yang berfungi mendeteksi level ketinggian air pada bendungan atau waduk, dimana prinsip kerjanya sama seperti saklar, saat air menyentuh sensor maka sensor akan aktif.


(38)

Mikrokontroler AT89S51

merupakan pusat proses untuk mengendalikan semua perangkat pada pintu. Pada blok ini mikrokontroler telah diprogram untuk dapat membaca data dari penerima infra merah kemudian mengolah semua data tersebut dan selanjutnya mengambil keputusan perangkat mana saja yang harus dikendalikan.

Driver Stepper Motor

berfungsi untuk mengendalikan arah putaran motor stepper, sehingga pintu dapat bergeser dengan baik. Pada blok ini digunakan beberapa transistor untuk men-drive motor agar dapat berputar dan mengubah polaritas tegangan motor sehingga dapa mengubah arat putaran motor.

Motor Stepper

Motor ini berfungsi sebagai pengeser pintu,yaitu untuk membuka dan menutup pintu.

Saklar Batas buka

Saklar ini merupakan batas terbukanya pintu, saklar ini dikendalikan oleh mikrokontroler AT89S51.

Saklar batas tutup

Saklar ini merupakan batas tertutupnya pintu, saklar ini dikendalikan oleh mikrokontroler AT89S51.


(39)

Vreg LM7805CT

IN OUT TIP32C

100ohm

100uF

330ohm 220V 50Hz 0Deg

TS_PQ4_12

2200uF 1uF 1N5392GP

1N5392GP

12 Volt

5 Volt

3.2 Perancangan Power Supplay (PSA)

Rangkaian ini berfungsi untuk mensupplay tegangan ke seluruh rangkaian yang ada. Rangkaian PSA yang dibuat terdiri dari dua keluaran, yaitu 5 volt dan 12 volt, keluaran 5 volt digunakan untuk mensupplay tegangan ke seluruh rangkaian, sedangkan keluaran 12 volt digunakan untuk mensuplay tegangan ke motor stepper. Rangkaian power supplay ditunjukkan pada gambar 3.1 berikut ini :

Gambar 3.2 Rangkaian Power Supplay (PSA)

Trafo CT merupakan trafo stepdown yang berfungsi untuk menurunkan tegangan dari 220 volt AC menjadi 12 volt AC. Kemudian 12 volt AC akan disearahkan dengan menggunakan dua buah dioda, selanjutnya 12 volt DC akan diratakan oleh kapasitor 2200 μF. Regulator tegangan 5 volt (LM7805CT) digunakan agar keluaran yang dihasilkan tetap 5 volt walaupun terjadi perubahan pada tegangan masukannya. LED hanya sebagai indikator apabila PSA dinyalakan. Transistor PNP TIP 32 disini berfungsi untuk mensupplay arus apabila terjadi kekurangan arus pada rangkaian, sehingga regulator tegangan (LM7805CT) tidak akan panas ketika


(40)

5V VCC 5V VCC 10uF 2 1 30pF 30pF

XTAL 12 MHz

AT89S51 P0.3 (AD3) P0.0 (AD0) P0.1 (AD1) P0.2 (AD2) Vcc P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P0.4 (AD4) P0.5 (AD5) P0.6 (AD6) P0.7 (AD7) RST EA/VPP P3.0 (RXD) P3.1 (TXD) P3.2 (INT0) P3.3 (INT1) P3.4 (T0) ALE/PROG PSEN P2.7 (A15) P2.6 (A14) P2.5 (A13) P2.4 (A12) P2.3 (A11) P2.2 (A10) P2.1 (A9) P3.6 (WR) P3.5 (T1) P3.7 (RD) XTAL2 XTAL1

GND P2.0 (A8)

1 2 3 4 5 6 7 8 40 39 38 37 36 35 34 33 9 10 11 12 13 14 15 32 31 30 29 28 27 26 16 17 18 19 20 25 24 23 22 21

rangkaian butuh arus yang cukup besar. Tegangan 12 volt DC langsung diambil dari keluaran 2 buah dioda penyearah.

3.3. Perancangan Rangkaian Mikrokontroler AT89S51

Rangkaian ini berfungsi sebagai pusat kendali dari seluruh system yang ada. Kompoen utama dari rangkaian ini adalah IC mikrokontroler AT89S51. Pada IC inilah semua program diisikan, sehingga rangkaian dapat berjalan sesuai dengan yang dikehendaki. Rangkaian mikrokontroler ditunjukkan pada gambar berikut ini:

Gambar 3.3 Rangkaian mikrokontroller AT89S51

Mikrokontroler ini memiliki 32 port I/O, yaitu port 0, port 1, port 2 dan port 3. Pin 32 sampai 39 adalah Port 0 yang merupakan saluran/bus I/O 8 bit. Pin 1 sampai 8 adalah port 1. Pin 21 sampai 28 adalah port 2. Dan Pin 10 sampai 17 adalah port 3 Pin 40 dihubungkan ke sumber tegangan 5 volt. Dan pin 20 dihubungkan ke ground.


(41)

Rangkaian mikrokontroler ini menggunakan komponen kristal 12 MHz sebagai sumber clocknya. Nilai kristal ini akan mempengaruhi kecepatan mikrokontroler dalam mengeksekusi suatu perintah tertentu.

Pada pin 9 dihubungkan dengan sebuah kapasitor 10 uF yang dihubungkan ke positip dan sebuah resistor 10 Kohm yang dihubungkan ke ground. Kedua komponen ini berfungsi agar program pada mikrokontroler dijalankan beberapa saat setelah power aktip. Lamanya waktu antara aktipnya power pada IC mikrokontroler dan aktipnya program adalah sebesar perkalian antara kapasitor dan resistor tersebut. Jika dihitung maka lama waktunya adalah :

10 10 1 det

t=R x C= Kx

µ

F = m ik


(42)

3.4 Rangkaian sensor air sederhana

Sensor air sederhana dapat dibuat scara langsung yaitu,hanya dengan menggunakan dua utas kabel. Sifat air yang dapat menghantar arus listrik dengan baik menbuat kita dapat mendeteksi adanya air yang telah menyentu sensor.

Salah satu utas kabel diberi tegangan listrik apabila air menyentuh kedua utas kabel maka arus listrik yang telah diberikan kepada salah satu utas kabel akan mengali ke kabel yang satu lagi. Tegangan listrik yang diberikan tentunya bukan tegangan listrik yang tinggi, sebap tegangan listrik yang tinggi akan membahayakan dan membunuh ekosistem pada bendungan. Tegangan yang di berikan hanyalah tegangan rendah 5V DC.

Gambar 3.4 Rangkaian sensor air sederhana

Kabel A Kabel B Kabel A Kabel B


(43)

3.5 Perancangan Rangkaian Driver Motor Stepper

Untuk mengendalikan perputaran motor stepper dibutuhkan sebuah driver. Driver ini berfungsi untuk memutar motor stepper searah dengan jarum jam atau berlawanan arah dengan jarum jam. Rangkaian driver motor stepper ini terdiri dari empat masukan dan empat keluaran, dimana masing-masing masukan dihubungkan dengan mikrokontroler AT89S51 dan keluarannya dihubungkan ke motor stepper. Rangkaian ini akan bekerja memutar motor stepper jika diberi sinyal high (1) secara bergantian pada ke-4 masukannya. Rangkaiannya seperti gambar di bawah :

Gambar 3.5 Rangkaian Driver Motor Stepper

Rangkaian ini terdairi dari 4 buah transistor NPN TIP 122. Masing-masing transistor dihubungkan ke P0.0, P0.1, P0.2 dan P0.3 pada mikrokontroler AT89S51. Basis dari masing-masing transistor diberi tahanan 10 Kohm untuk membatasi arus yang masuk ke transistor. Kolektor dihubungkan dengan kumparan yang terdapat pada

Tip 122 Tip 122

VCC 12V

MOTOR AT89S51 (P0.0)

AT89S51 (P0.2)

Stepper

VCC 12V

Tip 122 Tip 122

1.0k

1.0kAT89S51 (P0.1)

1.0k

1.0k


(44)

motor stepper, kemudian kumparan dihubungkan dengan sumber tegangan 12 volt.dan emitor dihubungkan ke ground.

Jika P0.0 diberi logika high (1), yang berarti basis pada transistor TIP 122 mendapat tegangan 5 volt, maka transistor akan aktip. Hal ini akan menyebabkan terhubungnya kolektor dengan emitor, sehingga kolektor mendapatkan tegangan 0 volt dari ground. Hal ini menyebabkan arus akan mengalir dari sumber tegangan 12 volt ke kumparan, sehingga kumparan akan menghasilkan medan magnet. Medan magnet ini akan menarik logam yang ada pada motor, sehingga motor mengarah pada kumparan yang memiliki medan magnet tesebut.

Jika kemudian P0.0 di beri logika low (0), yang berarti transistor tidak aktip dan tidak ada arus yang mengair pada kumparan, sehingga tidak ada medan magnet pada kumparan. Dan disisi lain P0.1 diberi logika high (1), sehingga kumparan yang terhubung ke P0.1 akan menghasilkan medan magnet. Maka motor akan beralih kearah kumparan yang terhubung ke P0.1 tersebut. Seterusnya jika logika high diberikan secara bergantian pada input dari driver motor stepper, maka motor stepper akan berputar sesuai dengan arah logika high (1) yang diberikan pada inputnya.

3.6 Diagram Alir Program

Program diawali dengan start, kemudian program akan menunggu atau mengecek sinyal yang diinputkan oleh tombol. Jika tidak ada sinyal maka program akan terus menunggu sinyal input. Jika ada sinyal maka program membandingkan apakah sinyal tersebut adalah sinyal untuk membuka atau menutup pintu. Jika yang diterima adalah


(45)

sinyal buka pintu maka program akan memerintahkan motor untuk membuka pintu. Hal ini dapat dilihat lebih jelas pada gambar di bawah ini:

start

Sinyal buka? Sinyal tutup?

Ada sinyal?

Buka pintu Tutup pintu

tidak tidak

tidak ya

ya ya


(46)

Vreg LM7805CT

IN OUT

TIP32C

100ohm

100uF

330ohm 220V 50Hz 0Deg

TS_PQ4_12

2200uF 1uF 1N5392GP

1N5392GP

12 Volt

5 Volt BAB 4

ANALISA RANGKAIAN DAN PROGRAM

4.1 Pengujian Rangkaian Power Supplay (PSA)

Rangkaian PSA yang dibuat terdiri dari dua keluaran, yaitu 5 volt dan 12 volt, keluaran 5 volt digunakan untuk menghidupkan seluruh rangkaian, sedangkan keluaran 12 volt digunakan untuk menghidupkan motor stepper. Rangkaian tampak seperti gambar di bawah ini,

Gambar 4.1 Rangkaian Power Supplay (PSA)

Trafo CT merupakan trafo stepdown yang berfungsi untuk menurunkan tegangan dari 220 volt AC menjadi 12 volt AC. Kemudian 12 volt AC akan disearahkan dengan menggunakan dua buah dioda, selanjutnya 12 volt DC akan diratakan oleh kapasitor 2200 μF. Regulator tegangan 5 volt (LM7805CT) digunak


(47)

P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RST P3.0/RX0 P3.1/TX0 P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD XTAL2 XTAL1 GND P2.7/A16 P2.6/A14 P2.5/A13 P2.4/A12 P2.3/A11 P2.2/A10 P2.1/A9 P2.0/A8 PSEN ALE/PROG EA/VPP P0.7/AD7 P0.6/AD6 P0.5/AD5 P0.4/AD4 P0.3/AD3 P0.2/AD2 P0.1/AD1 P0.0/AD0 VCC AT89S51 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 2 1

Xtal 12 MHz

10kohm 10uF 4.7kohm 5V VCC 33pF 33pF

agar keluaran yang dihasilkan tetap 5 volt walaupun terjadi perubahan pada tegangan masukannya. LED hanya sebagai indikator apabila PSA dinyalakan. Transistor PNP TIP 32 disini berfungsi untuk mensupplay arus apabila terjadi kekurangan arus pada rangkaian, sehingga regulator tegangan (LM7805CT) tidak akan panas ketika rangkaian butuh arus yang cukup besar. Tegangan 12 volt DC langsung diambil dari keluaran 2 buah dioda. Tegangan ini digunakan untuk mensupplay tegangan ke yang butuh tegangan 12 volt.

4.2 Pengujian Rangkaian minimum AT89S51

Rangkaian minimum mikrokontroller AT89S51 ditunjukkan pada gambar 4.2 berikut ini :


(48)

Pengujian rangkaian mikrokontroler dilakukan dengan menghubungkan rangkaian ini dengan sebuah transistor A733 yang dihubungkan dengan sebuah LED indikator, dimana transistor disini berfungsi sebagai saklar untuk mengendalikan hidup/mati LED. Dengan demikian LED akan menyala jika transistor aktip dan sebaliknya LED akan mati jika transistor tidak aktip. Tipe transistor yang digunakan adalah PNP A733, dimana transistor ini akan aktip (saturasi) jika pada basis diberi tegangan 0 volt (logika low) dan transistor ini akan tidak aktip jika pada basis diberi tegangan 5 volt (logika high). Basis transistor ini dihubungkan ke pin I/O mikrokontroler yaitu pada kaki 28 (P2.7). Langkah selanjutnya adalah mengisikan program sederhana ke mikrokontroler AT89S51. Programnya adalah sebagai berikut : Loop:

Cpl P2.7 Acall tunda sjmp loop tunda:

mov r7,#255 tnd:

mov r6,#255 djnz r6,$ djnz r7,tnd ret

Program di atas akan mengubah logika yang ada pada P2.7 selama selang waktu tunda. Jika logika pada P2.7 high maka akan diubah menjadi low, demikian jiga sebaliknya jika logika pada P2.7 low maka akan diubah ke high, demikian seterusnya.

Logika low akan mengaktipkan transistor sehingga LED akan menyala dan logika high akan menonaktipkan transistor, sehingga LED padam. Dengan demikian program ini akan membuat LED berkedip terus-menerus. Jika LED telah berkedip


(49)

terus menerus sesuai dengan program yang diinginkan, maka rangkaian mikrokontroler telah berfungsi dengan baik.

4.3Pengujian Rangkaian Driver Motor Stepper

Setelah mendapatkan data startbit, maka mikrokontroler akan mengambil 3 data setelah data startbit tersebut, yang merupakan data dari nilai yang dikirimkan oleh pemancar.

Rangkaian driver motor stepper ini terdiri dari empat masukan dan empat keluaran, dimana masing-masing masukan dihubungkan dengan mikrokontroler AT89S51 dan keluarannya dihubungkan ke motor stepper. Rangkaian ini akan bekerja memutar motor stepper jika diberi sinyal high (1) secara bergantian pada ke-4 masukannya. Rangkaiannya seperti gambar di bawah :

Gambar Rangkaian Driver Motor Stepper


(50)

Rangkaian ini terdairi dari 4 buah transistor NPN TIP 122. Masing-masing transistor dihubungkan ke P0.0, P0.1, P0.2 dan P0.3 pada mikrokontroler AT89S51. Basis dari masing-masing transistor diberi tahanan 10 Kohm untuk membatasi arus yang masuk ke transistor. Kolektor dihubungkan dengan kumparan yang terdapat pada motor stepper, kemudian kumparan dihubungkan dengan sumber tegangan 12 volt.dan emitor dihubungkan ke ground.

Jika P0.0 diberi logika high (1), yang berarti basis pada transistor TIP 122 mendapat tegangan 5 volt, maka transistor akan aktip. Hal ini akan menyebabkan terhubungnya kolektor dengan emitor, sehingga kolektor mendapatkan tegangan 0 volt dari ground. Hal ini menyebabkan arus akan mengalir dari sumber tegangan 12 volt ke kumparan, sehingga kumparan akan menghasilkan medan magnet. Medan magnet ini akan menarik logam yang ada pada motor, sehingga motor mengarah pada kumparan yang memiliki medan magnet tesebut.

Jika kemudian P0.0 di beri logika low (0), yang berarti transistor tidak aktip dan tidak ada arus yang mengair pada kumparan, sehingga tidak ada medan magnet pada kumparan. Dan disisi lain P0.1 diberi logika high (1), sehingga kumparan yang terhubung ke P0.1 akan menghasilkan medan magnet. Maka motor akan beralih kearah kumparan yang terhubung ke P0.1 tersebut. Seterusnya jika logika high diberikan secara bergantian pada input dari driver motor stepper, maka motor stepper akan berputar sesuai dengan arah logika high (1) yang diberikan pada inputnya.

Untuk memutar dengan arah yang berlawanan dengan arah yang sebelumnya, maka logika high (1) pada input driver motor stepper harus diberikan secara bergantian dengan arah yang berlawanan dengan sebelumnya.


(51)

Program yang diberikan pada driver motor stepper untuk memutar motor stepper adalah sebagai berikut :

mov a,#11h putar:

mov P0,a acall tunda Rl a

jmp putar

Program diawali dengan memberikan nilai 11h pada pada accumulator (a), kemudian program akan memasuki rutin buka pintu. Nilai a diisikan ke port 0, sehingga sekarang nilai port 0 adalah 11h. ini berarti P0.0 dan P0.4 mendapatkan logika high sedangkan yang lainnya mendapatkan logika low, seperti table di bawah ini,

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

P0 0 0 0 1 0 0 0 1

Program dilanjutkan dengan memanggil rutin tunda. Lamanya tunda akan mempengaruhi kecepatan perputaran motor. Semakin lama maka tunda, maka perputaran motor akan semakin lambat. Perintah berikutnya adalah Rl a,perintah ini akan memutar nilai yang ada pada accumulator (a), seperti tampak pada table di bawah ini,

a 0 0 0 1 0 0 0 1

Rl

Nilai pada accumulator (a) yang awalnya 11h, setelah mendapat perintah Rl a, maka nilai pada accumulator (a) akan merubah menjadi 22h. Kemudian program akan melihat apakah kondisi sensor buka pintu dalam keadaan high (1) atau low (0). Jika


(52)

high (1). Nilai yang ada pada accumulator (a), akan kembali diisikan ke port 0, maka nilai di port 0 akan berubah menjadi 22h, ini berarti P0.1 dan P0.5 mendapatkan logika high sedangkan yang lainnya mendapatkan logika low.

Sebelumnya telah dibahas bahwa P0.0, P0.1, P0.2, dan P0.3 dihubungkan ke masukan driver motor stepper, dengan program di atas maka P0.0, P0.1, P0.2, dan P0.3 akan mendapatkan nilai high (1) secara bergantian. Hal ini menyebabkan motor stepper akan berputar membuka pintu.Hal yang sama juga berlaku ketika motor berputar kaearah sebaliknya, perbedaannya hanya pada perintah rotate. Jika pada perintah berlawanan arah jarum jam digunakan rotate left ( Rl ), maka pada perintah searah jarum jam digunakan perintah rotate right ( Rr). Perputaran perintah Rr diperlihatkan pada table berikut,

a 1 0 0 0 1 0 0 0

R r

Untuk lebih jelasnya dapat dilihat pada tabel data motor stepper dibawah ini:

Tabel 4.1 Data Motor Stepper Untuk membuka dan Menutup

DATA MOTOR

Buka (rr)

Tutup (rl)

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

0 0 0 0 0 0 0 0 0 0

1 0 0 0 0 1 0 0 0 1

1 0 0 0 1 0 0 0

0 1 0 0 0 1 0 0

0 0 1 0 0 0 1 0

0 0 0 1 0 0 0 1

0 1 0 0 0 1 0 0 0 1

0 0 1 0 0 0 1 0

0 1 0 0 0 1 0 0


(53)

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Dari hasil perancangan alat hingga pengujian dan pembahasan sistem maka penulis dapat menarik kesimpulan, antara lain:

1. Sistem pengendali pintu kanal banjir pada bendungan ini menggunakan Mikrokontroler AT89S51 sebagai tempat pemproses data dari sistem yang berfungsi untuk menerima sinyal dari sensor air serta menggerakkan motor untuk membuka dan menutup pintu.

2. Motor stepper merupakan motor dengan gerak bertahap, sehingga jumlah perputarannya dan sudut perputara dari motor stepper tersebut dapat di kendalikan.

3. Motor akan bergerak apabila tegangan yang diberikan berupa pulsa pulsa tegangan pada tiap kutubnya secara bergantian. Hal ini sangat berbeda dengan jenis motor yang lain yang cukup memberikan tegangan supplay saja untuk memutar motor tersebut.


(54)

5.2. Saran

Setelah melakukan penulisan ini diperoleh beberapa hal yang dapat dijadikan saran untuk dapat dilakukan perancangan lebih lanjut, yaitu

Sistem penerima pada pintu jarak jauh ini menggunakan mikrokontroler AT89S51, bagaimana kalau dikembangkan dengan menggunakan mikrokontroler jenis lain, misalnya ATmega 8535

Alat pembuka pintu kanal banjir otomatis ini masih berupa prototipe, untuk itu hendaknya lebih dikembangkan lagi ke alat yang sebenarnya, supaya dapat langsung diaplikasikan.


(55)

DAFTAR PUSTAKA

Agfianto. 2004. Belajar Mikrokontroler AT89C51/52/55 Teori dan Aplikasi. Edisi Kedua. Yogyakarta: Gava Media

Andi. 2003. Panduan Praktis Teknik Antarmuka dan Pemrograman Mikrokontroler

AT89C51. Jakarta: PT Elex Media Komputindo.

Malvino, Albert paul. 2003. Prinsip-prinsip Elektronika. Jilid 1 & 2. Edisi Pertama. Jakarta: Salemba Teknika.

Petruzella, Frank D. 2001. Elektronik Industri. Terjemahan sumanto. Edisi kedua. Yogyakarta: Andi

Pitowarno, Endra. 2005. Mikroprosesor & Interfacing. Yogyakarta: Andi WWW. Elektronika – elektronika : blogspot. Com


(1)

Rangkaian ini terdairi dari 4 buah transistor NPN TIP 122. Masing-masing transistor dihubungkan ke P0.0, P0.1, P0.2 dan P0.3 pada mikrokontroler AT89S51. Basis dari masing-masing transistor diberi tahanan 10 Kohm untuk membatasi arus yang masuk ke transistor. Kolektor dihubungkan dengan kumparan yang terdapat pada motor stepper, kemudian kumparan dihubungkan dengan sumber tegangan 12 volt.dan emitor dihubungkan ke ground.

Jika P0.0 diberi logika high (1), yang berarti basis pada transistor TIP 122 mendapat tegangan 5 volt, maka transistor akan aktip. Hal ini akan menyebabkan terhubungnya kolektor dengan emitor, sehingga kolektor mendapatkan tegangan 0 volt dari ground. Hal ini menyebabkan arus akan mengalir dari sumber tegangan 12 volt ke kumparan, sehingga kumparan akan menghasilkan medan magnet. Medan magnet ini akan menarik logam yang ada pada motor, sehingga motor mengarah pada kumparan yang memiliki medan magnet tesebut.

Jika kemudian P0.0 di beri logika low (0), yang berarti transistor tidak aktip dan tidak ada arus yang mengair pada kumparan, sehingga tidak ada medan magnet pada kumparan. Dan disisi lain P0.1 diberi logika high (1), sehingga kumparan yang terhubung ke P0.1 akan menghasilkan medan magnet. Maka motor akan beralih kearah kumparan yang terhubung ke P0.1 tersebut. Seterusnya jika logika high diberikan secara bergantian pada input dari driver motor stepper, maka motor stepper akan berputar sesuai dengan arah logika high (1) yang diberikan pada inputnya.

Untuk memutar dengan arah yang berlawanan dengan arah yang sebelumnya, maka logika high (1) pada input driver motor stepper harus diberikan secara bergantian dengan arah yang berlawanan dengan sebelumnya.


(2)

Program yang diberikan pada driver motor stepper untuk memutar motor stepper adalah sebagai berikut :

mov a,#11h putar:

mov P0,a acall tunda Rl a

jmp putar

Program diawali dengan memberikan nilai 11h pada pada accumulator (a), kemudian program akan memasuki rutin buka pintu. Nilai a diisikan ke port 0, sehingga sekarang nilai port 0 adalah 11h. ini berarti P0.0 dan P0.4 mendapatkan logika high sedangkan yang lainnya mendapatkan logika low, seperti table di bawah ini,

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

P0 0 0 0 1 0 0 0 1

Program dilanjutkan dengan memanggil rutin tunda. Lamanya tunda akan mempengaruhi kecepatan perputaran motor. Semakin lama maka tunda, maka perputaran motor akan semakin lambat. Perintah berikutnya adalah Rl a,perintah ini akan memutar nilai yang ada pada accumulator (a), seperti tampak pada table di bawah ini,

a 0 0 0 1 0 0 0 1

Rl

Nilai pada accumulator (a) yang awalnya 11h, setelah mendapat perintah Rl a,

maka nilai pada accumulator (a) akan merubah menjadi 22h. Kemudian program akan melihat apakah kondisi sensor buka pintu dalam keadaan high (1) atau low (0). Jika


(3)

high (1). Nilai yang ada pada accumulator (a), akan kembali diisikan ke port 0, maka nilai di port 0 akan berubah menjadi 22h, ini berarti P0.1 dan P0.5 mendapatkan logika high sedangkan yang lainnya mendapatkan logika low.

Sebelumnya telah dibahas bahwa P0.0, P0.1, P0.2, dan P0.3 dihubungkan ke masukan driver motor stepper, dengan program di atas maka P0.0, P0.1, P0.2, dan P0.3 akan mendapatkan nilai high (1) secara bergantian. Hal ini menyebabkan motor stepper akan berputar membuka pintu.Hal yang sama juga berlaku ketika motor berputar kaearah sebaliknya, perbedaannya hanya pada perintah rotate. Jika pada perintah berlawanan arah jarum jam digunakan rotate left ( Rl ), maka pada perintah searah jarum jam digunakan perintah rotate right ( Rr). Perputaran perintah Rr diperlihatkan pada table berikut,

a 1 0 0 0 1 0 0 0

R r

Untuk lebih jelasnya dapat dilihat pada tabel data motor stepper dibawah ini:

Tabel 4.1 Data Motor Stepper Untuk membuka dan Menutup

DATA MOTOR

Buka (rr)

Tutup (rl)

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

0 0 0 0 0 0 0 0 0 0

1 0 0 0 0 1 0 0 0 1

1 0 0 0 1 0 0 0

0 1 0 0 0 1 0 0

0 0 1 0 0 0 1 0

0 0 0 1 0 0 0 1

0 1 0 0 0 1 0 0 0 1

0 0 1 0 0 0 1 0

0 1 0 0 0 1 0 0


(4)

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Dari hasil perancangan alat hingga pengujian dan pembahasan sistem maka penulis dapat menarik kesimpulan, antara lain:

1. Sistem pengendali pintu kanal banjir pada bendungan ini menggunakan Mikrokontroler AT89S51 sebagai tempat pemproses data dari sistem yang berfungsi untuk menerima sinyal dari sensor air serta menggerakkan motor untuk membuka dan menutup pintu.

2. Motor stepper merupakan motor dengan gerak bertahap, sehingga jumlah perputarannya dan sudut perputara dari motor stepper tersebut dapat di kendalikan.

3. Motor akan bergerak apabila tegangan yang diberikan berupa pulsa pulsa tegangan pada tiap kutubnya secara bergantian. Hal ini sangat berbeda dengan jenis motor yang lain yang cukup memberikan tegangan supplay saja untuk memutar motor tersebut.


(5)

5.2. Saran

Setelah melakukan penulisan ini diperoleh beberapa hal yang dapat dijadikan saran untuk dapat dilakukan perancangan lebih lanjut, yaitu

Sistem penerima pada pintu jarak jauh ini menggunakan mikrokontroler AT89S51, bagaimana kalau dikembangkan dengan menggunakan mikrokontroler jenis lain, misalnya ATmega 8535

Alat pembuka pintu kanal banjir otomatis ini masih berupa prototipe, untuk itu hendaknya lebih dikembangkan lagi ke alat yang sebenarnya, supaya dapat langsung diaplikasikan.


(6)

DAFTAR PUSTAKA

Agfianto. 2004. Belajar Mikrokontroler AT89C51/52/55 Teori dan Aplikasi. Edisi Kedua. Yogyakarta: Gava Media

Andi. 2003. Panduan Praktis Teknik Antarmuka dan Pemrograman Mikrokontroler AT89C51. Jakarta: PT Elex Media Komputindo.

Malvino, Albert paul. 2003. Prinsip-prinsip Elektronika. Jilid 1 & 2. Edisi Pertama. Jakarta: Salemba Teknika.

Petruzella, Frank D. 2001. Elektronik Industri. Terjemahan sumanto. Edisi kedua. Yogyakarta: Andi

Pitowarno, Endra. 2005. Mikroprosesor & Interfacing. Yogyakarta: Andi

WWW. Elektronika – elektronika : blogspot. Com WWW. Google. Com