Perancangan Palang Kereta Api Otomatis Berbasis Mikrokontroller AT89S51 Menggunakan Sensor Inframerah Sebagai Sensor Halangan

(1)

PERANCANGAN PALANG KERETA API OTOMATIS

BERBASIS MIKROKONTROLER AT89S52

TUGAS AKHIR

ASRIANI UNGENER

072408020

PROGRAM STUDI D3 FISIKA INSTRUMENTASI

DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN

ALAM

UNIVERSITAS SUMATERA UTARA

MEDAN


(2)

PERANCANGAN PALANG KERETA API OTOMATIS

BERBASIS MIKROKONTROLER AT89S52

TUGAS AKHIR

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh Ahli Madya

PROGRAM STUDI D3 FISIKA INSTRUMENTASI

DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN

ALAM

UNIVERSITAS SUMATERA UTARA

MEDAN


(3)

PERSETUJUAN

Judul : PERANCANGAN PALANG KERETA API

OTOMATIS BERBASIS MIKROKONTROLER AT89S52

Kategori : TUGAS AKHIR

Nama : ASRIANI UNGERER

Nomor Induk Mahasiswa : 072408020

Program Studi : DIPLOMA 3 (D3) FISIKA INSTRUMENTASI

Departemen : FISIKA

Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN

ALAM (MIPA) UNIVERSITAS SUMATERA UTARA

Diluluskan di Medan,

Komisi Pembimbing : Diketahui

Departemen Fisika FMIPA USU

Ketua, Pembimbing,

(Drs.Syarul Humaidi, M.Sc) (

NIP.196505171993031009 NIP.1955191986011001 Drs.Herli Gintingf, M.Si)


(4)

PERNYATAAN

PERANCANGAN PALANG KERETA API OTOMATIS BERBASIS MIKROKONTROLLER AT89S51 MENGGUNAKAN SENSOR

INFRAMERAH SEBAGAI SENSOR HALANGAN

TUGAS AKHIR

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

Medan,

ASRIANI UNGERER


(5)

PENGHARGAAN

Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Pengasih dan Maha Penyayang, atas Kasih Karunia-NYA yang melimpah penulis dapat menyelesaikan Tugas Akhir ini sesuai dengan waktu yang telah ditetapkan.

Ucapan terimakasih penulis sampaikan kepada berbagai pihak yang telah banyak membantu penulis dalam penyelesaian tugas ini yaitu kepada:

1. Bapak Dr.Eddy Marlianto, M.Sc, selaku Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam.

2. Bapak Drs.Syarul Humaidi, M.sc, selaku Ketua Jurusan Program Studi Fisika Instrumentasi Fakultas Matematika dan ILmu Pengetahuan Alam. 3. Ibu Drs.Justinon, MSi, selaku Sekretaris Jurusan Program Studi Fisika

Instrumentasi Fakultas Matematika dan Ilmu Pengetahuan Alam.

4. Bapak Drs.Takdir Tamba, M.Eng.Sc, selaku Dosen pembimbing Tugas Akhir.

5. Staff dan pegawai di Fakultas Matematika dan Ilmu Pengetahuan Alam. 6. Teristimewa kepada kedua orangtua penulis Ayahanda M.Simanullang

dan Ibunda R.Simanjorang yang telah banyak membantu melalui Doa, dan moril maupun materil. Tidak ada yang boleh penulis berikan selain doa. Semoga Tuhan memberikan kesehatan dan rezeki makin bertambah-tambah. Kepada Kakak saya (K’Irma & K’Rahma) yang tak henti-hentinya memberi perhatian, motivasi, dan dukungan Doa. Serta kepada Adik saya (Suranta & Rizal) tetap semangat ya, semoga cita-citanya


(6)

Penulis menyadari dalam pembuatan tugas akhir ini masih jauh dari kesempurnaan, untuk itu penulis mengharapkan kritik dan saran dari pembaca yang bersifat membangun dalam penyempurnaan tugas akhir ini.

Akhir kata penulis mengucapkan banyak terimakasih kepada semua pihak yang telah turut serta membantu dalam menyelesaiakan tugas akhir ini. Tuhan selalu memberkati.


(7)

ABSTRAK

Palang kereta api otomatis merupakan suatu otomatisasi yang diterapkan pada jalur transportasi Kereta Api guna menutup dan membuka jalan yang membatasi atau menghentikan jalur lalu lintas agar kendaraan berhenti sementara untuk mendahulukan kereta api yang akan lewat. Aplikasi ini hanyalah sebuah prototype kecil yang menggambarkan sebuah aplikasi untuk palang kereta api yang dapat bergerak secara otomatis, dibandingkan penerapan sesungguhnya aplikasi ini mungkin masih jauh sekali dari kejadian sebenarnya, akan tetapi aplikasi ini mungkin dapat sebagai dasar dari palang kereta api yang dapat berjalan secara otomatis.

Palang kereta api otomatis ini mempunyai empat bagian umum yaitu motor stepper yang akan berputar untuk membuka dan menutup palang, sensor optocoupler sebagai pendeteksi adanya kereta api yang lewat, dan otak yaitu bagian mikrokonrroler AT89S52 serta indicator-indikator yang digunakan (LCD 2x16, Led Indikator, Sirine). Mikrokontroler ini yang menjadi sentral processing baik dalam membaca data sensor maupun dalam mengaktifkan indicator.Tujuan tugas akhir ini adalah merancang dan mengimplementasikan palang kereta api otomatis dengan menggunakan mikrokontroler AT89S52.


(8)

DAFTAR ISI

Halaman

Persetujuan ... i

Pernyataan ... ii

Penghargaan ... iii

Abstrak ... v

Daftar Isi... vi

Daftar Tabel ... viii

Daftar Gambar ... ix

BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah ... 1

1.2 Tujuan Penulisan ... 3

1.3 Batasan Masalah... 3

1.5 Sistematika Penulisan ... 4

BAB 2 LANDASAN TEORI 2.1 Perangkat Keras ... 6

2.1.1 Arsitektur Mikrokontroler AT89S52 ... 6

2.1.2 Konstruksi AT89S52 ... 8

2.1.3 sensor optocoupler ... 14

2.1.5 Motor stepper ... 18

2.1.6 Liquit Crystal Display ... 21

2.1.7 Relay. ... 22

2.2 Perangkat Lunak... 24

2.2.1 Instruksi Tranfer data ... 24

2.2.2 Instruksi aritmatika... 25

2.2.3 Instruksi Logika ... 26

2.2.4 Instruksi Transfer kendali ... 26

2.2.5 software MIDE Studio for MCS-51 ... 28


(9)

BAB 3 PERANCANGAN SISTEM

3.1 Perancangan Alat ... 31

3.1.2 Diagram Blok ... 31

3.1.2 Perancangan Sensor optocoupler ... 33

3.1.3 Rangkaian Mikrokontroler AT89S52 ... 34

3.1.4 Rangkaian Catudaya (PSA)... 36

3.1.5 Perancangan Driver Penggerak Motor stepper ... 37

3.1.6 Rangkaian Relay ... 38

3.1.7 Indikator LED ... 40

3.1.8 Display LCD Character 2x16 ... 40

3.2 Perancangan Program ... 43

BAB 4 PENGUJIAN RANGKAIAN DAN ANALISA 4.1 Pengujian Rangkaian ... 58

4.1.1 Pengujian rangkaian Mikrokontroler At89S52 ... 58

4.1.2 Pengujian Rangkaian sensor Optocoupler ... 60

4.1.3 Pengujian Rangkaian Driver Motor Stepper ... 61

4.1.4 Pengujian Pangkaian PSA ... 63

4.1.5 Pengujian Rangkaian Sirine ... 64

4.1.6 Pengujian Rangkaian LED ... 65

4.1.7 Pengujian LCD ... 66

BAB 5 KESIMPULAN DAN SARAN 5.1 Kesimpulan ... 69

5.2 Saran ... 69


(10)

DAFTAR TABEL

Tabel 2.1 Konfigurasi Port 3 Mikrokontroler AT89S52. ... 13 Tabel 2.2 Fungsi Pin LCD Character 2x16. ... 41


(11)

ABSTRAK

Palang kereta api otomatis merupakan suatu otomatisasi yang diterapkan pada jalur transportasi Kereta Api guna menutup dan membuka jalan yang membatasi atau menghentikan jalur lalu lintas agar kendaraan berhenti sementara untuk mendahulukan kereta api yang akan lewat. Aplikasi ini hanyalah sebuah prototype kecil yang menggambarkan sebuah aplikasi untuk palang kereta api yang dapat bergerak secara otomatis, dibandingkan penerapan sesungguhnya aplikasi ini mungkin masih jauh sekali dari kejadian sebenarnya, akan tetapi aplikasi ini mungkin dapat sebagai dasar dari palang kereta api yang dapat berjalan secara otomatis.

Palang kereta api otomatis ini mempunyai empat bagian umum yaitu motor stepper yang akan berputar untuk membuka dan menutup palang, sensor optocoupler sebagai pendeteksi adanya kereta api yang lewat, dan otak yaitu bagian mikrokonrroler AT89S52 serta indicator-indikator yang digunakan (LCD 2x16, Led Indikator, Sirine). Mikrokontroler ini yang menjadi sentral processing baik dalam membaca data sensor maupun dalam mengaktifkan indicator.Tujuan tugas akhir ini adalah merancang dan mengimplementasikan palang kereta api otomatis dengan menggunakan mikrokontroler AT89S52.


(12)

BAB 1

PENDAHULUAN

1.1 Latar Belakang Masalah

Dewasa ini perkembangan teknologi begitu sangat pesat dan bukan menjadi sesuatu yang asing lagi. Bahkan semua perlengkapan baik untuk keperluan rumah tangga sampai perlengkapan industri pun tidak ketinggalan mengunakan teknologi canggih. Terutama teknologi dalam dunia elektronika, banyak alat-alat/instrumen-instrumen yang bermunculan dengan tampilan teknologi yang hebat. Kemajuan teknologi tersebut banyak menciptakan alat-alat dengan sistem otomatis, artinya semua nya dikerjakan oleh alat itu sendiri tanpa harus mengandalkan kerja manusia dalam melakukan suatu pekerjaan. Manusia membutuhkan bantuan dari sesuatu yang dapat bekerja cepat, teliti, dan tidak mengenal lelah. Sistem otomatisasi dapat menggantikan manusia untuk mengerjakan sesuatu dalam lingkungan berbahaya bagi kesehatan dan keselamatan atau daerah yang harus diamati dengan pengamatan lebih dari kemampuan panca indera manusia. Kemajuan teknologi dalam bidang elektronika akan mampu mengatasi masalah-masalah yang rumit sekalipun, dengan ketelitian dan kecepatan serta ketepatan yang sangat tinggi.


(13)

