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.

Kamis, 22 Januari 2009

mengaktifkan motor servo dengan bascom

MOTOR SERVO

16.1. PENDAHULUAN

Motor servo adalah sebuah motor dengan sistem closed feedback di mana posisi dari motor akan diinformasikan kembali ke rangkaian kontrol yang ada di dalam motor servo. Motor ini terdiri dari sebuah motor, serangkaian gear, potensiometer dan rangkaian kontrol. Potensiometer berfungsi untuk menentukan batas sudut dari putaran servo. Sedangkan sudut dari sumbu motor servo diatur berdasarkan lebar pulsa yang dikirim melalui kaki sinyal dari kabel motor. Tampak pada gambar dengan pulsa 1.5 mS pada periode selebar 2 mS maka sudut dari sumbu motor akan berada pada posisi tengah. Semakin lebar pulsa OFF maka akan semakin besar gerakan sumbu ke arah jarum jam dan semakin kecil pulsa OFF maka akan semakin besar gerakan sumbu ke arah yang berlawanan dengan jarum jam.

Motor servo biasanya hanya bergerak mencapai sudut tertentu saja dan tidak kontinyu seperti motor DC maupun motor stepper. Walau demikian, untuk beberapa keperluan tertentu, motor servo dapat dimodifikasi agar bergerak kontinyu. Pada robot, motor ini sering digunakan untuk bagian kaki, lengan atau bagianbagian lain yang mempunyai gerakan terbatas dan membutuhkan torsi cukup besar.

Motor servo adalah motor yang mampu bekerja dua arah (CW dan CCW) dimana arah dan sudut pergerakan rotornya dapat dikendalikan hanya dengan memberikan pengaturan duty cycle sinyal PWM pada bagian pin kontrolnya. Motor Servo tampak pada gambar 16.1.

Gambar 16.1. Motor Servo

Motor Servo merupakan sebuah motor DC yang memiliki rangkaian control elektronik dan internal gear untuk mengendalikan pergerakan dan sudut angularnya. Sistem Mekanik Motor Servo tampak pada gambar 2.32.

Gambar 16.2. Sistem Mekanik Motor Servo

Motor servo adalah motor yang berputar lambat, dimana biasanya ditunjukkan oleh rate putarannya yang lambat, namun demikian memiliki torsi yang kuat karena internal gearnya.

Lebih dalam dapat digambarkan bahwa sebuah motor servo memiliki :

Ø 3 jalur kabel : power, ground, dan control

Ø Sinyal control mengendalikan posisi

Ø Operasional dari servo motor dikendalikan oleh sebuah pulsa selebar ± 20 ms, dimana lebar pulsa antara 0.5 ms dan 2 ms menyatakan akhir dari range sudut maksimum.

Ø Konstruksi didalamnya meliputi internal gear, potensiometer, dan feedback control.

16.2. JENIS-JENIS MOTOR SERVO :

· Motor Servo Standar 180°

Motor servo jenis ini hanya mampu bergerak dua arah (CW dan CCW) dengan defleksi masing-masing sudut mencapai 90° sehingga total defleksi sudut dari kanan – tengah – kiri adalah 180°.

· Motor Servo Continuous

Motor servo jenis ini mampu bergerak dua arah (CW dan CCW) tanpa batasan defleksi sudut putar (dapat berputar secara kontinyu).

16.3. KEGUNAAN MOTOR SERVO :

Kebanyakan motor servo digunakan sebagai :

• Manipulators.

• Moving camera’s.

• Robot arms.

16.4. PENSINYALAN MOTOR SERVO :

Mode pensinyalan motor servo tampak pada gambar 2.33.

Gambar 16.3. Pensinyalan Motor Servo

Contoh dimana bila diberikan pulsa dengan besar 1.5ms mencapai gerakan 90 derajat, maka bila kita berikan data kurang dari 1.5 ms maka posisi mendekati 0 derajat dan bila kita berikan data lebih dari 1.5 ms maka posisi mendekati 180 derajat. Contoh Posisi dan Waktu Pemberian Pulsa tampak pada gambar 2.34.

Gambar 16.4. Contoh Posisi dan Waktu Pemberian Pulsa

· Motor Servo akan bekerja secara baik jika pada bagian pin kontrolnya diberikan sinyal PWM dengan frekuensi 50Hz.

· Dimana pada saat sinyal dengan frekuensi 50Hz tersebut dicapai pada kondisi Ton duty cycle 1.5ms, maka rotor dari motor akan berhenti tepat di tengah-tengah (sudut 0° / netral).

