APLIKASI MIKROKONTROLER AT89S51 sebagai BASIS pada SIMULASI PALANG KERETA API dengan TAMPILAN RUNNING TEXT
TUGAS AKHIR
MONA FARIDA LUMBANTORUAN 062408017
PROGRAM STUDI D3 FISIKA INSTRUMENTASI DEPARTEMEN FISIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA MEDAN 2009
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
APLIKASI MIKROKONTROLER AT89S51 sebagai BASIS pada SIMULASI PALANG KERETA API dengan TAMPILAN RUNNING TEXT
TUGAS AKHIR Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh Ahli Madya
MONA FARIDA LUMBANTORUAN 062408017
PROGRAM STUDI D3 FISIKA INSTRUMENTASI DEPARTEMEN FISIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA MEDAN 2009 Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
PERSETUJUAN
Judul
: APLIKASI MIKROKONTROLER AT89S51 Sebagai BASIS pada SIMULASI PALANG
KERETA API dengan TAMPILAN RUNNING TEXT Kategori
: TUGAS AKHIR
Nama
: MONA FARIDA LUMBANTORUAN
Nim
: 062408017
Program Studi INSTRUMENTASI
: DIPLOMA TIGA(D3) FISIKA
Departemen
: FISIKA
Fakultas ALAM
: MATEMATIKA DAN ILMU PENGTEHUAN ( FMIPA) UNIVERSITAS SUMATERA UTARA
Diluluskan di Medan, Juli 2009
Diketahui Departemen Fisika FMIPA USU
Pembimbing
Ketua Program Studi D3 FIN
Drs.Syahrul Humaidi,M.Sc NIP 132 050 870
Drs.Takdir Tamba,M.Eng.Sc NIP 131 569 414
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
PERNYATAAN APLIKASI MIKROKONTROLER AT89S51 sebagai BASIS pada SIMULASI PALANG KERETA API dengan TAMPILAN RUNNING TEXT
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, Juli 2009
Mona Farida Lumbantoruan 062408017
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
PENGHARGAAN Puji dan syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa atas berkat dan kasih-Nya yang telah memberikan kekuatan,kebijaksanaan ,ilmu pengetahuan terlebihlebih kesehatan yang melimpah dalam menyelesaikan laporan tugas akhir dengan judul:”Aplikasi Mikrokontroler AT89S51 sebagai Basis pada Simulasi Palang Kereta Api dengan Tampilan Running Text”. Laporan ini disusun untuk menyelesaikan mata kuliah Tugas Akhir semester VI Program pendidikan Diploma III program Studi Fisika Instrumentasi.Laporan ini disusun berdasarkan pengalaman dan kegiatan yang penulis lakukan selama masa perkuliahan. Dalam penulisan laporan ini penulis banyak mendapatkan bantuan baik moral maupun material dari berbagai pihak,dan pada kesempatan ini penulis mengucapkan terimakasih sebesar-besarnya kepada: 1. Bapak Dr.Eddy Marlianto,M.Sc,selaku dekan Fakultas Matematika dan Ilm Pengetahuan Alam. 2. Bapak Drs.Syahrul Humaidi,M.Sc ,selaku Ketua Jurusan Program Studi Fisika Instrumentasi Fakultas Matematika dan Ilmu Pengetahuan Alam 3. Bapak Drs.Takdir Tamba,M.Eng.Sc,selaku Dosen pembimbing proyek. 4. Seluruh staff pengajar Universitas Sumatera Utara khususnya Program Studi Fisika Instrumentasi. 5. Seluruh keluarga yang telah banyak memberikan dukungan dan perhatian kepada penulis. 6. Bang Andika yang telah banyak memberikan bantuan pikiran dan semangat dalam Menyelesaikan proyek tugas akhir tersebut. Teristimewa penulis sangat berterimakasih dengan penuh rasa hormat dan penghargaan yang setulusnya kepada kedua orangtua tercinta yaitu untuk Ayahanda
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
M.Lumbantoruan dan Ibunda M. Nababan yang memberikan dukungan materi dan doa kepada penulis yang tidak dapat dibalas dengan apapun juga. Penulis menyadari bahwa masih ada kekurangan dalam pembuatan Tugas Akhir ini,untuk itu dengan segala kerendahan hati penulis menerima segala kritik dan saran yang bersifat membangun demi peningkatan mutu dan kualitas serta kesempurnaan dari Tugas Akhir ini. Akhirnya penulis kembali mengucapkan terimakasih banyak buat semua pihak yang telah membantu penulis dalam menyelesaiakan laporan tugas Akhir ini.Semoga Tugas Akhir ini bermanfaat bagi siapapun juga yang membacanya.
Medan,
Juni 2009
Mona Farida Lumbantoruan NIM: 062408017
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
ABSTRAK Kecelakan merupakan musibah yang datang tiba-tiba dan tak jarang membuat nyawa yang mengalaminya melayang dalam hitungan waktu yang sangat singkat.Namun hal itu dapat teratasi seiring dengan perkembangan dunia teknologi yang membuat sesuatu pekerjaan yang biasanya dikerjakan secara manual namun karena perkembangan terknologi yang semakin pesat membuat segala sesuatunya secara otomatis yang tak luput dari
peranan
aplikasi
terknologi
tersebut.
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
DAFTAR ISI
Halaman Lembar Persetujuan………………………………………………………........i Lembar Pernyataan……………………………………………………………ii Penghargaan ................................................................................................. iii Abstrak………………………………………………………………………..vi Daftar Isi……………………………………………………………………..vii Daftar Gambar………………………………………………………………...x Daftar Tabel…………………………………………………………………..xi
BAB 1 PENDAHULUAN 1.1 Latar Belakang ............................................................................. 1 1.2 Tujuan Penulis ............................................................................. 2 1.3 Batasan Masalah .......................................................................... 3 1.4 Metode Pengumpulan Data........................................................... 4 1.5 Sistematika Penulisan ................................................................... 4
BAB 2 LANDASAN TEORI 2.1 Perangkat Keras ........................................................................... 8 2.1.1 Arsitektur AT89S51....................................................... 8 2.1.1.1 Pena-Pena Mikrokontroler AT89S51…………..10 Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
2.1.1.2 Proses pembacaan ............................................ 13 2.1.1.3 Pewaktu dan Pencacah (Timer/Counter) ........... 16 2.1.1.4 Interupsi dari Pewaktu dan Pencacah ................ 20 2.1.1.5 Komunikasi SErialAsinkron ............................. 20 2.1.1.6 Pengaturan Kecepatan Transmisi………………20 2.1.2
Power Supplay……………………………………… 24
2.1.3
Motor DC ................................................................. 25
2.1.4
Sensor Inframerah ..................................................... 30
2.1.5
Photodioda ................................................................ 33
2.1.6
Perancangan Driver Penggerak Motor DC ( Jembatan H )........................................................... 36
2.1.7
Buzzer ...................................................................... 39
2.1.8
Running Text ............................................................ 40
2.2 Perangkat Lunak ........................................................................ 40 2.2.1 Bahasa Assembly MCS-51........................................... 40 2.2.2 Software 8051 Editor, Assembler, simulator(IDE) ....... 46 2.2.3 Sofware Downloader ................................................... 47
BAB 3 PERANCANGAN ALAT DAN PERANCANGAN PROGRAM 3.1 Perancangan Alat…………………………………………………48 3.1.1 Diagram Blok .............................................................. 49 Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
3.1.2 Perancangan Sensor Inframerah ................................... 51 3.1.3 Rangkaian Mikrokontroler AT89S51 ........................... 54 3.1.4 Rangkaian Catudaya (PSA) .......................................... 56 3.1.5 Perancangan Driver Penggerak Motor DC ................... 57 3.2 Perancangan Program ................................................................. 61 3.2.1 FlowChart Program..................................................... 61
BAB 4 PENGUJIAN RANGKAIAN DAN ANALISA 4.1 Pengujian Rangkaian .................................................................. 72 4.1.1 Pengujian rangkaian Mikrokontroler At89S51 ............. 72 4.1.2 Pengujian Rangkaian sensor inframerah ....................... 73 4.1.3 Pengujian Rangkaian Jembatan H ................................ 74 4.1.4 Pengujian Pangkaian PSA ............................................ 74 4.1.5 Pengujian Rangkaian Buzzer........................................ 74 4.2 Analisa ....................................................................................... 75
BAB 5 KESIMPULAN DAN SARAN 5.1 Kesimpulan ................................................................................ 77 5.2 Saran .......................................................................................... 78
Daftar Pustaka Lampiran Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
DAFTAR GAMBAR
Halaman
Gambar 2.1 Rangkaian Sistem Minimum Mikrokontroler AT89S51……………..13 Gambar 2.2 Register Timer Control……………..………………………………...23 Gambar 2.3 Rangkaian Mikrokontroler AT89S51………………………………...24 Gambar 2.4 Motor DC……………………………………………………………..30 Gambar 2.5 Rangkaian Sensor Inframerah………………………………………. .32 Gambar 2.6 Rangkaian Penerima Sinar Inframerah……………………………….35 Gambar 2.7 Rangkaian Jembatan H…………………………………………….….37 Gambar 2.8 8051 Editor,Assembler,Simulator IDE……………………………….46 Gambar 2.9 ISP-Flash Programmer 3.a……………………………………………47 Gambar 3.0 Diagram Blok Rangkaian……………………………………………..49 Gambar 3.1 Perancangan Rangkaian Pemancar Inframerah……………………….52 Gambar 3.2 Perancangan Rangkaian Penerima Sinar Inframerah……………...….53 Gambar 3.3 Perancangan Rangkaian MIkrokontroler AT89S51……………..…...55 Gambar 3.4 Perancangan Rangkaian Power Supplay menggunakan IC LM 7805……………………………………………………………………56 Gambar 3.5
Perancangan Rangkaian Jembatan H…..…………………………….58
Gambar 3.6
FlowChart Program……………………………………………….....61
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
DAFTAR TABEL
Halaman
Tabel 2.1 Fungsi Lain Port3……………………………………………..………..11 Tabel 2.2 Register Timer Mode ( TMOD)…………………………………….….18
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
BAB I PENDAHULUAN 1.1
Latar Belakang Masalah Dewasa ini marak kita dengar media yang memberitakan kecelakaan yang terjadi
dimana-mana bukan saja hanya dialami oleh pengguna transportasi melalui darat saja,baik udara maupun air juga.Disini penulis hanya berusaha membuat otomatisasi palang kereta api yang tak kalah marak juga berita kecelakaannya kita dengar dimana-mana. Untuk itu penulis merancang sebuah alat yang dapat membuat palang kereta api akan terbuka dan tertutup dengan sendirinya sesuai dengan sensor yang digunakan untuk mendeteksi letak dari kereta api yang akan menghalanginya.Dimana judul dari Tugas Akhir ini adalah”Aplikasi Mikrokontroler AT89S51 sebagai Basis pada Simulasi Palang Kereta Api dengan Tampilan Running Text”.Alat ini diciptakan dengan tujuan untuk mengurangi kecelakan yang terjadi akibat kelalaian atau kecerobohan pihak-pihak tertentu yang mungkin secara tidak sengaja lupa untuk menutup palang sementara jarak kereta api dengan rel yang dilewati kendaraan semakin dekat dengan keadaan seperti itu kecelakaan tak akan dapat lagi terhindari.Kita tahu sendiri suatu operasi secara manual menyita lebih banyak tenaga dan perhatian penuh. Hal itulah yang melatarbelakangi pembuatan palang otomatis tersebut.Alat ini dapat digunakan pada setiap rel yang dilalui oleh pengguna jal;an raya.Jika salah satu sensor luar (kiri / kanan ) terhalangi oleh kereta api maka secara otomatis palang akan tertutup, begitu juga sebaliknya apabila salah satu sensor dalam ( kiri / kanan) terhalangi Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
oleh kereta api yang melewatinya maka palang akan terbuka dalam arti pengguna jalan bisa beroperasi kembali. Alat ini nantinya diharapkan dapat menyelesaikan masalah kecelakaan akibat kelalaian dalam membuka dan menutup rel saat kereta api mendekati atau menjauhi palang,meskipun alat ini belum begitu sempurna.
1.2 Tujuan Penulis Adapun tujuan pembuatan proyek Tugas Akhir ini adalah sebagai berikut: 1. Membuat otomatisasi palang kereta api berbasis mikrokontroler AT89S51 dan menggunakan sensor inframerah sebagai sensor halangan. 2. Dapat memahami prinsip kerja dari perangkat simulasi palang kereta api tersebut. D-3 Fisika Instrumentasi.
1.3 Batasan Masalah Dikarenakan luasnya ruang lingkup bidang elektronika,maka penulis membuat batasan masalah agar pembahasan masalah nantinya tidak mengambang dari topik yang akan dibahas dan mengingat keterbatasan waktu untuk menyelesaikan proyek ini maka kami membatasi dengan batasan-batasan tertentu. Mengingat banyaknya permasalahan yang begitu rumit jika telah berhubungan dengan dunia elektronika terutama pembuatan proyek ini maka penulis membatasi masalah pada hal-hal berikut: Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
1.Membahas prinsip kerja otomatisasi palang tersebut secara keseluruhan. 2.Membahas teori- teori dasar tentang mikrokontroler AT89S51. 3.Membahas cara kerja dari sensor inframerah sebagai sensor halangan.
1.4 Metode Pengumpulan Data Metode Pengumpulan data yang dilakukan oleh penulis adalah: 1.
Melakukan studi ke perpustakaan mengenai teori-teori yang berkaitan dengan judul Tugas Akhir ini.
2. Mengumpulkan dan membaca datasheet mengenai komponen yang digunakan. 3. Melakukan konsultasi dengan dosen pembimbing Tugas Akhir. 4. Merancang serta menguji system minimum mikrokontroler AT89S51 sebagai pengendali system secara keseluruhan. 5. Melakukan survei komponen dan melakukan pengujian sistem yang dilakukan dengan pengukuran dan pengetesan serta mengambil data dari hasil perancangan. 6. Menganalisa hasil dan membuat kesimpulan.
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
1.5 Sistematika Penulisan Untuk mempermudah pembahasan dan pemahaman mengenai Tugas Akhir ini penulis membuat sistematika penulisan bagaimana sebenarnya prinsip kerja alat yang dibuat oleh penulis.Sistematika pembahasan dalam proyek Tugas Akhir ini meliputi beberapa bab sebagai berikut: BAB 1
PENDAHULUAN Bab ini berisikan tentang permasalahan secara umum dimulai dengan latar belakang,tujuan pembahasan,batasan masalah,metode pengumpulan data,dan sistematika penulisan.
BAB 2
LANDASAN TEORI Bab ini membahas tentang dasar-dasar teori yang mendukung perancangan yang digunakan dalam pembuatan Tugas Akhir ini.Teori pendukung yang digunakan seperti arsitektur dan konstruksi mikrokontroler AT89S51 (hardware dan software) selain itu juga membahas komponen pendukung lainnya yang berhubungan dengan proyek Tugas Akhir.
BAB 3
PERANCANGAN ALAT DAN PERANCANGAN PROGRAM Bagian ini meliputi tentang perancangan rangkaian dan program yang digunakan pada pembuatan proyek sebagaimana judul dari Tugas Akhir penulis.
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
BAB 4
PENGUJIAN DAN PEMBAHASAN SISTEM Bagian ini meliputi uraian tentang cara menguji dan pembahasan cara kerja dari Proyek Tugas Akhir penulis.
BAB 5
KESIMPULAN DAN SARAN Bagian ini merupakan penutup yang meliputi tentang kesimpulan dari pembahasan laporan Tugas Akhir serta saran-saran yang diberikan demi kesempurnaan dan pengembangan Tugas Akhir ini pada masa yang akan datang.
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
BAB 2
LANDASAN TEORI
2.1 Perangkat Keras
2.1.1 Arsitektur Mikrokontroler AT89S51 Mikrokontroler sebagai teknologi baru yaitu teknologi semikonduktor kehadirannya sangat membantu dunia elektronika.Dengan arsitektur yang praktis tetapi memuat banyak kandungan transistor yang terintegrasi,sehingga mendukung dibuatnya rangkaian elektronika.Mikrokontroler adalah mikrokomputer chip tunggal yang dirancang secara spesifik untuk aplikasi-aplikasi control dan bukan untuk aplikasi-aplikasi serbaguna.Perangkat ini sering digunakan untuk kebutuhan control tertentu seperti pada sebuah penggerak motor.Penggunaan Mikrokontroler sangat luas,tidak hanya untuk akuisisi data melainkan juga untuk pengendalian di pabrik-pabrik,kebutuhan peralatan kantor,peralatan rumah tangga,automobile dan sebagainya.Hal ini disebabkan mikrokontroler merupakan syatem mikroprosesor (yang di dalamnya terdapat CPU,ROM,ROM dan I/O) yang telah terpadu dalam suatu chip,selai itu komponennya (AT89S51) mudah dan murah di dapatkan di pasaran. Mikrokontroler merupakan sebuah system computer yang seluruh atau sebagian elemennya di kemas dalam satu chip IC.Mikrokontroler dapat dikelompokkan dalam satu Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
keluarga,masing-masing mikrokontroler memiliki spesifikasi tersendiri namun cocok dalam pemogramannya.Contoh-contoh keluarga mikrokontroler adalah keluarga MCS51,keluarga MC68HC05,keluarga MC68H11,keluarga AVR,keluarga PIC 8,mikrokontroler AT89S51 terdapat dalam keluarga MCS-51,dibandingkan mikrokontroler yang lain seperti AT89C51,AT89C52dan AT89S52,bahasa pemogramannya berbeda-beda dan memori atau kapasitasnya juga lebih kecil,sedangakan mikrokontroler AT89S51 menggunakan bahasa assembly yang mudah dalam pemogramannya,kapasitasnya juga lebih besar dan menjadi dasar pemilihan mikrokontroler ini karena harganya relative terjangkau. Aplikasi mikrokontroler lainnya adalah dalam bidang pengukuran jarak jauh atau yang dikenal dengan system telemetri.Misalnya ,pengukuran di suatu tempat yang membahayakan manusia,maka akan lebih nyaman jika digunakan suatu system pengukuran yang bisa mengirimkan data lewat pemancar lalu di terima oleh stasin pengamatan dari jarak yang cukup aman dari sumbernya.System pengukuran jarak jauh ini jelas membutuhkan suatu system akuisisi data sekaligus system pengiriman data serial (melalui pemancar),yang semuanya itu bisa diperoleh dari mikrokontroler yang digunakan. Tidak seperti system computer,yang mampu menangani berbagai macam program aplikasi (misalanya pengolah data,pegngolah angkadan lain sebagainya),mikrokontroler hanya bisa digunakan untuk suatu aplikasi tertentu saja.Perbedaan lainnya terletak pada perbandingan RAM-nya dan ROM-nya.Pada system computer perbandingan RAM dengan ROM-nya besar,artinya program-program pengguna di simpan dalam ruang RAM yang cukup besar artinya program control di simpan di dalam Rom ( bisa masked ROM atau flash PEROM)yang ukurannya relatife lebih besar,sedangkan RAMdigunakan sebagai Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
tempat penyimpanan sementara,termasuk register-register yang digunakan pada mikrokontroler yang bersangkutan. IC mikrokontroler ini kompatibel dengan standar MCS-51 baik dari instruksi maupun pena-penanya yang dapat diaplikasikan sebagai Embedded Controler . Berikut ini adalah kemampuan yang dimiliki oleh mikrokontroler AT89S51 : Kompatibel dengan keluarga MCS-51. 4 Kbyte Programmble Flash Memory (PEROM) di dalamchipyang dapat di tulis dan dihapus seribu kali. Dapat beroperasi pada frekuensi 0 Hz sampai 24 Hz. 3 level kunci memori. 128 x 8-bit RAM internal. 32 jalur I /O. Dua buah timer /counter 16 bit. 6 buah jalur interupsi. Serial Channelyang dapat diprogram. Hemat catu daya dan Power Down Mode.
2.1.1.1 Pena- Pena Mikrokontroler AT89S51 Susunan pena-pena mikrokontroler AT89S51 dapat dijelaskan sebagai berikut: Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
Pena 1 sampai 8 adalah port 1 Merupakan Port parallel 8 bit data dua arah ( bidirectional) yang dapat digunakan untuk berbagai keperluan ( generalpurpose). Pena 9 ( RESET) Masukan reset aktif high .Pulsa transisi dari rendah ke tinggi akan mereset AT89S51.pena ini dihubungkan dengan rangkaian power on reset yang terdiri dari sebuah kapasitor dan sebuah resistor yang berfungsi sebagai pembangkit frekuensi. Pena 10 samapi 17 (Port 3) Sebagai I/O biasa yang mempunyai sifat yang sama dengan port 1 maupun port 2,dengan masing-masing fungsi port sebagai berikut: Tabel 2.1 Fungsi lain dari Port 3 Port Pin
Alternate Function
P3.0
RXD ( SERIAL INPUT PORT)
P3.1
TXD ( SERIAL OUTPUT PORT)
P3.2
INT0 ( EXTERNAL INTERRUPT 0)
P3.3
INT1 ( EXTERNAL INTERRUPT 1)
P3.4
T0 ( TIMER 0 EXTERNAL INPUT)
P3.5
T1 ( TIMER 1 EXTERNAL INPUT)
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
P3.6
WR ( EXTERNAL DATA MEMORY WRITE STROBE)
P3.7
RD( EXTERNAL DATA MEMORY READ STROBE)
Pin 18 ( XTAL 1 ) Pin masukan ke rangkaian osilator internal.Sebuah osilator Kristal atau sumber osilator luar dapat digunakan. Pin 19 ( XTAL 2) Pin keluaran ke rangakaian osilator internal.Pin ini di pakai bila menggunakan osilator Kristal. Pin 20 ( GROUND) Dihubungkan ke Vcc ataau Ground. Pin 20 sampai 28 adalah port 2 Port parallel 2 (P2) selebar 8 bit bit dua arah ( bidirectional).Port 2 ini mengirimkan byte alamat bila dilakukan pengaksesan memory eksternal. Pin 29 Pin PSEN (Program Store Enable) yang merupakan sinyal pengontrol yang membolehkan program memory eksternal masuk dalam bus proses pemberian/ pengambilan instruksi ( Feetching). Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
Pin 30 Pin ALE ( Address Latch Enable) yang digunakan untuk menahan alamat meory eksternal selama pelaksanaan instruksi. Pin 31 ( EA) Bila pin ini diberi logika (H),mikrokontroler akakn melaksanakan instruksi dari ROM/EPROM ketika isi program counter kurang dari 4096.Bila diberi logika ( L) maka mikrokontroler akan melaksanakan seluruh instruksi dari memori program luar. Pin 32 samapi 39 adalah Port 0 Merupakan port parallel 8 bit ( open drain) dua arah.Bila digunakan untuk mengakses program luar,port ini akan memultifleks alamat memory dengan data. Pin 40 Merupakan Vcc yang dihbungkan ke tegangan positip.
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
Gambar 2.1 Rangkaian System Minimum Mikrokontroler AT89S51
2.1.1.2 Proses Pembacaan
Proses pembacaan dapat dianalogikan sebagai proses membaca dari halaman tertentu dari sebuah buku di mana pada proses tersebut dibutuhkan:
- Halaman dari tulisan yang akan dibaca = Alamat Memori
- Perintah untuk membaca = Sinyal Read untuk Data dan Sinyal PSEN untuk kode
Pembacaan Data dari Memori Eksternal
Instruksi
MOV DPTR,#[address] ; Penentuan lokasi data yang akan dibaca
MOVX A,@DPTR
; Perintah pembacaan data sekaligus mengambil data tersebut
dan disimpan ke Akumulator A Timing
Struktur Port dan Cara Kerja
Pada dasarnya mikrokontroler Atmel keluarga 51 mempunyai dua kelompok instruksi untuk mengeluarkan data ke port paralel.
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
•
Kelompok instruksi pertama bekerja pada port seutuhnya artinya 8 jalur dari port bersangkutan, misalnya MOV P3,#0FFh membuat ke-delapan jalur port 0 semuanya dalam kondisi logika ‘1′.
•
Kelompok instruksi kedua berpengaruh pada salah satu jalur atau bit dari port, misalnya instruksi SETB P3.4 artinya men-set bit 4 dari port 3 atau (bit 4 dari port 3 = 1 à xxx1 xxxx ) atau instruksi CLR P3.3 digunakan untuk me-nolkan bit 3 dari port 3 (bit 3 dari port 3 = 0 à xxxx 0xxx).
Selain itu port paralel bisa pula dipakai untuk menerima masukan sinyal digital dari luar mikrokontroler: •
Instruksi MOV A,P3 digunakan untuk membaca data digital pada seluruh bit (bit 0 hingga bit 7 = 8 bit) port 3 kemudian menyimpannya ke akumulator.
Pembacaan data bisa juga dilakukan hanya pada satu bit port saja, misalnya instruksi JNB P3.7,$ digunakan untuk memantau bit P3.7, jika P3.7 = 0, mikrokontroler akan kembali melaksanakan instruksi tersebut (lompat ke label $ artinya ke lokasi tersebut lagi), mikrokontroler akan meneruskan kembali instruksi berikutnya jika P3.7=1.
Instruksi MOVC A,@A+DPTR
Instruksi MOVC A,@A+DPTR, termasuk mode pengalamatan kode tidak langsung (code indirect adressing mode), mempunyai cara penyebutan data dalam memori program yang dilakukan secara tak langsung. Dalam instruksi ini instruksi MOV diganti dengan MOVC, tambahan huruf C tersebut dimaksud untuk membedakan bahwa instruksi ini digunakan untuk memori program. (MOV tanpa huruf C artinya digunakan untuk memori data). Tanda ‘@’ digunakan untuk menandai A+DPTR yang berfungsi untuk Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
menyatakan lokasi memori yang isinya disalin ke akumulator A, dalam hal ini nilai yang tersimpan dalam DPTR (Data Pointer Register 2 byte) ditambah dengan nilai yang tersimpan dalam akumulator A (1 byte) sama dengan lokasi memori program yang ada.
Instruksi INC DPTR
Agak berbeda dengan instruksi INC A atau INC Rx (x=0 s/d 7), instruksi ini adalah satu-satunya instruksi penaikan (increment) yang bekerja pada data 16 bit yaitu DPTR, yaitu menaikkan penunjuk data sebesar 1. Suatu limpahan pada byte rendah (low order) dari DPTR atau DPL (Data Pointer Low) akan menaikkan byte tinggi (high order) yaitu yang tersimpan di DPH (Data Pointer High) sebesar 1. Flag tidak terpengaruh. Misalnya DPH=12 dan DPL=Feh, maka instruksi ini:
INC DPTR
INC DPTR
INC DPTR
Akan menghasilkan DPH=13h dan DPL=01h.
2.1.1.3 Pewaktu dan Pencacah (Timer/Counter) Mikrokontroler AT89C51 mempunyai 2 pewaktu/pencacah (timer/counter) 16 bit yang digunakan untuk pengukuran interval waktu, lebar pulsa, mencacah kejadian, interupsi secara periodis, dan membangkitkan pulsa laju data serial..
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
Pewaktu dan pencacah dikendalikan oleh bit-bit dalam register Timer Control (TCON) dan Timer Mode (TMOD) seperti ditunjukkan pada tabel 2.2dan tabel 2.3.Hasil pencacah 0 terletak pada Register Timer Lower (TL0) dan register Timer High (TH0). 8
7
6
5
4
3
2
0
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
Gambar 2.2 Register Timer Control (TCON)
Timer Control (TCON) terdiri atas :
Bit
Simbol Fungsi
7
TF1
Timer 1 overflow flag
6
TR1
Timer 1 run control bit
5
TF0
Timer 0 overflow flag
4
TR0
Timer 0 run control bit
3
IE1
External interrupt 1 edge flag
2
IT1
External interrupt 1 signal control bit
1
IE0
External interrupt 0 edge flag
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
0
IT0
External interrupt 0 signal control bit
7
6
5
Gate C/T M1
4 M0
3
2
Gate C/t
Timer 1
1
0
M1
M0
Timer 0
Timer Mode (TMOD) terdiri atas :
Bit
Simbol Fungsi
7/3 Gate
OR gate enable which controls RUN/STOP of timer
6/2 C/T
Timer or counter selector for timer I/O
5/1 M1
Mode select bit 1
4/0 M0
Mode select bit 0
M1
M0
Mode
0
0
0
0
1
1
1
0
2
1
1
3
Tabel 2.2 Register Time Mode (TMOD)
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
Masukan pada untai pencacah adalah sebagai pencacah jika berasal dari sumber luar dan sebagai pewaktu bila masukan berasal dari sumber osilator internal. Masukan dari sumber luar atau dari osilalator internal ditentukan oleh bit C/T. Jika menggunakan osilator internal maka bit C/T diset 0 dan bit Gate diset 0. sedangkan frekuensi osilator akan di bagi 12 sebelum masuk ke untai pencacah. Jika masukan dari sumber luar (T0 atau T1) maka bit Gate diset 1 dengan syarat INT0 dan INT1 tinggi. Pencacah diaktifkan dengan menset bit TR0 dan TR1. Pencacah akan berlangsung sampai terjadi luapan saat pencacah berguling dari FFFFh ke 0000h, dengan bit TF1 dan TF0 akan diset 1 dan permintaan interupsi dibangkitkan.
TMOD mempunyai 2 register kembar 4 bit, mesing-masing mengendalikan salah satu pewaktu. TCON mempunyai 4 bit orde tinggi untuk bit kendali pewaktu dan 4 bit orde rendah untuk bit kendali interupsi eksternal. Ada 4 mode yang dapat dikonfigurasi pada pewaktu/pencacah, yaitu: •
Mode 0 (Pencacah dengan Praskala)
Mode 0 merupakan pencacah atau pewaktu dengan menggunakan praskala. Register TH0/TH1 bekerja sebagai pencacah 8-bit dan TL0/TL1 Sebagai pencacah 5 bit. •
Mode 1 (Pencacah 16 bit)
Dalam mode ini register TH0/TL0 dan register TH1/TL1 digunakan sebagai pencacah 16 bit. •
Mode 2 (Pencacah dengan Auto-reload)
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
Mode 2 merupakan pencacah/pewaktu auto-reload. Register TL1/TL0 bekerja sebagai pencacah 8-bit TH1/TH0 digunakan untuk menahan suatu nilai tertentu yang akan disimpan ke TL1/TL0 pada setiap TL1/TL0 terjadi luapan, yaitu ketika berguling dari FFh ke 00, dan akan membangkitkan pulsa untuk pengiriman dan penerimaan data pada port serial. •
Mode 3
Untuk pencacah 1, pengubahan ke mode 3 akan menghentikanpencacah 1, yang merupakan cara lain menggunakan TR1 (TCON.6) untuk menghentikan dan menjalankan pencacah 1.
Untuk pencacah 0, TH0 sebagai pencacah 8 bit yang diaktifkan oleh bit TR1 dan jika terjadi luapan bit TF1 akan diset 1. sedangkan bit TR1 dan bit TF1 tidak dapat digunakan untuk mengendalikan pencacah 1. TL0 sebagai pencacah 8 bityang dikendalikan oleh bit Gate 0, C/T,TR0,TF0.
2.1.1.4 Interupsi dari pewaktu atau pencacah
Interupsi ini terjadi pada saat pewaktu atau pencacah terjadi luapan, maka flag TF0 atau TF1 akan diset 1, kemudian interupsi akan dibangkitkan dan setelah pelayanan interupsi di jalankan flag TF0 dan TF1 akan diset kembali ke 0.
2.1.1.5 Komunikasi Serial Asinkron Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
MCS51 dilengkapi dengan sarana komunikasi data seri, sebagai anggota keluarga MCS51. AT89C51 juga mempunyai sarana itu selengkapnya. Sarana komunikasi seri tersebut bisa bekerja dalam 4 macam mode, 1 mode bekerja sebagai sarana komunkasi seri sinkron, tiga lainnya merupakan sarana komunikasi seri asinkron.
Keempat macam mode kerja tersebut adalah :
o
Mode 0 - bekerja sebagai sarana komunikasi data seri sinkron, data seri dikirim dan
diterima melalui kaki RxD, sedangkan kaki TxD dipakai untuk menyalurkan clock yang diperlukan komunikasi data sinkron. Data ditransmisikan per 8 bit dengan kecepatan transmisi data (Baud rate) tetap, sebesar 1/12 frekuensi kerja dari AT89C51.
o
Mode 1- mode ini dan 2 mode berikutnya merupakan sarana komunikasi seri
asinkron. Data seri dikirim melalui kaki TxD, dan diterima dari kaki RxD. Data ditransmisikan per 10 bit, terdiri atas 1 bit Start (’0′), 8 bit data dan 1 bit stop (’1′). Kecepatan transmisi data (Baud Rate) ditentukan lewat Timer 1, bisa diatur untuk berbagai kecepatan.
o
Mode 2 - Data seri dikirim melalui kaki TxD, dan diterima dari kaki RxD. Data
ditransmisikan per 11 bit, terdiri atas 1 bit Start (’0′), 8 bit data, 1 bit data tambahan (bit ke 9) dan 1 bit stop (’1′). Kecepatan transmisi data (Baud Rate) hanya bisa dipilih 1/32 atau 1/64 frekuensi kerja dari AT89C51.
o
Mode 3 - Data seri dikirim melalui kaki TxD, dan diterima dari kaki RxD. Data
ditransmisikan per 11 bit, terdiri atas 1 bit Start (’0′), 8 bit data, 1 bit data tambahan (bit ke 9) dan 1 bit stop (’1′). Sesungguhnya Mode 2 dan 3 sama persis, perbedaannya adalah
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
kecepatan transmisi data (Baud Rate) mode 3 ditentukan lewat Timer 1, bisa diatur untuk berbagai kecepatan, persis sama dengan mode 1.
Dari keempat mode kerja yang ada, mode 1 adalah mode yang paling banyak dipakai, mode inilah yang setara dengan komunikasi seri asinkron dipakai pada PC maupun modem.
2.1.1.6 Pengaturan Kecepatan Transmisi
Kecepatan transmisi (Baud Rate) merupakan suatu hal yang amat penting dalam komunikasi data seri asinkron, mengingat dalam komunikasi data seri asinkron clock tidak ikut dikirimkan, sehingga harus diusahakan bahwa kecepatan transmisi mengikuti standar yang sudah ada.
Dalam AT89C51, clock untuk transmisi data dibangkitkan dengan sarana Timer1. Untuk keperluan ini, Timer1 dioperasikan sebagai 8 bit auto reload timer (mode 2), artinya TL1 bekerja sebagai timer 8 bit menerima clock dari osilator kristal yang frekuensinya sudah dibagi 12 terlebih dulu, setiap kali pencacah (counter) nilainya menjadi 0 maka nilai yang sebelumnya sudah disimpan di TH1 secara otomatis diisikan lagi ke TL1, sehingga TL1 akan menghasilkan clock yang frekuensinya diatur oleh TH1, clock ini berikutnya dibagi lagi dengan 32 sebelum dipakai sebagai clock untuk UART. Hubungan frekuensi pada sistem tersebut dinyatakan dengan persamaan berikut :Kalau kecepatan transmisi sudah ditentukann dan frekuensi kristal sudah dipastikan, maka nilai yang disimpan di TH1 bisa dihitung berdasarkan persamaan berikut :
Dalam persamaan di atas, k adalah konstanta yang nilainya 1 atau 2, tergantung pada nilai yang tersimpan di bit SMOD dalam register PCON. Jika SMOD=’0′ k bernilai 1 Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
dan k akan bernilai 2 kalau SMOD=’1′. Perlu dicacat, setelah AT89C51 di -reset, SMOD akan bernilai ‘0′, artinya jika tidak diatur l ebih lanjut k bernilai 1. Untuk mendapatkan kecepatan transmisi yang umum dipakai dalam komunikasi data seri asinkron (1200 Baud, 2400 Baud, 4800 Baud, 9600 Baud dan 19200 Baud), dari persamaan di atas bisa diturunkan ternyata frekuensi kristal yang paling tepat adalah 11.059 MHz. Meskipun angka ini agak aneh, tapi karena banyak dipakai kristal dengan frekuensi ini amat mudah diperoleh dipasar. Karena kristal 11.059 MHz dipilih agar bisa membangkitkan kecepatan transmisi data seri standar, dalam sistem berbasis AT89C51 yang tidak menggunakan sarana komunikasi data seri asinkron lebih baik dipilih kristal dengan frekuensi 12 MHz, sehingga clock untuk timer bisa merupakan frekuensi bulat 1 MHz.
Mikrokontroler AT89S51 mempunyai tugas mengendalikan seluruh sistem.Mikrokontroler juga bertugas menerima program dalam format heksadesimal dari komputer dan menyimpannya di RAM.
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
Gambar 2.3 Rangkaian Mikrokontroler AT89S51
2.1.2 Power Supplay Rangkaian supply tegangan pada hardware pengatur temperatur AC menggunakan supply sebesar 5 Volt. Untuk memperoleh tegangan sebesar 5 V maka digunakan sebuah IC Regulator LM 7805, karena dengan menggunakanIC regulator tersebut maka tegangan yang
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
masuk akan terjadi atau mempunyai output yangdikeluarkan sebasar 5 Volt. Rangkaian supply ini juga menggunakan 2 buah capasitor berfungsi sebagai pull-up tegangan drop atau turun tegangan yang akan mengganggu outputkonsumsi tegangan ke rangkaian utama. Dan sebagai indikatornya yang menunjukan aktif tidaknya rangkaian pengatur temperatur ACtersebut dipakai rangkaian LED, yang menyala apabila supply on alat sedang aktif.
TIP32C
LM7805CT
12Volt
Vreg IN
OUT
100ohm
220V 50Hz 0Deg
330ohm
1N5392GP 2200uF 1N5392GP
5Volt
1uF 100uF
TS_PQ4_12
Gambar 2.4 Rangkaian Power Supply Menggunakan IC LM7805
Rangkaian ini berfungsi untuk mensupplay tegangan ke seluruh rangkaian yang ada.Rangkaian PSA yang dibuat terdiri daridua keluaran,yaitu 5 Volt dan 12 Volt,keluaran 5 volt yang digunakan untuk mensupplay tegangan ke seluruh rangkaian.Trafo CT merupakan trafo stepdown yang berfungsi menurunkan tegangan dari 220Volt AC menjadi 12 Volt AC.Kemudian 12 Volt AC akan disearahkan dengan menggunakan dua buah diode,selanjutnya 12 Volt DC akan diratakan oleh kapasitor2200 mikroFarad.Regulator tegangan 5 volt (LM 7805CT) digunakan agar keluaran yang dihasilkan tetap5 volt walaupun terjadi perubahan pada tegangan masukan.Transistor PNP Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
TIP 42C disini berfungsi untuk mensupplay arus apabila terjadi kekurangan arus pada rangkaian,sehingga regulator tegangan ( LM 7805CT) tidak akan panas ketika rangkaian butuh arus yang cukup besar.Tegangan 12 Volt DC langsung diambil dari keluaran 2 buah diode penyearah.
2.1.3 Motor DC
Motor arus searah, sebagaimana namanya, menggunakan arus langsung yang tidak langsung/direct-unidirectional. Motor DC digunakan pada penggunaan khusus dimana diperlukan penyalaan torque yang tinggi atau percepatan yang tetap untuk kisaran kecepatan yang luas. Motor DC yang memiliki tiga komponen utama:1
Kutub medan. Secara sederhada digambarkan bahwa interaksi dua kutub magnet akan menyebabkan perputaran pada motor DC. Motor DC memiliki kutub medan yang stasioner dan dinamo yang menggerakan bearing pada ruang diantara kutub medan.
Motor DC sederhana memiliki dua kutub medan: kutub utara dan kutub selatan. Garis magnetik energi membesar melintasi bukaan diantara kutub-kutub dari utara ke selatan. Untuk motor yang lebih besar atau lebih komplek terdapat satu atau lebih elektromagnet. Elektromagnet menerima listrik dari sumber daya dari luar sebagai penyedia struktur medan.
Dinamo. Bila arus masuk menuju dinamo, maka arus ini akan menjadi elektromagnet.
Dinamo yang berbentuk silinder, dihubungkan ke as penggerak untuk menggerakan beban. Untuk kasus motor DC yang kecil, dinamo berputar dalam medan magnet yang Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
dibentuk oleh kutub-kutub, sampai kutub utara dan selatan magnet berganti lokasi. Jika hal ini terjadi, arusnya berbalik untuk merubah kutub-kutub utara dan selatan dinamo.
Commutator. Komponen ini terutama ditemukan dalam motor DC. Kegunaannya adalah untuk membalikan arah arus listrik dalam dinamo. Commutator juga membantu dalamtransmisi arus antara dinamo dan sumber daya.Motor Dc akan berputar searah/berlawanan arah denagan jarum jam jika salah satu kutubnya di beri tegangan positipdan kutub yang lainnya di beri tegangan negative atau ground.
Dan motor DC akan berputar kea rah sebaliknya jika poaritasnya dibalik.Dengan sifat yang demikian maka dibutuhkan suatu rangkaian yang dapat membalikkan polaritas yang diberikan ke motor DC tersebut,sehingga perputarn motor DC dapat dikendalikan oleh rangkaian tersebut.Motor DC jarang digunakan pada aplikasi industry umum karena semua system utility listrik dilengakpi dengan perkakas arus bolak-balik,meskipun demkian,pada aplikasi khusus adalah menguntungkan jika mengubah arus bolak-balik menjadi arus searah digunakan dimana control torsi dan kecepatan dengan rentang yang lebar diperlukan untuk memenuhi kebutuhan aplikasi. Motor DC yang umum menggunakan sikat (Brush),yang menggunakan lilitan pada rotor dan menggunakan magnet tetap pada sisi stator,pada dasarnya dapat dianggap sebagai suatu beban yang dapat dihubungkan langsung ke rangkaian switching arus DC.Oleh karena itu,pemilihan ruang tepat cukup diperoleh dengan memperhatikan besar kebutuhan arus untuk memutar motor DC dapat diidentikkan dengan lilitan pada kumparan relay sehingga rangkaian drivernya relative sama. Tujuan motor DC adalah untuk menghasilkan gaya yang menggerakkan torsi.
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
Pada beberapa kasus sering diperlukan arah putaranmotor DC yang berubahubah.Prinsip dasar untuk mengubah arah perputarannya adlah dengan membalik polaritas pada catu daya tegangannya. Keuntungan utama motor DC adalah sebagai pengendali kecepatan, yang tidak mempengaruhi kualitas pasokan daya. Motor ini dapat dikendalikan dengan mengatur: Tegangan dinamo – meningkatkan tegangan dinamo akan meningkatkan kecepatan Arus medan – menurunkan arus medan akan meningkatkan kecepatan. Motor DC tersedia dalam banyak ukuran, namun penggunaannya pada umumnya dibatasi untuk beberapa penggunaan berkecepatan rendah, penggunaan daya rendah hingga sedang seperti peralatan mesin dan rolling mills, sebab sering terjadi masalah dengan perubahan arah arus listrik mekanis pada ukuran yang lebih besar. Juga, motor tersebut dibatasi hanya untuk penggunaan di area yang bersih dan tidak berbahaya sebab resiko percikan api pada sikatnya. Motor DC juga relatif mahal dibanding motor AC.
Keuntungan lain motor DC terhadap motor AC adalah bahwa kecepatan motor AC lebih sulit dikendalikan. Untuk mengatasi kerugian ini, motor AC dapat dilengkapi dengan penggerak frekwensi variabel untuk meningkatkan kendali kecepatan sekaligus menurunkan dayanya. Motor induksi merupakan motor yang paling populer di industri karena kehandalannya dan lebih mudah perawatannya. Motor induksi AC cukup murah (harganya setengah atau kurang dari harga sebuah motor DC) dan juga memberikan rasio daya terhadap berat yang cukup tinggi (sekitar dua kali motor DC). Berikut adalah cara pemasangan dari kedua buah motor DC yang dilengkapi dengan data input. Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
Modul SPC DC MOTOR dapat dipergunakan untuk motor DC dengan tegangan kerja dari 5 Volt sampai dengan 36 Volt. Arus RMS maksimum untuk modul SPC DC MOTOR adalah 600 mA. Arus impuls tak berulang maksimum untuk modul SPC DC MOTOR adalah 1.2 A. Sudah dilengkapi dioda clamp secara internal. Hubungkan catu daya positif (+) untuk motor DC pada Vmotor dan catu daya negatif (-) pada GND. Tegangannya harus sesuai dengan tegangan kerja motor. Untuk motor DC 1, sambungkan kutub positif motor DC pada M1+ dan kutub negatif motor DC pada M1- serta data input pada IN1 secara benar. Untuk motor DC 2, sambungkan kutub positif motor DC pada M2+ dan kutub negatif motor DC pada M2- serta data input pada IN2 secara benar .
Gambar 2.5 Motor DC
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
2.1.4 Sensor Inframerah Sensor adalah peralatan yang digunakan untuk mengubah suatu besaran fisik menjadi besaran listrik sehingga dapat dianalisa dengan rangkaian tertentu, hampir seluruh rangkaian elektronika mempunyai sensor didalamnya. Prinsip kerja dari alat ini adalah mengubah energi dari foton menjadi elektron. Idealnya satu foton dapat membangkitkan satu elektron. Infra Merah adalah radiasi elektromagnetik dari panjang gelombang lebih panjang dari cahaya tampak, tetapi lebih pendek dari radiasi gelombang radio. Namanya berarti "bawah merah" (dari bahasa Latin infra, "bawah"), merah merupakan warna dari cahaya tampak dengan gelombang terpanjang. Radiasi inframerah memiliki jangkauan tiga "order" dan memiliki panjang gelombang antara 700 nm dan 1 mm.
Infra Merah banyak digunakan pada komunikasi jarak dekat, contoh paling umum pemakaian IR adalah remote kontrol (untuk TV). Gelombang IR mudah dibuat, harganya relatif murah dan lebih bersifat directional tak dapat menembus tembok atau benda gelap serta memiliki fluktuasi daya tinggi dan dapat diinterferensi oleh cahaya matahari. Pengirim dan penerima IR menggunakan Light Emitting Diode ( LED ) dan Photo Sensitive Diode ( PSD ). Infra merah cukup efektif digunakan jika alat yang dikontrol terdapat pada lokasi yang sama dan tidak terlalu jauh ( kurang lebih 10 meter dan tidak ada penghalang ). Berbeda dengan LED biasa, LED Infrared pada penggunaannya dapat diaktifkan dengan: - Tegangan DC untuk transmisi/sensor jarak dekat - Tegangan AC (30 – 40 KHz) untuk transmisi/sensor jarak jauh
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
Sifat-sifat cahaya infrared: - Tidak tampak manusia - Tidak dapat menembus materi yang tak tembus pandang - Dapat ditimbulkan oleh komponen yang menghasilkan panas Sinar infra merah yang dipancarkan oleh pemancar infra merah tentunya mempunyai aturan tertentu agar data yang dipancarkan dapat diterima dengan baik di receiver. Komponen yang dapat menerima infra merah ini merupakan komponen yang peka cahaya yang dapat berupa dioda (photodioda) atau transistor (phototransistor). Komponen ini akan merubah energi cahaya, dalam hal ini energi cahaya infra merah menjadi pulsa-pulsa sinyal.Komponen ini harus mampu mengumpulkan sinyal infra merah sebanyak mungkin, sehingga pulsa-pulsa sinyal listrik yang dihasilkan kualitasnya cukup baik. Semakin besar intensitas infra merah yang diterima maka sinyal pulsa listrik yang dihasilkan akan baik, jika sinyal infra merah yang diterima intensitasnya lemah maka infra merah tersebut harus mempunyai pengumpul cahaya (light collector) yang cukup baik dan sinyal pulsa yang dihasilkan oleh sensor infra merah ini harus dikuatkan. Pada prakteknya sinyal infra merah yang diterima intensitasnya sangat kecil sehingga perlu dikuatkan. Selain itu agar tidak terganggu oleh sinyal cahaya lain maka sinyal listrik yang dihasilkan oleh sensor infra merah harus difilter pada frekeunsi sinyal carrier yaitu pada 30KHz sampai 40KHz. Selanjutnya baik photodioda maupun phototransistor disebut sebagai photodetector.. VCC 5V 100 100 Infra Merah
100 Infra Merah
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
Gambar 2.6 Rangkaian Sensor Inframerah
Pada rangkaian di atas digunakan 3 buah LED inframerah yang diparalelkan, dengan demikian maka intensitas yang dipancarkan oleh inframerah semakin kuat, karena merupakan gabungan dari buah LED inframerah. Resistor yang digunakan adalah 100 ohm sehingga arus yang mengalir pada masing-masing LED inframerah adalah sebesar:
= i
V 5 = = 0, 05 A atau 50 mA R 100
Dengan besarnya arus yang mengalir ke LED inframerah, maka intensitas pancaran inframerah akan semakin kuat, yang menyebabkan jarak pantulannya akan semakin jauh.
2.1.5 PhotoDioda Photodioda memiliki hambatan sekitar 15 s/d 20 Mohm jika tidak terkena sinar inframerah, dan hambatannya akan berubah menjadi sekitar 80 s/d 300 Kohm jika terkena sinar inframerah tergantung dari besarnya intensitas yang mengenainya. Semakin besar intensitasnya, maka hambatannya semakin kecil. Pada rangkaian di atas, output dari potodioda diumpankan ke basis dari transistor tipa NPN C828, ini berarti untuk membuat transistor tersebut aktif maka tegangan yang keluar dari potodioda harus lebih besar dari 0,7 volt. Syarat ini akan terpenuhi jika potodioda mendapatkan sinar inframerah. Analisanya sebagai berikut:Jika tidak ada sinar Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
inframerah yang mengenai potodioda, maka hambatan pada potodioda 15 Mohm, sehingga:
= Vo
R2 330.000 = xVcc = x5 0,107 Volt R1 + R 2 15.000.000 + 330.000
Vout akan diumpankan ke basis dari transistor C828, karena tegangannya hanya 0,107 Volt maka transistor tidak aktif. Jika ada sinar inframerah yang mengenai potodioda, maka hambatan pada potodioda 300 Kohm, sehingga:
= Vo
R2 330.000 = xVcc = x5 2, 619 Volt R1 + R 2 300.000 + 330.000
Vout akan diumpankan ke basis dari transistor C828, karena tegangannya lebih besar dari 0,7 volt yaitu
2,619 Volt maka transistor akan aktif.Aktifnya transistor C828 akan
menyebabkan colektornya terhubung ke emitor, sehingga colektor mandapat tegangan 0 volt dari ground, tegangan ini diumpankan ke basis dari transistor ke-2 tipe PNP A733, sehingga transistor ini juga aktif. Seterusnya aktifnya transistor A733 akan menyebabkan colektornya terhubung ke emitor, sehingga colektor mandapat tegangan 5 volt dari Vcc, tegangan ini diumpankan ke basis dari transistor ke-3 tipe NPN C945, sehingga transistor ini juga aktif.Kolektor dari transistor C945 dihubungkan mikrokontroler AT89S51 sehingga jika transistor ini aktif, maka kolektor akan mendapatkan tegangan 0 volt dari ground. Tegangan 0 volt inilah yang merupakan sinyal low (0) yang diumpankan ke mikrokontroler AT89S51, sehingga mikrokontroler dapat mengetahui bahwa sensor ini mengirimkan sinyal, yang berarti bahwa kreta api akan lewat.Transistor ke-4 tipe PNP Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
A733 berfungsi untuk menyalakan LED sebagai indikator bahwa sensor ini menerima pantulan sinar inframerah dari pemancar.LED ini akan menyala jika sensor menerima sinar inframerah, dan akan mati jika sensor tidak menerima sinar inframerah. Pantulan dari sinar inframerah akan diterima oleh potodioda, kemudian akan diolah oleh rangkaian penerima agar menghasilkan data biner, dimana jika potodioda menerima pantulan sinar inframerah maka output dari rangkaian penerima ini akan mengeluarkan logika low (0), namun jika potodioda tidak menerima pantulan sinar inframerah, maka output dari rangkaian penerima akan mengeluarkan logika high (1). Rangkaian penerima inframerah seperti gambar di bawah ini:
VCC 5V
AT89S51 1.0k
Q4 1.0k 2SA733 330
10k
10k
Q2
Poto dioda
1.0k 2SA733 4.7k 2SC945
C828
4.7k
10k
330k
LED1
Gambar 2.7. Rangkaian Penerima sinar inframerah
2.1.6 Perancangan Driver penggerak Motor DC (Jembatan H) Untuk dapat bergerak membuka dan menutup, maka alat ini harus dapat mengendalikan palang. Alat ini menggunakan 2 buah motor DC 6 volt untuk menggerakkan palang, dimana 1 motor untuk menggerakkan palang sebelah kanan dan 1 motor lagi untuk menggerakkan palang sebelah kiri.Motor DC akan berputar searah/berlawanan arah dengan jarum jam jika salah satu kutubnya diberi tegangan positip dan kutub yang lainnya diberi tegangan negatif atau ground. Dan motor DC akan berputar kearah sebaliknya jika polaritasnya dibalik. Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
Dengan sifat yang demikian maka dibutuhkan suatu rangkaian yang dapat membalikkan polaritas yang diberikan ke motor DC tersebut, sehingga perputaran motor DC dapat dikendalikan oleh rangkaian tersebut. Dan jika rangkaian tersebut dihubungkan dengan mikrokontroler AT89S51, maka pergerakan motor dapat dikendalikan oleh program.Rangkaian untuk mengendalikan perputaran motor DC tersebut adalah sebuah rangkaian yang dikenal dengan jembatan H. Jembatan H ini terdiri dari 4 buah transistor, dimana 2 buah transistor bertipe NPN dan 2 buah transistor lagi bertipe PNP. Ke-4 transistor ini dirangkai sedemikian rupa sehingga dengan memberikan sinyal low atau high pada rangkaian maka perputaran motor dapat diatur.Untuk perintah buka, maka motor akan berputar ke arah kanan kedua motor sehingga kedua palang akan terangkat sebesar 900. Untuk perintah tutup, maka motor akan berputar ke arah kiri kedua motor sehingga kedua palang akan turun.
VDD
VDD 6.2V
6.2V
1.0k
1.0k Tip 127
18
330
2SC945
Tip 127
18 VCC
VCC
MOTOR
5V
5V
2SC945
1.0k
P0.1
P0.0
18 330
330
1.0k
2SC945
Tip 122 Tip 122
18 2SC945
330
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
Gambar 2.8
Rangkaian jembatan H
Pada rangkaian di atas, jika P0.0 diset high yang berarti P0.0 mendapat tegangan 5 volt, maka kedua transistor tipe NPN C945 yang disebelah kiri akan aktif. Hal ini akan membuat kolektor dari kedua transistor C945 itu akan mendapat tegangan 0 volt dari ground. Kolektor dari transistor C945 yang berada di sebelah kiri atas diumpankan ke basis dari transistor tipe PNP TIP 127 sehingga basis dari transistor TIP 127 mendapatkan tegangan 0 volt yang menyebabkan transistor ini aktif (transistor tipe PNP akan aktif jika tegangan pada basis lebih kecil dari 4,34 volt). Aktifnya transistor PNP TIP 127 ini akan mengakibatkan
kolektornya terhubung ke emitor
sehingga kolektor mendapatkan
tegangan 5 volt dari Vcc. Sedangkan kolektor dari transistor C945 yang berada di sebelah kiri bawah diumpankan ke basis dari transistor tipe NPN TIP 122 sehingga basis dari transistor TIP 122 mendapatkan tegangan 0 volt yang menyebabkan transistor ini tidak aktif (transistor tipe NPN akan aktif jika tegangan pada basis lebih besar dari 0,7 volt). Karena transistor TIP 122 ini tidak aktif, maka kolektornya tidak terhubung ke emitor, sehingga kolektor tidak mendapatkan tegangan 0 volt dari ground. Karena kolektor TIP 122 dihubungkan dengan kolektor TIP 127 yang
mendapatkan
tegangan 5 volt dari Vcc, maka kolektor dari TIP 122 juga mendapatkan tegangan yang sama. Hal ini menyebabkan motor sebelah kiri mendapatkan tegangan 5 volt (polaritas positif).
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
Agar motor dapat berputar ke satu arah maka motor harus mendapatkan tegangan 0 volt (polaritas negatif). Hal ini diperoleh dengan memberikan logika low (0) pada P2.7 mikrokontroler AT89S51. Pada rangkaian di atas, jika P0.1 diset low yang berarti P0.1 mendapat tegangan 0 volt, maka kedua transistor tipe NPN C945 yang disebelah kanan tidak akan aktif. Hal ini akan membuat kolektor dari kedua transistor C945 itu akan mendapat tegangan 5 volt dari Vcc. Kolektor dari transistor C945 yang berada di sebelah kanan atas diumpankan ke basis dari transistor tipe PNP TIP 127 sehingga basis dari transistor TIP 127 mendapatkan tegangan 5 volt yang menyebabkan transistor ini tidak aktif. Karena transistor PNP TIP 127 tidak aktif maka kolektornya tidak terhubung ke emitor
sehingga kolektor tidak mendapatkan tegangan 5 volt dari Vcc, tetapi
mendapatkan tegangan yang berasal dari transistor TIP 122 yang berada di bawahnya. Sedangkan kolektor dari transistor C945 yang berada di sebelah kiri bawah diumpankan ke basis dari transistor tipe NPN TIP 122 sehingga basis dari transistor TIP 122 mendapatkan tegangan 5 volt yang menyebabkan transistor ini menjadi aktif. Karena transistor TIP 122 ini menjadi aktif, menyebabkan kolektornya terhubung ke emitor, sehingga kolektor mendapatkan tegangan 0 volt dari ground.Karena kolektor TIP 122 yang mendapatkan teganagan 0 volt dari ground dihubungkan dengan kolektor TIP 127, maka kolektor dari TIP 127 juga
mendapatkan tegangan
yang sama. Hal ini
menyebabkan motor sebelah kanan mendapatkan tegangan 0 volt (polaritas negatif). Hal ini akan menyebabkan motor akan berputar ke satu arah tertentu. Sedangkan untuk memutar motor kea arah sebaliknya, maka logika yang diberikan ke P0.0 adalah low (0) dan logika yang diberikan ke P0.1 adalah high (1).
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
2.1.7 Buzzer Rangakain alarm adalah rangkaian yang berfungsi untuk membrikan sinyal informasisuara ketika terjadi sebuah keadaan dimana saat kereta api menghalangi sensor infrared yang digunakan.Dalam proyek tugas akhir ini buzzer digunakan sebagai salah satunya.Buzzer akan mengeluarkan saura dengan frekuensi 300 – 600 Hz.
2.1.8 Running Text Pada proyek Tugas Akhir ini penulis menngunakan running teks adalah sebagai tamhan peringatan bagi para pengguna jalan raya yang akan melewati rel kereta api.Running teks disini dibuat seminim mungkin karen mengingat proyek yang dibuat oleh penulis pun hanya sebatas simulasi.
2.2 Perangkat Lunak 2.2.1 Bahasa Assembly MCS-51 Bahasa yang digunakan untuk memprogram IC mikrokontroler AT89S51 adalah bahasa assembly untuk MCS-51.Angka 51 merupakan jumlah instruksi pada bahasa ini hanya ada
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
51 instruksi.Dari instruksi,yang sering digunakan orang hanya 10 instruksi,instruksiinstruksi tersebut adalah: 1.
Instruksi MOV Perintah ini merupakan perintah untuk pengisian nilai ke alamat atau register tertentu.Pengisian nilai dapat secara langsung atau tidak langsung. MOV R0,# 20h Perintah diatas 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 diatas berarti :Isikan nilai yang terdapat pada alamat 20Heksadesimal ke register 0 ( R0). 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.
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
Contoh: MOV R0,#80h Loop:……… ……… DJNZ R0,Loop …………….. R0-1,jika belum 0 lompat ke Loop,jika R0=0 maka program akan meneruskan ke perinath pada baris berikutnya.
3.Instruksi ACALL Instruksi ini berfungsi untuk memanggil suatu rutin tertentu. Contoh: ………. ACALL TUNDA ……….. TUNDA ……….. 4.
Instruksi RET
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
Instruksi RETURN (RET) ini merupakan perintah untuk kembali ke rutin setelah instruksi ACALL dilaksanakan. Contoh: 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)
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
Instruksi ini merupakan perintah lompat ke alamat tertentujiak pin yang dimaksud berlogika ( 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 (0). Contoh: Loop: JNB P1.0,Loop
………………………………
8.
Instruksi CJNZ ( Compare Jump If No Equal ) Instruksi ini berfungsi untuk membandingkan nilai dalam suatu register dengan suatu nilai tertentu. Contoh: Loop:
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
………………. CJNE R0,# 20h,Loop ………………….. Jika nilai R0 tidak sama dengan 20h,maka program akan lompat keratin Loop. Jika nilai R0 sama dengan 20h,maka program 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 perinath untuk menambahkan milai register yang dimaksud dengan 1. Contoh: MOV R0,#20h
R0=20h
………………
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
INC R0
R0=R0+1
…………….
2.2.2 Softe 8051 Editor, Assembler, Simulator (IDE) Instruksi-instruksi yang merupakan bahasa Assembly tersebut dituliskan pada sebuah editor, yaitu 8051 editor, assembler, simulator (IDE). Tampilannya adalah sebagai berikut:
Gambar 2.9 8051 Editor, Assembler, Simulator IDE Setelah program selesai ditulis, kemudian di-save dan kemudian diassemble (dicompile). 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 pengcompile-an. Bilangan heksadesimal inlah yang akan dikirimkam ke mikrokontroler.
2.2.3 Software Downloder
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
Untuk mengirimkan bilangan-bilangan heksadesimal ini ke mikrokontroler digunakan software ISP-Flash Programmer 3.0a yang dapat didownload dari internet. Tampilannya seperti gambar berikut ini.
Gambar 3.0 ISP-Flash Programmer 3.a 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 mikrokontroler.
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
BAB 3
PERANCANGAN ALAT DAN PERANCANGAN PROGRAM 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:
Penguat sinyal
P1.4
Sensor kanan dalam
Penguat sinyal
P1.5
Sensor kiri luar
Penguat sinyal
Sensor kiri dalam
P0.0 & P0.1
MIKROKONTROLER AT89S51
Sensor kanan luar
P0.2 & P0.3
Penguat sinyal
P1.6
P1.7
P3.1
Jembatan H1
Jembatan H2
MOTOR 1
MOTOR 2
Buzzer
Gambar 3.1. Diagram Blok Rangkaian Keterangan dari diagram blok: Palang kereta api otomatis ini dirancang hanya sebatas simulasi. Pada palang ini terdapat 14 blok rangkaian utama yang mempunyai fungsi masing-masing. Terdapat 4 Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
buah sensor yaitu: sensor kanan luar berfungsi untuk mendeteksi kereta api yang datang dari sebelah kanan, sensor kanan dalam berfungsi untuk memberitahukan kepada mikrokontroler bahwa seluruh badan kereta api yang dating dari sebelah kanan sudah seluruhnya melewati palang, sensor kiri luar berfungsi untuk mendeteksi kereta api yang datang dari sebelah kiri, dan sensor kiri dalam berfungsi untuk memberitahukan kepada mikrokontroler bahwa seluruh badan kereta api yang dating dari sebelah kiri sudah seluruhnya melewati palang. Pada palang kereta api otomatis ini sensor yang digunakan adalah sensor inframerah. Sensor ini terletak tidak jauh dari palang dan menghadap rel sehingga dapat mendeteksi adanya kereta api yang lewat. Sensor ini terhubung pada P1.4, P1.5, P1.6, dan P1.7 dari mikrokontroler AT89S51 sehingga dapat bekerja sesuai dengan yang telah terprogram.
Output dari sensor akan dikuatkan kembali oleh penguat sinyal sebelum masuk ke mikrokontroller. Hasil penguatan sensor yang telah diolah oleh penguat sinyal inilah yang akan di kirimkan oleh mikrokontroller.
Mikrokontroller AT89S51 yang merupakan otak dari keseluruhan system berfungsi untuk mengolah semua data yang masuk. Untuk mengendalikan pergerakan motor, digunakan sebuah rangkaian driver penggerak motor DC yaitu jembatan H. Jembatan H ini akan memutar motor DC searah/berlawanan jarum jam bila diberi pulsa 1 atau 0. Dengan demikian pergerakan motor dapat dikendalikan melalui program. Pin-pin jembatan H ini dihubungkan ke P0.0, P0.1, P0.2, dan P0.3 dari mikrokontroler AT89S51. Alarm berfungsi untuk memberitahukan bahwa kereta api sedang lewat dan dihubungkan ke pin Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
P3.1 pada mikrokontroler AT89S51 sehingga akan bekerja sesuai dengan yang telah terprogram. 3.1.2 Perancangan Sensor Inframerah 3.1.2.1 Perancangan Pemancar Inframerah Untuk dapat mendeteksi adanya kereta api yang akan lewat, maka palang otomatis ini dilengkapi dengan 4 buah sensor inframerah. Semua sensor ini mempunyai rangkaian yang sama, hanya penempatannya saja yang berbeda.
Masing-masing sensor menggunakan 3 buah pemancar inframerah dan sebuah potodioda. Sensor ini memanfaatkan pantulan dari pemancar inframerah yang diterima oleh potodioda. Digunakan 3 buah pemancar inframerah pada masing-masing sensor bertujuan agar sinyal pantulan semakin kuat, sehingga kereta api dapat terdeteksi dengan baik.
Setiap pantulan yang diterima oleh potodioda akan diolah dan dijadikan data digital, sehingga bila potodioda mendapatkan pantulan dari pemancar inframerah, maka akan mengirimkan sinyal low (0) ke mikrokontrolert AT89S51. Dengan demikian mikrokontroler dapat mendeteksi sensor yang mengirimkan sinyal low dan mengambil tindakan untuk mengatur putaran motor ke kanan atau ke kiri. Rangkaian pemancar inframerah tampak seperti gambar di bawah ini: VCC 5V 100
Mona Farida Lumbantoruan : Aplikasi 100 Mikrokontroler AT89S51100 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009. Infra Merah
Infra Merah
Gambar 3.2 Rangkaian Pemancar inframerah Pada rangkaian di atas digunakan 3 buah LED inframerah yang diparalelkan, dengan demikian maka intensitas yang dipancarkan oleh inframerah semakin kuat, karena merupakan gabungan dari buah LED inframerah. Resistor yang digunakan adalah 100 ohm sehingga arus yang mengalir pada masing-masing LED inframerah adalah sebesar:
= i
V 5 = = 0, 05 A atau 50 mA R 100
Dengan besarnya arus yang mengalir ke LED inframerah, maka intensitas pancaran inframerah akan semakin kuat, yang menyebabkan jarak pantulannya akan semakin jauh.
3.1.2.2 Perancangan Penerima Inframerah Pantulan dari sinar inframerah akan diterima oleh potodioda, kemudian akan diolah oleh rangkaian penerima agar menghasilkan data biner, dimana jika potodioda menerima pantulan sinar inframerah maka output dari rangkaian penerima ini akan mengeluarkan logika low (0), namun jika potodioda tidak menerima pantulan sinar inframerah, maka output dari rangkaian penerima akan mengeluarkan logika high (1).
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
Rangkaian penerima inframerah seperti gambar di bawah ini:
VCC 5V
AT89S51 Q4
1.0k
1.0k 2SA733 330
10k
10k
Q2
Poto dioda
1.0k 2SA733 4.7k 2SC945
C828
4.7k
10k
330k
LED1
Gambar 3.3 Rangkaian Penerima sinar inframerah
Potodioda memiliki hambatan sekitar 15 s/d 20 Mohm jika tidak terkena sinar inframerah, dan hambatannya akan berubah menjadi sekitar 80 s/d 300 Kohm jika terkena sinar inframerah tergantung dari besarnya intensitas yang mengenainya. Semakin besar intensitasnya, maka hambatannya semakin kecil.
Pada rangkaian di atas, output dari potodioda diumpankan ke basis dari transistor tipa NPN C828, ini berarti untuk membuat transistor tersebut aktif maka tegangan yang
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
keluar dari potodioda harus lebih besar dari 0,7 volt. Syarat ini akan terpenuhi jika potodioda mendapatkan sinar inframerah. Analisanya sebagai berikut:
Jika tidak ada sinar inframerah yang mengenai potodioda, maka hambatan pada potodioda 15 Mohm, sehingga:
= Vo
R2 330.000 = xVcc = x5 0,107 Volt R1 + R 2 15.000.000 + 330.000
Vout akan diumpankan ke basis dari transistor C828, karena tegangannya hanya 0,107 Volt maka transistor tidak aktif.
Jika ada sinar inframerah yang mengenai potodioda, maka hambatan pada potodioda 300 Kohm, sehingga:
= Vo
R2 330.000 = xVcc = x5 2, 619 Volt R1 + R 2 300.000 + 330.000
Vout akan diumpankan ke basis dari transistor C828, karena tegangannya lebih besar dari 0,7 volt yaitu 2,619 Volt maka transistor akan aktif.
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
Aktifnya transistor C828 akan menyebabkan colektornya terhubung ke emitor, sehingga colektor mandapat tegangan 0 volt dari ground, tegangan ini diumpankan ke basis dari transistor ke-2 tipe PNP A733, sehingga transistor ini juga aktif. Seterusnya aktifnya transistor A733 akan menyebabkan colektornya terhubung ke emitor, sehingga colektor mandapat tegangan 5 volt dari Vcc, tegangan ini diumpankan ke basis dari transistor ke-3 tipe NPN C945, sehingga transistor ini juga aktif.
Kolektor dari transistor C945 dihubungkan mikrokontroler AT89S51 sehingga jika transistor ini aktif, maka kolektor akan mendapatkan tegangan 0 volt dari ground. Tegangan 0 volt inilah yang merupakan sinyal low (0) yang diumpankan ke mikrokontroler AT89S51, sehingga mikrokontroler dapat mengetahui bahwa sensor ini mengirimkan sinyal, yang berarti bahwa kreta api akan lewat.
Transistor ke-4 tipe PNP A733 berfungsi untuk menyalakan LED sebagai indikator bahwa sensor ini menerima pantulan sinar inframerah dari pemancar. LED ini akan menyala jika sensor menerima sinar inframerah, dan akan mati jika sensor tidak menerima sinar inframerah.
3.1.3 Rangkaian Mikrokontroler AT89S51
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
Rangkaian ini berfungsi sebagai pusat kendali dari seluruh system yang ada. Komponen utama dari rangkaian ini adalah IC mikrokontroler AT89S51. Pada IC inilah semua program diisikan, sehingga rangkaian dapat berjalan sesuai dengan yang dikehendaki. Rangkaian mikrokontroler ini ditunjukkan pada gambar berikut ini:
VCC
5V
AT89S51 1 2 3 4
VCC 5V
5 6 7 8
10uF
P1.0
Vcc
P1.1 P0.0 (AD0) P1.2
P0.1 (AD1)
P1.3 P0.2 (AD2) P1.4 P0.3 (AD3) P1.5 P0.4 (AD4) P1.6 P0.5 (AD5) P1.7 P0.6 (AD6)
9 10 11 12
VCC 5V
13 14 15
2SA733
16
4.7k
17 18
LED1
19
30pF
P0.7 (AD7)
P3.0 (RXD)
EA/VPP
P3.1 (TXD)
ALE/PROG
P3.2 (INT0)
PSEN
P3.3 (INT1) P2.7 (A15) P3.4 (T0) P2.6 (A14) P3.5 (T1) P2.5 (A13) P3.6 (WR) P2.4 (A12) P3.7 (RD) P2.3 (A11)
XTAL 12 MHz 1
RST
2
20
30pF
XTAL2
P2.2 (A10)
XTAL1
P2.1 (A9)
GND
P2.0 (A8)
40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21
Gambar 3.4 Rangkaian mikrokontroller AT89S51 Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
Pin 31 External Access Enable (EA) diset high (H). Ini dilakukan karena mikrokontroller AT89S51 tidak menggunakan memori eskternal.
Pin 18 dan 19
dihubungkan ke XTAL 12 MHz dan capasitor 30 pF. XTAL ini akan mempengaruhi kecepatan mikrokontroller AT89S51 dalam mengeksekusi setiap perintah dalam program. Pin 9 merupakan masukan reset (aktif tinggi). Pulsa transisi dari rendah ke tinggi akan mereset 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. Pin 1 sampai 8 adalah port 1. Pin 21 sampai 28 adalah port 2. Dan Pin 10 sampai 17 adalah port 3. Pin 17 yang merupakan P3.7 dihubungkan dengan transistor dan sebuah LED. Ini dilakukan hanya untuk menguji apakah rangkaian minimum mikrokontroller AT89S51 sudah bekerja atau belum. Dengan memberikan program sederhana pada mikrokontroller tersebut, dapat diketahui apakah rangkaian minimum tersebut sudah bekerja dengan baik atau tidak. Jika LED yang terhubug ke Pin 17 sudah bekerja sesuai dengan perintah yang diberikan, maka rangkaian minimum tersebut telah siap digunakan. Pin 20 merupakan 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)
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
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 :
TIP32C
LM7805CT
12Volt
Vreg IN
OUT
100ohm
220V 50Hz 0Deg
5Volt 330ohm
1N5392GP 2200uF 1N5392GP
1uF 100uF
TS_PQ4_12
Gambar 3.5
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 diratakan oleh kapasitor 2200 Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
μ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 DC (Jembatan H) Untuk dapat bergerak membuka dan menutup, maka alat ini harus dapat mengendalikan palang. Alat ini menggunakan 2 buah motor DC 6 volt untuk menggerakkan palang, dimana 1 motor untuk menggerakkan palang sebelah kanan dan 1 motor lagi untuk menggerakkan palang sebelah kiri.
Motor DC akan berputar searah/berlawanan arah dengan jarum jam jika salah satu kutubnya diberi tegangan positip dan kutub yang lainnya diberi tegangan negatif atau ground. Dan motor DC akan berputar kearah sebaliknya jika polaritasnya dibalik. Dengan sifat yang demikian maka dibutuhkan suatu rangkaian yang dapat membalikkan polaritas yang diberikan ke motor DC tersebut, sehingga perputaran motor DC dapat dikendalikan oleh rangkaian tersebut. Dan jika rangkaian tersebut dihubungkan dengan mikrokontroler AT89S51, maka pergerakan motor dapat dikendalikan oleh program. Rangkaian untuk mengendalikan perputaran motor DC tersebut adalah sebuah rangkaian yang dikenal dengan jembatan H. Jembatan H ini terdiri dari 4 buah transistor, dimana 2 buah transistor Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
bertipe NPN dan 2 buah transistor lagi bertipe PNP. Ke-4 transistor ini dirangkai sedemikian rupa sehingga dengan memberikan sinyal low atau high pada rangkaian maka perputaran motor dapat diatur.
Untuk perintah buka, maka motor akan berputar ke arah kanan kedua motor sehingga kedua palang akan terangkat sebesar 900. Untuk perintah tutup, maka motor akan berputar ke arah kiri kedua motor sehingga kedua palang akan turun. Rangkaian jembatan H, ditunjukkan pada gambar di bawah ini:
VDD
VDD
6.2V
6.2V
1.0k
1.0k
330
2SC945
Tip 127
Tip 127
18
18 VCC
VCC
MOTOR
5V
5V
2SC945
1.0k
P0.1
P0.0
18 330
330
1.0k
2SC945
Tip 122 Tip 122
18 2SC945
330
Gambar 3.6 Rangkaian jembatan H
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
Pada rangkaian di atas, jika P0.0 diset high yang berarti P0.0 mendapat tegangan 5 volt, maka kedua transistor tipe NPN C945 yang disebelah kiri akan aktif. Hal ini akan membuat kolektor dari kedua transistor C945 itu akan mendapat tegangan 0 volt dari ground. Kolektor dari transistor C945 yang berada di sebelah kiri atas diumpankan ke basis dari transistor tipe PNP TIP 127 sehingga basis dari transistor TIP 127 mendapatkan tegangan 0 volt yang menyebabkan transistor ini aktif (transistor tipe PNP akan aktif jika tegangan pada basis lebih kecil dari 4,34 volt). Aktifnya transistor PNP TIP 127 ini akan mengakibatkan
kolektornya terhubung ke emitor
sehingga kolektor mendapatkan
tegangan 5 volt dari Vcc.
Sedangkan kolektor dari transistor C945 yang berada di sebelah kiri bawah diumpankan ke basis dari transistor tipe NPN TIP 122 sehingga basis dari transistor TIP 122 mendapatkan tegangan 0 volt yang menyebabkan transistor ini tidak aktif (transistor tipe NPN akan aktif jika tegangan pada basis lebih besar dari 0,7 volt). Karena transistor TIP 122 ini tidak aktif, maka kolektornya tidak terhubung ke emitor, sehingga kolektor tidak mendapatkan tegangan 0 volt dari ground.
Karena kolektor TIP 122 dihubungkan dengan kolektor TIP 127 yang mendapatkan tegangan 5 volt dari Vcc, maka kolektor dari TIP 122 juga
mendapatkan
tegangan yang sama. Hal ini menyebabkan motor sebelah kiri mendapatkan tegangan 5 volt (polaritas positif).
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
Agar motor dapat berputar ke satu arah maka motor harus mendapatkan tegangan 0 volt (polaritas negatif). Hal ini diperoleh dengan memberikan logika low (0) pada P2.7 mikrokontroler AT89S51.
Pada rangkaian di atas, jika P0.1 diset low yang berarti P0.1 mendapat tegangan 0 volt, maka kedua transistor tipe NPN C945 yang disebelah kanan tidak akan aktif. Hal ini akan membuat kolektor dari kedua transistor C945 itu akan mendapat tegangan 5 volt dari Vcc. Kolektor dari transistor C945 yang berada di sebelah kanan atas diumpankan ke basis dari transistor tipe PNP TIP 127 sehingga basis dari transistor TIP 127 mendapatkan tegangan 5 volt yang menyebabkan transistor ini tidak aktif. Karena transistor PNP TIP 127 tidak aktif maka kolektornya tidak terhubung ke emitor sehingga kolektor tidak mendapatkan tegangan 5 volt dari Vcc, tetapi mendapatkan tegangan yang berasal dari transistor TIP 122 yang berada di bawahnya.
Sedangkan kolektor dari transistor C945 yang berada di sebelah kiri bawah diumpankan ke basis dari transistor tipe NPN TIP 122 sehingga basis dari transistor TIP 122 mendapatkan tegangan 5 volt yang menyebabkan transistor ini menjadi aktif. Karena transistor TIP 122 ini menjadi aktif, menyebabkan kolektornya terhubung ke emitor, sehingga kolektor mendapatkan tegangan 0 volt dari ground.
Karena kolektor TIP 122 yang
mendapatkan teganagan 0 volt dari ground
dihubungkan dengan kolektor TIP 127, maka kolektor dari TIP 127 juga
mendapatkan
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
tegangan yang sama. Hal ini menyebabkan motor sebelah kanan mendapatkan tegangan 0 volt (polaritas negatif). Hal ini akan menyebabkan motor akan berputar ke satu arah tertentu. Sedangkan untuk memutar motor kea arah sebaliknya, maka logika yang diberikan ke P0.0 adalah low (0) dan logika yang diberikan ke P0.1 adalah high (1)
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
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
Sensor Kanan Luar 0?
Ya Tutup Palang
Sensor Kanan Dalam 0?
Tidak
Buka Palang
Tidak
Sensor Kiri Luar = 0?
Ya
Tutup Palang
Sensor Kiri Dalam 0?
Tidak
Buka Palang
Tidak Buka Palang
Gambar.3.7 FlowChart Program
Program diawali dengan pengecekan logika pada sensor kanan luar. Jika sensor ini menerima logika 0 yang berarti kereta api ada yang akan lewat maka mikrokontroler segera mengirimkan logika agar jembatan H memutar kedua motor sehingga menutup kedua palang. Demikian juga jika sensor kanan dalam menerima logika 0 yang berarti seluruh badan kereta api sudah lewat maka mikrokontroler mengirimkan logika agar jembatan H memutar kedua motor sehingga membuka kedua palang. Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
Demikian halnya jika kereta api datang dari sebelah kiri, yang bekerja adalah sensor kiri luar dan sensor kiri dalam sesuai dengan yang telah terprogram pada mikrokontroler AT89S51.
Program palang kereta api otomatis:
sensor_kanan_luar bitp 1.4
;sensor kanan luar berada pada alamat bit p1.4
sensor_kanan_dalam bit p1.5
;sensor
kanan
dalam
berada
pada alamat bit p1.5 sensor_kiri_luar
bit p1.6
;sensor kiri luar berada pada alamat bit p1.6
sensor_kiri_dalam
bit p1.7
;sensor kiri dalam berada pada alamat bit p1.7
limit1buka
bit p2.1
;limit1buka berada pada alamat bit p2.1
limit1tutup
bit p2.0
;limit1tutup
berada
pada
alamat bit p2.0 limit2buka
bit p2.3
;limit2buka berada pada alamat bit p2.3
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
limit2tutup
bit p2.2
;limit2tutup
berada
pada
alamat bit p2.2
hijau
bit p0.0
;hijau berada pada bit p0.0
biru
bit p0.1
;biru berada pada bit p0.1
ungu
bit p0.2
;ungu berada pada bit p0.2
abu
bit p0.3
;abu berada pada bit p0.3
utama:
; program utama acall buka
cek_kanan: setb p3.1
; memanggil rutin buka
; program utama ;aktifkan logika high (1) pada bit p3.1
acall stop
; memanggil rutin stop
jb sensor_kanan_luar,cek_kiri ;melompat ke bit p1.4 pada logika high (1)
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
rutin1:
; perintah untuk rutin1
acall tutup
; memanggil rutin tutup
loop:
; perintah untuk loop acall stop
; memanggil rutin stop
jb sensor_kanan_dalam,loop
;melompat ke bit p1.5 pada logika high (1)
rutin2:
;printah untuk rutin2 acall stop
;memanggil rutin stop
jnb sensor_kanan_dalam,rutin2
;melompat
ke
bit
p1.5 pada logika low (0) sjmp utama
;melompat ke baris perintah label utama
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
cek_kiri:
; program utama
jb sensor_kiri_luar,cek_kanan
;melompat p1.6
ke
pada
bit logika
high (1)
rutin3:
; perintah untuk rutin3
acall
tutup
loop1:
; memanggil rutin tutup
; perintah untuk loop1 acall stop
; memanggil rutin stop
jb sensor_kiri_dalam,loop1
;melompat
ke
bit
p1.7
pada logika high (1) rutin4:
; perintah untuk rutin4 acall stop
; memanggil rutin stop
jnb sensor_kiri_dalam,rutin4
;melompat ke bit p1.7 pada logika low (0)
sjmp utama
;
melompat
ke
baris
perintah label utama
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
buka:
; perintah buka clr p3.1
;
aktifkan
logika
low
(0)
pada bit p3.1 acall bukamotor1
;
memanggil
rutin
bukamotor1
cekmotorbuka1:
;perintah untuk cekmotorbuka1
jb limit1buka,cekmotorbuka2
;melompat
ke
bit
p2.1 pada logika high (1) acall stopmotor1
cekmotorbuka2:
;memanggil rutin stopmotor1
;perintah untuk cekmotorbuka2
jb limit2buka,bukaserentak ;
melompat
ke
bit
p2.3
pada logika high (1) acall stopmotor2
;memanggil rutin stopmotor2
acall stop
; memanggil rutin stop
ret
;program
berhenti
untuk
program buka Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
bukaserentak: jb limit1buka,lanjut
;perintah bukaserentak ;melompat
ke
bit
p2.1
pada
logika high (1) acall bukamotor2 sjmp cekmotorbuka1
;memanggil rutin bukamotor2 ;melompat
ke
baris
perintah
lebel cekmotorbuka1
lanjut:
;perintah lanjut acall bukasemua
;memanggil
rutin
bukasemua
sjmp buka
;melompat
ke
baris
perintah
lebel buka
tutup:
; perintah tutup clr p3.1
;aktifkan
logika
low
(0)
pada bit p3.1 acall tutupmotor1
;memanggil rutin tutupmotor1
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
cekmotortutup1:
;perintah cekmotortutup1
jb limit1tutup,cekmotortutup2
;melompat p2.0
ke
pada
bit logika
high (1) acall stopmotor1
;memanggil
rutin
stopmotor1
cekmotortutup2:
;perintah cekmotortutup2
jb limit2tutup,tutupserentak
;
melompat
ke
bit
p2.2 pada logika high (1) acall stopmotor2
;memanggil rutin stopmotor2
ret
;program
berhenti
untuk
program tutup
tutupserentak:
;perintah tutup serentak
jb limit1tutup,lanjutkan
;melompat
ke
bit
p2.0
pada logika high (1)
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
acall tutupmotor2
;memanggil
rutin
tutupmotor2 sjmp cekmotortutup1
;melompat
ke
baris
perintah cekmotortutup1
lanjutkan:
; perintah lanjutkan
acall tutupsemua
;memanggil rutin tutupsemua
sjmp tutup
;melompat
ke
baris
printah
lebel tutup
bukasemua:
; perintah bukasemua mov p0,#0ah
;isikan
nilai
a
heksadesimal
ke p0 mov r7,#200
;isikan nilai 200 heksadesimal ke register 7 (r7)
djnz r7,$
;instruksi yang akan mengurangi 1 nilai register 7 dan akan melompat ke memori program buka semua jika setelah
pengurangan
belum
dihasilkan 0 acall stop
; memanggil rutin stop
ret
;
program
berhenti
untuk
program
bukasemua Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
tutupsemua: mov p0,#05h
;perintah tutupsemua ;isikan
nilai
5
heksadesimal
ke p0 mov r7,#100
;isikan nilai 100 heksadesimal ke register 7 (r7)
djnz r7,$
;instruksi
yang
akan
mengurangi 1 nilai register 7 dan
akan
melompat
ke
memori
program
tutupsemua
jika
setelah
pengurangan
belum
dihasilkan 0 acall stop
ret
; memanggil rutin stop
;program
berhenti
untuk
program
tutupsemua
bukamotor1: mov p0,#02h
;perintah bukamotor1 ;isikan nilai 2 heksadesimal ke p0
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
mov r7,#200
;isikan nilai 200 heksadesimal ke register 7 (r7)
djnz r7,$
;instruksi yang akan mengurangi 1 nilai register 7 dan akan melompat ke memori program bukamotor1 jika setelah
pengurangan
belum
dihasilkan 0 acall stop
;memanggil rutin stop
ret
;program
berhenti
untuk
program
bukamotor1
bukamotor2:
;perintah bukamotor2
mov p0,#08h
;isikan nilai 8 heksadesimal ke p0
mov r7,#200
;isikan nilai 200 heksadesimal ke register 7 (r7)
djnz r7,$
;instruksi yang akan mengurangi 1 nilai register 7 dan akan melompat ke memori program bukamotor2 jika setelah
pengurangan
belum
dihasilkan 0 acall stop
;memanggil rutin stop
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
ret
;program
berhenti
untuk
program
bukamotor2 tutupmotor1:
;perintah tutupmotor1
mov p0,#01h
;isikan nilai 1 heksadesimal ke p0
mov r7,#100
;isikan nilai 100 heksadesimal ke 7 (r7)
djnz r7,$
;instruksi yang akan mengurangi 1 nilai register 7 dan akan melompat ke memori program tutupmotor1 jika setelah
pengurangan
belum
dihasilkan 0 acall stop
;memanggil rutin stop
ret
;program
berhenti
untuk
program
tutupmotor1
tutupmotor2:
;perintah tutupmotor2
mov p0,#04h
;isikan nilai 4 heksadesimal ke p0
mov r7,#100
;isikan nilai 100 heksadesimal ke register 7 (r7)
djnz r7,$
;instruksi yang akan mengurangi 1 nilai register 7 dan akan melompat ke memori program tutupmotor2 jika
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
setelah
pengurangan
belum
dihasilkan 0 acall stop
;memanggil rutin stop
ret
;program
berhenti
untuk
program
tutupmotor2
stopmotor1: clr hijau
;perintah stopmotor1 ;aktifkan logika low (0) pada bit p0.0
clr biru
;aktifkan logika low (0) pada bit p0.1
ret
;program
berhenti
untuk
program
stopmotor1
stopmotor2: clr biru
;perintah stopmotor2 ;aktifkan logika low (0) pada bit p0.1
clr ungu
;aktifkan logika low (0) pada bit p0.2
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
ret
;program
berhenti
untuk
program
stopmotor
stop:
;perintah clr hijau
;aktifkan logika low (0) pada bit p0.0
clr biru
;aktifkan logika low (0) pada bit p0.1
clr ungu
;aktifkan logika low (0) pada bit p0.2
clr abu
;aktifkan logika low (0) pada bit p0.3
mov r7,#100
;isikan nilai 100 heksadesimal ke register 7 (r7)
djnz r7,$
;instruksi yang akan mengurangi 1 nilai register 7 dan akan melompat ke memori program stop jika setelah pengurangan belum dihasilkan 0
ret
;program
berhenti
untuk
program
stop
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
BAB 4 PENGUJIAN RANGKAIAN DAN ANALISA
4.1
Pengujian Rangkaian
4.1.1 Pengujian Rangkaian Mikrokontroler AT89S51
Untuk mengetahui rangkaian mikrokontroler ini sudah bekerja dengan baik maka dilakukan pengujian.
VCC
5V
AT89S51 1 2 3 4
VCC 5V
5 6 7
10uF
8
P1.0
Vcc
P1.1 P0.0 (AD0) P1.2
P0.1 (AD1)
P1.3 P0.2 (AD2) P1.4 P0.3 (AD3) P1.5 P0.4 (AD4) P1.6 P0.5 (AD5) P1.7 P0.6 (AD6)
9
RST
P0.7 (AD7)
40 39 38 37 36 35 34 33 32
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan 10 31 Tampilan Running Text, 2009. P3.0 (RXD) EA/VPP 11 12
VCC 5V
13 14 15
2SA733
4.7k XTAL 12 MHz
LED1
16 17
P3.1 (TXD) P3.2 (INT0)
ALE/PROG PSEN
P3.3 (INT1) P2.7 (A15) P3.4 (T0) P2.6 (A14) P3.5 (T1) P2.5 (A13) P3.6 (WR) P2.4 (A12) P3.7 (RD) P2.3 (A11)
18 19
XTAL2
P2.2 (A10)
XTAL1
P2.1 (A9)
30 29 28 27 26 25 24 23 22
Gambar 4.1 Rangkaian minimum mikrokontroler AT89S51 Pengujian ini dilakukan dengan cara memberikan program sederhana pada mikrokontroler AT89S51. Programmya adalah sebagai berikut:
Loop: Cpl P3.7 Acall Tunda Sjmp Loop Tunda: Mov R7,#255 Tnd: Mov R6,#255 Djnz r6,$ Djnz r7,Tnd Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
Ret
Program di atas akan mengubah logika yang ada pada P3.7 selama selang waktu tunda. Jika logika pada P3.7 high maka akan diubah menjadi low, demikian juga sebaliknya jika logika pada P3.7 low maka akan diubah ke high, demikian seterusnya.
Logika low akan mengaktifkan 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 terus menerus sesuai dengan program yang diinginkan, maka rangkaian mikrokontroler telah berfungsi dengan baik. 4.1.2 Pengujian Rangkaian Sensor Inframerah
Rangkaian ini dikatakan baik apabila ketika photodioda terkena pantulan inframerah, LED indicator akan menyala dan tegangan keluarannya jika diukur adalah 0 V. Demikian sebaliknya, ketika photodiode tidak terkena pantulan inframerah, LED indicator tidak akan menyala, dan tegangan keluarannya jika di ukur adalah 5 V. Karena sensor ini berfungsi untuk mendeteksi kereta api yang lewat maka diletakkan menghadap rel kreta api. Dengan jarak sedekat mungkin agar bekerja sesuai dengan yang diinginkan. Rangkaian sensor inframerah ditunjukkan oleh gambar berikut:
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS VCCApi dengan VCCpada Simulasi Palang Kereta Tampilan Running Text, 2009.
5V
5V
AT89S51 1.0k
Q4 1.0k
100
10k
Q2 1.0k
100
Poto dioda
Infra Merah
100 Infra Merah
Gambar 4.2 Rangkaian sensor inframerah 4.1.3 Pengujian Rangkaian Jembatan H
Rangkaian untuk mengendalikan perputaran motor DC tersebut adalah sebuah rangkaian yang dikenal dengan Jembatan H, seperti gambar di bawah ini:
VDD
VDD 6.2V
6.2V
1.0k
1.0k Tip 127
18
330
2SC945
Tip 127
18 VCC
VCC
MOTOR
5V
5V
2SC945
1.0k
P0.1
P0.0
18 330
330
1.0k
2SC945
Tip 122 Tip 122
18 2SC945
330
Gambar 4.3 Rangkaian Jembatan H Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
Untuk menguji rangkaian ini, diberikan logika high (5 V) pada salah satu inputnya, sedangkan inputnya yang lain diberikan logika low (0 V). Maka motor DC yang dihubungkan pada outputnya akan berputar ke arah tertentu. Dan ketika pemberian logika dibalik, motor akan berputar ke arah yang sebaliknya.
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
4.1.4
Pengujian Rangkaian PSA
Rangkaian PSA ini berfungsi untuk mensuplay tegangan ke seluruh rangkaian ditunjukkan oleh gambar berikut
TIP32C
LM7805CT
12Volt
Vreg IN
OUT
100ohm
220V 50Hz 0Deg
5Volt 330ohm
1N5392GP 2200uF
1uF
1N5392GP
100uF
TS_PQ4_12
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 mensupply 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.
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
4.1.5 Pengujian Rangkaian Buzzer
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.
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.
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
4.2.
Analisa
Setelah keseluruhan dibuat dan diuji, maka berikut ini adalah rangkaian kerja dari palang kereta api yang dibuat: 1.
Pada saat dihidupkan palang akan segera mengambil logika dari sensor kanan luar.
2.
Ketika kereta api terdeteksi oleh sensor kanan luar tersebut, maka palang akan diperintahkan untuk menutup jalan sehingga mobil dan kenderaan lainnya berhenti.
3.
Pada saat sensor kanan dalam mendeteksi kereta api sudah seluruhnya lewat maka palang akan diperintahkan untuk membuka jalan artinya mobil dan kenderaan lainnya dapat berjalan kembali.
4.
Demikian juga dilakukan jika sensor kiri luar yang mendapat logika, sensor kiri dalam akan bekerja sesuai dengan yang telah diprogram.
5.
Buzzer akan berbunyi ketika kereta api terdeteksi oleh sensor inframerah demikian halnya Running text akan aktif juga.
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
BAB 5
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Dari hasil penulisan Tugas Akhir ini diperoleh kesimpulan sebagai berikut: 1. Perancangan simulasi Palang kereta api ini dapat berfungsi dengan baik selainuntuk mengurangi factor kecelakaan juga tenaga manusia yang betul – betul menyita perhatian yang ditugaskan untuk pos jaga dekat palang kereta api. 2. Mikrokontroler AT89S51 mempunyai fungsi yang besar untuk mengendalikan semua cara kerja dari proyek tersebut baik untuk mengendalikan semua rangkaian. 3. Motor DC memilki speed dan torsi yang mudah dikontrol arah putaran dan kecepataannya untuk dapat diputar ke kiri atau ke kanan yang dihubungkan dengan Mikrokontroler AT89S51 sebagai pengendalinya.
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
5.2 Saran 1. Agar rangkaian yang digunakan tidak terganggu,sebaiknya alat ini dikemas dalam bentuk yang lebih baik sehingga penggunaannya lebih efektif. 2. Pada proyek ini penempatan letak sensor harus sesuai dengan fungsinya masingmasing. 3. Bahasa pemograman yang digunakan pada proyek ini hendaknya bisa dikembangkan menjadi lebih baik. 4. Pada proyek ini jenis sensor inframerah dapat diganti dengan sensor halangan yang lain seperti sensor ultrasonik untuk proyek jadinya. 5. Dapat ditambah lagi system –sistem yang dapat mendukung pada system agar tujuan yang diinginkan lebih sempurna.
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
DAFTAR PUSTAKA
Afgianto.2002.Belajar Mikrokontroler AT89S51/52/55 Teori dan Aplikasi. Edisi Kedua,Penerbit: Gava Media,Yogyakarta
Andi.2003.Panduan Praktis Teknik Antarmuka dan Pemograman Mikrokontroler AT89S51,Penerbit:PT ELEX Media Komputindo,Jakarta
Bishop,Owen.2004.Dasar- dasar Elektronika,Edisi Pertama,Penerbit: Erlangga,Jakarta
Malvino,Hanafi Gunawan,1996.Prinsip-prinsip Elektronika.Edisi Kedua,Penerbit:Erlangga,Jakarta
www.Smartec.NL www.fairchildsemi.com www.atmel.com
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
Rangkaian Skematik Simulasi Palang Kereta Api Berbasis Mikrokontroler AT89S51
VD
VDD 6.2V
VCC 5V
1.0k
AT89S51 Q4
1.0k
330
10k
4.7k 2SC945
18 VCC
VCC
MOTOR
5V
5V
2SC945 1.0k
1.0k
P0.0
C828 10k
330
Poto dioda
1.0k 2SA733
1.0k 2SA733
2SC945
Tip 127
Tip 127
18
10k
Q2
4.7k
Tip 122
18
330k
Tip 122
LED1
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009. TIP32C
LM7805CT
12Volt
Vreg IN
100ohm
220V 50Hz 0Deg
OUT
5Volt 330ohm
1N5392GP 2200uF
1uF
18 2SC945
2SC945
330
330