IMPLEMENTASI AT89S51 SEBAGAI PENGAMAN SEPEDA MOTOR Iswanto Namun tampaknya seiring dengan pesatnya teknologi otomotif, tingkat kejahatan dan kriminalitas terhadap kendaraan bermotor khususnya sepeda motor kian merebak. Hal itu tentunya faktor keamanan dan kenyamanan bagi pemakai dan pemilik sepeda motor belum tercapai. Standar sistem pengaman tambahan pada sepeda motor umumnya belum memadai. 3. DASAR TEORI Kelistrikan Sepeda Motor Pada sistem pengaman sepeda motor memerlukan beberapa tegangan input yang berasal dari indikator lampu yang ada pada sepeda motor. Selanjutnya tegangan tersebut akan berfungsi sebagai data masukan oleh mikrokontroler AT89S51. 3.1. Kontrol CDI Merupakan bagian yang dikendalikan sistem pengaman ini. CDI memiliki peranan penting dalam menghidupkan mesin. Titik kontrol CDI ada pada ada pada kabel hitam/putih (BW), pada Gambar 1. ditunjukkan bahwa kabel hitam/putih terhubung dengan kunci kontak. Apabila kunci kontak terbuka maka CDI siap bekerja apabila unit sepeda motor di-starter atau kick starter. Demikian pula sebaliknya jika kunci kontak tertutup maka mesin akan mati (CDI tak bekerja). Penerapan sistem pengaman ini adalah dengan memasang saklar relai yang diparalel dengan kunci kontak. B/R UNIT CDI L/Y G/W 1. PENDAHULUAN Perkembangan dunia otomotif di Indonesia akhir-akhir ini semakin pesat, khususnya untuk kendaran jenis sepeda motor. Hal ini terbukti semakin banyaknya bermunculan berbagai jenis dan merk sepeda motor yang ada. Teknologi bidang otomotif memberi sumbangan besar terhadap kemajuan suatu negara juga memberikan peranan penting dalam usaha mencapai sasaran pembangunan. Sehingga dengan pesatnya perkembangan dunia otomotif maka mobilitas manusia akan menjadi semakin cepat, aman dan nyaman. 2. TINJAUAN PUSTAKA Dalam makalah ini, bahan yang dijadikan sumber adalah dokumen dari tugas akhir yang ditulis oleh Susilo Marwanto, dengan judul ”Sistem Pengaman Sepeda Motor Berbasis Mikrokontroler AT89C2051”. Bahan lain yang dijadikan sumber adalah buku terbitan PT Astra Internasional Inc dengan judul Buku Pedoman Reparasi Honda Astrea Prima, ditulis oleh Honda Technical Service Sub Division. B/W Kata kunci : AT89S51, Pengaman sepeda motor memasang dan melepas alat itu sebelum atau setelah menggunakan kendaraan. Letak yang mudah terlihat secara visual dan sifatnya yang pasif juga merupakan kelemahan sistem pengaman ini. Sistem pengaman elektrik seperti saklar yang tersembunyi hanya memperbaiki satu kelemahan dari sistem pengaman mekanik di atas. B/Y ABSTRAKSI Kejahatan dan kriminalitas terhadap kendaraan bermotor khususnya sepeda motor kian merebak. Hal itu tentunya faktor keamanan dan kenyamanan bagi pemakai dan pemilik sepeda motor belum tercapai. Standar sistem pengaman tambahan pada sepeda motor umumnya belum memadai. Penelitian ini mencoba membangun suatu model pengaman elektrik kendaraan dengan menggunakan microcontroller AT89S51. Model Keamanan meliputi rangkaian sistem minimum mikrokontroler AT89S51, rangkaian masukan data berupa 3 buah gerbang inverter schmitt trigger yang disusun sedemikian rupa sehingga dapat dikendalikan dari indikator-indikator yang ada pada sepeda motor. Sedangkan output berupa rangkaian penggerak relai yang akan men-ground-kan sistem pengapian unit sepeda motor dan mampu mengaktifkan buzzer. Hasil penelitian menunjukkan bahwa untuk suatu model pengaman elektrik kendaraan bekerja dengan baik. Coil Pengapian Kunci Kontak Pembangkit Pulsa BUSI Sistem pengaman tambahan yang bersifat mekanik seperti kunci shock ataupun kunci grendel pada standar utama sepeda motor memiliki kelemahan yaitu pemakai harus dibuat repot dengan 3.2. Gambar. Indikator Kontrol CDI Tegangan Indikator Netral Alternator Lampu indikator netral yang menyala apabila gigi versneling sepeda motor pada posisi netral. Berdasarkan gambar konfigurasi di bawah maka titik A akan ada tegangan sebesar VAccu apabila saklar netral terbuka atau pada saat gigi versneling tidak pada posisi netral atau lampu netral mati. Tegangan inilah yang merupakan masukan data pertama sistem pengaman ini Gambar Konfigurasi Lampu Indikator Netral 3.3. Tegangan Indikator Posisi Lampu indikator posisi kiri/kanan akan menyala apabila saklar posisi kiri/kanan diaktifkan. Pada titik B akan ada tegangan sebesar VAccu apabila saklar posisi diaktifkan ke kiri, demikian pula bila diaktifkan ke kanan maka maka giliran titik C yang mendapat tegangan sebesar VAccu. Masing-masing B dan C merupakan masukan data kedua dan ketiga untuk mengaktifkan alat ini. 4. METODOLOGI PENELITIAN Berdasarkan latar belakang masalah yang telah dikemukakan di atas, maka dapat diambil berbagai permasalahan sebagai berikut 1. Bagaimana merancang sistem minimum berbasis mikrokontroler AT89S51 yang dapat digunakan sebagai sistem pengaman sepeda motor. 2. Input apa saja yang dapat digunakan sebagai kunci/data masukan pemecah sandi. 3. Perangkat apa yang dapat digunakan untuk mengantar mukakan sistem pengaman dengan mesin unit sepeda motor. Perancangan Perangkat Keras Mengacu pada analisis kebutuhan di atas, maka bagian-bagian yang diperlukan untuk merealisasi sistem pengaman sepeda motor berbasis mikrokontroler AT89S51 tersebut dapat digambarkan dengan blok diagram sebagai berikut: Rangkaian masukan data indikator gigi netral Rangkaian masukan data indikator posisi kiri Rangkaian Clock Rangkaian masukan data indikator posisi kanan Saklar Posisi Ke rangkaian Masukan Data B Posisi Kiri C Ke Rangkaian Masukan Data Mikrokontroler AT89S51 Mikrokontroler AT89S51 sering disebut sebagai flash microcontroller karena ROM internal yang digunakan adalah EEROM (Electrically Erasable ROM) dengan kapasitas memory ROM 4 kB (internal). Keunggulan dari mikrokontroler AT89S51 adalah : 1. Kompatibel dengan semua produk MCS-51 2. Kapasitas memori internal 4kB (EEROM) 3. 128 x 8 bit RAM internal 4. 32 I/O line yang dapat diprogram 5. 2 buah 16 bit pewaktu/pencacah 6. 6 sumber interupsi Dengan memiliki karakteristik-karakteristik tersebut, mikrokontroler AT89S51 keluaran pabrikan ATMEL sangat fleksibel digunakan pada suatu aplikasi. Rangkaian minimum mikrokontroler Rangkaian Penggerak Buzzer Gambar Diagram Blok Rancangan Alat Posisi Kanan Gambar Lampu Indikator Posisi. Rangkaian Penggerak Relai Perancangan Perangkat Lunak Perangkat lunak yang digunakan pada makalah ini merupakan bahasa pemrograman tingkat rendah (bahasa assembler). Bahasa assembler digunakan untuk mengendalikan kerja dari mikrokontroler AT89S51 sehingga dapat mengirim dan menerima data. Sebelum bahasa assembler dituliskan ke mikrokontroler, perlu dilakukan inisialisasi terlebih dahulu. Hal ini dimaksudkan agar mikrokontroler berada dalam keadaan siap bekerja. 5 HASIL IMPLEMENTASI DAN PEMBAHASAN Data Pengujian Rangkaian Masukan Data Pengujian rangkaian masukan data dilakukan dengan memati hidupkan indikator netral dan posisi kemudian mengukur tegangan keluaran pada masing-masing schmitt trigger yang bersangkutan. 1. Pembahasan Perangkat Keras Sistem pengaman sepeda motor ini terdiri dari beberapa bagian yaitu rangkaian masukan data, rangkaian penggerak relai, rangkaian penggerak buzzer rangaian catu daya dan rangkaian sistem minimum mikrokontroler AT89S51. Pengujian dilaksanakan bagian demi bagian, selanjutnya data hasil pengujian akan dibahas untuk menjawab rumusan masalah. Rangkaian Masukan Data Data berupa masukan tegangan yang berasal dari indikator lampu netral dan indikator posisi. Pada masing-masing rangkaian masukan data dilalukan pada sebuah dioda dimana kathoda terhubung dengan kapasitor dan rangkaian voltage devider. Dioda-dioda ini berfungsi sebagai penyekat antara rangkaian dengan indikator yang bersangkutan. Kapasitor C10, C11dan C12 berfungsi untuk meratakan tegangan yang berubahubah, terutama yang berasal dari indikator posisi. Tanpa terpasang kapasitor, maka tegangan kathoda berubah ubah secara pereodik mendekati 0 Volt dan mendekati tegangan Accu (2 logika). Dengan terpasangnya kapasitor-kapasitor itu maka tegangan pada kathoda berdasarkan tabel hasil pengujian menunjukkan berkisar antara 6,5volt sampai dengan 9 volt selama indikator posisi on. Hal ini menunjukkan bahwa vareasi tegangan masih memenuhi batas-batas logika 1. Rangkaian voltage devider merupakan konfigurasi 2 buah resistor yang terpasang seri dengan kedua ujungnya terhubung pada kathoda dan ground sedangkan titik pertemuan kedua resistor ini terhubung dengan inverter schmitt trigger. Voltage devider adalah sebagai pembagi tegangan yang berasal dari kathoda sebesar 6,5 Volt-9 Volt (pada saat indikator posisi on) dan 12 Volt (saat indikator netral off). Sedangakan tegangan input inverter schmitt trigger hanya mengijinkan vareasi tegangan antara 0 Volt- 5 Volt. Dengan nilai-nilai komponen yang telah tertera pada rangkaian masukan data maka titik pertemuan kedua resistor yang berfungsi sebagai input inverter schmitt trigger adalah berkisar antara 3 Volt- 4,1 Volt saat indikator posisi yang bersangkutan on dan 0,2 Volt saat off. Sedangkan tegangan saat indikator netral on adalah 0,1 Volt dan 4 Volt saat off. Nilainilai tegangan ini telah memenuhi ketentuan logika 0 dan logika1. IC1A R1 D2 Vi1 Indikator posisi kanan 1 680 + C10 1N4148 R2 680 220uF 2 P1.5 74LS14 IC1B D3 R3 Vi2 Indikator posisi kiri 3 4 P1.6 680 1N4148 + C11 R4 680 220uF 74LS14 IC1C D4 R5 Vi3 Indikator netral 5 6 P1.7 1K2 1N4148 + C12 R6 680 220uF 74LS14 Gambar Rangkaian Masukan Data Rangkaian Penggerak Rangkaian Penggerak Relai Mikrokontroler AT89S51 P3.0 merupakan input rangkaian penggerak relai. Selama catu daya aktif dan data masukan (sandi) belum benar, maka selama itu pula P3.0 akan selalu berlogika 0 yang merupakan input inverter schmitt trigger. Output inverter schmitt trigger akan membalikkan keadaan terhadap input, sehingga output berlogika 1 dan memberi bias basis transistor Q2 melalui R8. Fungsi dari resistor ini adalah mengatur dan membatasi agar saat logika 1 pada output schmitt trigger maka bias basis dapat dipastikan membuat transistor Q2 jenuh sehingga transistor on dan menggerakkan relai yang berakibat meng-groundkan pengapian CDI. Logika 0 pada basis transistor Q2 menyebabkan transistor dalam keadaan mati (cut off) sehingga transistor off dan relai juga tak aktif yang berakibat sambungan antara ground dan pengapian CDI putus. Dengan kondisi ini maka mesin sepeda motor dapat dihidupkan dengan electric starter ataupun kick starter. VCC RC 4 3 5 2 1 IC1D RL 12V SPDT R8 9 P3.0 8 Vi CDI Q2 D400 10K 74LS14 Gambar Rangkaian Penggerak Relai. Berikut ini merupakan perhitungan untuk menentukan nilai resistansi resistor (R8). VCC Vi β = 11,5 V = 3V = 160 RC VBE = 400 Ohm = 0,7 V VCC 11,5 = = 28,75 mA RC 400 28,75mA ICjenuh IB jenuh = = = 179µA 160 kondisi jenuh IC= Supaya benar-benar kondisi jenuh IB > IB jenuh IB = 200µA R8 = Vi VBE 3 0,7 = = 11,5KΩ ≈ 10 KΩ IB 200 A Rangkaian Penggerak Buzzer Kunci kontak sepeda motor on maka P3.1 mikrokontroler AT89S51 akan berlogika 1 dan pada output inverter schmitt trigger IC1E berlogika 0. Transistor Q1 yang mendapat bias dari inverter schmitt trigger IC1E yang berlogika 0 (tegangan sebesar 0,15 volt) akan berakibat transistor off sehingga buzzer tak aktif. Tiga kali kesalahan dalam pemberian data masukan akan berakibat P3.1 mokrokontroler akan berlogika 0 dan 1 secara pereodik. Situasi ini akan diikuti oleh inverter schmitt trigger IC1E dan transistor Q1, sehingga buzzer juga akan berbunyi dan diam bergantian secara pereodik. V Accu BZ IC1E Buzer R9 11 P3.1 10 Vi Q1 D400 22K 74LS14 Gambar Rangkaian Penggerak Buzzer. Berikut merupakan perhitungan untuk mentukan nilai R9 V accu = 13V Vi = 3V VBE = 0,7V β = 160 I buzzer= 15mA (mengukur arus dengan menghubungkan buzzer terhadap accu) Kondisi jenuh IC jenuh = IC buzzer = 15mA IB jenuh = ICjenuh = 15mA = 93,75 µA 160 Supaya benar-benar kondisi jenuh IB > IB jenuh IB = 100 µA R9 = Vi VBE 3 0,7 = = 23KΩ ≈ 22KΩ IB 100A 2. Pembahasan Perangkat Lunak Perangakat lunak yang dibuat mengacu pada diagram alir (flow chart) yang selengkapnya terdapat pada lampiran. Pada program menggunakan P1.5, P1.6, dan P1.7 sebagai masukan data ke mikrokontroler. Register 3 dan akumulator digunakan sebagai penyimpan data sedangkan hasil dari pemrosesan data melalui P3.0 dan P3.1. program inisialisasi, yaitu untuk mengatur keadaan awal. ORG CLR CLR 0H A P3.0 MOV R3,#0H Program di bawah ini merupakan penghitung jumlah kesalahan dalam memasukkan data ke mikrokontroler melalui port 1. Apabila data R3 melampaui batasan yang telah ditetapkan maka akan memanggil subrutin sirine untuk mengaktifkan buzzer. TAMBAH: INC R3 Program di bawah ini adalah untuk memastikan bahwa dalam keadaan awal salah, keadaan port 1 berlogika 1 semua. Hal ini bertujuan untuk menghindari salah penghitungan karena masukan data yang salah terlalu lama sehingga dihitung ganda. Jika data awal port1 tidak sama dengan 11111111B (indikator netral on, indikator posisi kiri dan kanan off) maka aliran program lompat ke subutin SAMAKAN, demikian berputar seterusnya hingga masukan data awal port 1 sama dengan 11111111B. Bila data masukan telah terpenuhi dan nilai data pada R3 belum mencapai 3 maka program akan meminta data masukan pertama. SAMAKAN: MOV A,P1 CJNE A,#11111111B,SAMAKAN Program di bawah ini adalah program yang meminta masukan data 01111111B pada port 1, yang berarti indikator netral, indikator posisi kiri dan indikator posisi kanan dalam keadaan off Aliran program pada bagian ini akan terjadi looping apabila masukan data port 1 tidak sama dengan 01111111B atau 10111111B atau 11011111B. Aliran program akan lompat ke subrutin TAMBAH apabila masukan data port 1 adalah 11011111B atau 10111111B. Hal ini diidentifikasi sebagai masukan data yang salah sehingga data R3 bertambah satu. Program akan meminta masukan data keadaan awal lagi yaitu port 1 berlogika 11111111B sebelum meminta data masukan pertama kembali. Bila masukan data port 1 benar dan nilai data R3 belum mencapai 3 maka akan melanjutkan program berikutnya untuk meminta data masukan kedua. NETRAL_1: MOV A,P1 CJNE A,#01111111B,KIRI_1 JMP KIRI_2 KIRI_1: CJNE A,#10111111B,KANAN_1 JMP TAMBAH KANAN_1: CJNE A,#11011111B,NETRAL_1 JMP TAMBAH Program di bawah ini meminta data masukan kedua melalui port 1 dengan data 10111111B. Bila masukan data port 1 adalah 11011111B maka aliran program akan lompat ke INC R3 dan masukan data akan diidentifikasi sebagai masukan data yang salah, kembali ke kondisi awal, dihitung jumlah kesalahan untuk menentukan harus memanggil subrutin sirine atau melanjutkan program masukan data yang pertama kembali dan seterusnya KIRI_2: MOV A,P1 CJNE A,#10111111B,KANAN_2 JMP KANAN_3 KANAN_2: CJNE A,#11011111B,KIR1_2 JMP TAMBAH Program yang meminta data masukan ketiga melalui port 1 dilakukan oleh program dibawah ini dengan masukan data yang diminta adalah 11011111B. Aliran program akan lompat ke INC R3 bila masukan data port 1 adalah 01111111 dan harus mengulang masukan data dari awal kembali KANAN_3: MOV A,P1 CJNE A,#11011111B,NETRAL_3 JMP BENAR NETRAL_3: CJNE A,#01111111B,KANAN_3 JMP TAMBAH Bila masukan data ke tiga benar maka secara terus menerus selama catu daya aktif, P3.0 dan P3.1 dalam logika 1yang berarti mengaktifkan CDI dan mematikan buzzer. BENAR: SETB P3.0 SETB P3.1 JMP BENAR Berikut merupakan program dari subrutin sirine. BUZZER: CLR P3.0 ULANG: CLR P3.1 ACALL DELAY SETB P3.1 ACALL DELAY JMP ULANG Subrutin BUZZER merupakan pengosongan data (logika 0) pada P3.1 yang berarti memberikan bias basis transistor Q1 sehingga menjadi on, mengaktifkan relai dan mematikan CDI. CLR P3.0 merupakan pengosongan P3.1 yang manyebabkan basis Q1 berlogika 1 dan mengaktifkan buzzer. Keadaan ini hanya bertahan selama pemanggilan subrutin delay. Program ACALL DELAY mengubah keadaan P3.1 menjadi berlogika 1 sehingga Q2 off dan buzzer tak aktif dengan mempertahankan keadaan selama subrutin delay dipanggil. JMP ULANG merupakan instruksi aliran program untuk lompat ke ULANG: CLR P3. dan melakukan pengulangan terus menerus selama catu daya masih aktif. Berikut merupakan program dari subrutin delay. DELAY: MOV R0,#0AH DELAY_A: MOV R1,#1FH DELAY_B: MOV R2,#0 DJNZ R2,$ DJNZ R1,DELAY_B DJNZ R0,DELAY_A RET END Subrutin DELAY merupakan pengisian R0 dengan 0AH (10 kali ulang), pengisian R1 dengan data 1FH (31 kali ulang) dan pengisian R2 dangan data 0H (256 kali ulang). Selanjutnya data R2 dikurangi dengan nilai 1 atau diturunkan terus menerus hingga data R2 menjadi kosong. DJNZ R1,DELAY_B adalah mengurangi nilai data R1 bila tak sama dengan nol maka akan lompat ke DELAY_B dan looping terus hingga diperoleh nilai data R1 sama dengan nol. 6 KESIMPULAN Setelah melakukan pengamatan, mengumpulkan data dan menganalisa maka penulis mengambil kesimpulan tentang sistem pengaman sepeda motor berbasis mikrokontroler AT89S51 sebagai berikut: 1. Sistem yang telah dirancang hanya efektif ketika menghidupkan mesin sepeda motor menggunakan kick starter. Kinerja alat akan kadang-kadang terganggu ketika menghidupkan mesin sepeda motor menggunakan electric starter. 2. Perangkat ini hanya aktif ketika saklar kontak on. 3. Alat ini terdiri dari beberapa bagian yaitu (1) 3 buah rangkaian Masukan Data, (2) rangkaian Sistem Minimum Mikrokontroler AT89S51 (3) rangkaian Penggerak Relai dan (4) rangkaian Penggerak Buzzer. 7 SARAN-SARAN 1. Bila diinginkan urutan masukan data yang lebih banyak maka perlu ditambahkan lagi rangkaian masukan data. 2. Untuk menghasilkan sirene yang lebih keras maka buzzer dapat diganti dengan klakson atau horn speaker dengan beberapa penyesuaian pada rangkaian penggerak buzzer. 3. Arus diam sistem ini perlu diperhitungkan apabila hendak dipasang kondisi selalu aktif saat kunci kontak on maupun off. 4. Sistem pengaman ini dapat dikembangkan lagi menjadi sistem pengaman yang menggunakan remote control. DAFTAR PUSTAKA [1] Putra, Agfianto Eko. (2002). Belajar Mikrokontroler AT89C51/52/55 (Teori dan Aplikasi. Edisi pertama.Yogyakarta : Gava Media [2] Honda Technical Service Sub Division. (1988). Buku Pedoman Reparasi Honda Astrea Prima. Jakarta : PT Astra Internasional Inc. [3] ON semiconduktor. (November. 2003). SN74LS14 Schmitt Trigger Dual Gate/Hex Inverter. USA : Semiconductor Component Industries (http://www.onsemi.com) [4] Marwanto, Susilo. (2004). Sistem Pengaman Sepeda Motor Berbasis Mikrokontroler At89c2051. Laporan Proyek Akhir Fakultas Tehnik UNY [5] National Semiconductor Corporation. (November. 2003). LM78XX Series Voltage Regulators. USA : National Semiconductor Inc (http://www.national.com) [6] Foulsham, W. (1996). Data dan Persamaan Transistor (Towers’ International Selector) Jakarta : PT Elex Media Komputindo.