· Pada saat Ton duty cycle dari sinyal yang diberikan kurang dari 1.5ms, maka rotor akan berputar ke arah kiri dengan membentuk sudut yang besarnya linier terhadap besarnya Ton duty cycle, dan akan bertahan diposisi tersebut.

· Dan sebaliknya, jika Ton duty cycle dari sinyal yang diberikan lebih dari 1.5ms, maka rotor akan berputar ke arah kanan dengan membentuk sudut yang linier pula terhadap besarnya Ton duty cycle, dan bertahan diposisi tersebut.

Bentuk-Bentuk Motor Servo tampak pada gambar 2.35.

Gambar 16.5. Bentuk-Bentuk Motor Servo

Dimensi Motor Servo tampak pada gambar 2.36.

Gambar 16.6. Dimensi Motor Servo

Gambar 16.7. Pin-Pin dan Pengkabelan Pada Motor Servo

16.5. PENGENDALIAN MOTOR SERVO :

Pengendalian sebuah motor servo dengan menggunakan mikrokontroler :

Ilustrasi pengendalian motor servo tampak pada gambar 2.38.

Driver motor DC Servo

Bentuk motor servo dapat dilihat pada gambar 3. Terdapat tiga utas kabel dengan warnamerah, hitam, dan kuning. Kabel merah dan hitam harus dihubungkan dengan sumber tegangan4-6 volt dc agar motor servo dapat bekerja normal. Sedangkan kabel berwarna kuning adalahkabel data yang dipakai untuk mengatur arah gerak dan posisi servo. Pergerakan motor servo terhadap perubahan lebar pulsa tampak pada gambar 4.24.

Gambar 16.8. Pergerakan motor servo terhadap perubahan lebar pulsa

16.6. RANGKAIAN DRIVER MOTOR SERVO

Rangkaian berikut adalah rangkaian driver motor servo. Rangkaian tersebut digunakan untuk mengendalikan motor servo.

Gambar 16.9. Rangkaian rangkaian driver motor servo

16.6.1. PEMROGRAMAN RANGKAIAN DRIVER MOTOR SERVO

Setelah membuat rangkaian rangkaian driver motor servo, maka sekarang saatnya Anda membuat program yang digunakan untukmengendaliakan motor servo.

Program sebagai berikut ini

'--------------------------------------------------------

'Program Bab 8.1 rutin interupsi eksternal 0

'--------------------------------------------------------

'--------------------------------------------------------

'DEKLARASI CRISTAL 12MHz

'--------------------------------------------------------

$crystal = 12000000

'--------------------------------------------------------

'DEKLARASI HEADER

'--------------------------------------------------------

$regfile="m8535.dat" 'jika menggunakan ATMEGA8535

'--------------------------------------------------------

'DEKLARASI KONFIGURASI MOTOR SERVO

'--------------------------------------------------------

Config Servos = 1 , Servo1 = Porta.0 , Reload = 10 ,

'--------------------------------------------------------

'DEKLARASI PORT A

'--------------------------------------------------------

Config Porta = Output

'--------------------------------------------------------

'MENGAKATIFKAN INTERUPSI

'--------------------------------------------------------

Enable Interrupts

'--------------------------------------------------------

'RUTIN UTAMA

'--------------------------------------------------------

Servo(1) = 150

Wait 1.5

Servo(1) = 75

Wait 1.5

Servo(1) = 100

Wait 1.5

Servo(1) = 125

Wait 1.5

Servo(1) = 80

Wait 1.5

Penjelasan Program

  1. 'Program Bab 8.1 rutin interupsi eksternal 0

Ungkapan ini menyatakan judul program yang akan kita buat.

  1. $crystal = 12000000

Ungkapan ini menyatakan mikrokontroller.menggunakan crytal sebesar 1MHz

  1. $regfile="m8535.dat" 'jika menggunakan ATMEGA8535

Ungkapan ini menyatakan pengaruh preprosesor untuk menyisipkan header m8535.dat yang berisi deklarasi register mikrokontroller.

  1. Config Servos = 1 , Servo1 = Porta.0 , Reload = 10 ,

Ungkapan ini untuk konfigurasi motor servo. Motor servo di letakkan pada port A.0

  1. Config Porta = Output

Ungkapan di atas merupakan pendefinisian pin mikro, port C sebagai keluaran.

  1. Enable Interrupt

Ungkapan di atas merupakan pengaktifan interupsi..

  1. Servo(1) = 140

Wait 1.5

Servo(1) = 70

Wait 1.5

Servo(1) = 100

Wait 1.5

Servo(1) = 125

Wait 1.5

Servo(1) = 80

Wait 1.5