Dalam kehidupan masyarakat tidak pernah lepas dengan alat transportasi baik laut, air dan udara. Tetapi keberadaan alat transportasi tersebut juga mengakibatkan banyak resiko terjadinya kecelakaan apabila tidak ditanggulangi dengan baik. Dalam hal ini kita akan membahas transportasi darat yaitu Kereta Api sebagai alat transportasi. Tidak jarang kita mendengar terjadi kecelakaan kereta api yang menyebabkan luka parah dan bahkan korban jiwa karena kelalaian manusia ditambah lagi fasilitas informasi pada batas jalan dengan rel kereta api tidak dilenggkapi standar keamanan yang memadai. Berangkat dari masalah ini penulis membuat tugas akhir yang berjudul “Simulasi Palang Kereta Api

Menggunakan Sensor Optocoupler Berbasis Mikrokontroler AT89S52 ”.

Mikrokontroler AT89S52 adalah chip mikrokontroler produksi Atmel Inc, merupakan keluarga dari MCS-51 rancangan Intel. AT89S52 mempunyai fitur dasar yang cukup lengkap untuk suatu pemrosesan input-output. Bahasa pemrograman yang digunakan AT89S52 hampir tidak jauh berbeda dengan instruksi set pada mikroprosesor intel yang sudah dipelajari pada perkuliahan. Mikrokontroler adalah system computer yang ringkas, dapat menggantikan fungsi computer dalam pengendalian kerja dan desain yang jauh lebih ringkas daripada computer. Dengan ukurannya yang sangat kecil mikrokontroler dapat digunakan pada peralatan yang bersifat bergerak (mobile) dalam hal ini adalah pada sebuah palang kereta api otomatis.

Palang kereta api otomatis ini memanfaatkan sensor optocoupler yang merupakan perpaduan antara led infra merah dengan fototransistor yang telah dikondisikan dengan pengkondisi sinyal. Sensor ini akan mendeteksi kereta api


(14)

yang hendak melewati batas jalan dan akan diteruskan ke mikrokontroler, kemudian diproses dan diterjemahkan melalui indikator-indikator..

1.2 Tujuan Penulisan

Tujuan dilakukan tugas akhir ini adalah sebagai berikut:

1. Membuat suatu alat yang dapat mengetahui ada/tidaknya kereta api yang ingin melewati batas jalan dengan sistem palang kerata api otomatis berbasis mikrokontroler AT89S52.

2. Untuk mengetahui keefektifan sensor Optocoupler dalam mengetahui kedatangan kereta api pada saat melewati batas jalan.

3. Untuk memanfaatkan mikrokontroler sebagai pusat pemproses data yang diberikan oleh sensor.

4. Membuat suatu alat yang mudah digunakan, cepat, teliti dan dilengkapi dengan sistem otomatis.

5. Sebagai informasi bagaimana dasar membangun sebuah instrument yang dapat digunakan sebagai pendeteksi kedatangan kereta api untuk melewati batas jalan dengan sistem palang otomatis.

1.3 Permasalahan Alat

1.Panjang lintasan keretra api = 140 cm. Proses ini dilakukan dalam waktu 15 detik.

- Antara jarak peringatan hati-hati (kereta api akan mendekati batas jalan ) dengan jarak peringatan untuk berhenti (kereta api melewati batas jalan ) = 23 cm.


(15)

dengan jarak peringatan untuk silahkan jalan ( kereta api telah melewati batas jalan ) = 57 cm. Proses ini dilakukan dalam waktu 5 detik.

- Antara jarak peringatan untuk silahkan jalan ( kereta api telah melewati jalan ) dengan jarak peringatan hati-hati ( kereta api akan mendekati batas jalan ) = 60 cm. Prosesnya ini dilakukan dalam waktu 10 detik.

1.4 Batasan Masalah

Penulisan tugas akhir ini dibatasi pada:

1. Alat ini difokuskan terhadap sistem otomatis palang kereta api dalam mendeteksi kedatangan kereta api untuk melewati batas jalan.

2. Mikrokontroler yang digunakan adalah jenis AT89S52. 3. Sensor suhu yang digunakan sensor optocoupler.

4. Untuk menampilkan display tulisan digunakan LCD 2x16.

5. Sebagai penutup dan pembuka palang kereta api digunakan motor stepper.

1.5 Sistematika Penulisan

Untuk mempermudah pembahasan dan pemahaman maka penulis membuat sistematika penulisan bagaimana sebenarnya prinsip kerja alat yang dibuat oleh penulis tersebut yaitu Palang Kereta Api Otomatis.

BAB 1 PENDAHULUAN

Bagian ini meliputi latar belakang masalah, tujuan penulisan, batasan masalah, metode pengumpulan data, dan sistematika penulisan.


(16)

BAB 2 LANDASAN TEORI

Pada bagian ini akan dijelaskan landasan teori meliputi arsitektur dan konstruksi mikrokontroler AT89S52 (hardware dan software), sensor optcoupler, selain itu juga membahas komponen pendukung lainnya yang berhubungan dengan Palang Kereta Api Otomatis.

BAB 3 PERANCANGAN SISTEM

Pada bagian ini akan dijelaskan tentang perancangan alat yang meliputi diagram blok, skematik dari masing-masing rangkaian, diagram alir, serta program yang diisikan ke mikrokontroler AT89S52.

BAB 4 PENGUJIAN RANGKAIAN DAN ANALISA

Bagian ini meliputi uraian tentang cara menguji dan pembahasan cara kerja Palang Kereta Api Otomatis.

BAB 5 KESIMPULAN DAN SARAN

Bagian ini merupakan penutup yang meliputi tentang kesimpulan dari pembahasan dari laporan proyek ini serta saran yang diberikan demi kesempurnaan dan pengembangan proyek ini pada masa yang akan datang ke arah yang lebih baik.


(17)

BAB 2

LANDASAN TEORI

2.1 Perangkat Keras

Pada subbab ini akan dibahas perangkat – perangkat keras yang digunakan pada palang kereta otomatis ini. Perangkat – perangkat keras tersebut antara lain adalah sensor optocoupler, motor stepper, Buzzer sirine, indikator led, display LCD 2 x 16 dan rangkaian mikrokontroler AT89S52.

2.1.1 Asitektur Mikrokontroler AT89S52

Perkembangan teknologi telah maju dengan pesat dalam perkembangan dunia elektronika, khususnya dunia mikroelektronika. Penemuan silikon menyebabkan bidang ini mampu memberikan sumbangan yang amat berharga bagi perkembangan teknologi modern. Atmel sebagai salah satu vendor yang mengembangkan dan memasarkan produk mikroelektronika telah menjadi suatu teknologi standar bagi para desainer sistem elektronika masa kini.

Tidak seperti sistem komputer, yang mampu menangani berbagai macam program aplikasi (misalnya pengolah kata, pengolah angka dan lain sebagainya),


(18)

mikrokontroler 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 dan rutin-rutin antarmuka perangkat keras disimpan dalam ruang ROM yang kecil. Sedangkan pada mikrokontroler, perbandingan ROM dan RAM-nya yang besar artinya program kontrol disimpan dalam ROM (bisa Masked ROM atau Flash PEROM) yang ukurannya relatif lebih besar, sedangkan RAM digunakan sebagai tempat penyimpanan sementara, termasuk register-register yang digunakan pada mikrokontroler yang bersangkutan.

Mikrokontroler adalah single chip computer yang memiliki kemampuan untuk diprogram dan digunakan untuk tugas-tugas yang berorientasi kontrol. Mikrokontroler berkembang dengan dua alasan utama, yaitu kebutuhan pasar (market needed) dan perkembangan teknologi baru. Yang dimaksud dengan kebutuhan pasar yaitu kebutuhan manusia yang semakin besar terhadap alat-alat elektronik dengan perangkat pintar sebagai pengontrol dan pemroses data. Sedangkan yang dimaksud dengan perkembangan teknologi baru adalah perkembangan teknologi semikonduktor yang memungkinkan pembuatan chip dengan kemampuan komputasi yang sangat cepat, bentuk yang semakin mungil, dan harga yang semakin murah.

Penggunaan mikrokontroler sangat luas, tidak hanya untuk akuisisi data melainkan juga untuk pengendalian di pabrik-pabrik, kebutuhan peralatan kantor; peralatan rumah tangga, automobil dan sebagainya. Hal ini disebabkan mikrokontroler merupakan system mikroprosesor (yang di dalamnya terdapat


(19)

CPU (Central Prossesing Unit), ROM (Read Only Memory), RAM (Random Acces Memory), dan I/O) yang telah terpadu dalam satu Integrated Circuit, selain itu komponennya (AT89S52) murah dan mudah didapatkan di pasaran.

Tidak seperti system computer, yang mampu menangani berbagai macam program aplikasi (misalnya pengolah data, pengolah angka dan lain sebagainya), mikrokontroler hanya bisa digunakan untuk suatu aplikasi tertentu saja. Perbedaan lainnya terletak pada perbandingan RAM-nya dan ROM. Pada system computer perbandingan RAM dan ROM-nya besar, artinya program-program pengguna di simpan dalam ruang RAM yang cukup besar sedangkan rutin-rutin antarmuka perangkat keras di simpan dalam ruang ROM yang kecil. Sedangkan pada mikrokontroler, perbandingan RAM dan ROM-nya yang besar artinya program control di simpan dalam ROM (bisa masked ROM atau Flash PEROM) yang ukurannya relative lebih besar, sedangkan RAM digunakan sebagai tempat penyimpanan sementara, termasuk register-register yang digunakan pada mikrokontroler yang bersangkutan.


(20)

Gambar 2.1. Blok Diagram Fungsional AT89S52

Mikrokontroler AT89S52 hanya memerlukan tambahan 3 buah kapasitor, 1 resistor dan 1 kristal serta catu daya 5 Volt. Kapasitor 10 mikro-Farad dan resistor 8k2 Ohm dipakai untuk membentuk rangkaian reset. Dengan adanya rangkaian reset ini AT89S52 otomatis direset begitu rangkaian menerima catu daya. Kristal dengan frekuensi maksimum 12 MHz dan kapasitor 30 piko-Farad dipakai untuk melengkapi rangkaian oscilator pembentuk clock yang menentukan kecepatan kerja mikrokontroler.

Memori merupakan bagian yang sangat penting pada mikrokontroler. Mikrokontroler memiliki dua macam memori yang sifatnya berbeda. ROM (Read Only Memory) yang isinya tidak berubah meskipun IC kehilangan catu daya. Sesuai dangan keperluannya, dalam susunan MCS-51 memori penyimpanan program ini dinamakan sebagai memori program.

RAM (Random Access Memory) 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.

Ada berbagai jenis ROM, untuk mikrokontroler dengan program yang sudah baku dan diproduksi secara massal, program diisikan ke dalam ROM pada saat IC mikrokontroler dicetak di pabrik IC. Untuk keperluan tertentu


(21)

mikrokontroler mengunakan ROM yang dapat diisi ulang atau Programable-Eraseable ROM yang disingkat menjadi PEROM atau PROM. Dulu banyak dipakai UV-EPROM (Ultra Violet Eraseable Programable ROM) yang kemudian dinilai mahal dan ditinggalkan setelah ada flash PEROM yang harganya jauh lebih murah.

