Sabtu, 12 September 2009

IMPLEMENTASI AT89S51 SEBAGAI PENGAMAN SEPEDA MOTOR

IMPLEMENTASI AT89S51 SEBAGAI PENGAMAN SEPEDA MOTOR
Iswanto
anto_1512@yahoo.com
Jurusan Diploma Teknik Elektro Fakultas Teknik Universitas Gadjah Mada



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.

Kata kunci : AT89S51, Pengaman sepeda motor

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

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.

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.

Gambar. Indikator Kontrol CDI
3.2. Tegangan Indikator Netral
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.

Gambar Lampu Indikator Posisi.

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.

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:













Gambar Diagram Blok Rancangan Alat

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 berubah-ubah, 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. Nilai-nilai tegangan ini telah memenuhi ketentuan logika 0 dan logika1.

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-ground-kan 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.

Gambar Rangkaian Penggerak Relai.

Berikut ini merupakan perhitungan untuk menentukan nilai resistansi resistor (R8).
VCC = 11,5 V RC = 400 Ohm
Vi = 3 V VBE = 0,7 V
β = 160
kondisi jenuh IC= = = 28,75 mA
IB jenuh = = = 179µA
Supaya benar-benar kondisi jenuh
IB > IB jenuh
IB = 200µA
R8 = = = 11,5KΩ ≈ 10 KΩ

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.

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 = = = 93,75 µA
Supaya benar-benar kondisi jenuh
IB > IB jenuh
IB = 100 µA
R9 = = = 23KΩ ≈ 22KΩ

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 0H
CLR A
CLR 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.