Ungkapan di atas merupakan program utama. Dalam program utama terdapat data untuk menggerakkan motor servo. Pada waktu port A.0 mengeluarkan data 140 maka motor servo akan bergerak ke kanan. Saat port A.0 mengeluarkan data 100 maka motor servo terletak di tengah. Untuk menggerakkan motor servo bergerak ke kiri maka di berikan pulsa 70 pada port A

Cara kerja program:

Pada program ini, di perlukan deklarasi register untuk mikrokontroller jenis ATMEGA8535. Setelah mendeklarasi register, maka program akan masuk ke dalam program utama. Dalam program utama terdapat data untuk menggerakkan motor servo. Pada waktu port A.0 mengeluarkan data 140 maka motor servo akan bergerak ke kanan. Saat port A.0 mengeluarkan data 100 maka motor servo terletak di tengah. Untuk menggerakkan motor servo bergerak ke kiri maka di berikan pulsa 70 pada port A.

Kamis, 21 Agustus 2008

Pemrograman Mikrokontroler menggunakan BASCOM (Part-1)

Pemrograman Mikrokontroler menggunakan BASCOM (Part-1)

PENDAHULUAN

Mikrokontroler merupakan chip cerdas yang menjadi tren dalam pengendalian dan otomatisasi, terutama di kalangan mahasiswa. Dengan banyak jenis keluarga, kapasitas memori, dan berbagai fitur, mikrokontroler menjadi pilihan dalam aplikasi prosesor mini untuk pengendalian skala kecil.

Beberapa vendor populer seperti Intel, Atmel, Motorola, Microchip, dan Harris telah memasarkan beberapa jenis mikrokontroler ke pasar di seluruh dunia dalam berbagai bentuk dan fiturnya.

MIKROKONTROLER AVR

Mikrokontroler AVR (Alf and Vegard’s Risc processor) dari Atmel ini menggunakan arsitektur RISC (Reduced Instruction Set Computer) yang artinya prosesor tersebut memiliki set instruksi program yang lebih sedikit dibandingkan dengan MCS-51 yang menerapkan arsitektur CISC (Complex Instruction Set Computer).

Hampir semua instruksi prosesor RISC adalah instruksi dasar (belum tentu sederhana), sehingga instruksi-instruksi ini umumnya hanya memerlukan 1 siklus mesin untuk menjalankannya. Kecuali instruksi percabangan yang membutuhkan 2 siklus mesin. RISC biasanya dibuat dengan arsitektur Harvard, karena arsitektur ini yang memungkinkan untuk membuat eksekusi instruksi selesai dikerjakan dalam satu atau dua siklus mesin, sehingga akan semakin cepat dan handal. Proses downloading programnya relatif lebih mudah karena dapat dilakukan langsung pada sistemnya.

Sekarang ini, AVR dapat dikelompokkan menjadi 6 kelas, yaitu keluarga ATtiny, keluarga AT90Sxx, keluarga ATmega, keluarga AT90CAN, keluarga AT90PWM dan AT86RFxx. Pada dasarnya yang membedakan masing-masing kelas adalah memori, peripheral, dan fungsinya, sedangkan dari segi arsitektur dan instruksi yang digunakan, mereka hampir sama. Sebagai pengendali




utama dalam pembuatan robot ini, digunakan salah saproduk ATMEL dari keluarga ATmega yaitu ATmega8535.

Untuk mengetaui lebih jauh tentang seluk beluk dari Atmega8535 ini, kita bisa lihat pada datashet yang bisa kita download melalui internet.

COMPILLER & DOWNLOADER

Copiller adalah suatu software yang digunakan untuk mengubah listing program yang kita buat menjadi suatu file yang dapat dibaca sekaligus dijalankan oleh micro. Dalam hal ini program diubah menjadi FILE.HEX. Naahh… gimana caranya program yang diuabah ke .HEX dimasukan ke micro?? Padahal micro ga punya pintu. Maka dari itu kkita juga mesti tahu yang namanya downloader. Dengan demikian file.HEX dapat tersimpan di memori micro.

Bahasa pemrograman yang akan kalian pelajari, adalah bahasa basic, yang relative mudah dibandingkan bahasa-bahasa pemrograman lain. Maka dari itu kita perlu BASCOM. jangan salah ni bukan buat ngrendem kaki, tapi Bascom yang ini adalah software yang digunakan untuk mengcopille program program. Cara install ke computer cukup ngopi mazter pilih set up tekan next atau yes trus finish!!! Sedangkan cara make’nya bias kita pelajari bersama. Dah itu dulu.

Kalau compiller sudah, sekarang downloader. Untuk downloader kita gunakan software ponyprog2000. Cara installnya sama, tinggal di next,install dan finish. Cara make’nya? Ntar belajar bareng.

(bersambung ke part-2)