Jenis memori yang dipakai untuk memori program AT89S52 adalah Flash PEROM, program untuk mengendalikan mikrokontroler diisikan ke memori itu lewat bantuan alat yang dinamakan sebagai AT89S52 Flash PEROM Programmer.

Memori data yang disediakan dalam chip AT89S52 sebesar 256 byte, meskipun hanya kecil saja tapi untuk banyak keperluan, memori berkapasitas 256 byte sudah cukup. Sarana Input/Output (I/O) yang disediakan cukup banyak dan bervariasi. AT89S52 mempunyai 32 jalur Input/Output. Jalur Input/Output paralel dikenal sebagai Port 1 (P1.0..P1.7) dan Port 3 (P3.0..P3.5 dan P3.7).

AT89S52 dilengkapi UART (Universal Asyncronous Receiver / Transmitter) yang biasa dipakai untuk komunikasi data secara serial. Jalur untuk komunikasi data serial (RXD dan TXD) diletakkan berhimpitan dengan P3.0 dan P3.1 di kaki nomor 10 dan 11, sehingga kalau sarana input/ouput yang 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/ouput parelel kalau T0 dan T1 terpakai.

AT89S52 mempunyai enam sumber pembangkit interupsi, dua diantaranya adalah sinyal interupsi yang diumpankan ke kaki INT0 dan INT1.


(22)

Kedua kaki ini berhimpitan dengan P3.2 dan P3.3 sehingga tidak bisa dipakai sebagai jalur input/output paralel kalau INT0 dan INT1 dipakai untuk menerima sinyal interupsi. Port 1 dan Port 2, UART, Timer 0, Timer 1 dan sarana lainnya merupakan register yang secara fisik merupakan RAM khusus, yang ditempatkan di Special Function Register (SFR).

Mikrokontroller keluarga MCS 51 memiliki port-port yang lebih banyak (40 port I/O) dengan fungsi yang bisa saling menggantikan sehingga mikrokontroller jenis ini menjadi sangat digemari karena hanya dalam sebuah chip sudah bisa mengkafer untuk banyak kebutuhan. Konfigurasi dan Deskripsi kaki-kaki mikrokomputer. AT89S52 adalah sebagai berikut:

Gambar 2.2. Konfigurasi Pin AT89S52

Fungsi dari masing-masing pin AT89S52 adalah :

Deskripsi pin-pin pada mikrokontroler AT89S52 : • VCC (Pin 40)


(23)

Suplai tegangan 5 Volt. • GND (Pin 20)

Ground.

Port 0 (Pin 39 – Pin 32)

Port 0 dapat berfungsi sebagai I/O biasa, low order multiplex address/data ataupun penerima kode byte pada saat flash programming Pada fungsinya 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 fungsinya sebagai low order multiplex address/data, port ini akan mempunyai internal pull up. Pada saat flash programming diperlukan eksternal pull up, terutama pada saat verifikasi program.

Port 1 (Pin 1 – Pin 8)

Port 1 berfungsi sebagai I/O biasa, pada kaki ke 6, ke 7 dan ke 8 terdapat Mosi, Miso dan Sck sebagai masukan dari ISP Programmer yang terhubung ke komputer. Tanpa adanya port ini maka mikrokontroler tidak dapat diprogram oleh ISP Programmer.

Port 2 (Pin 21 – pin 28)

Port 2 berfungsi sebagai I/O biasa atau high order address, pada saat mengakses memori 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 ke empat buah input TTL.


(24)

Port 3 (Pin 10 – pin 17)

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

Nama Pin Fungsi

P3.0 (Pin 10) RXD (Port Input Serial) P3.1 (Pin 11) TXD (Port Output Serial) P3.2 (Pin 12) INTO (Interrupt 0 Eksternal) P3.3 (Pin 13) INT1 (Interrupt 1 Eksternal) P3.4 (Pin 14) T0 (Input Eksternal Timer 0) P3.5 (Pin 15) T1 (Input Eksternal Timer 1)

P3.6 (Pin 16) WR (untuk menulis eksternal data memori) P3.7 (Pin 17) RD (untuk membaca eksternal data memori)

Tabel 2.1. Konfigurasi Port 3 Mikrokontroler AT89S52 • RST (pin 9)

Reset akan aktif dengan memberikan input high selama 2 cycle. 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 program (PROG) selama memprogram Flash.

PSEN (pin 29)


(25)

EA (pin 31)

Pada kondisi low, pin ini akan berfungsi sebagai EA yaitu mikrokontroler akan menjalankan program yang ada pada memori eksternal setelah sistem di-reset. Jika kondisi high, pin ini akan berfungsi untuk menjalankan program yang ada pada memori internal. Pada saat flash programming, pin ini akan mendapat tegangan 12 Volt.

XTAL1 (pin 19)

Input untuk clock internal. XTAL2 (pin 18)

Output dari osilator.

Spesifikasi penting AT89S52 :

a. Kompatibel dengan keluarga mikrokontroler MCS51 sebelumnya

b. 8 K Bytes In system Programmable (ISP) flash memori dengan kemampuan 1000 kali baca/tulis

c. tegangan kerja 4-5.0V

d. Bekerja dengan rentang 0 – 33MHz

e. 256x8 bit RAM internal

f. 32 jalur I/0 dapat diprogram

g. 3 buah 16 bit Timer/Counter

h. 8 sumber interrupt

i. saluran full dupleks serial UART


(26)

2.1.3 Sensor Optocoupler

Optocoupler diartikan sebagai Opto (Optic) dan Coupler (Penghubung). Jadi optocoupler adalah suatu komponen penghubung (coupling) yang bekerja berdasarkan picu dari cahaya optik. Optocoupler menggabungkan LED IR dan phototransistor dalam satu kemasan. Pada optocoupler terdiri dari dua bagian, yaitu bagian transmitter dan receiver. Transmitter biasanya dibangun dari sebuah led infra merah, untuk memperoleh ketahanan yang lebih baik terhadap cahaya tampak dari pada jika menggunakan LED biasa. Receiver dibangun dengan dasar komponen phototransisitor, yang akan menghasilkan bias maju/ON bila mendapat cahaya (infra merah) dari transmitter dan sebaliknya menghasilkan cutoff/OFF bila tidak mendapat cahaya (infra merah) dari LED transmitter

Gambar 2.3. Bentuk Fisik Optocoupler

Bagian-bagian optocoupler:

1. Led inframerah yang berfungsi sebagai transmitter

Sinar infra merah termasuk dalam gelombang elektromagnetik yang tidak tampak oleh mata telanjang. Sinar ini tidak tampak oleh mata karena mempunyai panjang gelombang berkas cahaya yang terlalu panjang bagi tanggapan mata manusia. Sifat-sifat cahaya infra merah:


(27)

2. tidak dapat menembus bahan yang tidak tembus pandang

Led inframerah adalah suatu bahan semikonduktor yang memancarkan cahaya monokromatik (cahaya yang hanya terdiri atas satu warna dan satu panjang gelombang) yang tidak koheren ketika diberi tegangan maju. Pengembangan led inframerah dimulai dengan alat inframerah dibuat dengan galliumarsenide. Cahaya infra merah pada dasarnya adalah radiasi elektromagnetik dari panjang gelombang yang lebih panjang dari cahaya tampak, tetapi lebih pendek dari radiasi gelombang radio, dengan kata lain infra merupakan warna dari cahaya tampak dengan gelombang terpanjang, yaitu sekitar 700 nm sampai 1 mm.

Gambar 2.4. Led Inframerah

Cahaya led inframerah timbul sebagai akibat penggabungan elektron dan hole pada persambungan antara dua jenis semikonduktor dimana setiap penggabungan disertai dengan pelepasan energi. Pada penggunaannya led inframerah ini merupakan komponen elektronika yang memancarkan cahaya infra merah dengan konsumsi daya sangat kecil. Led inframerah dapat diaktifkan


(28)

dengan tegangan dc untuk transmisi atau sensor jarak dekat, dan dengan tegangan ac (30–40 KHz) untuk transmisi atau sensor jarak jauh.

Karakteristik dari LED Infra merah:

1.Dapat dipakai dalam waktu yang sangat lama. 2.Membutuhkan daya yang kecil.

3.Tidak mudah panas.

4.Dapat digunakan dalam jarak yang lebar. 2. Fototransistor yang berfungsi sebagai receiver

Receiver yang digunakan oleh sensor infra merah adalah jenis fototransistor, yaitu jenis transistor bipolar yang menggunakan kontak (junction) base-collector untuk menerima atau mendeteksi cahaya dengan gain internal yang dapat menghasilkan sinyal analog maupun digital. Fototransistor ini akan mengubah energi cahaya menjadi arus listrik dengan sensitivitas yang lebih tinggi dibandingkan fotodioda ,tetapi dengan waktu respon yang secara umum akan lebih lambat daripada fotodioda. Hal ini terjadi karena transistor jenis ini mempunyai kaki basis terbuka untuk menangkap sinar,dan elektron yang ditimbulkan oleh foton cahaya pada junction ini di-injeksikan di bagian basis dan diperkuat dibagian kolektornya.


(29)

Gambar 2.5. Fototransistor

Pada fototransistor, jika kaki basis mendapat sinar maka akan timbul tegangan pada basisnya dan akan menyebabkan transistor berada pada daerah jenuhnya(saturasi), akibatnya tegangan pada kaki kolektor akansama dengan ground (Vout=0 V). Sebaliknya jika kakibasis tidak mendapat sinar, tidak cukup tegangan untuk membuat transistor jenuh, akibatnya semua arus akan dilewatkan ke keluaran (Vout=Vcc).

Foto transistor memiliki karakteristik : 1.Pendeteksi jarak dekat Infra merah.

2.Dapat dikuatkan sampai 100 sampai 1500. 3.Respon waktu cukup cepat.

4.Dapat digunakan dalam jarak lebar.

5.Dapat dipasangkan dengan (hampir) semua penghasil cahaya atau cahaya yang dekat dengan inframerah, seperti Led inframerah, Neon, Fluorescent, lampu bohlam, cahaya laser dan api.

6.Mempunyai karakteristik seperti transistor, kecuali bagian basis digantikan oleh besar cahaya yang diterima.

Ditinjau dari penggunaannya, Optocoupler dapat digunakan untuk mendeteksi adanya nya penghalang antara transmitter dan receiver dengan cara bagian tengah (antara Led Inframerah dan phototransistor) diberi suatu penghalang. Contoh aplikasinya yaitu Optocoupler dengan piringan berlubang untuk deteksi kecepatan putar motor, sistem deteksi lubang penanda disket pada disk drive komputer, dan sistem limit switch pada printer dan lain-lain.


(30)

2.1.4 Motor Stepper

Motor langkah (stepper) banyak digunakan dalam berbagai aplikasi, dipergunakan apabila dikehendaki jumlah putaran yang tepat atau di perlukan sebagian dari putaran motor. Suatu contoh dapat di jumpai pada disk drive, untuk proses pembacaan dan/atau penulisan data ke/dari cakram(disk), head baca-tulis ditempatkan pada tempat yang tepat di atas jalur atau track pada cakram, untuk head tersebut di hubungkan dengan sebuah motor langkah.

Aplikasi penggunaan motor langkah dapat juga di jumpai dalam bidang industri atau untuk jenis motor langkah kecil dapat di gunakan dalam perancangan suatu alat mekatronik atau robot. Motor langkah berukuran besar digunakan, misalnya, dalam proses pengeboran logam yang menghendaki ketepatan posisi pengeboran, dalam hal ini di lakukan oleh sebuah robot yang memerlukan ketepatan posisi dalam gerakan lengannya dan lain-lain.

Pada gambar di bawah ditunjukkan dasar susunan sebuah motor langkah (stepper).

Gambar 2.6. Diagram motor langkah (stepper) U

S A

D B


(31)

Magnet permanen N-S berputar kearah medan magnet yang aktif. Apabila kumparan stator dialiri arus sedemikian rupa, maka akan timbul medan magnet dan rotor akan berputar mengikuti medan magnet tersebut.setiap pengalihan arus ke kumparan berikutnya menyebabkan medan magnet berputar berputar menurut suatu sudut tertentu, biasanya informasi besar sudut putar tertulis pada badan motor langkah yang bersangkutan. Jumlah keseluruhan pengalihan menentukan sudut perputaran motor.Jika pengalihan arus di tentukan, maka rotor akan berhenti pada posisi terakhir. Jika kecepatan pengalihan tidak terlalu tinggi, maka slip akan dapat dihindari. Sehingga tidak di perlukan umpan balik (feedback) pada pengendalian motor langkah.

Motor langkah yang akan di gunakan memiliki 4 fase (pole atau kutub), pengiriman pulsa dari mikrokontroler ke rangkaian motor langkah dilakukan secara bergantian, masing-masing 4 data (sesuai dengan jumlah phase-nya), sebagian di tunjukkan pada gambar di bawah ini.

Gambar 2.7. Pemberian data/pulsa pada motor stepper

Pada saat yang sama ,untuk tiap motor langkah, tidak boleh ada 2 (dua) masukan atau lebih yang mengandung pulsa sama dengan 1 (high), atau dengan kata lain, pada suatu saat hanya sebuah masukan yang bernilai 1 (satu) sedangkan lainnya bernilai 0 (nol).

C D A B


(32)

2.1.5 Liquid Crystal Display (LCD)

LCD merupakan salah satu komponen yang banyak dipilih untuk

dipergunakan sebagai tampilan karena kemudahannya dalam mengatur tampilan agar lebih menarik. Salah satu contoh LCD yang banyak digunakan yaitu LCD M1632 (LCD 2x16).

Controller

LCD (16 X 2 ) Segmen

Driver

Timing Signal 3

Serial Data Segmen Signal

16 Comon Signal

40 DB0 - 7

RS E R/W VLC VSS VDD 40

Gambar 2.8 Diagram Blok Tampilan Kristal Cair (LCD)

LCD display module M1632 terdiri dari dua bagian, yang pertama merupakan panel LCD sebagai media penampil informasi dalam bentuk huruf/ angka dua baris, masing – masing baris bisa menampung 16 huruf/ angka.

Bagian kedua merupakan sebuah sistem yang dibentuk dengan mikrokontroler yang ditempel dibalik pada panel LCD, berfungsi mengatur tampilan LCD. Dengan demikian pemakaian LCD M1632 menjadi sederhana, sistem lainnya cukup mengirimkan kode – kode ASCII dari informasi yang ditampilkan .

Spesifikasi LCD M1632, yaitu ;


(33)

b. RAM data tampilan dan RAM pembangkit karakter dapat dibaca dari unit mikroprosesor.

c. Beberapa fungsi perintah antara lain adalah penghapusan tampilan (display clear), posisi kursor awal (cursor home), tampilan karakter kedip (display character blink), pengeseran krusor (cursor shift) dan penggeseran tampilan (display shif).

d. Rangkaian otomatis reset saat daya dinyalakan. e. Catu daya tunggal +5 volt.

2.1.6 Relay

Relay adalah komponen elektronika berupa saklar elektronik yang digerakkan oleh arus listrik. Secara prinsip, relai merupakan tuas saklar dengan lilitan kawat pada batang besi (solenoid) di dekatnya. Ketika solenoid dialiri arus listrik, tuas akan tertarik karena adanya gaya magnet yang terjadi pada solenoid sehingga kontak saklar akan menutup. Pada saat arus dihentikan, gaya magnet akan hilang, tuas akan kembali ke posisi semula dan kontak saklar kembali terbuka. Relay biasanya digunakan untuk menggerakkan arus/tegangan yang besar (misalnya peralatan listrik 4 ampere AC 220 V) dengan memakai arus/tegangan yang kecil (misalnya 0.1 ampere 12 Volt DC). Dalam pemakaiannya biasanya relay yang digerakkan dengan arus DC dilengkapi dengan sebuah dioda yang di-paralel dengan lilitannya dan dipasang terbalik yaitu anoda pada tegangan (-) dan katoda pada tegangan (+). Ini bertujuan untuk mengantisipasi sentakan listrik yang terjadi pada saat relay berganti posisi dari on ke off agar tidak merusak komponen di sekitarnya.


(34)

Gambar 2.9 Relay

Relay adalah suatu komponen elektronika yang akan bekerja bila ada arus yang melalui kumparannya. Sebuah relay terdiri dari kumparan yang dililitkan pada inti besi dan kontak-kontak penghubung. Apabila kumparan yang melilit inti besi dilalui arus listrik maka akan menimbulkan induksi medan magnet, dan induksi ini akan menarik kontak-kontak penghubung relay.

Kontak penghubung relay terdiri dari dua bagian, yaitu :

1. Kontak NC (Normally Close),

Kontak penghubung dalam kondisi menutup atau terhubung bila relay tidak mendapat masukan tegangan pada kumparannya. Tetapi bila diberi tegangan yang mencukupi pada kumparannya maka kontak penghubung menjadi terbuka (kondisi awal sebelum diaktifkan close).

2. Kontak NO (Normally Open).

Kontak penghubung dalam kondisi terbuka bila relay tidak mendapat tegangan pada kumparannya. Tetapi bila diberi tegangan yang mencukupi pada kumparannya maka kontak penghubung menjadi tertutup atau terhubung.(kondisi awal sebelum diaktifkan open)


(35)

2.2 Perangkat Lunak

Perangkat lunak (software) adalah seperangkat intruksi yang disusun menjadi sebuah program untuk memerintahkan microcomputer melakukan suatu pekerjaan. Sebuah instruksi selalu berisi kode operasi (op-code), kode pengoperasian inilah yang disebut dengan bahasa mesin yang dapat dimengerti oleh mikrokontroller. Instruksi-instruksi yang digunakan dalam memprogram suatu program yang diisikan pada AT89S51 adalah instruksi bahasa pemograman assembler atau sama dengan intruksi pemograman pada IC mikrokontrller 8031 dan MCS51.

2.2.1 Instruksi Transfer Data

Instruksi transfer data terbagi menjadi dua kelas operasi sebagai berikut :

Transfer data umum ( General Purpose Transfer ), yaitu : MOV, PUSH dan POP.

Transfer spedifik akumulator ( Accumulator Specific Transfer ), yaitu : XCH, XCHD, dan MOVC.

Instruksi transfer data adalah intruksi pemindahan /pertukaran data antara operand sumber dengan operand tujuan. Operand-nya dapat berupa register, memori atau lokasi suatu memori. Penjelasan instruksi transfer data tersebut dapat dijelaskan sebagai berikut.

MOV : Transfer data dari Register satu ke Register yang lainnya, antara Register dengan Memory.

PUSH : Transfer byte atau dari operand sumber ke suatu lokasi dalam stack yang alamatnya ditunjuk oleh register penunjuk.


(36)

POP : Transfer byte atau dari dalam stack ke operand tujuan.

XCH : Pertukaran data antara operand akumulator dengan operand sumber.

XCHD : Pertukaran nibble orde rendah antara RAM internal ( lokasinya ditunjukkan oleh R0 dan R1 )

2.2.2 Instruksi Aritmatika

Operasi dasar aritmatik seperti penjumlahan, pengurangan, perkalian dan pembagian dimiliki oleh AT89S51 dengan mnemonic : INC, ADD, SUBB, DEC, MUL dan DIV. Penjelasan dari operasi mnemonic tersebut dijelaskan sebagai berikut :

INC : Menambah satu isi sumber operand dan menyimpan hasilnya ke operand tersebut

ADD : Penjumlahan antara akumulator dengan sumber operand dan hasilnya disimpan di akumulator

SUBB : Pengurangan akumulator dengan sumber operand, hasilnya disimpan dalam operand tersebut.

DEC : Mengurangi sumber operand dengan 1. dan hasilnya disimpan pada operand tersebut.

MUL : Perkalian antara akumulator dengan Register B.

DIV : Pembagian antara akumulator dengan Register B dan hasilnya disimpan dalam akumulator, sisanya di Register B.


(37)

2.2.3 Instruksi Logika

Mikrokontroller AT89S51 dapat melakukan operasi logika bit maupun operasi logika byte. Operasi logika tersebut dibagi atas dua bagian yaitu :

Operasi logika operand tunggal, yang terdiri dari CLR, SETB, CPL, RL, RR, dan SWAP.

Operasi logika dua operand seperti : ANL, ORL, dan XRL.

Operasi yang dilkukan oleh AT89S51 dengan pembacaan instruksi logika tersebut dijelaskan dibawah ini :

CLR : Menghapus byte atau bit menjadi nol. SETB : Menggeser bit atau byte menjadi satu. CPL : Mengkomplemenkan akumulator. RL : Rotasi akumulator 1 bit ke kiri. RR : Rotasi akumulator ke kanan. SWAP : Pertukaran nibble orde tinggi.

2.2.4 Instruksi Transfer Kendali

Instruksi transfer kendali (control transfer) terdiri dari (3) tiga kelas operasi yaitu :

Lompatan tidak bersyarat ( Unconditional Jump ) seperti : ACALL, AJMP, LJMP,SJMP

Lompatan bersyarat ( Conditional Jump ) seperti : JZ, JNZ, JB, CJNE, dan DJNZ.

• Insterupsi seperti : RET dan RET1. Penjelasan dari instruksi diatas sebagai berikut :


(38)

ACALL : Instruksi pemanggilan subroutine bila alamat subroutine tidak lebih dari 2 Kbyte.

LCALL : Pemanggilan subroutine yang mempunyai alamat antara 2 Kbyte – 64 Kbyte.

AJMP : Lompatan untuk percabangan maksimum 2 Kbyte. LJMP : Lompatan untuk percabangan maksimum 64 Kbyte. JNB : Percabangan bila bit tidak diset.

JZ : Percabangan akan dilakukan jika akumulator adalah nol. JNZ : Percabangan akan dilakukan jika akumulator adalah tidak

nol.

JC : Percabangan terjadi jika CY diset “1”.

CJNE : Operasi perbandingan operand pertama dengan operand kedua, jika tidak sama akan dilakukan percabangan.

DJNZ : Mengurangi nilai operand sumber dan percabangan akan dilakukan apabila isi operand tersebut tidak nol.

RET : Kembali ke subroutine.

RET1 : Kembali ke program interupsi utama

Dalam merancang suatu program mikrokontroler dibutuhkan suatu software yang dapat menulis program dan mengubahnya menjadi bilangan heksadesimal. Untuk menulis program dapat digunakan Software M-IDE Studio for MCS-51. Untuk men-download program heksadesimal ke dalam mikrokontroler dapat digunakan Software Downloader (ISP – Flash Programmer 3.0a).


(39)

2.2.5 Software M-IDE Studio for MCS-51

Instruksi-instruksi yang merupakan bahasa assembly dituliskan pada sebuah editor, yaitu M-IDE Studio Editor. Tampilannya seperti gambar 2.13 di bawah ini.

Gambar 2.10 Tampilan M-IDE Studio MCS 51 sebagai 8051 editor menulis program

Setelah program selesai ditulis, kemudian save dan setelah itu 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.


(40)

Software M-IDE Studio for MCS-51 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 mikrokontroler.

2.2.6 Software Downloader (ISP – Flash Programmer 3.0a)

Untuk mengirimkan bilangan-bilangan heksadesimal ini ke mikrokontroler digunakan software ISP- Flash Programmer 3.0a yang dapat di download dari internet. Tampilannya seperti gambar 2.14 di bawah ini :

Gambar 2.11 ISP- Flash Programmer 3.a

Cara menggunakannya adalah dengan meng-klik Open File untuk mengambil file heksadesimal dari hasil kompilasi M-IDE, kemudian klik Write untuk mengisikan hasil kompilasi tersebut ke mikrokontroler. Untuk mengecek apakah mikrokontroler bisa ditulisi atau tidak dapat diketahui dengan dua cara,


(41)

yaitu dengan cara meng-klik Signature dan Read. Jika dapat ditulis maka program akan dijalankan, jika tidak dapat ditulis maka akan ada peringatan “ no response”. Untuk mengamankan agar program pada mikrokontroler tidak dapat dibaca oleh orang yang tidak diinginkan, dapat digunakan Lock Bit-1, Lock Bit-2 dan Lock Bit-3 yang masing-masingnya memiliki tingkat keamanan yang berbeda. Makin tinggi tingkatan Lock Bitnya maka makin sulit membongkar programnya. Tetapi apabila telah di lock (dikunci) maka mikrokontroler tidak dapat lagi ditulis.


(42)

BAB 3

PERANCANGAN SISTEM

3.1 Perancangan Alat

3.1.1 Diagram Blok

Secara garis besar, diagram blok dari rangkaian palang otomatis ini ditunjukkan pada gambar 3.1. berikut ini:

µC AT89S52 LCD 2X16 DRIVER MOTOR STEPPER 1 PENGKONDISI SINYAL 1 SENSOR OPTOCOUPLER 1 MOTOR STEPPER 1 PENGKONDISI SINYAL 2 SENSOR OPTOCOUPLER 2 PENGKONDISI SINYAL 3 SENSOR OPTOCOUPLER 3 DRIVER MOTOR STEPPER 1 MOTOR STEPPER 1 DRIVER SIRINAI 1 SIRINAI 1

INDIKATOR LED DRIVER LED

Gambar 3.1. Diagram Blok Rangkaian Keterangan dari diagram blok:

Palang kereta api otomatis ini dirancang hanya sebatas simulasi. Pada palang ini terdapat 16 blok rangkaian utama yang mempunyai fungsi masing-masing.


(43)

1. Sensor optocoupler 1 berfungsi untuk mendeteksi/mengetahui bahwa kereta api sudah dekat , sehingga pengguna jalan berhati-hati dan mengurangi kecepatan kendaraannya.

2. Sensor optocoupler 2 berfungsi untuk mendeteksi/mengetahui bahwa kereta api sudah dekat dan mau melewati lintasan jalan yang dilalui oleh pengguna jalan, sehingga pengguna jalan harus berhenti.

3. Sensor optocoupler 3 berfungsi untuk mendeteksi/mengetahui bahwa kereta api telah lewat (telah melewati jalan) sehinnga para pengguna jalan dapat meneruskan perjalanannya.

4. Pengkondisi sinyal 1, 2 dan 3 digunakan untuk menegaskan data digital high atau low sehingga kompatibel dengan mikrokontroler.

5. Motor stepper 1 berfungsi untuk membuka palang kereta api secara otomatis pada saat kereta api belum melewati jalan dan menutup pada saat kereta api melewati jalan. Motor stepper 1 ini digunakan untuk lajur kiri.

6. Motor stepper 1 berfungsi untuk membuka palang kereta api secara otomatis pada saat kereta api belum melewati jalan dan menutup pada saat kereta api melewati jalan. Motor stepper 1 ini digunakan untuk lajur kanan.

7. Driver motor stepper 1 dan 2 berfungsi untuk mengaktifkan/menggerakkan motor stepper searah maupun berlawanan jarum jam dan untuk mengatur derajat putaran motor stepper yang diinginkan.

8. Sirinai berfungsi untuk memberikan tanda peringatan bahwa kereta api mau melewati jalan sehinnga pengguna jalan harus berhenti.

9. Driver sirinai berfungsi untuk mengaktifkan dan menonaktifkan suara sirinai sesuai yang diinginkan.


(44)

10. Indikator LED terdiri dari tiga indikator yaitu indikator lampu merah, kuning dan hijau.

- Indikator led merah pengguna jalan harus berhenti

- Indikator led kuning pengguna jalan diharapkan berhati-hati - Indikator led hijau pengguna jalan dapat meneruskan

perjalanannya.

11. LCD 2 x 16 berfungsi untuk tampilan yang digunakan untuk menerangkan keadaan hati-hati, berhenti dan dapat meneruskan perjalanan secara tertulis.

12. Mikrokontroler AT89S52 berfungsi untuk mengolah data digital yang dikirimkan oleh sensor optocoupler, selanjutnya mikrokontroller akan

menampilkannya pada LCD 2x16 berupa peringatan,

mengaktifkan/menonaktifkan sirinai, dan indikator led.

3.1.2 Perancangan Sensor Optocoupler

Sensor yang digunakan dalam penelitian ini adalah sensor optocoupler. Sensor ini merupakan perpaduan led inframerah (transmitter) dan fototransistor (receiver). Tujuan utama dari digunakan sensor optoupler untuk mendeteksi ada tidaknya kereta api yang lewat.


(45)

4k7 C945

relay NO

Kipas 1 + -NO NC

Gambar 3.2 Rangkaian Penguat Sinyal Optocoupler

Saat lubang terlewati sinar dari led inframerah dan diterima fototransistor, maka fototransistor akan saturasi dan saat sinar led inframerah tidak diterima fototransistor, maka fototransistor akan cut-off. Susunan rangakaian yang terdiri dari transistor C945 dan pemicu Schmitt (74LS14) digunakan sebagai pengkondisi sinyal agar keluaran menjadi sinyal persegi (high/low) yang kompatibel dengan mikrokontroler.

3.1.3 Rangkaian Mikrokontroler AT89S52

Rangkaian mikrokontroller AT89S52 ini merupakan pusat pengolahan data dari sensor. Dalam alat ini, mikrokontroler digunakan sebagai untuk membaca dan mengolah data dari sensor. Input (masukan) pada rangkaian mokrokontroler ini dihubungkan dengan 3 buah sensor optocoupler yang berfungsi untuk mendeteksi ada/tidaknya kereta api . Sedangkan output (keluaran) dihubungkan dengan piranti tampilan, dalam hal ini dot matrix LCD, sirinai, dan indikator LED. Rangkaian mikrokontroler ditunjukkan pada gambar berikut ini:


(46)

Gambar 3.3 rangkaian minimum mikrokontroller AT89S52

Pada rangkaian, Pin 31 External Access Enable (EA) diset high (H). Ini dilakukan karena mikrokontroller AT89S52 tidak menggunakan memori eskternal. Pin 18 dan 19 dihubungkan ke XTAL 12 MHz dan capasitor 33 pF. XTAL ini akan mempengaruhi kecepatan mikrokontroller AT89S52 dalam mengeksekusi setiap perintah dalam program. Pin 9 merupakan masukan reset (aktif tinggi). Pulsa transisi dari rendah ke tinggi akan me-reset mikrokontroller ini. Pin 32 sampai 39 adalah Port 0 yang merupakan saluran/bus I/O 8 bit open collector dapat juga digunakan sebagai multipleks bus alamat rendah dan bus data selama adanya akses ke memori program eksternal. Pada Port 0 ini masing masing pin dihubungkan dengan resistor 4k7 ohm. Resistor 4k7 ohm yan dihubungkan ke port 0 befungsi sebagai pull up( penaik tegangan ) agar output dari mikrokontroller dapat mntrigger transistor. Pin 1 sampai 8 adalah Port 1. Pin 21 sampai 28 adalah Port 2. Dan Pin 10 sampai 17 adalah Port 3. Pin 20 merupakan


(47)

Vreg

LM7805CT

IN OUT

TIP32C

100ohm

100uF

330ohm 220V 50Hz 0Deg

TS_PQ4_12

2200uF 1uF

1N5392GP 1N5392GP

12 Volt

5 Volt

ground dihubungkan dengan ground pada power supplay. Pin 40 merupakan sumber tegangan positif dihubungkan dengan + 5 volt dari power supplay.

3.1.4 Rangkaian Catu Daya (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.

Rangkaian power supplay ditunjukkan pada gambar 3.2 berikut ini :

Gambar 3.4 Rangkaian Power Supply (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


(48)

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 42C 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 penyearah.

3.1.5 Perancangan Driver penggerak Motor Stepper

Rangkaian driver penggerak motor ini hanya menggunakan IC buffer ULN 2803, dimana fungsi IC ini agar data yang yang diterima dari mikrokontroler benar-benar terdefinisi sebagai data digital (high/low) sehingga dat-data ini dapat mengatur gerakan motor stepper searah jarum jam, berlawanan jarum jam ataupun mengatur sudut putaran motor steper.


(49)

Gambar 3.5 IC ULN 2803 dan Driver Motor Stepper

Dimana IC ULN 2803 ini diaktifkan dengan tegangan supplay 12 VDC, mempunyai 8 bit data input dan 8 bit data output dimana tegangan supplay diberikan pada common (kaki 10) dan ground pada kaki 9. Tetapi pada rangkaian ini hanya digunakan 4 bit data untuk menggerakkan 1 motor stepper, kara motor stepper hanya memiliki 4 bit data yang dapat digerakkan dan diatur putaran nya baik searah maupun berlawanan jarum jam. Dimana pada alat ini motor stepper digerakkan 90 derajat searah jarum jam (palang pintu membuka) dan 90 derajat berlawanan jarum jam (palang pintu menutup).

3.1.6 Rangkaian Relay

Relay berfungsi sebagai saklar elektronik yang dapat menghidupkan atau mematikan peralatan elektronik (dalam hal sirinai). Rangkaian relay pengendali kipas tampak seperti gambar 3.7 berikut :


(50)

Ke mikrokontroler

4k7

C945

relay NO

Sirinai

+

-NO NC

Gambar 3.6 Rangkaian Relay Pengendali sirinai

Relay merupakan salah satu komponen elektronik yang terdiri dari lempengan logam sebagai saklar dan kumparan yang berfungsi untuk menghasilkan medan magnet. Pada rangkaian ini digunakan relay 12 volt.

Pada rangkaian ini untuk mengaktipkan atau menon-aktipkan relay digunakan transistor tipe NPN. Dari gambar dapat dilihat bahwa negatip relay dihubungkan ke kolektor dari transistor NPN (C945) dan positif relay dihubungkan pada tegangan 12 volt., ini berarti jika transistor dalam keadaan aktip maka kolektor akan terhubung ke emitor dimana emitor langsung terhubung ke ground yang menyebabkan tegangan di kolektor menjadi 0 volt, keadaan ini akan mengakibatkan relay aktip. Disaat relay aktif maka kaki-kaki relay yang berfungsi sebagai Normali Close sudah mendapatkan tegangan 12 volt. Sementara kaki-kaki relay yang berfungsi sebagai Normali open masih belum mendapatkan tegangan 12 volt sebelum ada inputan (inputan berupa logika high atau 5 volt). Sebaliknya jika transistor tidak aktip, maka kolektor tidak terhubung ke emitor, sehingga tegangan pada kolektor menjadi 12 volt, keadaan ini menyebabkan relay tidak aktip. Resistor didalam rangkaian berfungsi sebagai pull up untuk


(51)

menaikkan tegangan agar inputan mikrokontroler sanggup mengaktifkan relay. Dioda dihubungkan secara terbalik untuk mengantisipasi sentakan listrik yang terjadi pada saat relay berganti posisi dari on ke off agar tidak merusak komponen di sekitarnya, sentakan itu hanya terjadi ketika relay dinonaktipkan, pada saat ini arus akan terus mengalir melalui kumparan dan arus ini akan dialirkan ke dioda. Tanpa adanya dioda sentakan listrik itu akan mengalir ke transistor, yang mengakibatkan kerusakan pada transistor.

3.1.7 Indikator LED

Rangkaian indikator led dibuat denggan menggunakan sistem aktif high, maksudnya led akan hidup jika inputnya diberi logika high dan led akan mati jika inputnya diberi logika low.

INPUT

Gambar 3.7 Rangkaian LED dengan sistem Aktif High

Kemudian hidup/matinya LED diatur secara program sehingga nyala LED dapat dimodifikasi sesuai diinginkan.

3.1.8 Display LCD Character 2x16

Display LCD 2x16 berfungsi sebagai penampil nilai kuat induksi medan elektromagnetik yang terukur oleh alat. LCD yang digunakan pada alat ini


(52)

mempunyai lebar display 2 baris 16 kolom atau biasa disebut sebagai LCD Character 2x16, dengan 16 pin konektor, yang didifinisikan sebagai berikut:

PIN Nama fungsi

1 VSS Ground voltage

2 VCC +5V

3 VEE Contrast voltage

4 RS

Register Select

0 = Instruction Register 1 = Data Register

5 R/W

Read/ Write, to choose write or read mode

0 = write mode 1 = read mode

6 E

Enable

0 = start to lacht data to LCD character

1= disable

7 DB0 LSB

8 DB1 -

9 DB2 -

10 DB3 -

11 DB4 -

12 DB5 -

13 DB6 -

14 DB7 MSB

15 BPL Back Plane Light

16 GND Ground voltage


(53)

Gambar 3.8 LCD character 2x16

Modul LCD terdiri dari sejumlah memory yang digunakan untuk display. Semua teks yang kita tuliskan ke modul LCD akan disimpan didalam memory ini, dan modul LCD secara berturutan membaca memory ini untuk menampilkan teks ke modul LCD itu sendiri.

Gambar 3.9 Peta memory LCD character 2x16

Pada peta memori diatas, daerah yang berwarna biru ( 00 s/d 0F dan 40 s/d 4F ) adalah display yang tampak. jumlahnya sebanyak 16 karakter per baris dengan dua baris. Angka pada setiap kotak adalah alamat memori yang bersesuaian dengan posisi dari layar. Dengan demikian dapat dilihat karakter pertama yang berada pada posisi baris pertama menempati alamat 00h. dan karakter kedua yang berada pada posisi baris kedua menempati alamat 40h

Agar dapat menampilkan karakter pada display maka posisi kursor harus terlebih dahulu diset. Instruksi Set Posisi Kursor adalah 80h. dengan demikian untuk menampilkan karakter, nilai yang terdapat pada memory harus ditambahkan dengan 80h.


(54)

Sebagai contoh, jika kita ingin menampilkan huruf “B” pada baris kedua pada posisi kolom kesepuluh.maka sesuai dengan peta memory, posisi karakter pada kolom 10 dari baris kedua mempunyai alamat 4Ah, sehingga sebelum kita menampilkan huruf “B” pada LCD, kita harus mengirim instruksi set posisi kursor, dan perintah untuk instruksi ini adalah 80h ditambah dengan alamat 80h + 4Ah =0Cah. Sehingga dengan mengirim perintah 0Cah ke LCD, akan menempatkan kursor pada baris kedua dan kolom ke 11.

3.2 Perancangan Program

Alat ini dirancang untuk membuka dan menutup palang kreta api secara otomatis. Diagram alir dari program yang akan dibuat adalah sebgai berikut:

Start Sensor 1 terdeteksi ? Tampilkan pesan Sensor 2 terdeteksi ? Hidupkan LED kuning Tampilkan pesan Hidupkan LED merah Hidupkan Sirinai Sensor 3 terdeteksi ? Tampilkan pesan Hidupkan LED hijau Tutup Palang Buka Palang Ya Ya Ya Tidak Tidak Tidak

Gambar.3.10 FlowChart Program


(55)

Program diawali dengan start, kemudian program akan mengecek apakah sensor 1 terdeteksi (artinya, kereta api sudah dekat dan hendak melewati batas jalan diharapkan pengguna jalan berhati-hati) jika ya, maka program akan menampilkan pesan hati-hati karena keret api hendak lewat pada LCD secara dan menyalakan indikator led kuning yang bearti hati-hati. Jika tidak maka program akan mengecek apakah sensor 2 terdeteksi(artinya, kereta api akan melewati batas jalan pengguna jalan harus berhenti) jika ya, maka program akan menampilkan pesan berhenti kepada pengguna jalan, menyalakan led indikator merah yang berarti berhenti dan mengaktifkan sirinai agar pengguna jalan benar-benar mengetahui kereta api akan segera melewati batas jalan. Jika tidak program akan kembali mengecek apakah sensor 3 terdeteksi( artinya, kereta api telah melewati batas jalan pangguna jalan sudah boleh jalan kembali ) jika ya, maka program akan menampilkan pesan silahkan jalan dan menyalakan lampu hijau yang artinya silahkan jalan. Jika tidak maka program akan kembali ke rutin pengecekan sensor. Program akan bekerja secara terus-menerus mengikuti siklus rutin dari perancangan palang kereta api otomatis menggunakan sensor optocoupler berbasis mikrokontroler AT89S52.

Program Simulasi Palang Kereta Api Menggunakan Sensor Optocoupler Berbasis Mikrokontroler:

lampu_k equ p3.6 lampu_m equ p3.5 lampu_i equ p3.7 sensor1 equ p2.3 sensor2 equ p2.2


(56)

sensor3 equ p2.4 stepper equ p1 alarm equ p2.1

RS EQU P2.5 RW EQU P2.6 EN EQU P2.7 clr lampu_k

clr lampu_m clr lampu_i clr alarm setb lampu_i

kelap_kelip: setb p3.0 acall utama acall delaymax clr p3.0

setb p3.1 acall utama acall delaymax clr p3.1

setb p3.2 acall utama


(57)

acall delaymax clr p3.2

setb p3.3 acall utama acall delaymax clr p3.3

setb p3.4 acall utama acall delaymax clr p3.4

sjmp kelap_kelip

utama:

jnb sensor1,lampu_kuning jnb sensor2,tutup_gerbang jnb sensor3,lompat

ret lompat:

ajmp buka_gerbang

lampu_kuning:

jb sensor1,kelap_kelip clr alarm


(58)

setb lampu_k clr lampu_m clr lampu_i hati_hati: mov 20h,#' ' mov 21h,#' ' mov 22h,#' ' mov 23h,#'H' mov 24h,#'A' mov 25h,#'T' mov 26h,#'I' mov 27h,#'-' mov 28h,#'H' mov 29h,#'A' mov 2ah,#'T' mov 2bh,#'I' mov 2ch,#' ' mov 2dh,#' ' mov 2eh,#' ' mov 2fh,#' ' mov 30h,#'K' mov 31h,#'E' mov 32h,#'R' mov 33h,#'E'


(59)

mov 34h,#'T' mov 35h,#'A' mov 36h,#' ' mov 37h,#'A' mov 38h,#'P' mov 39h,#'I' mov 3ah,#' ' mov 3bh,#'L' mov 3ch,#'E' mov 3dh,#'W' mov 3eh,#'A' mov 3fh,#'T' acall lcd

sjmp lampu_kuning

LEMOT:

ajmp kelap_kelip

tutup_gerbang: jb sensor2,LEMOT setb alarm

clr lampu_k setb lampu_m clr lampu_i


(60)

kereta_lewat: mov 20h,#' ' mov 21h,#' ' mov 22h,#' ' mov 23h,#'D' mov 24h,#'I' mov 25h,#'H' mov 26h,#'A' mov 27h,#'R' mov 28h,#'A' mov 29h,#'P' mov 2ah,#'K' mov 2bh,#'A' mov 2ch,#'N' mov 2dh,#' ' mov 2eh,#' ' mov 2fh,#' ' mov 30h,#' ' mov 31h,#' ' mov 32h,#'B' mov 33h,#'E' mov 34h,#'R' mov 35h,#'H' mov 36h,#'E'


(61)

mov 37h,#'N' mov 38h,#'T' mov 39h,#'I' mov 3ah,#'!' mov 3bh,#'!' mov 3ch,#'!' mov 3dh,#' ' mov 3eh,#' ' mov 3fh,#' ' acall lcd tutup: mov a,#11h mov r0,#50 tarik:

mov stepper,a rr a

acall delay djnz r0,tarik

sjmp tutup_gerbang

lompat_lagi: ajmp kelap_kelip


(62)

buka_gerbang:

jb sensor3,lompat_lagi clr lampu_k

clr lampu_m setb lampu_i

kereta_selesai: clr alarm mov 20h,#' ' mov 21h,#' ' mov 22h,#' ' mov 23h,#' ' mov 24h,#'S' mov 25h,#'I' mov 26h,#'L' mov 27h,#'A' mov 28h,#'H' mov 29h,#'K' mov 2ah,#'A' mov 2bh,#'N' mov 2ch,#' ' mov 2dh,#' ' mov 2eh,#' '


(63)

mov 2fh,#' ' mov 30h,#' ' mov 31h,#' ' mov 32h,#' ' mov 33h,#' ' mov 34h,#'L' mov 35h,#'E' mov 36h,#'W' mov 37h,#'A' mov 38h,#'T' mov 39h,#'!' mov 3ah,#'!' mov 3bh,#'!' mov 3ch,#' ' mov 3dh,#' ' mov 3eh,#' ' mov 3fh,#' ' acall lcd buka: mov a,#11h mov r0,#50 naik:

mov stepper,a rl a


(64)

acall delay djnz r0,naik ajmp kelap_kelip

lcd: MOV A,#038H LCALL SCAN ACALL PENAMPIL ACALL SCAN MOV A,20h ACALL KIRIM MOV A,21h ACALL KIRIM MOV A,22h ACALL KIRIM MOV A,23h ACALL KIRIM MOV A,24h ACALL KIRIM MOV A,25h ACALL KIRIM MOV A,26h ACALL KIRIM


(65)

MOV A,27h ACALL KIRIM MOV A,28h ACALL KIRIM MOV A,29h ACALL KIRIM MOV A,2ah ACALL KIRIM MOV A,2bh ACALL KIRIM MOV A,2ch ACALL KIRIM MOV A,2dh ACALL KIRIM MOV A,2eh ACALL KIRIM MOV A,2fh ACALL KIRIM

MOV A,#0c0H LCALL SCAN MOV A,30h ACALL KIRIM


(66)

MOV A,31h ACALL KIRIM MOV A,32h ACALL KIRIM MOV A,33h ACALL KIRIM MOV A,34h ACALL KIRIM MOV A,35h ACALL KIRIM MOV A,36h ACALL KIRIM MOV A,37h ACALL KIRIM MOV A,38h ACALL KIRIM MOV A,39h ACALL KIRIM MOV A,3ah ACALL KIRIM MOV A,3bh ACALL KIRIM MOV A,3ch ACALL KIRIM


(67)

MOV A,3dh ACALL KIRIM MOV A,3eh ACALL KIRIM MOV A,3fh ACALL KIRIM ret

PENAMPIL: MOV A,#00CH LCALL SCAN

MOV A,#006H LCALL SCAN MOV A,#080H LCALL SCAN RET

SCAN: MOV P0,A CLR RS

CLR RW SETB EN


(68)

LCALL delay RET

KIRIM: MOV P0,A SETB RS

CLR RW SETB EN CLR EN

LCALL delay RET

DELAY: MOV R6,#20 HERE2: MOV R7,#255 HERE: DJNZ R7,$ DJNZ R6,HERE2 RET

DELAYmax: MOV R6,#60 HER: MOV R7,#255

HEE: DJNZ R7,$ DJNZ R6,HEE RET end


(69)

BAB 4

PENGUJIAN RANGKAIAN DAN ANALISA

4.1 Pengujian Rangkaian

4.1.1 Pengujian Rangkaian Mikrokontroler AT89S52

Pengujian pada rangkaian mikrokontroler AT89S52 ini dapat dilakukan dengan menghubungkan rangkaian minimum mikrokontroler AT89S52 dengan power suplay sebagai sumber tegangan. Kaki 40 dihubungkan dengan sumber tegangan 5 Volt, sedangkan kaki 20 dihubungkan dengan ground.

Gambar 4.1 pengujian rangkaian mikrokontroller AT89S52

Kemudian tegangan pada kaki 40 diukur dengan menggunakan Voltmeter. Dari hasil pengujian didapatkan tegangan pada kaki 40 sebesar 4,9 Volt. Langkah selanjutnya adalah dengan cara menghubungkan pin17 (P3.7) dengan sebuah transistor C945 yang dihubungkan dengan sebuah LED indikator.

AT89S52 AT89S52


(70)

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 NPN C945, dimana transistor ini akan aktif (saturasi) jika pada basis diberi tegangan 5 volt (logika high) dan transistor ini akan tidak aktif jika pada basis diberi tegangan 0 volt (logika low). Basis transistor ini dihubungkan ke sebuah resistor 4k7 ohm. , resistor ini berfungsi agar arus yang dikeluarkan oleh pin17 (P3.7) cukup besar untuk men-trigger transistor C945. selanjutnya program sederhana diisikan pada mikrokontroler AT89S52. Program yang diisikan adalah sebagai berikut :

Loop:

Setb p3.7 Call delay Clr p3.7 Call delay Jmp loop Delay:

Mov r7,#255 Dly:

Mov r6,#255 Djnz r6,$ Djnz r7,dly Ret

end

Program di atas bertujuan untuk menghidupkan LED yang terhubung ke P3.7 beberapa saat dan kemudian mematikannya. Perintah Setb P3.7 akan menjadikan P3.7 berlogika high yang menyebabkan transistor C945 aktif dan


(71)

LED akan menyala. Call delay akan menyebabkan LED ini hidup selama beberapa saat. Perintah Clr P3.7 akan menjadikan P3.7 berlogika low yang menyebabkan transistor tidak aktif dan LED akan mati. Perintah call delay akan menyebabkan LED ini mati selama beberapa saat. Perintah jmp Loop akan menjadikan program tersebut berulang, sehingga akan tampak LED tersebut berkedip.

Jika program tersebut diisikan ke mikrokontroller AT89S51, kemudian mikrokontroller dapat berjalan sesuai dengan program yang diisikan, maka rangkaian minimum mikrokontroller AT89S52 telah bekerja dengan baik.

4.1.2 Pengujian Rangkaian Sensor Optocoupler

Pengujian rangakaian sensor optocoupler dapat dilakukan dengan cara menghubungkan tegangan kerja Vcc dengan 5 volt dan ground. Sensor optocoupler dihubungkan transistor C945 yang difungsikan sebagai saklar agar dapat mendefinisikan data digital high/low. Dan IC 7414 difungsikan sebagai IC inverter (pembalik) data high dibalik menjadi dat low dan sebaliknya sekaligus IC ini dapat meratakan pulsa high atau low yang dikeluarkan oleh sensor optocoupler. kemudian memberikan halangan diantara LED infra merah dan fototransistor dan keluaran (out) dari rangkaian dihubungkan dengan menggunakan LED sebagai indikator.


(72)

Gambar 4.2 Rangkaian Penguat Sinyal Optocoupler dengan indikator LED

Artinya jika ada terdapat halangan yang mengenai sensor maka led akan mati sebaliknya jika tidak terdapat halangan mengenai sensor maka led akan high.

4.1.3 Pengujian Rangkaian Driver Motor Stepper

Rangkaian untuk mengendalikan perputaran motor Motor stepper


(73)

Untuk menguji rangkaian ini untuk memutar searah jarum jam, yaitu Utama:

Mov p1#11h call delay Mov p1#22h call delay Mov p1#44h call delay Mov p1#88h call delay sjmp utama Delay:

Mov r7,#255 Dly:

Mov r6,#255 Djnz r6,$ Djnz r7,dly Ret

end

program diatas akan memutar motor stepper searah jarum jam dimana 4 bit data dari motor stepper diisi dengan data masing-masing p1.0 -11h, p1.1 – 22h, p1.2 – 44h dan p1.3 – 88 h, setiap data selalu diberi waktu tunda agar data dapat bergeser bergantian dari 11h – 88h. Dengan ada nya perintah sjmp utama maka siklus terus berlanjut sehingga motor stepper akan terus berputar searah jarum jam.

Utama: Mov p1#88h call delay


(74)

Mov p1#44h call delay Mov p1#22h call delay Mov p1#11h call delay sjmp utama Delay:

Mov r7,#255 Dly:

Mov r6,#255 Djnz r6,$ Djnz r7,dly Ret

end

program diatas akan memutar motor stepper berlawanan jarum jam dimana 4 bit data dari motor stepper diisi dengan data masing-masing p1.0 -88h, p1.1 – 44h, p1.2 – 22h dan p1.3 – 11h, setiap data selalu diberi waktu tunda agar data dapat bergeser bergantian dari 88h – 11h. Dengan ada nya perintah sjmp utama maka siklus terus berlanjut sehingga motor stepper akan terus berputar searah jarum jam.

4.1.4 Pengujian Rangkaian PSA

Rangkaian PSA ini berfungsi untuk mensuplay tegangan ke seluruh rangkaian ditunjukkan oleh gambar berikut


(75)

Vreg LM7805CT

IN OUT TIP32C

100ohm

100uF

330ohm 220V 50Hz 0Deg

TS_PQ4_12

2200uF 1uF 1N5392GP

1N5392GP

12 Volt

5 Volt

Gambar 4.4 Rangkaian PSA

Pengujian pada bagian rangkaian power supply ini dapat dilakukan dengan mengukur tegangan keluaran dari rangkaian ini dengan menggunakan Voltmeter. Pada power supply ini terdapat dua keluaran. Tegangan power supply ini digunakan untuk men-supply tegangan ke seluruh rangkaian. Mikrokontroler AT89S51 dapat bekerja pada tegangan 4,0 Volt sampai 5,5 Volt ini cukup men-supply tegangan mikrikontroler AT89S51. Rangkaian PSA ini dikatakan baik ketika nilai tegangan outputnya berkisar antara 4,5 Volt hingga 5,0 Volt.

4.1.5 Pengujian Rangkaian Sirinai

Pengujian pada rangkaian buzzer ini dapat dilakukan dengan memberikan tegangan 5 volt dan 0 volt pada basis transistor C945. Transistor C945 merupakan transistor jenis NPN, transistor jenis ini akan aktip jika pada basis diberi tegangan > 0,7 volt dan tidak aktip jika pada basis diberi tegangan < 0,7 volt. Aktipnya transistor akan membunyikan buzzer.


(76)

Selanjutnya buzzer dihubungkan dengan mikrokontroler dan mikrokontroler diberi program sederhana untuk megaktipkan buzzer. Program yang diisikan ke mikrokontroler untuk mengaktipkan buzzer adalah :

Setb P0.0

. . .

Perintah di atas akan memberikan logika high (1) atau tegangan 5 volt. pada P0.0, sehingga dengan demikian buzzer akan berbunyi.

4.1.6 Pengujian rangkaian led

Pada rangkaian indikator LED digunakan prinsip aktif high, artinya lED akan hidup jika mendapat logika HIGH (VCC) dan mati jika mendapat logika LOW (Ground).

INPUT

Gambar 4.5 Rangkaian LED dengan sistem Aktif High

Secara manual rangkaian LED dapat diaktifkan jika bagian input diberi logika high(dihubungkan ke Vcc 5 Volt) maka LED akan menyala, jika bagian input diberi logika low(dihubungkan ke Groung 0 Volt) maka LED akan mati.


(77)

Secara program : Utama :

Setb p3.0 call delay Clr p3.0 call delay sjmp utama

Delay:

Mov r7,#255 Dly:

Mov r6,#255 Djnz r6,$ Djnz r7,dly Ret

end

dari program diatas maka LED yang terhubung ke P3.0 akan secara bergantian hidup dan mati dengan ada nya delay sehingga dapat terjadinya proses pergantian antara hidup dan mati. Setb (mengaktifkan/menghidupkan) dan clr

(menonaktifkan/mematikan). Sjmp utama difungsikan agar program akan terus bekerja untuk menghidupkan dan mematikan LED.

4.1.7 Pengujian LCD

Bagian ini hanya terdiri dari sebuah LCD dot matriks 2 x 16 karakter yang berfungsi sebagai tampilan hasil pengukuran dan tampilan dari beberapa keterangan. LCD dihubungkan langsung ke Port 0 dari mikrokontroler yang berfungsi mengirimkan data hasil pengolahan untuk ditampilkan dalam bentuk alfabet dan numerik pada LCD.


(78)

AT89S52

AT89S52

Gambar 4.6 Interfacing LCD 2x16 dengan mikrokontroller AT89S52

Display karakter pada LCD diatur oleh pin EN, RS dan RW: Jalur EN dinamakan Enable. Jalur ini digunakan untuk memberitahu LCD bahwa anda sedang mengirimkan sebuah data. Untuk mengirimkan data ke LCD, maka melalui program EN harus dibuat logika low “0” dan set ( high ) pada dua jalur kontrol yang lain RS dan RW. Jalur RW adalah jalur kontrol Read/ Write. Ketika RW berlogika low (0), maka informasi pada bus data akan dituliskan pada layar LCD. Ketika RW berlogika high ”1”, maka program akan melakukan pembacaan memori dari LCD. Sedangkan pada aplikasi umum pin RW selalu diberi logika low ( 0 )

berdasarkan keterangan di atas maka kita sudah dapat membuat progam untuk menampilkan karaker pada display LCD. Adapun program yang diisikan ke mikrokontroller untuk menampilkan karakter pada display LCD adalah sebagai berikut:

rs bit p2.0

rw bit p2.1


(79)

kirim_karakter: call data_penampil mov a,#'H' call kirim_data mov a,#'e' call kirim_data mov a,#'l' call kirim_data mov a,#'l' call kirim_data mov a,#'o' call kirim_data jmp kirim_karakter data_penampil:

mov a,#80h ;posisi awal karakter

call data_scan ret kirim_data: mov p0,a setb rs clr rw clr en call delay ret end

Program di atas akan menampilkan kata “Hello” di baris pertama pada display LCD 2x16.

Pada alat dalam alat ini, LCD akan menampilkan HATI-HATI KERETA API MAU LEWAT pada saat sensor optocoupler 1 terdeteksi, menampilkan BERHENTI pada saat sensor optocoupler 2 terdeteksi, dan menampilkan SILAHKAN JALAN pada saat sensor optocoupler 3 terdeteksi.


(80)

BAB 5

KESIMPULAN DAN SARAN 5.1 Kesimpulan

1. Alat yang dibuat hanya mampu mengetahui kereta api baik pada saat kereta api ingin melewati batas jalan, sedang melewati batas jalan maupun pada saat kereta api sudah melewati batas jalan serta dilengkapi indikator LCD 2 x 16, LED, dan Sirinai.

2. Sensor Optocoupler adalah salah satu sensor yang efektif dalam mendeteksi keberadaan kereta api yang hendak melewati batas jalan.

3. Mikrokontroler merupakan pusat pengolah data yang cukup handal dalam mendeteksi keberadaan kereta api dengan sistem palang otomatis.

4. Palang kereta api otomatis menggunakan sensor optocoupler berbasis mikrokontroler ini dapat bekerja cepat dan teliti dalam mengetahui keberadaan keberadaan kereta api dengan tindakan palang kereta yang digerakkan secara otomatis.

5.2 Saran

1. Agar rangkaian yang digunakan tidak terganggu, sebaiknya alat ini dikemas dalam bentuk yang lebih aman dan terlindungi, sehingga penggunaannya lebih efektif.

2. Alangkah baiknya alat ini dapat dikembangkan sehingga dapat disosialisasikan di kalangan masyarakat.


(81)

DAFTAR PUSTAKA

Agfianto Eko Putra, 2002, ”Belajar Mikrokontroler AT89S51/52/653 Teori dan Aplikasi”, Edisi 2, Yogyakarta : Penerbit Gava Media.

Bhisop, Owen, 2004, Dasar-dasar Elektronika, Jakarta : Erlangga

Endra Pirowarno, 1998, ” Mikroprocessor dan Interfacing”, Edisi 1, Yogyakarta : Penerbit Andi.

Usman, 2008, ”Teknik Antarmuka + Pemograman Mikrokontroler AT89S52 ”, Edisi 1, Yogyakarta : Penerbit Andi.

Widodo Budiharto, 2007, ”Sistem Akuisisi Data”, Jakarta : Penerbit PT Elex Media Komputindo.

Diakses tanggal 15 Desember 2009


(1)

Selanjutnya buzzer dihubungkan dengan mikrokontroler dan mikrokontroler diberi program sederhana untuk megaktipkan buzzer. Program yang diisikan ke mikrokontroler untuk mengaktipkan buzzer adalah :

Setb P0.0

. . .

Perintah di atas akan memberikan logika high (1) atau tegangan 5 volt. pada P0.0, sehingga dengan demikian buzzer akan berbunyi.

4.1.6 Pengujian rangkaian led

Pada rangkaian indikator LED digunakan prinsip aktif high, artinya lED akan hidup jika mendapat logika HIGH (VCC) dan mati jika mendapat logika LOW (Ground).

INPUT

Gambar 4.5 Rangkaian LED dengan sistem Aktif High

Secara manual rangkaian LED dapat diaktifkan jika bagian input diberi logika high(dihubungkan ke Vcc 5 Volt) maka LED akan menyala, jika bagian input diberi logika low(dihubungkan ke Groung 0 Volt) maka LED akan mati.


(2)

Secara program : Utama :

Setb p3.0 call delay Clr p3.0 call delay sjmp utama

Delay:

Mov r7,#255 Dly:

Mov r6,#255 Djnz r6,$ Djnz r7,dly Ret

end

dari program diatas maka LED yang terhubung ke P3.0 akan secara bergantian hidup dan mati dengan ada nya delay sehingga dapat terjadinya proses pergantian antara hidup dan mati. Setb (mengaktifkan/menghidupkan) dan clr

(menonaktifkan/mematikan). Sjmp utama difungsikan agar program akan terus bekerja untuk menghidupkan dan mematikan LED.

4.1.7 Pengujian LCD

Bagian ini hanya terdiri dari sebuah LCD dot matriks 2 x 16 karakter yang berfungsi sebagai tampilan hasil pengukuran dan tampilan dari beberapa keterangan. LCD dihubungkan langsung ke Port 0 dari mikrokontroler yang berfungsi mengirimkan data hasil pengolahan untuk ditampilkan dalam bentuk alfabet dan numerik pada LCD.


(3)

AT89S52

AT89S52

Gambar 4.6 Interfacing LCD 2x16 dengan mikrokontroller AT89S52

Display karakter pada LCD diatur oleh pin EN, RS dan RW: Jalur EN dinamakan Enable. Jalur ini digunakan untuk memberitahu LCD bahwa anda sedang mengirimkan sebuah data. Untuk mengirimkan data ke LCD, maka melalui program EN harus dibuat logika low “0” dan set ( high ) pada dua jalur kontrol yang lain RS dan RW. Jalur RW adalah jalur kontrol Read/ Write. Ketika RW berlogika low (0), maka informasi pada bus data akan dituliskan pada layar LCD. Ketika RW berlogika high ”1”, maka program akan melakukan pembacaan memori dari LCD. Sedangkan pada aplikasi umum pin RW selalu diberi logika low ( 0 )

berdasarkan keterangan di atas maka kita sudah dapat membuat progam untuk menampilkan karaker pada display LCD. Adapun program yang diisikan ke mikrokontroller untuk menampilkan karakter pada display LCD adalah sebagai berikut:

rs bit p2.0 rw bit p2.1 en bit p2.2


(4)

kirim_karakter:

call data_penampil mov a,#'H'

call kirim_data mov a,#'e' call kirim_data mov a,#'l' call kirim_data mov a,#'l' call kirim_data mov a,#'o' call kirim_data jmp kirim_karakter

data_penampil:

mov a,#80h ;posisi awal karakter

call data_scan ret

kirim_data: mov p0,a setb rs clr rw clr en call delay ret

end

Program di atas akan menampilkan kata “Hello” di baris pertama pada display LCD 2x16.

Pada alat dalam alat ini, LCD akan menampilkan HATI-HATI KERETA API MAU LEWAT pada saat sensor optocoupler 1 terdeteksi, menampilkan BERHENTI pada saat sensor optocoupler 2 terdeteksi, dan menampilkan SILAHKAN JALAN pada saat sensor optocoupler 3 terdeteksi.


(5)

BAB 5

KESIMPULAN DAN SARAN 5.1 Kesimpulan

1. Alat yang dibuat hanya mampu mengetahui kereta api baik pada saat kereta api ingin melewati batas jalan, sedang melewati batas jalan maupun pada saat kereta api sudah melewati batas jalan serta dilengkapi indikator LCD 2 x 16, LED, dan Sirinai.

2. Sensor Optocoupler adalah salah satu sensor yang efektif dalam mendeteksi keberadaan kereta api yang hendak melewati batas jalan.

3. Mikrokontroler merupakan pusat pengolah data yang cukup handal dalam mendeteksi keberadaan kereta api dengan sistem palang otomatis.

4. Palang kereta api otomatis menggunakan sensor optocoupler berbasis mikrokontroler ini dapat bekerja cepat dan teliti dalam mengetahui keberadaan keberadaan kereta api dengan tindakan palang kereta yang digerakkan secara otomatis.

5.2 Saran

1. Agar rangkaian yang digunakan tidak terganggu, sebaiknya alat ini dikemas dalam bentuk yang lebih aman dan terlindungi, sehingga penggunaannya lebih efektif.

2. Alangkah baiknya alat ini dapat dikembangkan sehingga dapat disosialisasikan di kalangan masyarakat.


(6)

DAFTAR PUSTAKA

Agfianto Eko Putra, 2002, ”Belajar Mikrokontroler AT89S51/52/653 Teori dan Aplikasi”, Edisi 2, Yogyakarta : Penerbit Gava Media.

Bhisop, Owen, 2004, Dasar-dasar Elektronika, Jakarta : Erlangga

Endra Pirowarno, 1998, ” Mikroprocessor dan Interfacing”, Edisi 1, Yogyakarta : Penerbit Andi.

Usman, 2008, ”Teknik Antarmuka + Pemograman Mikrokontroler AT89S52 ”, Edisi 1, Yogyakarta : Penerbit Andi.

Widodo Budiharto, 2007, ”Sistem Akuisisi Data”, Jakarta : Penerbit PT Elex Media Komputindo.

Diakses tanggal 15 Desember 2009